用途:当某个 Paseo agent 在任务中途卡住(provider 用量上限、配额耗尽、限流、崩溃或报错)时,由当前 agent 作为接管者读取其上下文并亲自继续,而不是转派。用户参数为 $ARGUMENTS。
核心区别:Handoff 是把活推给别人,Rescue 是别人的活断了由自己接手。因此不要调用 create_agent、list_profiles、list_providers,也不要给源 agent 发 send_agent_prompt(它正卡在限额上)。
主要步骤:
- 定位源 agent。用户给了 agentId 或 shortId 就直接用;给名字/标题/关键词就检索;什么都没给则检索后列出候选并停下等用户选择。检索最多两轮:list_agents(cwd: <当前 workspace>, includeArchived: true, sinceHours: 720, limit: 200),零命中时把 sinceHours 改为 4000 再来一轮;之后按命中数处理——1 个直接用,多个列给用户选,0 个报告没找到并询问 agentId。排除 status: running 的候选。
- 捞上下文。先 get_agent_activity(agentId: "<id>", limit: 1) 探规模:N≤300 则不传 limit 全量读取,N>300 则传 limit: 300 只读尾部并在摘要中说明。随后 get_agent_status(agentId: "<id>")。get_agent_activity 不向源 provider 发请求、不耗其额度,closed 状态也可读。若失败,可降级读原始 transcript:~/.paseo/agents/<paseo-slug>/<agentId>.json 取 persistence.nativeHandle,再到 ~/.claude/projects/<claude-slug>/<sessionId>.jsonl;注意两种 slug 规则不同。原始 transcript 更全但噪音大,仅在必要时使用。
- 清洗:按上下文主语言翻译串入的孤立外语 token;剔除反复失败重试、无结果搜索、自我推翻的中间结论、被截断的 tool input、客套话;保留用户原话、失败原因、已定决策和改动文件。
- 输出接管摘要后停下等确认。摘要含原始任务、已完成、未完成、失败尝试、已定决策、改动文件、中断点、下一步;若无内容的小节直接删除。用户确认后再继续。
限制:不得自行替用户挑选未指定的目标 agent;不得第三次调用 list_agents;不得在读完 activity 前改动文件;摘要中不写元叙述,也不要把截断 JSON 当事实。