用 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

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

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

小夜