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

前言

DeepSeek Harness(dsh)是 DeepSeek 開源的智能體運行時,官方倉庫把它概括成一句話:一切皆插件。模型適配、工具、會話、沙箱和網頁界面,都可以在配置層增刪,不必改核心源碼。項目目前仍是開發者預覽,接口會繼續變。社區裏已經出現獨立的插件目錄站點,把 GitHub 上帶 dsh-plugin 話題的倉庫集中展示;需要說明的是,這類目錄與 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。

日常用 dsh web 跑智能體時,模型這一側通常要單獨配 API Key。已經付過 ChatGPT Plus、Pro、Business 或 Edu 的人,會碰到同一個問題:訂閱額度在 ChatGPT / Codex 裏,Harness 這邊還要再買一份按量計費。dsh-llm-codex-oauth 做的事情很具體:走 OpenAI Codex 的 OAuth 設備碼登錄,把這份訂閱暴露成 dsh 裏的 codex-oauth 模型提供方。

本文按社區目錄詳情頁、GitHub 倉庫 README(中英文)、package.jsoncordis.patch.ymlsrc/index.js、LICENSE,以及官方 deepseek-ai/deepseek-harness 交叉覈對後整理。作者在 README 裏寫明:倉庫由 DeepSeek-V4-Pro 在 Harness 裏大約三小時內寫完,沒有完整 Code Review,只人工確認基礎功能可用。安裝前應自己看源碼,並評估下文會寫到的接口與條款風險。

這是什麼

dsh-llm-codex-oauth 是一款 模型與提供方 插件,GitHub 倉庫爲 Player-MINEPIG/dsh-llm-codex-oauth,維護者 Player-MINEPIG,許可證 MIT(LICENSE 版權署名爲 Zhu Bohan,2026),主要語言是 JavaScript。package.json 裏的版本是 0.3.6。截至 2026-08-18,GitHub API 顯示 8 星,社區目錄頁上的數字是 6;星標會變,以倉庫頁面爲準。倉庫創建於 2026-08-13,本文覈對當日 main 最新提交是 4a680ba(2026-08-16)。

它解決的問題可以縮成一句:不配 OpenAI Platform 的 API Key,而是用 ChatGPT / Codex 訂閱在 dsh 裏選模型。插件把 pi-ai 內置的 openai-codex 提供方(線上協議名 openai-codex-responses)註冊到 dsh 的 LLM 接縫上,對外路由名是 codex-oauth。模型列表不由本倉庫手寫,而是跟隨當前安裝的 pi-ai 版本,README 舉例包括 gpt-5.3-codex-sparkgpt-5.4gpt-5.5gpt-5.6-*

核心功能

倉庫 README 列出的能力,可以按使用順序理解。

  1. 訂閱模型接入cordis.patch.yml 往 profile 根上插入一行 id: llm-codex-oauth,配置裏 providercodex-oauthproviderIdopenai-codex,憑據引用名爲 OPENAI_CODEX_OAUTH。流式空閒超時默認 300000 毫秒(5 分鐘)。宿主側導出 name / inject / apply,依賴 llmcredentialscommands 三個由 dsh 基礎組合包掛上的服務。

  2. 設備碼登錄。登錄走 auth.openai.com,作者寫明與 Codex CLI 使用同一個 OAuth client。不需要在本機起回調服務器,headless 環境也可以完成授權。設置頁側欄有「Codex 訂閱 (ChatGPT)」區塊,提供登錄 / 登出按鈕和即時狀態;對話裏只保留只讀命令 /codex-status/codex-logout

  3. 憑據存放位置。refresh token 和 access token 只寫入 dsh 憑據庫 $DSH_HOME/.credentials.yaml(權限 0600),不進配置文件、不進會話日誌、也不進本倉庫。access token 過期後,由 pi-ai 在串行化的寫路徑裏用 refresh token 續期。設備碼登錄的中間狀態只在進程內存裏,重啓之後以憑據庫爲準。

  4. 圖片輸入,不做生圖。Web 界面粘貼或拖放的 PNG / JPEG / WebP / GIF,會經 dsh 的耐久附件服務轉給模型。只有目錄裏聲明瞭 image 的模型會接收;README 寫明多數 gpt-5.x 可以看圖,gpt-5.3-codex-spark 仍是純文本。read_image 等工具結果裏的圖也會轉發到下一輪。PDF、Office 等非圖片不會當作多模態塊發送,需要放進工作區再用文件工具讀。Codex 生圖走另一套 /codex/images/generations/edits 接口,本插件明確不做。

  5. 多輪迴放。適配器會保留提供方原生的回放元數據(例如簽名),方便跨輪次繼續請求。Codex 的 ChatGPT 後端不接受 temperaturemaxTokensstop:前兩項會被靜默丟掉(避免 SillyTavern / dsh-tavern 一類預設帶着溫度直接 400),stop 仍會拒絕。reasoningEffortsessionId 會繼續下發。

安裝與啓用

社區目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端裏運行即可:

dsh plugin add github:Player-MINEPIG/dsh-llm-codex-oauth

