dsh-openai-oauth:在 DSH 桌面端用 ChatGPT 订阅走官方 SIWC 登录

前言

在 DeepSeek Harness(DSH)里做智能体开发,模型来源往往不止 DeepSeek 账号或 API Key 一种。若你已有 ChatGPT 订阅,希望在桌面 Host 里用同一套模型选择器选模型、调推理档位,并走工具与流式对话,又不想改 ASAR、换 pi-ai 或依赖旧的固定客户端 Codex OAuth 集成,就需要一条与官方协议对齐的订阅接入路径。

下面介绍社区插件 pyh-pan/dsh-openai-oauth:通过 OpenAI 官方的 Sign in with ChatGPT(SIWC)把订阅能力接到 DSH Desktop,作为独立的模型推理提供方,与 DeepSeek 账号、API Key 等来源并存。

这是什么

dsh-openai-oauth(npm 包名 @pyh-pan/dsh-openai-oauth,当前版本 0.3.6)由维护者 pyh-pan 发布,许可证为 MIT。它是独立的社区插件,与 OpenAI、DeepSeek 无隶属关系;README 明确说明不是旧版固定客户端 Codex OAuth / backend-api 集成。

定位可以概括为:在 DSH Desktop 中,用官方「Continue with ChatGPT」完成 Agent 注册与令牌校验,在现有模型选择器里使用账号对应的模型与推理等级,并支持 Responses 流式、附件与本地函数工具等能力,且不对 DSH 核心打补丁。

核心功能

以下能力均来自项目 README 与 package.json 说明,安装前请自行对照仓库最新文档。

  1. 登录与身份:Continue with ChatGPT、动态 Agent 注册、持久化 Host 身份、校验过的 ID Token。
  2. 模型与推理:在 DSH 既有模型选择器中使用账号侧提供的模型;推理等级子菜单仅展示该模型对外公布的选项。
  3. 对话与工具:公开 Responses 流式;支持经校验的图片/文档输入、本地 function tools、工具结果与兼容的历史回放。
  4. 多账号:可保存多个账号/工作区注册,显式选择账号、轮换刷新令牌,并按范围登出。
  5. 隔离与计费:与 DeepSeek 账号、API Key 提供方及其他来源、既有会话保持独立;订阅失败时不会静默回退到 API Key 或余额计费。
  6. 会话亲和:在账号/会话范围内保持 Responses 亲和以利于缓存复用,且不向外发送原始会话标识符。
  7. 依赖边界:不需要 Codex CLI、API Key、修补 ASAR 或替换 pi-ai 安装。

附件与参数方面,README 写明:支持文本、规范化图片及受支持文档(经 inline Responses 输入,且受所选模型接受);本地单次请求限制包括最多 20 张图、10 个文件、单文件 20 MiB、文件总字节 40 MiB。未实现音频/视频、Files 上传 API 与托管 MCP/tool-search;未知二进制或超限历史会显式失败而非静默丢弃附件。在该提供方的保守 SIWC 预览合约下,显式的 maxTokens/temperature 会被拒绝而非忽略,普通聊天前需先清掉。订阅推理失败不会切换到 API Key 提供方。

在 Desktop 0.2.1-rc.2 上,0.3.6 将 SIWC compaction 与按会话覆盖安全(见仓库 docs/compaction.md)集成在同一提供方 bundle 中,适用于 standard/cordis/ptc/minimal 等预设,在内存中处理且不写入用户预设。

兼容性与环境

README 列出的已验证 Desktop 版本:0.2.1-rc.2、0.2.1-rc.1、0.2.0-rc.2。开发与安装辅助脚本要求 Node.js 24+。

向前兼容范围(peerDependencies 与文档一致):0.2.0-rc.2 || >=0.2.1-rc.1 <0.3.0-0。更高 0.2.x 被视为候选而非已验证版本。较旧 DSH、远程/无头 Host、Linux Desktop 目前不宣称支持。完整矩阵见仓库 docs/compatibility.md;不要绕过兼容性合约或强行升级捆绑框架依赖。

