前言¶
在 DeepSeek Harness(DSH)里接 OpenAI Codex CLI 时,常见做法是一次次 codex exec:模型往往先给大段解释,改 bug 要反复重讲背景,写完也不自测。DSH 社区把工作流类插件放在独立目录站点(与 DeepSeek / 幻方无官方从属关系),0xyxy/codex-collab 就是其中一套:用 PowerShell 脚本把「派活 → 写代码与测试 → 本地跑测 → 失败原样回传」固定成流程,并配合 DSH skill 包(cordis.patch.yml)供 agent 加载。
下面介绍它是什么、能做什么,以及如何按 README 用起来。
这是什么¶
- 名称:codex-collab(npm 包名
codex-collab,版本 0.1.0) - 维护者:0xyxy
- 分类:工作流(DSH 插件 / skill pack)
- 许可证:MIT
- 定位:把 OpenAI Codex CLI 当成供应商而不是顾问——要产物、要可验收结果,而不是长篇解释。
- 依赖环境:PowerShell 7+;Python 可选(仅 Windows 桌面端会话挂载
_mount.py需要);Node >=18(包元数据);peer@deepseek-ai/cordis^4.0.1。
它解决什么问题¶
直接调 codex exec 时,README 归纳的典型问题包括:只要代码却收到解释、写完不测、单 bug 多轮重复交代、多任务排队慢、同类坑反复踩。本插件用脚本统一处理:派活强制附带验收标准 + 自测脚本,本地执行测试,失败把报错原文丢回同一会话续修。
核心流程:
你提需求
↓
派活(文件名 + 验收标准 + 自测要求)
↓
Codex 写代码 + 写测试
↓
本地跑测试 ── 绿 ──→ 补对抗性测试 ──→ 交付
↓ 红
报错原文整段回传(续接同一会话)
README 强调两点:Codex 自写测试只能覆盖它「想到的对」;失败时不要自己转述,应原样回传测试输出。
核心功能(已核实)¶
脚本一览¶
| 脚本 | 用途 |
|---|---|
codex-build.ps1 |
派活 + 强制自测 + 自动验收 |
codex-fanout.ps1 |
多任务派活(见下文并行说明) |
codex-talk.ps1 |
真单会话多轮(codex exec resume) |
codex-delegate.ps1 |
同步调用,快速取结果 |
codex-watch.ps1 |
看门狗:超时杀进程 + 重试 |
codex-review.ps1 |
代码审查,结果落盘 md |
codex-context.ps1 |
共享上下文:约定 + 自动时间线 |
codex-post.ps1 / codex-send.ps1 |
Windows 桌面端投递 / UI 自动化 |
codex-on.ps1 / codex-off.ps1 |
代理开关 + 重启桌面端 |
沙箱默认值¶
选错脚本会导致静默不落盘:
| 脚本 | 默认 Sandbox | 能否改文件 |
|---|---|---|
codex-build |
workspace-write |
能 |
codex-delegate |
workspace-write |
能 |
codex-talk / codex-fanout / codex-watch |
read-only |
不能(除非 -AllowWrite 等) |
要改文件:用 codex-build,或显式 -Sandbox workspace-write / -AllowWrite。
共享上下文¶
每个工作目录一份 .dsh/codex-context/<项目名>-<hash>.md:手写约定 + 自动时间线(最近 10 条注入)。codex-talk / codex-build / codex-delegate 调用前注入、调用后记账;-NoContext / -NoRecord 可关。与进库的 AGENTS.md 分工:后者是项目规范,前者是私有工作笔记。
并行与多轮¶
- 多轮:
codex-talk.ps1使用codex exec resume,历史在服务端,不必每轮重发背景。 - fanout:README 说明早期隐藏窗口并行在本机不可用(子进程内 codex 易卡死);现为进程内顺序执行,
-MaxParallel仅为兼容保留。
成本与默认参数¶
- 共用参数:
-Model默认gpt-6.1-sol,-Sandbox,-WorkDir,-Proxy。 - 单次调用固定开销约 13–14K tokens(README 实测与缓存比例见仓库「成本参考」)。
- 默认精简模式限制正文长度;
-Full关闭。
安装与启用¶
先做 Codex CLI 安装与登录(见 openai/codex)。README 给出的部署方式如下(占位符 <you> 需换成实际 fork 或上游仓库地址;上游为 0xyxy/codex-collab):
# 1. 装 Codex CLI 并登录
# https://github.com/openai/codex
# 2. 把本仓库放到技能目录(可选,用于 DSH/agent 自动加载)
git clone https://github.com/<you>/codex-collab.git "$HOME/.dsh/skills/codex-collab"
# 或者直接用,不放到技能目录也行
git clone https://github.com/<you>/codex-collab.git
cd codex-collab/scripts
package.json 表明这是 DSH skill pack,通过 dsh.bundle.patch 指向 ./cordis.patch.yml。社区目录页:skillhub.cn/plugins/0xyxy/codex-collab。安装前请自行阅读仓库源码与 MIT 许可证;插件脚本会以当前 DSH 进程权限调用 Codex 与本地测试。
典型用法¶
派活 + 自测(最常用)¶
在 scripts 目录执行:
./codex-build.ps1 `
-Task "写一个日志分析脚本,统计访问最多的路径和状态码分布" `
-Files "Log-Analyzer.ps1" `
-TestScript "Test-Log-Analyzer.ps1" `
-Acceptance "参数 -Path/-Top;退出码 0成功 1文件不存在 2无有效数据;输出JSON"
脚本会组装派活单、调用 Codex 落盘、运行 Test-Log-Analyzer.ps1 并报告通过与否;失败按提示把报错丢回去。
多任务¶
./codex-fanout.ps1 -Tasks @(
"解释 PowerShell 里 $_ 和 $PSItem 的区别",
"Get-ChildItem -Force 会不会列隐藏文件",
"-ErrorAction Stop 和 try/catch 什么关系"
)
各任务独立超时,答案从 -o 文件读取。
多轮讨论¶
./codex-talk.ps1 -Message "我的判断是 X,你觉得呢"
./codex-talk.ps1 -Message "你说 Y,但我认为 Z"
./codex-talk.ps1 -NewSession -Message "换个话题"
修 bug(续接会话)¶
./codex-build.ps1 `
-Task "测试报错:FAILED: 状态码分布不符,期望 404:1 实际 404:0" `
-Files "Log-Analyzer.ps1" -TestScript "Test-Log-Analyzer.ps1" `
-KeepContext
维护共享上下文¶
./codex-context.ps1
./codex-context.ps1 -Action add -Text "本项目用 pnpm"
./codex-context.ps1 -Action clear
适用场景与注意¶
适合:已在用 Codex CLI、希望 agent 或自己用固定模板派活、本地 PowerShell 跑验收、需要 resume 少重复背景的团队或个人。
务必注意:
- README「已知坑」:
codex exec resume不传 sandbox 会回到 read-only;长任务流式可能卡死,可用codex-watch.ps1或拆任务;默认模型下线需-Model覆盖;部分网络需-Proxy。 - 不要在 read-only 脚本上期待改文件。
- 使用前核对 GitHub 最新 README 与
SKILL.md。
结尾¶
codex-collab 把 Codex 从「顾问式对话」收成「带验收标准的供应商协作」:派活单、本地测试、失败原文回传、可选上下文与时间线,并打包为 DSH skill。详情与脚本参数以仓库为准。
- 目录页:https://www.skillhub.cn/plugins/0xyxy/codex-collab
- GitHub:https://github.com/0xyxy/codex-collab