DeepSeek Harness(DSH)是一個基於插件的系統,旨在通過外部 Bundle 擴展其功能。dsh-embedded-codex 插件提供了在 DSH Web Session 中集成官方 Codex App Server 的能力。
插件介紹¶
該插件爲 DSH 增加了一個名爲“Codex 模式”的 Agent 預設。它允許 DSH Web Session 直接連接並使用官方 Codex App Server 的 Agent Runtime,同時複用當前機器上 ChatGPT Codex 的登錄狀態。
在運行邏輯上,插件實現了職責分工:Codex 負責 Agent 的模型循環、原生工具調用、沙盒環境、審批流程、歷史記錄隱藏和壓縮;而 DSH 繼續負責 Session 管理、Web/API 接口、對話軌跡展示以及持久化存儲。其他 DSH 原有的 Agent 預設不受此插件影響。
環境與安裝¶
在安裝前,請確保環境滿足以下要求:
- Node.js:
^22.19.0或>=24.0.0 - pnpm:
11.7.0 - Git: 已安裝並初始化 submodule
- ChatGPT Codex: 擁有權限並已登錄的賬戶
安裝流程如下:
- 生成安裝包
先在插件目錄下運行打包命令,生成.tgz文件。
pnpm pack
- 安裝插件
使用 DSH CLI 將生成的 tarball 安裝到 Web Profile。
dsh plugin --profile web add .\dsh-embedded-codex-0.1.0.tgz
- 啓動 Web
安裝完成後啓動 DeepSeek Harness Web。
dsh web
功能說明¶
-
Agent 模式切換
打開一個新的 DSH Session,在模式選擇中切換到“Codex 模式”。該模式下不需要配置DEEPSEEK_API_KEY,而是直接使用 Codex 的憑據。 -
固定版本依賴
插件內部強制鎖定使用@openai/codex@0.149.1,不會調用系統 PATH 中其他版本的 Codex CLI。 -
職責分離
- Codex 負責: 模型循環、原生工具、沙盒、審批、歷史記錄隱藏和壓縮。
- DSH 負責: Session 管理、Web/API、對話軌跡、持久化存儲。
-
兼容實現
插件提供了四個 Host provider 和兩個權限 UI owner 的兼容替代實現,以確保與現有 DSH 環境的集成。
權限模式¶
在 Codex 模式下,DSH 的權限選擇器會切換爲 Codex 的三種穩定模式。權限選擇記錄在 Session 中,並在下一個 turn/start 生效。
| UI 模式 | App Server 設置 | 行爲 |
|---|---|---|
| 請批准 / Ask for approval | workspaceWrite + on-request + user |
工作區內直接執行;聯網或越界時請求用戶批准 |
| 幫我批准 / Approve for me | workspaceWrite + on-request + auto_review |
沙盒邊界不變,符合條件的越界請求交給自動審覈 |
| 完全權限 / Full access | dangerFullAccess + never |
不使用 Codex 文件和網絡沙盒,不彈出審批 |
配置項¶
可以通過在 Profile patch 中覆蓋 embedded-codex 條目來自定義行爲。默認配置如下:
- id: embedded-codex
config:
requireChatgptLogin: true
providerName: codex
providerDisplayName: Codex
defaultModelAlias: default
env: {}
processCwd: 當前進程目錄
approvalPolicy: on-request
sandbox: workspace-write
disposeGraceMs: 3000
stderrMaxBytes: 65536
開發與調試¶
如果是開發者,可以使用以下命令進行本地開發:
pnpm dev: 構建、確保本地開發鏈接並啓動隔離的 DSH Web。該命令會創建一個穩定的本地鏈接,後續修改插件代碼只會重新構建,不會重複安裝 Codex。pnpm dev:install: 構建、打包並執行一次真實 tarball 安裝,用於驗證發佈邊界。pnpm dev:web: 啓動已經安裝好的隔離 Web,不重新構建。pnpm dev:remove: 從隔離 Web Profile 移除開發插件。pnpm pack: 生成可安裝的.tgz文件。
如果需要單獨運行測試,可以使用:
pnpm exec vitest run tests/runtime.spec.ts
總結¶
dsh-embedded-codex 插件解決了在 DeepSeek Harness 中直接使用官方 Codex App Server 的集成難題。通過明確的職責劃分和兼容性實現,它允許開發者在不改動 DSH 核心代碼的前提下,利用 Codex 的 Agent Runtime 能力進行開發與測試。