claude-devfleet

claude-devfleet

熱門

透過 Claude DevFleet 協調多代理程式編碼任務 — 規劃專案、在隔離工作目錄中派遣平行代理程式、監控進度並讀取結構化報告。

23萬星標
3.5萬分支
更新於 2026/7/17
SKILL.md
readonlyread-only
name
claude-devfleet
description

Orchestrate multi-agent coding tasks via Claude DevFleet — plan projects, dispatch parallel agents in isolated worktrees, monitor progress, and read structured reports.

Claude DevFleet 多代理程式協調

使用時機

當你需要派遣多個 Claude Code 代理程式平行處理編碼任務時使用此技能。每個代理程式在隔離的 git worktree 中執行,並擁有完整工具集。

設定

DevFleet 伺服器是獨立專案,未與 ECC 綁定。請先從其儲存庫安裝並執行:https://github.com/LEC-AI/claude-devfleet

然後透過 MCP 連線到執行中的實例:

claude mcp add devfleet --transport http http://localhost:18801/mcp

首次使用前,請確認監聽 18801 埠的行程是你安裝的 DevFleet 二進位檔(請參閱 localhost MCP 伺服器的 SECURITY.md)。

運作方式

使用者 → "建立一個含認證與測試的 REST API"
  ↓
plan_project(prompt) → project_id + 任務 DAG
  ↓
向使用者顯示計畫 → 取得核准
  ↓
dispatch_mission(M1) → 代理程式 1 在 worktree 中啟動
  ↓
M1 完成 → 自動合併 → 自動派遣 M2(depends_on M1)
  ↓
M2 完成 → 自動合併
  ↓
get_report(M2) → files_changed, what_done, errors, next_steps
  ↓
回報給使用者

工具

工具 用途
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,以便使用者看到進度更新。

工作流程:規劃 → 派遣 → 監控 → 報告

  1. 規劃:呼叫 plan_project(prompt="...") → 回傳 project_id 以及包含 depends_on 鏈和 auto_dispatch=true 的任務列表。
  2. 顯示計畫:向使用者呈現任務標題、類型和依賴鏈。
  3. 派遣:對根任務(空的 depends_on)呼叫 dispatch_mission(mission_id=<first_mission_id>)。其餘任務會在依賴完成時自動派遣(因為 plan_project 為它們設定了 auto_dispatch=true)。
  4. 監控:呼叫 get_mission_status(mission_id=...)get_dashboard() 檢查進度。
  5. 報告:任務完成時呼叫 get_report(mission_id=...)。與使用者分享重點。

並行性

DevFleet 預設最多執行 3 個並行代理程式(可透過 DEVFLEET_MAX_AGENTS 設定)。當所有插槽滿載時,設有 auto_dispatch=true 的任務會在任務監控器中排隊,並在插槽釋放時自動派遣。檢查 get_dashboard() 以了解目前插槽使用情況。

範例

全自動:規劃並啟動

  1. plan_project(prompt="...") → 顯示包含任務和依賴的計畫。
  2. 派遣第一個任務(具有空的 depends_on 的任務)。
  3. 其餘任務會在依賴解決時自動派遣(它們設有 auto_dispatch=true)。
  4. 回報專案 ID 和任務數量,讓使用者知道啟動了什麼。
  5. 定期輪詢 get_mission_statusget_dashboard(),直到所有任務達到終止狀態(completedfailedcancelled)。
  6. 對每個終止任務呼叫 get_report(mission_id=...) — 總結成功項目,並指出失敗項目的錯誤和下一步。

手動:逐步控制

  1. create_project(name="My Project") → 回傳 project_id
  2. 為第一個(根)任務呼叫 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>"])
  3. 對第一個任務呼叫 dispatch_mission(mission_id=...) 以啟動鏈。
  4. 完成時呼叫 get_report(mission_id=...)

順序執行並審查

  1. create_project(name="...") → 取得 project_id
  2. create_mission(project_id=project_id, title="Implement feature", prompt="...") → 取得 impl_mission_id
  3. dispatch_mission(mission_id=impl_mission_id),然後輪詢 get_mission_status 直到完成。
  4. get_report(mission_id=impl_mission_id) 以審查結果。
  5. create_mission(project_id=project_id, title="Review", prompt="...", depends_on=[impl_mission_id], auto_dispatch=true) — 由於依賴已滿足,會自動啟動。

指南

  • 在派遣前務必與使用者確認計畫,除非他們已同意直接進行。
  • 回報狀態時包含任務標題和 ID。
  • 如果任務失敗,請在重試前閱讀其報告。
  • 在大量派遣前檢查 get_dashboard() 以了解代理程式插槽可用性。
  • 任務依賴形成 DAG — 請勿建立循環依賴。
  • 每個代理程式在隔離的 git worktree 中執行,並在完成時自動合併。如果發生合併衝突,變更會保留在代理程式的 worktree 分支上,供手動解決。
  • 手動建立任務時,如果希望它們在依賴完成時自動觸發,請務必設定 auto_dispatch=true。若無此旗標,任務將保持 draft 狀態。