dsh-chatgpt-plugin:在 DeepSeek Harness 里用 ChatGPT 账号走 provider 路由

前言

DeepSeek Harness(DSH)把模型接入做成可插拔的 provider 路由。若你已有 ChatGPT Plus 或 Pro,希望在 Harness 里用官方「Sign in with ChatGPT」登录,并把方案内的模型与其它 provider 一样出现在模型选择器里,单靠通用 OpenAI 适配器往往不够:ChatGPT 方案走的是受限的 Responses API,字段与通用路由不一致,Harness 自带的授权流程也可能注册了却无人消费。Starlight-bananice/dsh-chatgpt-plugin(npm 包名 @bananiceee/dsh-chatgpt-provider)就是为此提供的模型推理类插件。

这是什么

维护者 Starlight-bananice,分类为模型推理。插件在 DSH 内完成 ChatGPT OAuth 登录,注册 chatgpt provider 路由,通过 OpenAI 公开的 Responses API 与 Sign in with ChatGPT 的 OAuth 令牌认证;账号、令牌与刷新由 Harness 凭据文档托管,不做代理、不经第三方服务器。当前版本 0.1.1,许可证 MIT(以 GitHub / package.json 为准)。

依赖 OpenAI 面向开源客户端开放的 Sign in with ChatGPT,该能力目前为 Preview,端点、scope 与字段限制可能在正式版前变化。

为什么需要单独插件

资料说明:Harness 自带的 @deepseek-ai/dsh-llm-pi-ai 已注册 ChatGPT 授权流程,但产品内缺少消费该流程的 provider;且 ChatGPT 方案用量路由强制 store: false / stream: true、不支持 previous_response_id 续接、system 需走 instructions 等,通用 OpenAI 适配器会发出该路由不接受的字段。本插件按这条 wire format 实现适配器。

环境要求

  • DeepSeek Harness 0.2.x
  • ChatGPT Plus 或 Pro 账号
  • 本机 127.0.0.1 上可用端口(OAuth 回调走 loopback,默认回调端口 1455,可在配置中改 callbackPort)

安装与启用

桌面 profile 下从 registry 安装(命令来自 README):

dsh plugin --profile desktop add @bananiceee/dsh-chatgpt-provider

本地开发可从源码目录安装:

dsh plugin --profile desktop add /path/to/dsh-chatgpt-provider

插件以当前 DSH 进程权限运行;安装前建议在 GitHub 查看源码与 MIT 许可证。安装或更新插件代码后,若行为未变,需在应用层重启 Harness(仅 toggling 插件不会重新加载 Node ESM 缓存中的 lib/index.js)。

快速上手

  1. 重启 Harness,打开 设置 → ChatGPT(插件自有页面比 设置 → 模型 里同 provider 卡片更可靠)。
  2. 点击 使用 ChatGPT 继续登录,浏览器打开 OpenAI 官方授权页。
  3. 登录并同意将 ChatGPT 方案用于本应用请求。
  4. 回到 Harness,卡片显示已登录账号。
  5. 在模型选择器中选择 ChatGPT 模型开始对话。

设置页可 测试连接:会发送真实小请求并回报模型名、回复与 token 用量。

核心功能

  • 登录与多账号:重新授权、退出登录、跳转 ChatGPT 用量设置、按错误类型报告过期/额度/撤销等。
  • 模型列表:默认来自账号 GET /v1/models 中 visibility: "list" 的条目;可在 profile 的 cordis.patch.yml 中附加清单外模型并建议填写 contextWindow(GPT-6 全系资料写为 1,050,000,便于 Harness 上下文压缩触发)。
  • 推理档位:配置项 reasoningEfforts 默认 low/medium/high/xhigh/max,reasoningEffort 为默认档位。
  • 工具结果中的图片:0.1.0 起修复 function 返回图片丢失问题,图片作为紧随输出的 user 消息发送(单张上限 8 MiB、单请求图片总量 24 MiB,超出会跳过并留说明)。

运行时依赖主要为 jose(ID token 验签)与 @deepseek-ai/schemastery。

配置示例

在 profile 的 cordis.patch.yml 中扩展模型与测试模型:

- id: dsh-chatgpt-provider
  name: "@bananiceee/dsh-chatgpt-provider"
  config:
    models:
      - id: gpt-6.1-sol
        name: GPT-6.1 Sol
        contextWindow: 1050000
      - id: gpt-6-sol
        name: GPT-6 Sol
        contextWindow: 1050000
      - id: gpt-6-luna
        name: GPT-6 Luna
        contextWindow: 1050000
    testModel: gpt-6-luna

常用字段还包括 displayName(默认 ChatGPT)、account、agentName(授权页应用名,默认 DeepSeek Harness)等,完整表格见仓库 README。

验证某模型 id 是否可用(只读凭据、不刷新令牌):

node tests/live-models.mjs gpt-6-astra

排障要点

  • 设置页无 ChatGPT 卡片:先重启 Harness;浏览器模块注册表在启动时扫描。
  • 登录按钮无反应:访问本机 curl -s http://127.0.0.1:<port>/chatgpt/api/status | python3 -m json.tool,查看路由、目录、settings 命名空间与 clientModule 等字段。
  • Plus 额度:五小时限额与其它应用共享,卡片不显示剩余数字,仅提供「管理用量」链接;Pro 不受该五小时限制影响(以 README 说明为准)。
  • /chatgpt/api/* 仅监听 127.0.0.1,无额外鉴权,会暴露账号邮箱/身份与登录控制,不含令牌本身。

适用场景与注意

适合:已在 DSH 0.2.x 上开发或日常使用智能体、希望用 ChatGPT 方案模型且接受 Preview API 变化风险的 Plus/Pro 用户。

注意:

  • 令牌存于 $DSH_HOME/.credentials.yaml(0600),登录仅与 auth.openai.com、api.openai.com 通信;用户在 ChatGPT 设置中断开应用时 OpenAI 不会主动通知插件。
  • 插件只负责连接与 wire format;GPT-6 在 Harness 下的 Agent 习惯(逐步播报、易停下来提问、超 272K 上下文加价等)可由独立项目 dsh-gpt-agent-preset 配合,二者可分开使用。
  • 社区目录 skillhub.cn 插件页 与 DeepSeek / 幻方无官方从属关系;星标等元数据以目录站展示为准(当前线索为 0)。

链接

  • 目录页:https://www.skillhub.cn/plugins/Starlight-bananice/dsh-chatgpt-plugin
  • GitHub:https://github.com/Starlight-bananice/dsh-chatgpt-plugin
  • 安装包名:@bananiceee/dsh-chatgpt-provider(dsh plugin --profile desktop add @bananiceee/dsh-chatgpt-provider)
羽毛球分组比赛记分
小程序二维码

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

Xiaoye