用 dsh-codex-connect 把 ChatGPT 訂閱接到 DeepSeek Harness

前言

DeepSeek Harness(dsh)是 DeepSeek AI 開源的智能體框架,目前仍處於開發者預覽階段。它的核心設計是「一切皆插件」:模型、工具、技能、會話、沙箱和 UI 都可以在配置層替換,不必改框架源碼。官方倉庫在 deepseek-ai/deepseek-harness,本地最快的啓動方式是:

npx @deepseek-ai/dsh web

模型提供方同樣是插件。很多人已經有 ChatGPT / Codex 訂閱,卻不想再買一份 OpenAI Platform API Key,也不想給 Harness 打補丁。社區插件 dsh-codex-connect 做的就是這件事:用 ChatGPT OAuth 登錄,把 openai-codex 模型目錄掛進 Harness 原有的模型選擇器。

需要先說明兩點。第一,deepseek-harness-plugin.com 是社區目錄,和 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。第二,這個插件本身也寫明:與 OpenAI、ChatGPT、Codex、DeepSeek 或 DeepSeek Harness 都不存在隸屬或背書關係。

這是什麼

dsh-codex-connect 是一款「模型與提供方」插件,顯示名是 Codex Connect,由 franksong2702(Frank Song)維護,許可證 Apache-2.0,主要語言 TypeScript。目錄頁簡介是:爲 DeepSeek Harness 提供 ChatGPT OAuth 與 Codex 模型。

倉庫 README 把邊界寫得很清楚:

  • 它註冊 openai-codex 模型目錄,並提供獨立的 ChatGPT OAuth 登錄。
  • 模型請求仍走 Harness 標準 LLM 服務。流式輸出、工具調用、reasoning replay、壓縮、文件系統控制、權限門禁和審批提示,繼續由 Harness 負責。
  • ChatGPT 訂閱不會因此變成 OpenAI Platform API 憑據。
  • 安裝是增量的:不會替換當前默認模型或全局搜索路由;獨立搜索提供方和 view_image 默認關閉。

項目派生自 Yan-Zero/dsh-codex,NOTICE 裏保留了上游版權。兩者使用同一套 provider id(openai-codex),不能同時啓用。GitHub 倉庫當前 22 星(目錄頁快照仍顯示 7 星,以倉庫頁面爲準)。npm 包名是 dsh-codex-connect,當前預發佈版本爲 0.1.0-alpha.4.9

核心功能

把 Codex 模型放進原生選擇器

登錄成功後,打開 Harness 原有的模型選擇器,可用項會出現在 OpenAI Codex 分組下。GPT-5.6 Luna 這類標識是規範名稱,界面語言換成中文也不會翻譯。

這一步隻影響當前 agent 或會話選中的模型,和寫入 profile 的默認模型、全局搜索路由是兩件事。裝上插件,不等於以後所有新會話都走 Codex。

設置頁裏完成登錄,不把 token 寫進配置

打開 設置 → 插件 → 插件配置 → Codex Connect。新安裝時賬戶區顯示「尚未登錄」,點擊「使用 ChatGPT 登錄」,在瀏覽器裏自己完成審批。

README 明確要求:不要把授權 URL、授權碼、token 或賬戶標識複製到 Issue、日誌或配置文件裏。OAuth 狀態單獨寫在 $DSH_HOME/.openai-codex-auth.json(默認 ~/.dsh),不會複製或改動 ~/.codex/auth.json。支持的平臺上,父目錄和文件使用僅所有者可訪問權限,寫入是原子替換,刷新時有跨進程文件鎖。

卡片顯示「重新登錄」,或服務端要求重新認證時,走同一套瀏覽器流程即可。不要爲了刷新會話去執行 logout;卸載插件也不會刪除這份憑據,只有確實要清掉登錄態時才登出。

搜索和看圖默認關掉

安裝後的配置行大致是:

- id: llm-openai-codex
  config:
    enableSearch: false
    enableImageTool: false

