參考
任務生命週期
MindMux 任務是從已經收斂的討論中建立出來的輕量執行物件。MindMux 只負責產出和派發任務,不執行任務本身。
判斷是不是任務
當前對話中的 agent 能直接完成的事 → 不是任務(比如建 issue、查 PR、發評論等一次性 MCP 呼叫)。
需要在 worktree 里長時間執行、需要長時間編輯程式碼、需要獨立上下文的事 → 才是任務。
生命週期
任務的核心狀態機如下:
draft → dispatched → running → closed-success
↘ closed-failed
↘ closed-cancelled| 狀態 | 含義 |
|---|---|
draft | 任務草案已生成,等待使用者確認。create_task 工具呼叫後會在聊天中渲染確認卡片。 |
dispatched | 使用者確認並派發。MindMux 立即建立任務並交給選定的執行渠道。 |
running | 任務正在外部 agent 中執行。僅適用於 Claude Code / Codex 等本地 agent 渠道。 |
closed-success | 任務正常完成。 |
closed-failed | 任務執行失敗。 |
closed-cancelled | 使用者取消或任務被終止。 |
draft狀態存在,但當前create_task流程是“對話中確認 → 立即派發”,使用者不會看到 draft 長期停留在任務列表中。未來若加入手動建立任務的 UI,才會真正使用 draft 路徑。
建立流程
- 在聊天中討論清楚一個具體動作(“實現 X”、“修復 Y”)。
- agent 呼叫
create_task工具,基於當前討論生成任務草案。 - 聊天中彈出 任務確認卡片,展示目標、專案大腦頁面、執行渠道、隔離方式等。
- 使用者確認後,任務立即進入
dispatched狀態。
執行渠道
當前支援的渠道:
| 渠道 | 何時使用 | 隔離方式 | 接管方式 |
|---|---|---|---|
| Claude Code | 需要寫程式碼 / 跑命令的具體動作 | git worktree(branch mindmux-task/<short>) | 點選任務詳情的 Resume in Terminal,自動續上 claude --resume <id> |
| Codex | 需要寫程式碼 / 跑命令的具體動作 | 按 TaskType 配置隔離 | 在任務面板檢視實時事件流 |
隔離方式
對於編碼類任務,當前支援的隔離方式包括:
worktree:獨立 git worktree,不影響主工作區。tempdir:臨時目錄,適合產出 out-of-tree 檔案的任務(如 artifact)。inplace/direct:在 workspace 內直接執行。
具體可用選項取決於 TaskType 定義。
狀態迴流
MindMux 不雙向同步外部渠道,也不做後臺輪詢或 webhook 監聽:
- 本地 agent 渠道透過程序事件流實時回傳
running狀態。 - 終態需要使用者在任務面板手動重新整理來確認。
- 外部渠道是 source of truth。
任務儲存
任務資料儲存在專案本地執行狀態中,包含:
- 任務索引
- 任務後設資料
- 派發日誌
- 執行時事件流
- 隔離執行所需的本地工作目錄(如適用)
任務資料不進入 brain/,也不進入 git。
重要邊界
- MindMux 不執行任務。所有執行都委託給外部渠道。
- 不雙向同步外部渠道欄位。
- 不開後臺輪詢、不開 webhook 監聽。
- 不內嵌 terminal / kanban / 依賴圖。任務不是專案管理工具。
- 討論應該發生在任務之前,而不是塞進任務內部。