executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
task-strategy通用任务降级策略:当工具不可用、操作被拒绝、或任务超时时,提供标准的降级路径和替代方案选择,避免死循环。
Independent GitHub snapshot · Automated classification · Original documentation governs
当工具调用失败、操作被拒绝、或连续尝试未果时,按本策略处理。
同一目标、同一方法连续失败 3 次 → 停止尝试该方法,切换到降级路径或上报用户。
绝不做:
错误类型判断:
├── "未连接/不可用/not found" → 该工具的后端服务未就绪
│ ├── 告知用户具体哪个服务未启动
│ ├── 提供启动命令建议(如有)
│ └── 问用户是否要换方案
├── "授权被拒绝/denied" → 用户不允许此操作
│ ├── 不要用其他工具绕过(这违背用户意愿)
│ ├── 说明为什么需要这个操作
│ └── 提供不需要该权限的替代方案
├── "超时" → 操作耗时超出限制
│ ├── 不要立即重试相同操作
│ ├── 分析超时原因(网络?任务太重?)
│ └── 提供简化方案或分步方案
└── 其他错误 → 看错误信息决定
├── 参数错误:修正参数重试 1 次
└── 未知错误:上报用户
browser_session 失败:
├── "扩展未连接" → 提示用户检查扩展 → 如无法修复 → agent-browser 兜底
├── "会话不存在" → 重新创建 session
└── 其他 → 上报
browser_page 操作失败:
├── ref not found → 重新 snapshot → 用 selector 缩小范围 → eval 直接 DOM 操作
├── 页面未加载 → wait(load) → 再试
└── 连续 3 次 → 停止,上报 blocker
shell 被拒绝后:
├── 评估:这个命令是否真的必需?
│ ├── 是读取信息 → 用 file_read / web_fetch / rg_search 等替代
│ ├── 是安装软件 → 告知用户需要手动安装,给出命令
│ ├── 是执行脚本 → 先用 file_write 写到文件,告知用户手动执行
│ └── 是高危操作 → 解释风险,让用户自己在终端执行
├── 绝不做:
│ ├── 用 delegate_coding 跑相同命令(同样需要 shell 权限)
│ ├── 换个工具试图绕过授权(eval/background_task 等)
│ └── 反复请求授权
delegate_coding 失败后:
├── 超时 → 任务太重,拆分成小步骤自己做
├── Agent 不可用 → 自己用 file_write + shell(如有权限) 完成
├── 绝不做:立即重试相同的 delegate_coding 调用
cua-driver 未连接:
├── 不要反复尝试 screenshot
├── 如果目标是操作浏览器 → 用 browser 工具替代
├── 如果目标是执行命令/查进程/管理文件 → 用 shell 工具(shell 完全独立于 cua-driver,始终可用)
├── 如果目标是操作 GUI 应用(非浏览器)→ 告知用户需要先启动 cua-driver
├── 重要:cua-driver 未连接不影响 shell、file_read/write、web_search 等工具的使用
当需要上报 blocker 时,用以下结构:
**当前状况**:[一句话说明卡在哪]
**已尝试**:[列出已试过的方法]
**建议**:[给出 1-2 个可行的替代方案,让用户选择]
不要: