当需要调度多个 Claude Code 智能体并行处理编码任务时使用此技能。每个智能体在独立的 git worktree 中运行,并配备全套工具。
需要连接一个通过 MCP 运行的 Claude DevFleet 实例:
claude mcp add devfleet --transport http http://localhost:18801/mcp
用户 → "构建一个带有身份验证和测试的 REST API"
↓
plan_project(prompt) → 项目ID + 任务DAG
↓
向用户展示计划 → 获取批准
↓
dispatch_mission(M1) → 代理1在工作树中生成
↓
M1完成 → 自动合并 → 自动分发M2 (依赖于M1)
↓
M2完成 → 自动合并
↓
get_report(M2) → 更改的文件、完成的工作、错误、后续步骤
↓
向用户报告
| 工具 | 用途 |
|---|---|
plan_project(prompt) |
AI 将描述分解为包含链式任务的项目 |
create_project(name, path?, description?) |
手动创建项目,返回 project_id |
create_mission(project_id, title, prompt, depends_on?, auto_dispatch?) |
添加任务。depends_on 是任务 ID 字符串列表(例如 ["abc-123"])。设置 auto_dispatch=true 可在依赖满足时自动启动。 |
dispatch_mission(mission_id, model?, max_turns?) |
启动智能体执行任务 |
cancel_mission(mission_id) |
停止正在运行的智能体 |
wait_for_mission(mission_id, timeout_seconds?) |
阻塞直到任务完成(见下方说明) |
get_mission_status(mission_id) |
检查任务进度而不阻塞 |
get_report(mission_id) |
读取结构化报告(更改的文件、测试情况、错误、后续步骤) |
get_dashboard() |
系统概览:运行中的智能体、统计信息、近期活动 |
list_projects() |
浏览所有项目 |
list_missions(project_id, status?) |
列出项目中的任务 |
关于
wait_for_mission的说明: 此操作会阻塞对话,最长timeout_seconds秒(默认 600 秒)。对于长时间运行的任务,建议改为每 30-60 秒使用get_mission_status轮询,以便用户能看到进度更新。
plan_project(prompt="...") → 返回 project_id 以及带有 depends_on 链和 auto_dispatch=true 的任务列表。depends_on 为空)调用 dispatch_mission(mission_id=<first_mission_id>)。剩余任务在其依赖项完成时自动调度(因为 plan_project 为它们设置了 auto_dispatch=true)。get_mission_status(mission_id=...) 或 get_dashboard() 检查进度。get_report(mission_id=...)。与用户分享亮点。DevFleet 默认最多同时运行 3 个智能体(可通过 DEVFLEET_MAX_AGENTS 配置)。当所有槽位都占满时,设置了 auto_dispatch=true 的任务会在任务监视器中排队,并在槽位空闲时自动调度。检查 get_dashboard() 了解当前槽位使用情况。
plan_project(prompt="...") → 显示包含任务和依赖关系的计划。depends_on 为空的那个)。auto_dispatch=true)。get_mission_status 或 get_dashboard() 轮询,直到所有任务达到终止状态(completed、failed 或 cancelled)。get_report(mission_id=...)——总结成功之处,并指出失败任务及其错误和后续步骤。create_project(name="My Project") → 返回 project_id。create_mission(project_id=project_id, title="...", prompt="...", auto_dispatch=true) → 捕获 root_mission_id。
为每个后续任务执行 create_mission(project_id=project_id, title="...", prompt="...", auto_dispatch=true, depends_on=["<root_mission_id>"])。dispatch_mission(mission_id=...) 以启动链。get_report(mission_id=...)。create_project(name="...") → 获取 project_id。create_mission(project_id=project_id, title="Implement feature", prompt="...") → 获取 impl_mission_id。dispatch_mission(mission_id=impl_mission_id),然后使用 get_mission_status 轮询直到完成。get_report(mission_id=impl_mission_id) 以审查结果。create_mission(project_id=project_id, title="Review", prompt="...", depends_on=[impl_mission_id], auto_dispatch=true) —— 由于依赖已满足,自动启动。get_dashboard() 了解智能体槽位可用性。auto_dispatch=true。没有此标志,任务将保持 draft 状态。