在同一張 Codex Connect 卡片裏可以改這兩項,點「保存更改」隻影響本插件能力,不會去改默認模型或全局搜索路由。

  • enableSearch: true:把 Codex 註冊成可選的搜索提供方,但不會自動選成全局搜索。
  • enableImageTool: true:給具備視覺能力的模型打開 view_image,用於審批後的本地讀取和公網圖片獲取。遠程地址只允許公共 HTTP(S);每次 DNS 結果和重定向都會再檢查,並把連接釘在已驗證地址上,避免打到 localhost、私網、link-local 或雲元數據。

倉庫文檔給出的其餘字段默認值如下:

字段 默認值 可選值
enableSearch false boolean
enableImageTool false boolean
searchModel gpt-5.6-sol Codex 模型 id
searchMode cached cachedindexedlive
searchContextSize medium lowmediumhigh
searchMaxOutputTokens 10000 正整數

診斷命令不打印密鑰

不啓動 OAuth、也不輸出憑據內容的檢查:

dsh plugin --profile web exec dsh-codex-connect status --json
dsh plugin --profile web exec dsh-codex-connect doctor --json

status --json 只報告 signed-insigned-out。已登錄時退出碼 0,未登錄時退出碼 1,後者應回去登錄,不要當成插件損壞。doctor --json 輸出一條非敏感 JSON:包版本、Node 信息、認證文件狀態、能力開關、衝突提示;它會省略認證文件絕對路徑,以及 OAuth、賬戶、過期時間。

Alpha 4.9 的界面補充

v0.1.0-alpha.4.9 發行說明(2026-08-17)增加了兩項界面能力:按會話的 Codex Fast Mode(默認關閉,僅 GPT),以及 Composer 上按模型顯示的周額度條。額度、模型是否可見、後端行爲仍由 OpenAI 控制,可能隨時變化。

安裝與啓用

先確認本機已有可用的 dsh。如果是從 DeepSeek Harness 源碼目錄運行,把下面命令前的 dsh 換成 pnpm dsh。下文以 web profile 爲例,請換成你實際在用的 profile 名。

目錄頁給出的安裝命令

社區目錄頁原文是:

dsh plugin add github:franksong2702/dsh-codex-connect

目錄同時提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前應檢查源代碼倉庫和許可證;需要可復現安裝時,固定 commit 哈希:

dsh plugin add github:franksong2702/dsh-codex-connect#commit

#commit 換成真實哈希,不要照抄這個佔位符。

倉庫當前推薦的安裝方式

README 把 npm 預發佈通道寫成五分鐘快速開始的主路徑:

dsh plugin --profile web add dsh-codex-connect@alpha

精確復現本文覈對到的版本:

dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.9

對應 GitHub prerelease 已存在但 npm 不可用時,再用:

dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.9'

本地 checkout 可以裝成 link:/absolute/path/to/dsh-codex-connect

裝完後啓動:

dsh web

用下面命令確認配置裏恰好有一條加載本插件的 llm-openai-codex,並且默認模型和搜索路由沒有被改掉:

dsh --profile web --dump-config

這份輸出可能包含無關的 profile 設置,只在本機查看。

更新和卸載:

dsh plugin --profile web update dsh-codex-connect@alpha
dsh plugin --profile web remove dsh-codex-connect

典型用法

登錄並選一次模型

  1. 打開 設置 → 插件 → 插件配置 → Codex Connect
  2. 點擊「使用 ChatGPT 登錄」,在瀏覽器裏完成審批。
  3. 賬戶區變爲「已登錄」後,打開模型選擇器,選一個 openai-codex 模型。
  4. 本機再跑一次 status --json,確認是 signed-in

無圖形界面或遠程 Host 時,INSTALL.md 允許在用戶明確要求登錄後使用 loginlogin --device-code。OAuth 審批必須由用戶自己完成,不要讓自動化腳本代點。

只有你明確要求時,才改默認模型和搜索

把 Codex 設成新 agent 的默認模型,需要另寫一條 Harness 配置,插件不會替你寫:

- id: agent-default-model
  config:
    provider: openai-codex
    model: gpt-5.6-sol

把 Codex 設成全局搜索,是第二次顯式修改:先打開 enableSearch,再改 web.searchProvider

- id: llm-openai-codex
  config:
    enableSearch: true
    searchMode: live
    searchContextSize: medium

