让一个 agent 把工作派给另一个 agent,你在一个地方查看、停止、验收。
中文 · English
你在 Claude Code 里和模型讨论、做决定;能写清楚要求的执行工作,让它派给 Codex CLI 在后台去做。DispatchDock 管两件事:
- 派活:两个技能,装进派活的 agent 里,告诉它怎么派活、怎么看进度、怎么收汇报和验收。
- 看活:一个桌面软件,所有派出去的任务在一个窗口里看:实时进展、汇报、改了哪些文件,可以随时停止。
两部分可以分开用。只装技能也能工作,进度在一个只读的终端窗口里看。
v0.1 支持:
| 派活方 | Claude Code(含 Claude 桌面端的 Code 页)、Devin |
| 干活方 | Codex CLI |
| 系统 | Windows 10 / 11、macOS(Apple Silicon) |
codex-dispatch:把一项工作(任务说明文件,或者一段任务文字)派给 Codex,在后台运行,跟进进度,读汇报,审查结果。它本身不带角色。dual-role-workflow:一种分工方式。对话里的模型当"设计负责人",只做方向、审美、决定和验收;Codex 当"工程负责人",做所有能写清楚要求、能客观验收的执行工作。目的是把贵的 token 花在判断上,把量大的执行交给 Codex。
![]() |
![]() |
- 任务:进行中的任务排在最上面,实时显示最新一步和用时。详情里能看计划、进展时间线(命令可以展开看输出)、汇报、改动的文件、派发参数。任务结束时发系统通知。 列表支持按任务标题、记录名和项目路径搜索;空格分隔的关键词同时匹配,可叠加项目和状态筛选。搜索框内按 Esc 清空关键词。
- 连接:检测本机装了哪些派活方,一键安装、更新技能;安装前自动备份,可以回退。你自己改过的技能默认不替换。
- 设置:派发默认的模型、推理强度、档位、沙箱;不设就跟随 Codex 自己的配置。
- 托管:打开后,派出去的任务由 DispatchDock 启动。关掉 Claude Code 或 Devin 的会话,甚至关掉 DispatchDock 本身,任务都会照常跑完。
先准备好:
- 在 Releases 下载安装包:Windows 用
.exe,运行;macOS 用.dmg,打开后把 DispatchDock 拖进"应用程序"。 - Windows 安装包没有代码签名,可能会弹出"Windows 已保护你的电脑":点"更多信息",再点"仍要运行"。macOS 包经过 Apple 签名和公证,可以直接打开;Release 说明里写了"未签名"的版本,第一次打开会被拦下,到"系统设置 → 隐私与安全性"底部点"仍要打开"。
- 第一次打开时有一个引导:检测本机的派活方和 Codex,安装技能,设置默认值。每一步都能跳过,以后在"连接"和"设置"页里改。
- 在 Releases 下载
dispatchdock-skills-<版本>.zip,解压。 - 在解压出来的目录里运行:
它会检测 Claude Code 和 Devin,把技能装到各自的技能目录,问你要不要设置默认值。已有的技能会先备份。
node installer/install.mjs
- 以后要撤销上一次安装或更新:
node installer/install.mjs --rollback
在项目目录(git 仓库)里打开 Claude Code,或者在 Claude 桌面端的 Code 页选这个目录开会话,然后直接说,例如:
- "把
docs/specs/012-背包拖拽.md交给 Codex 做" - "用 codex 跑一下:给登录页加上记住我"
技能只在 Claude Code 里生效,桌面端的普通对话页用不到。装好后要新开一个会话;输入 /,列表里能看到 codex-dispatch 就说明装好了。
模型会用 codex-dispatch 在后台派发,告诉你记录名和去哪里看进度。Codex 做完后,它读汇报、看提交、跑验证,再用白话告诉你结果。
软件找不到 Codex 时(比如装在不常见的位置),在连接页手动选择它。
想让模型按"设计负责人 + Codex 执行"的方式长期合作,在项目里说"用 dual-role-workflow 建立分工"。它会建好 AGENTS.md、角色文档和任务说明目录。
派发的默认值放在 config.json:Windows 在 %APPDATA%\codex-dispatch\,其他系统在 ~/.config/codex-dispatch/。可以在软件的设置页改,也可以用命令:
node <codex-dispatch 技能目录>/codex-task.mjs --config不加参数是查看,加 model=<模型>、effort=high 这类参数是修改,值写 - 表示改回跟随 Codex。
技能和软件之间不走网络,只通过本机的几个文件通信:
- 每个任务的记录在仓库的
.codex-runs/下:汇报、精简进度、结构化事件、原始输出。 - 所有任务的清单在 Windows 的
%APPDATA%\codex-dispatch\runs.jsonl,macOS 的~/.config/codex-dispatch/runs.jsonl(设置了XDG_CONFIG_HOME时跟随它)。
格式写在 docs/protocol.md。别的工具想读这些任务、或者想接一个新的干活方,照着它写就行;适配器的写法见 skills/codex-dispatch/adapters/README.md。
一切都在本机。DispatchDock 自己不联网、不收集任何数据;联网的只有 Codex 本身。
npm install
npm run fonts # 从官方下载页获取 MiSans 字体(不进仓库)
npm run demo # 用演示数据启动,不碰你真实的任务
npm run verify # 测试和类型检查
npm run verify:task-list # 合成任务的列表交互检查、截图和性能采样,不读取真实任务
npm run verify:settings # 合成长模型名的引导页、设置页布局检查
npm run dist # 打安装包macOS 打包在 Mac 上使用 Command Line Tools,默认生成 Apple Silicon 的 DMG 和 ZIP。
npm run dist -- --mac --arm64 --ad-hoc # 本机临时签名,不公证
node tools/verify-macos-signing.mjs # 无证书时校验签名并提示跳过公证检查
npm run verify:packaged # 用隔离数据验收打包程序--dir 只生成程序目录。dist --mac 统一调用 tools/package-macos.mjs;未配置证书时自动使用临时签名。正式签名和公证由发版工作流读取六项 Secrets 完成,检查通过后将 DMG、ZIP 添加到已发布的 Release;手动运行工作流只保存 artifact。本机构建命令不发布产物。
这个项目本身就是用 dual-role-workflow 做的:分工写在 AGENTS.md 和 docs/roles/,界面规范在 docs/design.md,界面稿在 app/design/。
MIT。界面字体 MiSans 和图标库 Remix Icon 的声明见 THIRD_PARTY_NOTICES.md。



