Files
everything-claude-code/docs/zh-CN/commands/devfleet.md
2026-03-22 15:39:24 -07:00

3.6 KiB
Raw Blame History

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

流程

用户描述项目
  → plan_project(prompt) → 任务DAG与依赖关系
  → 展示计划,获取批准
  → dispatch_mission(M1) → 代理在工作区中生成
  → M1完成 → 自动合并 → M2自动调度依赖于M1
  → M2完成 → 自动合并
  → get_report(M2) → 文件变更、完成内容、错误、后续步骤
  → 向用户报告总结

工作流

  1. 根据用户描述规划项目
mcp__devfleet__plan_project(prompt="<用户描述>")

这将返回一个包含链式任务的项目。向用户展示:

  • 项目名称和 ID
  • 每个任务:标题、类型、依赖项
  • 依赖关系 DAG哪些任务阻塞了哪些任务
  1. 在派发前等待用户批准。清晰展示计划。

  2. 派发第一个任务depends_on 为空的任务):

mcp__devfleet__dispatch_mission(mission_id="<first_mission_id>")

剩余的任务会在其依赖项完成时自动派发(因为 plan_project 创建它们时使用了 auto_dispatch=true)。当使用 create_mission 手动创建任务时,您必须显式设置 auto_dispatch=true 才能启用此行为。

  1. 监控进度 — 检查正在运行的内容:
mcp__devfleet__get_dashboard()

或检查特定任务:

mcp__devfleet__get_mission_status(mission_id="<id>")

对于长时间运行的任务,优先使用 get_mission_status 轮询,而不是 wait_for_mission,以便用户能看到进度更新。

  1. 读取每个已完成任务的报告
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 分支上,以供手动解决。