- id: web
  config:
    searchProvider: openai-codex

從另一臺設備打開 Web UI 時

默認 OAuth 路由只接受 loopback 瀏覽器請求。DSH 跑在設備 A、你從局域網另一臺設備打開 Web UI 時,要在運行 DSH 的那臺機器上,把瀏覽器地址欄裏的完整 origin(含協議和端口)加入信任列表:

dsh plugin --profile web exec dsh-codex-connect trust-origin http://192.168.1.20:3080
dsh plugin --profile web exec dsh-codex-connect trusted-origins
dsh plugin --profile web exec dsh-codex-connect untrust-origin http://192.168.1.20:3080

把示例換成你地址欄裏的真實 origin。不要填訪問設備的 IP、裸主機、路徑、query 或 fragment。只在自己控制的網絡裏使用,不要把這條路由暴露到公網;不適合顯式信任時,用 SSH 隧道。瀏覽器頁面只會顯示並複製這條命令,不會自己改授權列表。

已經裝過 dsh-codex 時

openai-codex 只能有一個 adapter。啓動報衝突時,先看有效配置,只移除已確認的舊 dsh-codex bundle 或手動 provider 行,不要刪認證文件,也不要動無關 provider。

遷移步驟見倉庫 MIGRATION.md:先記下當前默認模型、搜索路由和 llm-openai-codex 配置(不要去讀 OAuth 文件),卸掉 dsh-codex 再裝 dsh-codex-connect,確認只剩一條加載本插件的配置行。enableSearchenableImageTool 遷移後都默認 false,要不要打開由你決定。status 已顯示已登錄就不必再走一遍 OAuth。回滾是反向換包,過程中不要刪除或複製那份獨立的認證文件。

適用場景與注意事項

適合這些情況:

  • 已經在用 DeepSeek Harness Web UI,希望用現有 ChatGPT 訂閱調用 Codex 模型。
  • 不想把訂閱「兌換」成 Platform API Key,也不想改 DSH 源碼。
  • 希望默認模型、搜索路由仍由自己控制,插件只負責註冊提供方。
  • 需要本機診斷、衝突檢查,以及從舊 dsh-codex 遷過來。

使用前注意:

  1. 權限與來源。 插件以當前 dsh 進程權限運行,安裝時可能執行代碼。裝之前閱讀倉庫源碼和 Apache-2.0 許可證,只安裝你信任的來源。社區目錄不是官方商店。
  2. 仍是 Alpha。 當前唯一寫進 compatibility.json 的組合是:DSH 插件 API 包 0.1.0-rc.6@earendil-works/pi-ai 0.82.1、Node.js ^22.19.0 || >=24.0.0。升級時把 DSH 插件 API 包和 pi-ai 當成一組升級,再跑 doctor --json。這份契約不對未來版本作保證。Harness 本身也在開發者預覽,官方 README 寫明未來會有破壞性變更。
  3. 能力邊界由 OpenAI 決定。 套餐資格、模型權限、額度和後端行爲可能變化。Codex 端點不會強制普通 Responses 的 max_output_tokens;Harness 壓縮仍可用,但這個上限不能由服務端在該路由上強制。
  4. Agent 能力仍來自當前 profile。 shell、文件系統、skills、MCP、subagents、審批、權限、附件、會話持久化、壓縮和恢復,都不是這個插件提供的。
  5. 不要混用兩套 Codex 插件。 舊 bundle、手動 provider 行,或其它同樣註冊 openai-codex 的包,都會衝突。
  6. 安裝、構建、測試、doctor 都不需要真實 OAuth。 只有你準備真正調用模型時,纔在設置頁登錄。

結尾

dsh-codex-connect 把 ChatGPT OAuth 和 Codex 模型接到 DeepSeek Harness 的標準 LLM 路徑上,同時把默認模型、搜索路由和可選能力留給使用者自己決定。它解決的是「訂閱已經有了,但 Harness 裏缺一個可卸載的提供方」,而不是把 ChatGPT 變成通用 OpenAI API。

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-codex-connect/

GitHub:https://github.com/franksong2702/dsh-codex-connect

羽毛球分组比赛记分
小程序二维码

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

小夜