dsh-openai-oauth:用 ChatGPT 登錄爲 DeepSeek Harness 接入 Codex 模型

前言

DeepSeek Harness(DSH)的插件體系裏,模型 provider 可以作爲一個獨立組件接入。對已經在用 DSH 的開發者來說,常見的麻煩是:外部模型的登錄態、憑據存儲、token 刷新,以及模型列表從哪裏來。

dsh-openai-oauth 做的事情比較具體:它把 DSH 的 LLM interface 接到官方本地 Codex app-server,由 Codex 負責 ChatGPT 登錄、憑據存儲、token 刷新和模型訪問。你不需要單獨準備 OpenAI API key,也不需要在 DSH 裏維護一份固定的 GPT 版本列表。

下面介紹這個插件的定位、安裝方式、典型用法,以及需要留意的運行邊界。

這是什麼

dsh-openai-oauth 是一個 DeepSeek Harness LLM provider 插件,使用 managed ChatGPT OAuth 接入 Codex 模型。

  • 包名:dsh-openai-oauth
  • 維護者:DGPisces
  • 許可證:MIT
  • GitHub:https://github.com/DGPisces/dsh-openai-oauth

它被描述爲獨立社區插件,不是 DeepSeek 或 OpenAI 官方產品。DSH 的理念是“一切皆插件”,但這個插件本身應作爲社區組件看待,不應理解成官方應用商店裏的官方應用。

核心功能

這個插件提供的能力集中在“登錄、憑據、模型訪問、DSH 接入”這幾件事上。

  • 使用 ChatGPT 賬號中的模型,作爲 DeepSeek Harness 的主模型。
  • 將 DSH 的 LLM interface 連接到官方本地 Codex app-server,由 Codex 處理:
  • ChatGPT 登錄
  • 憑據存儲
  • token 刷新
  • 模型訪問
  • 不需要 OpenAI API key。
  • 安裝時會註冊到 webheadless profiles,也會註冊到已經存在的自定義 profiles。
  • 可以在 DSH 界面選擇 provider 和 model,也可以寫入 ~/.dsh/settings.yaml
  • 模型列表從當前登錄的 Codex 賬號讀取,不在插件裏維護一份硬編碼的 GPT 版本列表。
  • 支持卸載;也支持可選的認證清理。

文檔明確說明,這個包不會:

  • 複製另一個 Codex 安裝裏的 auth.json
  • 自己實現一套 OAuth client
  • 調用未公開的 ChatGPT endpoint

運行要求

安裝前建議先確認環境滿足以下要求。

  • Node.js:22.19 或更高
  • DeepSeek Harness:developer preview 0.1.0-rc.6
  • ChatGPT 賬號:具備 Codex access

package.json 中以下 peer dependencies 被標記爲 optional:

  • @deepseek-ai/cordis^4.0.1
  • @deepseek-ai/dsh-host-webserver>=0.1.0-rc.5
  • @deepseek-ai/dsh-llm>=0.1.0-rc.5
  • react^18.2.0

安裝與啓用

先執行安裝命令:

npx -y dsh-openai-oauth install

這個命令會把包註冊到 DSH 的 web profile、headless profile,以及已經存在的自定義 profile。

如果你之後新建了自定義 profile,可以重新執行一次安裝命令,讓它註冊到新 profile。

登錄 ChatGPT

Web 界面登錄

啓動 DSH 的 Web 界面:

npx @deepseek-ai/dsh web

進入:

Settings > OpenAI OAuth > Sign in with ChatGPT

在 OpenAI 頁面完成授權後,你的賬號可用的模型會出現在 DSH 正常的模型選擇器裏。

Headless 登錄

如果使用的是 headless profile,可以從終端執行:

npx @deepseek-ai/dsh plugin --profile headless exec dsh-codex-login

登錄信息會單獨保存在:

~/.deepseek-harness/codex

憑據由 Codex 持有,並在需要時刷新。

選擇模型

你可以在 DSH 界面裏選擇 provider 和 model,也可以直接寫配置。

編輯 ~/.dsh/settings.yaml,示例如下:

agent-default-model:
  provider: openai-codex
  model: gpt-5.6-sol
  reasoningEffort: high

配置完成後,按常規方式運行 DSH。例如 headless 方式:

npx @deepseek-ai/dsh --profile headless "inspect this repository"

這裏的關鍵是:插件會從當前登錄的 Codex 賬號讀取模型列表,而不是在插件內部維護一份寫死的模型版本列表。

卸載

如果只是移除插件,但保留 ChatGPT 登錄,方便後續重裝,執行:

npx -y dsh-openai-oauth uninstall

如果要徹底清理,同時註銷並刪除:

~/.deepseek-harness/codex

執行:

npx -y dsh-openai-oauth uninstall --purge-auth

需要注意,npm 可能仍會保留它正常的下載緩存。

適用場景與注意

這個插件適合以下情況:

  • 你已經在用 DeepSeek Harness。
  • 你有可用的 ChatGPT 賬號,並且具備 Codex access。
  • 你希望 DSH 通過 Codex app-server 訪問模型,而不是自己額外管理一套 OpenAI API key。
  • 你希望在 web profile、headless profile 或已有自定義 profile 中統一選擇模型。

使用前要注意幾點:

  • 這是一個獨立社區插件,未獲得 DeepSeek 或 OpenAI 官方背書。
  • 插件以當前 dsh 進程權限運行。安裝前建議檢查源碼、許可證和依賴邊界。
  • 登錄態會寫入 ~/.deepseek-harness/codex,不要把它誤認爲是通用 OpenAI API key 存儲。
  • 它不復制其他 Codex 安裝裏的 auth.json,也不自己實現 OAuth client,不調用未公開 endpoint。
  • 環境必須滿足 Node.js 和 DeepSeek Harness 的版本要求,否則安裝或運行可能不符合預期。

鏈接

  • GitHub:https://github.com/DGPisces/dsh-openai-oauth
羽毛球分组比赛记分
小程序二维码

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

小夜