dsh-llm-chatgpt-oauth:利用 ChatGPT Plus/Pro 訂閱使用 OpenAI Codex 模型

前言

DeepSeek Harness(DSH)支持通過插件擴展模型推理能力。開發者在使用 OpenAI Codex 系列模型時,通常需要申請並持有 OPENAI_API_KEY。如果已擁有 ChatGPT Plus 或 Pro 訂閱,通過 OAuth 方式直接調用模型可以省去申請 API Key 的流程。下面介紹 dsh-llm-chatgpt-oauth 插件,它通過 pi-ai 的 openai-codex 路由,將 ChatGPT 的訂閱能力接入 DSH。

插件定位

這是一個獨立社區項目,由用戶 zhangxiubo 維護,基於 MIT 許可證開源。

它的核心作用是註冊一個名爲 openai-codex 的 DeepSeek Harness 提供商路由。它利用 chatgpt.com/backend-api 進行 OAuth 認證,允許 DSH 直接使用 pi-ai 的當前 Codex 模型目錄(例如 gpt-5.4、gpt-5.5 等),而無需 OPENAI_API_KEY。

核心功能

該插件集成了以下能力:
* 模型目錄註冊:註冊 OpenAI Codex 模型目錄,供 DSH 選用。
* OAuth 認證:通過 ChatGPT 官方後端 API 進行認證。
* 無 Key 運行:完全不需要配置 OPENAI_API_KEY。
* 消息轉換:繼承 Harness 的消息轉換、工具調用、推理級別、重放元數據和附件處理能力。
* 令牌管理:自動刷新 OAuth 訪問令牌,並支持私密、原子的憑證持久化。
* CLI 工具:提供專用的設備代碼登錄命令 dsh-llm-chatgpt-auth login。
* 引導登錄:支持從現有的 Codex CLI 登錄狀態引導(可選)。
* 設置集成:在 DSH 的 Models 設置頁面顯示 OpenAI Codex (ChatGPT) 提供商行,並支持操作選項的實時、基於設置的更新。

安裝

安裝前請確保環境滿足依賴要求(見下文)。安裝通過 DSH 的插件管理命令完成:

dsh plugin --profile web add 'github:zhangxiubo/dsh-llm-chatgpt-oauth#v0.1.0'

安裝後需要重啓 dsh web 進程以加載配置。

使用

安裝完成後,可以通過命令行進行認證,或在 DSH 的設置頁面選擇模型。

認證操作

使用插件提供的認證命令管理憑證:

dsh-llm-chatgpt-auth login
dsh-llm-chatgpt-auth status
dsh-llm-chatgpt-auth logout

配置默認模型

在 ${DSH_HOME:-~/.dsh}/settings.yaml 中設置默認模型,指定使用 openai-codex 提供商:

agent-default-model:
  provider: openai-codex
  model: gpt-5.4
  reasoningEffort: high

高級配置

插件支持在 settings.yaml 中通過 llm-chatgpt-oauth 命名空間進行配置,例如關閉 Codex CLI 引導或設置超時:

llm-chatgpt-oauth:
  displayName: OpenAI Codex (ChatGPT)
  streamIdleTimeoutMs: 300000
  bootstrapFromCodexCli: false

依賴與環境

運行此插件需要滿足以下環境條件:

  • Node.js:版本需 >=22.19.0。
  • 包管理器:命令行需安裝 pnpm。
  • DSH 版本兼容:DeepSeek Harness 需兼容 @deepseek-ai/dsh-llm-pi-ai@0.1.0-rc.7。
  • Pi-AI 版本兼容:需 @earendil-works/pi-ai@0.82.1。
  • 賬戶權限:需擁有訪問 OpenAI Codex 模型的 ChatGPT 賬戶。

注意事項

  • 非官方項目:這是一個獨立社區項目,不是 OpenAI、DeepSeek 或 pi-ai 的官方包。
  • 安全機制:不將公共 api.openai.com 路由轉換爲訂閱訪問,也不抓取瀏覽器會話。
  • 模型限制:模型可用性和使用限制由 ChatGPT 賬戶控制,可能與插件狀態獨立變化。
  • 版本鎖定:插件對 Harness 和 pi-ai 的 peer 版本進行了精確固定。升級這些固定版本前,應通過完整套件和選定的實時測試。
  • 私有包:該包在 npm 上被標記爲 private,通過 GitHub Releases 分發,不直接發佈到 npm registry。

資源

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

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

小夜