环境 说明(摘自 README 表格)
Windows Desktop 0.2.1-rc.2 原生测试通过;初始 UI 恢复已确认
Windows 0.2.1-rc.1 / 0.2.0-rc.2 基线 此前已验证原生套件与桌面源/账号/选择
macOS 0.2.1-rc.2 / 0.2.1-rc.1 针对这些版本的实机验证待完成;0.2.0-rc.2 原生套件已通过
Windows/macOS/Linux Node CI 仅协议/包测试,不能证明桌面登录或推理

安装与启用

项目未在 npm 公开发布包,安装需从源码目录或经审查的归档进行。下列命令来自 README,路径与版本号请与仓库 docs/install.md 及你本地的检出一致。

从已链接的源码目录安装(开发/日常更新常用)

在插件源码根目录执行依赖安装与检查后,通过仓库自带的 dsh 辅助脚本调用桌面端内置 CLI(不会另装 Host;非标准安装可设 DSH_APP):

npm ci
npm test
npm run check
npm run test:package
npm run doctor
npm run dsh -- plugin --profile desktop add -w .

任务全部结束后再重启 DSH。仅关闭窗口可能只是把应用收到托盘,需使用正常的退出(Quit)操作。

从审查过的归档安装(仅适用于干净/归档安装场景)

若目录已通过 -w 链接到检出,应保留链接并在检出上更新,不要用归档覆盖 Junction。README 警告:不要与旧私有 bundle 同时启用,二者会保留相同的 provider/credential 身份,迁移见 docs/migration.md。

npm run pack
npm run dsh -- plugin --profile desktop add ./artifacts/pyh-pan-dsh-openai-oauth-0.3.6.tgz

DSH 升级后若源码与授权设置一并消失,先查阅 docs/install.md 中「版本兼容性排错」再重新登录;不兼容的 bundle 会在代码运行前被跳过。

典型用法:登录与选模型

按 README「Sign in and use」一节,流程如下。

  1. 打开 Settings → Models → ChatGPT subscription。
  2. 点击 Continue with ChatGPT,在浏览器中打开官方授权链接。
  3. 在 OpenAI 页面为 Agent 命名并批准;自行完成认证,不要从其他客户端复制令牌。
  4. 阅读首次使用说明并选择 Use this account。仅登录不会自动切换当前会话的模型。
  5. 在既有模型选择器中选 ChatGPT Subscription;Reasoning level 子菜单仅显示该模型公布的推理选项。
  6. 通过 Manage usage 在 ChatGPT Settings → Usage 查看 Agent、配额与访问权限。

未授予直接推理 scope 的账号会保持登录但禁用推理;需显式启用订阅推理才会再次请求同意。重新授权会复用注册;添加不同账号是单独操作。

登出会尝试远程撤销并清除该账号本地令牌,保留注册记录;若远程撤销未确认会给出提示,可在 ChatGPT 设置中复查访问。令牌存放在原生 Host 凭证服务中,而非浏览器存储或普通插件设置。

适用场景与注意

适合谁:已在 Windows(README 已验证矩阵内)使用 DSH Desktop 0.2.0-rc.2 / 0.2.1-rc.x,希望用 ChatGPT 订阅作为独立推理来源,并愿意按 SIWC 与 Responses 合约使用模型、推理档位、工具与附件能力的开发者。

务必注意:

  • 插件在 DSH 进程权限下运行;安装前应阅读源码、LICENSE(MIT)、SECURITY.md 与 docs/protocol.md,确认信任维护者与行为边界。
  • 模型、推理选项与配额由账号与服务器决定,并非无限制的通用权益。
  • 与 DeepSeek 官方账号、社区插件目录(如 SkillHub 上的条目)均无官方从属;目录站是社区生态的一部分,「一切皆插件」由你自行选型与审计。

结尾

pyh-pan/dsh-openai-oauth 把 ChatGPT 订阅接到 DSH Desktop 的模型推理链路:官方 SIWC 登录、原生模型/推理选择、工具与多账号管理,且不打核心补丁。需要细节、迁移与安全说明时,以仓库文档为准。

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

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

小夜