文档
参考

任务生命周期

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 路径。

创建流程

  1. 在聊天中讨论清楚一个具体动作(“实现 X”、“修复 Y”)。
  2. agent 调用 create_task 工具,基于当前讨论生成任务草案。
  3. 聊天中弹出 任务确认卡片,展示目标、项目大脑页面、执行渠道、隔离方式等。
  4. 用户确认后,任务立即进入 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 / 依赖图。任务不是项目管理工具。
  • 讨论应该发生在任务之前,而不是塞进任务内部。