前言¶
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)。
快速上手¶
- 重启 Harness,打开 设置 → ChatGPT(插件自有页面比 设置 → 模型 里同 provider 卡片更可靠)。
- 点击 使用 ChatGPT 继续登录,浏览器打开 OpenAI 官方授权页。
- 登录并同意将 ChatGPT 方案用于本应用请求。
- 回到 Harness,卡片显示已登录账号。
- 在模型选择器中选择 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)