🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

ChatGPT 账号接入 Starlight-bananice/dsh-chatgpt-plugin

DeepSeek 客户端
Starlight-bananice27 天前有提交已提供中文文档扫描:未发现敏感能力兼容 / 相关生态

用 ChatGPT 账号登录,把方案模型接进模型选择器

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/Starlight-bananice/dsh-chatgpt-plugin.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 27 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 15 处,展示前 15 条)
  • 发起网络请求
    lib/client.js:39
    response = await fetch(`/chatgpt/api/${path}`, {
  • 发起网络请求
    lib/adapter.js:221
    const response = await fetch(`${this.base()}/responses`, {
  • 发起网络请求
    lib/catalog.js:32
    const response = await fetch(`${options.base ?? OFFICIAL_API_BASE}/models`, {
  • 发起网络请求
    lib/catalog.js:76
    const response = await fetch(`${options.base ?? OFFICIAL_API_BASE}/models`, {
  • 发起网络请求
    lib/oauth.js:361
    const response = await fetch(endpoints.token, {
  • 发起网络请求
    lib/oauth.js:387
    const response = await fetch(endpoints.token, {
  • 发起网络请求
    lib/oauth.js:406
    const discovery = await fetch(endpoints.discovery, {
  • 发起网络请求
    lib/oauth.js:420
    const response = await fetch(endpoint, {
  • 发起网络请求
    src/adapter.ts:280
    const response = await fetch(`${this.base()}/responses`, {
  • 发起网络请求
    src/catalog.ts:63
    const response = await fetch(`${options.base ?? OFFICIAL_API_BASE}/models`, {
  • 发起网络请求
    src/catalog.ts:107
    const response = await fetch(`${options.base ?? OFFICIAL_API_BASE}/models`, {
  • 发起网络请求
    src/oauth.ts:481
    const response = await fetch(endpoints.token, {
  • 发起网络请求
    src/oauth.ts:512
    const response = await fetch(endpoints.token, {
  • 发起网络请求
    src/oauth.ts:536
    const discovery = await fetch(endpoints.discovery, {
  • 发起网络请求
    src/oauth.ts:550
    const response = await fetch(endpoint, {
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • ChatGPT账号登录
  • 方案模型接入选择器

在 DeepSeek Harness 里用 ChatGPT 账号登录,把 ChatGPT 方案模型当成普通服务商线路使用

README

由 DeepSeek 最新模型翻译生成
@bananiceee/dsh-chatgpt-provider 在 DeepSeek Harness 里用 ChatGPT 账号登录,把 ChatGPT 方案(Plus / Pro)的模型当成普通 provider 使用。 DeepSeek Harness 插件,用 ChatGPT 登录,把 ChatGPT 方案模型作为普通 chatgpt provider 路由提供出去。 - 走 OpenAI 公开的 Responses API,用 Sign in with ChatGPT 的 OAuth 令牌认证 - 模型出现在 Harness 自带的模型选择器里,与其它 provider 无异 - 账号、令牌、刷新全部托管在 Harness 的凭据文档中;本插件不做代理、不经第三方服务器 - 唯一的运行时依赖是 jose(ID token 验签)与 @deepseek-ai/schemastery Preview 依赖。 它建立在 OpenAI 面向开源客户端新开放的 Sign in with ChatGPT 之上,该能力目前是 Preview:端点、scope 名与字段限制都可能变化。
展开完整文档(README 剩余 1 节)
@bananiceee/dsh-chatgpt-provider

在 DeepSeek Harness 里用 ChatGPT 账号登录,把 ChatGPT 方案(Plus / Pro)的模型当成普通 provider 使用。

DeepSeek Harness 插件,用 ChatGPT 登录,把 ChatGPT 方案模型作为普通 chatgpt provider 路由提供出去。

- 走 OpenAI 公开的 Responses API,用 Sign in with ChatGPT 的 OAuth 令牌认证
- 模型出现在 Harness 自带的模型选择器里,与其它 provider 无异
- 账号、令牌、刷新全部托管在 Harness 的凭据文档中;本插件不做代理、不经第三方服务器
- 唯一的运行时依赖是 jose(ID token 验签)与 @deepseek-ai/schemastery

Preview 依赖。 它建立在 OpenAI 面向开源客户端新开放的 Sign in with ChatGPT 之上,该能力目前是 Preview:端点、scope 名与字段限制都可能变化。

为什么需要它 / Why a plugin

Harness 自带的 @deepseek-ai/dsh-llm-pi-ai 已经注册了 ChatGPT 的授权流程,但整个产品里没有东西去消费它 —— 那条流程注册得出来、却点不到;而且它默认休眠,没有 provider profile 就不注册任何路由,选择器里也不会出现模型。

更关键的是协议不同。ChatGPT 方案用量是一条受限的 Responses 路由:强制 store: false / stream: true、没有 previous_response_id 续接、system 槽只能走 instructions、一批字段必须省略。把这些令牌交给通用 OpenAI 适配器是不行的 —— 它会发出这条路由不接受的字段。

细节见 docs/implementation.md。

环境要求 / Requirements

- DeepSeek Harness 0.2.x
- 一个 ChatGPT Plus 或 Pro 账号
- 本机 127.0.0.1 上的可用端口(OAuth 回调固定走 loopback)

安装 / Install

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

从源码目录安装(开发用):

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

快速上手 / Quick start

1. 重启 Harness,打开 设置 → ChatGPT
2. 点 使用 ChatGPT 继续登录,浏览器会打开 OpenAI 官方授权页
3. 登录并同意把 ChatGPT 方案用于本应用的请求
4. 回到 Harness,卡片显示已登录账号
5. 在模型选择器里挑一个 ChatGPT 模型,开始对话

设置页里随时可以 测试连接 —— 它会真的发一个小请求并回报模型名、回复与 token 用量,用来把「凭据存在」变成「凭据能用」。

使用 / Usage

登录与账号

入口在 设置 → ChatGPT。同一个 provider 的卡片也会出现在 设置 → 模型 里,但插件自己的页面更可靠:模型页那条路径依赖「已服务的 settings 命名空间」来 join provider 行,命名空间出问题时那一行不会出现也不报错。

- 使用其他 ChatGPT 账号 —— 每个账号一条独立注册记录,互不覆盖
- 重新授权 —— 复用已签发的 client id 重走一次授权
- 退出登录 —— 撤销授权并清除本地记录
- 管理用量 —— 跳转 ChatGPT 的用量设置页
- 测试连接 —— 真的发一次请求,按名字报出账号过期、额度用尽、会话被撤销

模型

模型列表默认取自你的账号(GET /v1/models,只展示 visibility: "list" 的条目)。

要在选择器里出现清单之外的模型,显式配置即可 —— 清单外的 id 是能用的,它只表示「账号没主动报告这个模型」:

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 # 「测试连接」打哪个

contextWindow 建议一并声明:Harness 的上下文压缩按「窗口 × 比例」计算触发点, provider 不报窗口时压缩无法按预期触发。GPT-6 全系是 1,050,000。

想确认某个 id 到底能不能用:

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

它会各发一个真实请求并报告结果。只读凭据文档,绝不刷新令牌。

配套的 Agent 预设

本插件只负责连接:注册 chatgpt 路由、处理登录、按这条受限路由的 wire format 收发。
它不改变模型的 Agent 行为 —— 而 GPT-6 系列在这套 harness 下有几个已记录在案的习惯需要单独处理:

- 逐步骤的进度播报:每个 step 前说一句"我会…"。实测一个会话里连续五步的开场白互相 68%–80% 相似,内容都是同一份计划的复述
- 停下来请示而不是动手:官方文档写明它"更可能在额外输入会改变结果时向用户提问,这会导致用户期待它做合理假设并坚持时它却停下"
- 上下文涨过 272K 后计价翻倍(GPT-6 全系列:输入/缓存价 2 倍、输出价 1.5 倍,整个请求)

dsh-gpt-agent-preset 就是为此写的配套预设:

git clone https://github.com/Starlight-bananice/dsh-gpt-agent-preset.git
cd dsh-gpt-agent-preset && python3 install-preset.py

装完在 设置 → Agent 预设 里选「GPT 执行优先」。它和本插件是独立的两件事:预设管 Agent 怎么工作,本插件管模型怎么连上;只用其中一个都能跑,两个一起用才完整。

它还会提示你为模型条目补 contextWindow —— 没有这个字段,Harness 的上下文压缩算不出触发点,也就压不到 272K 的加价线之下(见上一节)。

配置项

| 字段 | 默认 | 说明 |
| displayName | ChatGPT | 选择器里显示的名字 |
| account | 最近登录的 | 指定使用哪个已登录账号 |
| agentName | DeepSeek Harness | 授权页上显示的应用名 |
| reasoningEfforts | low/medium/high/xhigh/max | 选择器提供的推理档位 |
| reasoningEffort | 模型默认 | 默认档位 |
| models | 账号清单 | 附加/覆盖的模型条目 |
| testModel | 优先选含 luna 的 | 「测试连接」使用的模型 |
| callbackPort | 1455 | OAuth 回调端口 |
| maxImageBytes | 8 MiB | 单张图片上限 |
| maxInlineImageBytes | 24 MiB | 单请求图片总量上限 |

排障 / Troubleshooting

设置页里看不到 ChatGPT 卡片

先重启 Harness。浏览器那半边的模块注册表在启动时扫描并生成脚本表,启动时不存在的包不会凭空出现在表里。

卡片在,但登录按钮点了没反应

/chatgpt/api/status 是不需要登录的自检端点,它直接回答四件事:

| 字段 | 含义 |
| directory.routeLive | 适配器路由注册了吗 |
| directory.inDirectory | provider 目录里有这条吗 |
| settingsSectionMounted / settingsSectionError | settings 命名空间注册了吗、为什么没注册 |
| clientModule | 浏览器半边注册了吗 |

curl -s http://127.0.0.1:<port>/chatgpt/api/status | python3 -m json.tool

出现了 invalid_value / 只有第一轮能跑

历史里有 assistant 回合时,文本块必须是 output_text,写成 input_text 会被 400 拒绝。
若遇到,请附上 /chatgpt/api/status 与错误原文提 issue。

提示余额或额度不足

Plus 的五小时限额是与其它应用共享的,本应用拿不到单独额度;Pro 不受该限制影响。
官方没有提供查询剩余额度的接口,所以卡片不显示数字,只给「管理用量」链接。

更新插件代码后行为没变

Node 的 ESM 模块缓存持有旧的 lib/index.js,在「设置 → 插件」里 toggle 只会重跑 apply,不会重新读文件。要让新代码生效必须重启应用。

隐私与安全 / Privacy and security

- 令牌只落在 Harness 的凭据文档($DSH_HOME/.credentials.yaml,0600、原子写、带文件锁),不写日志、不进环境变量
- 登录流程全程只与 auth.openai.com 和 api.openai.com 通信。
令牌不会被发往 ChatGPT 的 backend-api(官方明确禁止)
- 本机 host 标识是 urn:uuid: 形式的固定标识符,不是凭据
- /chatgpt/api/* 不带额外鉴权,只监听 127.0.0.1。
它暴露账号邮箱/身份与登录控制,不含令牌本身。本机多用户场景下应当知道这一点

已知限制 / Known limitations

- 依赖 Preview 能力,字段、scope 与端点可能在正式版前变化
- 共享五小时限额(Plus),无单独额度
- 不在 OpenAI 的通知范围内:用户在 ChatGPT 设置里断开应用时 OpenAI 不会通知本插件,要等某次请求或刷新确认失效才会发现
- 用量不显示余额(官方未提供查询接口)
- 图片有内联上限(单张 8 MiB、单请求 24 MiB),超出的图片被跳过并留下说明文字

更多文档 / More

| 文档 | 内容 |
| docs/implementation.md | OAuth 流程、账号存储、适配器 wire format、登录入口的内部实现 |
| docs/verification.md | 六个测试套件各自证明什么,以及它们抓到的真实 bug |
| docs/development.md | 构建、测试、以及两条只有真实运行才会暴露的契约约束 |

变更记录 / Changelog

0.1.1

- 文档重写。 README 改为面向使用者的手册(安装、使用、模型配置、配置项、按现象排障),实现细节、验证说明与开发注意事项迁到 docs/。这三份文档此前不在发布清单里,现在会随包发布。
- 修复:react / react-dom 未声明为依赖。 tests/client.mjs 用 React 挂载客户端 bundle,但这两个包此前只能通过 scripts/build.sh 建立的软链解析 —— 在没有构建过的 clone 上 pnpm test 会以 Cannot find module 'react' 失败,且最后两个套件根本不会执行(由 CI 首次运行发现)。

0.1.0

- 在 ChatGPT 方案(Plus / Pro)上注册 chatgpt provider 路由,走公开的 Responses API,用 Sign in with ChatGPT 的 OAuth 令牌认证
- 设置页登录卡片、多账号、重新授权、退出登录、用量链接、真实连通性测试
- 修复:工具返回的图片不再丢失。 function_call_output 只接受文本,此前图片被替换为占位文字、模型完全看不到 —— 截图检查、网页视觉验证、Office 排版检查因此静默失效。现在图片作为紧随该输出项之后的 user 消息发出,复用用户上传图片的同一条路径(同样的字节上限与 data URL 拼法,超限同样是明确文字的占位符)。工具结果的文本内容一字不丢。

参考 / References

- Sign in with ChatGPT — Overview
- Registration and sign-in
- Accounts and sessions
- Models and inference
- Errors and recovery
- Token reference
- Preview limitations
- UI/UX guidelines

License

MIT
预览分享卡片长什么样 ↓Starlight-bananice/dsh-chatgpt-plugin
分享 · DeepSeek Harness Hub
Starlight-bananice/dsh-chatgpt-plugin

用 ChatGPT 账号登录,把方案模型接进模型选择器

回到顶部