codex-collab:把 Codex CLI 當供應商派活、本地驗收

前言

在 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