参考
任务生命周期
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 / 依赖图。任务不是项目管理工具。
- 讨论应该发生在任务之前,而不是塞进任务内部。