mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 13:43:26 +08:00
3.6 KiB
3.6 KiB
description
| description |
|---|
| 通过Claude DevFleet协调并行Claude Code代理——从自然语言规划项目,在隔离的工作树中调度代理,监控进度,并读取结构化报告。 |
DevFleet — 多智能体编排
通过 Claude DevFleet 编排并行的 Claude Code 智能体。每个智能体在隔离的 git worktree 中运行,并配备完整的工具链。
需要 DevFleet MCP 服务器:claude mcp add devfleet --transport http http://localhost:18801/mcp
流程
User describes project
→ plan_project(prompt) → mission DAG with dependencies
→ Show plan, get approval
→ dispatch_mission(M1) → Agent spawns in worktree
→ M1 completes → auto-merge → M2 auto-dispatches (depends_on M1)
→ M2 completes → auto-merge
→ get_report(M2) → files_changed, what_done, errors, next_steps
→ Report summary to user
工作流
- 根据用户描述规划项目:
mcp__devfleet__plan_project(prompt="<user's description>")
这将返回一个包含链式任务的项目。向用户展示:
- 项目名称和 ID
- 每个任务:标题、类型、依赖项
- 依赖关系 DAG(哪些任务阻塞了哪些任务)
-
在派发前等待用户批准。清晰展示计划。
-
派发第一个任务(
depends_on为空的任务):
mcp__devfleet__dispatch_mission(mission_id="<first_mission_id>")
剩余的任务会在其依赖项完成时自动派发(因为 plan_project 创建它们时使用了 auto_dispatch=true)。当使用 create_mission 手动创建任务时,您必须显式设置 auto_dispatch=true 才能启用此行为。
- 监控进度 — 检查正在运行的内容:
mcp__devfleet__get_dashboard()
或检查特定任务:
mcp__devfleet__get_mission_status(mission_id="<id>")
对于长时间运行的任务,优先使用 get_mission_status 轮询,而不是 wait_for_mission,以便用户能看到进度更新。
- 读取每个已完成任务的报告:
mcp__devfleet__get_report(mission_id="<mission_id>")
对每个达到终止状态的任务调用此工具。报告包含:files_changed, what_done, what_open, what_tested, what_untested, next_steps, errors_encountered。
所有可用工具
| 工具 | 用途 |
|---|---|
plan_project(prompt) |
AI 将描述分解为具有 auto_dispatch=true 的链式任务 |
create_project(name, path?, description?) |
手动创建项目,返回 project_id |
create_mission(project_id, title, prompt, depends_on?, auto_dispatch?) |
添加任务。depends_on 是任务 ID 字符串列表。 |
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?) |
列出任务 |
指南
- 除非用户明确说"开始吧",否则派发前始终确认计划
- 报告状态时包含任务标题和 ID
- 如果任务失败,在重试前先读取其报告以了解错误
- 智能体并发数是可配置的(默认:3)。超额的任务会排队,并在有空闲槽位时自动派发。检查
get_dashboard()以了解槽位可用性。 - 依赖关系形成一个 DAG — 切勿创建循环依赖
- 每个智能体在完成时自动合并其 worktree。如果发生合并冲突,更改将保留在 worktree 分支上,以供手动解决。