前言¶
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。