前言¶
在 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