diff --git a/TMWebDriver.py b/TMWebDriver.py index 9d7166b7..8683e501 100644 --- a/TMWebDriver.py +++ b/TMWebDriver.py @@ -186,7 +186,7 @@ class TMWebDriver: if session.ws_client == client: session.mark_disconnected() def execute_js(self, code, timeout=15, session_id=None) -> Any: - if session_id is None: session_id = self.default_session_id + if session_id is None: session_id = str(self.default_session_id) if self.is_remote: safe_print('remote_execute_js') response = self._remote_cmd({"cmd": "execute_js", "sessionId": session_id, diff --git a/ga.py b/ga.py index de0dc224..e1ee909f 100644 --- a/ga.py +++ b/ga.py @@ -171,7 +171,7 @@ def web_execute_js(script, switch_tab_id=None, no_monitor=False): try: if driver is None: first_init_driver() if len(driver.get_all_sessions()) == 0: return {"status": "error", "msg": "没有可用的浏览器标签页,查L3记忆分析原因。"} - if switch_tab_id: driver.default_session_id = switch_tab_id + if switch_tab_id: driver.default_session_id = str(switch_tab_id) result = simphtml.execute_js_rich(script, driver, no_monitor=no_monitor) return result except Exception as e: return {"status": "error", "msg": format_error(e)} diff --git a/llmcore.py b/llmcore.py index 136659ae..42350324 100644 --- a/llmcore.py +++ b/llmcore.py @@ -661,7 +661,7 @@ class BaseSession: self.api_mode = 'responses' if mode in ('responses', 'response') else 'chat_completions' self.temperature = cfg.get('temperature', 1) self.max_tokens = cfg.get('max_tokens') - self.default_ua = "claude-cli/2.1.152 (external, cli)" + self.default_ua = "claude-cli/2.1.251 (external, cli)" self.user_agent = cfg.get("user_agent", self.default_ua) def _apply_claude_thinking(self, payload): if self.thinking_type: @@ -773,7 +773,7 @@ def _fix_messages(messages): return merged class NativeClaudeSession(BaseSession): - native_ua = "claude-cli/2.1.152 (native, cli)" + native_ua = "claude-cli/2.1.251 (native, cli)" def __init__(self, cfg): super().__init__(cfg) self.fake_cc_system_prompt = cfg.get("fake_cc_system_prompt", False) diff --git a/memory/subagent.md b/memory/subagent.md index ae4b3b03..aac06910 100644 --- a/memory/subagent.md +++ b/memory/subagent.md @@ -33,29 +33,3 @@ **用途**:N个独立同构子任务分发,独立上下文避免交叉污染 **约束**:文件系统共享(优点);键鼠不可共享;浏览器避免同tab **流程**:准备独立输入文件→每个启动subagent(--func优先)→收集输出汇总 - -## subagent内部plan_mode使用 -**原则**:subagent本身是完整agent,接收多步骤任务时应在内部创建plan管理执行 -**触发条件**:任务包含3个以上子步骤、子步骤之间有依赖关系、需要checkpoint来恢复执行 -**实现方式**: -1. **主agent创建subagent时**:在input.txt中说明任务包含多个步骤,建议使用plan_mode -2. **subagent内部执行**:检测到多步骤任务后,创建 `./subagent_plan.md` 并使用plan_mode执行 -3. **主agent监控**:只关注最终结果(output*.txt),不需要关心subagent内部如何执行 -4. **文件传递机制**:主agent创建subagent时在task_dir中生成 `context.json`,包含所有文件的**绝对路径** - **⚠ subagent启动后第一步必须读取context.json** - **⚠ 所有文件操作必须使用context.json中的绝对路径** -**格式示例**: -```json -{ - "task": "任务描述", - "work_dir": "/absolute/path/to/plan_dir/", - "input_files": { - "paper_info": "/absolute/path/to/paper_info.txt" - }, - "output_files": { - "pdf": "/absolute/path/to/paper.pdf", - "report": "/absolute/path/to/paper_report.md" - }, - "dependencies": ["paper_info.txt必须存在"] -} -``` \ No newline at end of file