fix: str() session_id/tab_id; bump UA to 2.1.251; trim subagent.md

This commit is contained in:
Liang Jiaqing committed 2026-09-02 08:20:29 +08:00
1 parent 7fa5fa4ec0
commit 71cf559fab
4 files changed
+4 -30

No files matched your search

+1 -1
View File
@@ -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,
+1 -1
View File
@@ -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)}
+2 -2
View File
@@ -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)
-26
View File
@@ -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必须存在"]
}
```