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

94 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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哪些任务阻塞了哪些任务
2. **在派发前等待用户批准**。清晰展示计划。
3. **派发第一个任务**`depends_on` 为空的任务):
```
mcp__devfleet__dispatch_mission(mission_id="<first_mission_id>")
```
剩余的任务会在其依赖项完成时自动派发(因为 `plan_project` 创建它们时使用了 `auto_dispatch=true`)。当使用 `create_mission` 手动创建任务时,您必须显式设置 `auto_dispatch=true` 才能启用此行为。
4. **监控进度** — 检查正在运行的内容:
```
mcp__devfleet__get_dashboard()
```
或检查特定任务:
```
mcp__devfleet__get_mission_status(mission_id="<id>")
```
对于长时间运行的任务,优先使用 `get_mission_status` 轮询,而不是 `wait_for_mission`,以便用户能看到进度更新。
5. **读取每个已完成任务的报告**
```
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 分支上,以供手动解决。