dsh plugin 會轉發給 pnpm。沒有 pnpm 時先 npm install -g pnpm。沒有全局 dsh 時,把命令裏的 dsh 換成 npx @deepseek-ai/dsh。目錄頁同時說明:如需可復現安裝,可以固定 commit 哈希。本文覈對當日 main 最新提交是 4a680ba31ca9daf46a0527d6c1b7a1ada8731b46,寫法如下:

dsh plugin add github:Player-MINEPIG/dsh-llm-codex-oauth#4a680ba31ca9daf46a0527d6c1b7a1ada8731b46

指定 profile 時,倉庫 README 的手動安裝示例是 web 配置:

dsh plugin --profile web add github:Player-MINEPIG/dsh-llm-codex-oauth

本地克隆後用路徑安裝,README 強調必須加 file: 前綴。直接傳目錄路徑時,pnpm 會按 link: 軟鏈到倉庫,Node 按真實路徑解析內部依賴時找不到 node_modules,加載會失敗;file: 會把包複製進 profile 的依賴樹:

dsh plugin --profile web add file:/path/to/dsh-llm-codex-oauth

不想裝 pnpm、只在本機開發時,倉庫還提供跨平臺腳本(用 Node 即可,不依賴 bash):

node scripts/install.mjs            # 默認裝到 web profile
node scripts/install.mjs headless   # 指定其他 profile

腳本會定位 $DSH_HOME(默認 ~/.dsh),把插件複製到 dsh 實際優先解析的 node_modules 並寫入 bundle 列表。更新前先停掉對應的 dsh 進程。卸載優先用官方命令:

dsh plugin --profile web remove dsh-llm-codex-oauth

安裝完成後重啓 dsh,再用下面命令確認配置裏出現 llm-codex-oauth 這一行:

dsh --profile web --dump-config

README 還提到 pnpm 11 的 ignored-builds 提示會讓 dsh pluginpnpm failed,依賴其實可能已經裝好。處理辦法是把 profile 目錄 pnpm-workspace.yaml 裏 pnpm 生成的 allowBuilds: 佔位值改成 false@google/genaiprotobufjs 的構建腳本與本插件無關),再重跑同一條安裝命令完成 bundle 對賬。

典型用法

倉庫 README 給出的操作順序如下。

  1. 重啓 dsh 後打開設置頁,側欄選擇「Codex 訂閱 (ChatGPT)」。
  2. 點擊「登錄 ChatGPT 賬號」,按提示打開驗證網址、輸入設備碼,用 ChatGPT 賬號完成授權。
  3. 狀態變爲「已連接」後,到 Models 設置頁,把模型切到 codex-oauth 提供方下的某一個。
  4. 需要登出時,回設置頁點「登出」,或在對話裏輸入 /codex-logout;隨時可用 /codex-status 查看狀態。

看圖時注意兩點:web profile 默認掛載了 attachments;純文本模型,或 headless 等未掛附件服務的 profile,圖片請求會被拒絕。智能體長循環會消耗 ChatGPT / Codex 訂閱額度,目錄站點的相關指南也提醒過這一點,適合把耗額度的任務和便宜的 API 提供方分開用。

適用場景與注意事項

適合已經有 ChatGPT Plus / Pro / Business / Edu,希望在 DeepSeek Harness 裏直接用這份訂閱、又不想另配 OpenAI Platform API Key 的人。設備碼流程不依賴本機回調端口,本機 Web 和 headless 都可以登錄。只想看圖、把截圖貼進對話的,也可以用;不要指望它在對話流裏生圖。

下面幾條是安裝前必須看清的邊界,來自目錄頁提示和倉庫 README,不是附加建議。

  • 插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前應檢查源代碼倉庫和許可證;需要可復現安裝時固定 commit 哈希。
  • 作者寫明本插件會調用 ChatGPT 網頁版後端 chatgpt.com/backend-api。這是未公開、官方不支持的接口,違反 OpenAI 服務條款的風險是倉庫自己寫進 README 的,可能導致賬號受限。OAuth 登錄端點是 auth.openai.com,與 Codex CLI 同源,但推理請求走的是上述未公開後端。請自行評估後再用,不要把生產流量默認打到這條路上。
  • 倉庫由模型在 Harness 裏短時間生成,作者聲明未做完整 Code Review。社區目錄 deepseek-harness-plugin.com 是獨立站點,條目自動篩選不代表背書。
  • 模型目錄跟隨所裝 pi-ai;升級 pi-ai 或 dsh 之後,可用模型名可能變化。Harness 本身也還在開發者預覽,破壞性變更會影響到插件。
  • 永遠不要把 $DSH_HOME/.credentials.yaml 提交到 Git。刷新插件目錄不會讀取、移動或刪除這份憑據。

小結

dsh-llm-codex-oauth 把 ChatGPT / Codex 訂閱接到 DeepSeek Harness 的模型列表裏:設置頁完成設備碼登錄,Models 頁選 codex-oauth 下的模型,token 只放在 dsh 憑據庫。它能看圖,不生圖;能多輪對話,但不把溫度等採樣參數送給後端。能力邊界和條款風險都寫在倉庫自己的 README 裏,裝之前把源碼和許可證過一遍。

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

GitHub:https://github.com/Player-MINEPIG/dsh-llm-codex-oauth

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

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

小夜