SuperAPI AI 工具集

fleet

智能体与模型

查看项目

更新于 10-15 17:20

技能介绍

用途:Fleet 用于在当前 agent-deck 会话中一次性启动多个独立的子会话(子 agent),父会话继续工作,并按需非阻塞地查看每个子会话的进度。适合“同时让多个 agent 干活、由父会话监督”的场景,例如分别处理不同文件的多个任务。它区别于单个子 agent 模式:Fleet 是多个子会话加跨全部子会话的非阻塞查看。

前提:需要 agent-deck 的 session children 与 launch --assert-done 功能。若 agent-deck session children --help 能成功执行,即具备这些功能。应在 agent-deck 会话内部运行;从会话内启动会自动把每个子会话挂到启动它的会话下,从而在 TUI 中嵌套显示并把完成情况回传。若不在会话内,子会话仍会启动,但不会被归到父会话下。需要指定其他父会话时用长参数 --parent <session-id-or-title>,不要用短参 -p。

启动前:若 N 个会话共享同一资源(单个开发数据库、已占用端口、单个 dev-server 锁文件),无法真正并行,应给每个子会话隔离资源,或改为一个连贯会话。新的 git worktree 没有 node_modules 等依赖,需在子会话的首条指令中安装,锁定的 monorepo 应从冻结的 lockfile 安装。长提示词建议写入文件后用 --message-file task.md 传入,避免反引号、$ 和引号经 shell 往返。

用法循环:1)扇出,对每个子会话执行一次 agent-deck launch <path> -c claude --inherit-group -m "<task>";worktree 子会话自动继承父会话的 group,非 worktree 路径加 --inherit-group;不要给 fleet 子会话传自定义 -g,否则会脱离继承形成独立 group。可用 -t 设置标题。2)继续工作,不阻塞。3)查看进度:agent-deck session children --json 列出子会话的 id、标题、实时状态(running/waiting/idle/error)及上次断言完成记录(done_status、done_summary、done_at),只读、不清空收件箱,可反复轮询。done_status 只记录既往断言,不等于当前轮已完成。支持推送时优先用 --follow/--until-done 事件流。4)子会话处于 waiting 表示在向你要输入:用 agent-deck session output <child-id> --json 查看,用 agent-deck session send <child-id> "<answer>" 回复;Codex 编号审批用 agent-deck session approve <child-id> once。5)子会话完成后用 agent-deck session output <child-id> --json 取回结果。

监督工具(均为只读/按需、不阻塞):session children、session children --follow [--until-done]、session output、session send、session approve、agent-deck status -q、agent-deck inbox drain --json <id>、session stop/remove。没有默认启动的常驻后台监视器,事件会排入收件箱,由你决定何时查看。

限制与注意事项:完成信号来自子会话最后一行打印 ===AGENTDECK_DONE=== status=<ok|fail> summary=<one line>,未打印则只有实时状态而无 done_status。设计上无“等待全部完成”命令,检查是可重复的廉价查询。设置父会话必须用长参 --parent,绝不用 -p(-p 是全局 --profile 简写,会误把父 id 当 profile,产生 TUI 不可见的幻影子会话)。清理用 session stop/remove,必要时加 --force。--no-parent 启动独立顶层会话时规则相反:无父可继承,需显式传 -g(可用 $AGENTDECK_RESOLVED_GROUP)。云侧调度器在远程基础设施运行,无法访问本地 tmux/state.db,fleet 监督须在本地进行。资料未提供价格、收费或平台支持信息。