前言¶
在 Harness 裏跑 DeepSeek 時,常見做法是讓模型在對話裏直接改代碼或開終端。Codex 一側要交辦明確任務、收結果並獨立驗收時,往往需要額外編排:誰在哪個目錄動文件、端口重啓後客戶端要不要手改、憑據是否只覆蓋登記過的工作區。本插件把 Codex 派單、DeepSeek 在專屬工作區執行、結果回到原工單收件箱串成一條鏈路,並複用 Harness 已有 HTTP 服務,不要求 computer-use。
這是什麼¶
dsh-codex-handoff(倉庫 lightcoloror/dsh-codex-handoff)由維護者 lightcoloror 發佈,在 SkillHub 目錄中歸類爲模型推理。定位是:Codex 派單,DeepSeek 在明確登記的專屬工作區執行,結果回到原工單收件箱,由 Codex 獨立驗收。
插件隨 Harness profile 加載,不新建常駐服務;每次加載會發布實際端口及實例信息。Windows 客戶端在發送受限令牌前,會覈對已建立 TCP 連接的操作系統歸屬、Harness 可執行文件和進程代次,端口變化時不必再手改客戶端地址。
核心功能¶
下面能力均來自項目 README 與包說明,未列入的部分不作推斷。
- 工作區 Scoped 協作:DeepSeek 只在 Harness 中登記並授權的路徑內操作;宿主 state、令牌目錄與兄弟項目不屬於模型工作區。
- 橋接與配對:一次性配對生成僅覆蓋指定 workspace、不能創建 workspace 的橋接憑據,並將客戶端複製到宿主目錄;不啓動模型、不創建聊天、不修改沙箱。
- 重啓安全的端點發現:以
.state/endpoint.json爲準;啓用發現後不再需要DSH_CODEX_BRIDGE_URL;Harness 未監聽時客戶端報告未就緒,不猜端口、不掃端口。 - Windows 連接身份檢查:在每個新連接上覈對 OS 歸屬;響應丟失的修改請求標記
uncertain,保留 job/session/request ID,先對賬、不自動重投。 - 工單與驗收流程:支持
doctor、prepare、run-foreground等 CLI;獨立驗收可走inbox、覈對身份後的ack、stage-review/stage-next或feedback,最後close。參考包內task.example.json與skills/deepseek-handoff/SKILL.md。 - 權限細分:終端、代碼修改、設備操作分別授權;需要跑測試的工單需明確
requires_shell:true及命令、cwd、輸入輸出範圍。
本插件不提供、不讀取 DeepSeek API Key,也不改請求門控;DeepSeek API 與峯谷門控由使用者自己的 Harness 管理。默認 enableInboxWakeups:false。顯式選模受 Harness 上游行爲約束(README 中說明 routing:"inherit" 及 SessionController.selectModel 的已知限制,v0.1.0 起已在 Release 說明中列出)。
協議與來源:vendor/collab(ESROAMER/codex-dsh-collab)、vendor/dax(Dax233/dsh-codex-bridge),固定提交見 vendor-manifest.json,均爲 MIT。同類對比見倉庫內 COMPARISON.zh.md。
當前包版本 0.1.1(MIT)。GitHub 星標爲 0(以目錄頁信息爲準)。
安裝與啓用¶
環境要求:
- DeepSeek Harness
0.2.1-rc.5或兼容的0.2.x - Node 22+
- Python 3.11+
Windows 是當前自動發現與連接身份檢查的驗證平臺;其他平臺尚未實現同等檢查。包含可直接運行的源碼,無單獨安裝腳本或構建步驟。
在 Plugins 添加插件入口粘貼倉庫鏈接,或使用 CLI(desktop 可換成你實際使用的 profile;裝到未使用的 profile 不會讓當前應用加載插件):
dsh plugin --profile desktop add github:lightcoloror/dsh-codex-handoff#v0.1.1
也可在 Harness 的 Custom plugin indexes / 自定義插件索引 中添加本項目維護的索引源 https://raw.githubusercontent.com/lightcoloror/dsh-codex-handoff/main/market-index.json,再從 Discover 安裝。該索引由本項目維護,不代表第三方公共市場收錄。
安裝後插件與 Harness 同生命週期;更新若改變模塊路徑或客戶端源碼,需審閱後重新配對並保留舊狀態。
典型用法¶
首次配置¶
- 在 Harness 中登記 DeepSeek 的專屬 workspace。
- 在本插件設置中,將
workspacePaths設爲該目錄的完整路徑,將dataDir設爲不同的宿主目錄(例如共同父目錄下的C:/AgentWork/bridge與C:/AgentWork/deepseek)。workspacePaths初始爲空時,授權範圍也爲空。 - 運行一次配對。
--home須與dataDir一致,--harness-executable爲正在運行的 Harness 程序完整路徑:
dsh plugin --profile desktop exec dsh-codex-handoff-setup --home C:/AgentWork/bridge --workspace C:/AgentWork/deepseek --harness-executable 'C:/Apps/DeepSeek Harness/DeepSeek Harness.exe'
也可在插件源碼目錄執行 python -B setup.py 並使用相同參數。配對會覈實當前連接與已配置工作區;既有不一致的配對及代碼會保留並報錯,不靜默覆蓋。
- 使用配對命令打印的 CLI 路徑,例如:
python -X utf8 -B C:/AgentWork/bridge/cli.py doctor --service
python -X utf8 -B C:/AgentWork/bridge/cli.py prepare --request C:/AgentWork/task.json
python -X utf8 -B C:/AgentWork/bridge/cli.py run-foreground JOB_ID --authorization-ref C:/AgentWork/assignment.md --timeout-seconds 900
CODEX_THREAD_ID 應來自真實來源聊天;assignment.md 記錄真實用戶交辦,僅作證據。相關串行步驟可在同一工單的 stages 中複用會話。
重啓與多實例¶
- 舊端口字段僅作配置兼容;啓用發現後以
.state/endpoint.json爲準。 - 多實例請使用不同
dataDir和路由前綴;同一宿主目錄被另一存活進程佔用時拒絕接管。 - 本地身份檢查信任宿主狀態目錄和指定 Harness 程序,不能抵禦同賬號下已能修改這些文件的惡意程序;橋接令牌不是 DeepSeek API Key。
項目自述驗證範圍包括:發佈不同實際端口、Windows 真實連接歸屬、錯誤進程/工作區拒絕、實例變化、丟失提交響應不重發等;尚未執行整機重啓驗收,也未爲發佈啓動額外付費模型任務。
適用場景與注意¶
適合誰:需要在 Codex 與 DeepSeek Harness 之間做工作區級派單與回傳、又希望端口與進程身份在 Windows 上可覈對、且不想引入 computer-use 或 GUI 自動化的開發者。
安裝前建議:插件在當前 dsh 進程權限下運行;安裝前應閱讀倉庫源碼與 MIT 許可證(LICENSE、NOTICE)。工作區約束與原生審批仍由 Harness 實際運行策略決定。不要刪除舊工單或換 ID 繞過沖突;不得爲單工單追蹤擅自搭建自動化。
DSH 生態理念是「一切皆插件」;SkillHub 目錄頁爲社區站點,與 DeepSeek / 幻方無官方從屬關係,不宜當作官方應用商店。
結尾¶
經過上面的步驟,你可以在登記好的 workspace 內讓 DeepSeek 執行 Codex 工單,並通過橋接 CLI 與收件箱完成驗收;端點隨 Harness 發佈,Windows 上可覈對連接歸屬。細節以倉庫 README 爲準。
- 目錄頁:https://www.skillhub.cn/plugins/lightcoloror/dsh-codex-handoff
- GitHub:https://github.com/lightcoloror/dsh-codex-handoff