Skip to content

About

Let one agent dispatch work to another, and watch, stop and review it in one place.

Resources

Stars

48 stars

Watchers

0 watching

Forks

Repository files navigation

DispatchDock

让一个 agent 把工作派给另一个 agent,你在一个地方查看、停止、验收。

中文 · English

▶ 两分半的介绍视频(B 站)

任务页:左边是任务列表,右边是选中任务的计划和进展时间线

这是什么

你在 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。

监控软件

汇报页,TODO(design) 和推断清单高亮显示 连接页,显示各派活方装的技能版本和 Codex 的状态
  • 任务:进行中的任务排在最上面,实时显示最新一步和用时。详情里能看计划、进展时间线(命令可以展开看输出)、汇报、改动的文件、派发参数。任务结束时发系统通知。 列表支持按任务标题、记录名和项目路径搜索;空格分隔的关键词同时匹配,可叠加项目和状态筛选。搜索框内按 Esc 清空关键词。
  • 连接:检测本机装了哪些派活方,一键安装、更新技能;安装前自动备份,可以回退。你自己改过的技能默认不替换。
  • 设置:派发默认的模型、推理强度、档位、沙箱;不设就跟随 Codex 自己的配置。
  • 托管:打开后,派出去的任务由 DispatchDock 启动。关掉 Claude Code 或 Devin 的会话,甚至关掉 DispatchDock 本身,任务都会照常跑完。

设置页,托管开关打开

安装

先准备好:

  • Codex CLI,已经登录。在终端里运行 codex --version 能看到版本号。
  • Node.js 24 或更新。派发脚本用 Node 运行,零依赖,不需要 npm install。

方式一:装软件(推荐)

  1. 在 Releases 下载安装包:Windows 用 .exe,运行;macOS 用 .dmg,打开后把 DispatchDock 拖进"应用程序"。
  2. Windows 安装包没有代码签名,可能会弹出"Windows 已保护你的电脑":点"更多信息",再点"仍要运行"。macOS 包经过 Apple 签名和公证,可以直接打开;Release 说明里写了"未签名"的版本,第一次打开会被拦下,到"系统设置 → 隐私与安全性"底部点"仍要打开"。
  3. 第一次打开时有一个引导:检测本机的派活方和 Codex,安装技能,设置默认值。每一步都能跳过,以后在"连接"和"设置"页里改。

方式二:只装技能

  1. 在 Releases 下载 dispatchdock-skills-<版本>.zip,解压。
  2. 在解压出来的目录里运行:
    node installer/install.mjs
    它会检测 Claude Code 和 Devin,把技能装到各自的技能目录,问你要不要设置默认值。已有的技能会先备份。
  3. 以后要撤销上一次安装或更新:
    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。

About

Let one agent dispatch work to another, and watch, stop and review it in one place.

Resources

Stars

48 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages