前言¶
DeepSeek Harness(DSH)把模型、工具与智能体循环拆成可组合的插件。若你已有 ChatGPT 订阅且账号支持 Sign in with ChatGPT(SIWC)下的套餐用量,常见做法仍是单独开 OpenAI 客户端或 Codex CLI,与 DSH 里的 agent 循环、工具调用不在同一套界面里完成。社区插件 dsh-chatgpt-plan 通过 OpenAI 官方的 Sign in with ChatGPT 流程,把套餐额度接到 DSH 的模型推理链路上,并保留 DSH 原有的 agent 循环与工具能力。
这是什么¶
dsh-chatgpt-plan 由维护者 yossi-lee 发布,在 SkillHub 分类为「模型推理」。它是一个 DSH 插件包(kind: package-bundle),向 Profile 注入名为 codex-plan 的模型 provider,并在 Settings → Models 提供账号登录与登出控制。每位使用者自行授权自己的 ChatGPT 账号;符合条件的请求会消耗其已有套餐额度。插件调用公开的 Responses API,不导入 Codex 登录文件、也不启动 Codex CLI。README 明确说明这是独立集成,不代表 OpenAI 或 DeepSeek 背书。
当前 release 版本为 0.1.3(MIT 许可证)。GitHub 仓库:yossi-lee/dsh-chatgpt-plan;目录页:SkillHub 插件页。
核心功能¶
下面介绍 README 中已描述、且与实现说明一致的能力。
- 套餐模型 provider:安装后配置里会出现
dsh-chatgpt-planbundle 与codex-plan行;模型选择器里可看到 ChatGPT plan 下的模型列表(具体模型取决于账号,可能变动)。 - 官方 SIWC 授权:在 Settings → Models → ChatGPT plan 使用「Continue with ChatGPT」,在 OpenAI 页面登录并允许套餐用量;凭证写入 DSH credential store,Host 端校验 ID token(JWKS)并在 store 锁下轮换凭证。
- 推理适配:适配层绑定请求与登录代际,调用
api.openai.com/v1/models与/responses;流式结果转成 DSH block,仅在完整 response 成功后接受。 - 账号卡片:支持取消进行中的登录、登出(含远程撤销尝试与本地 token 清理)、打开 ChatGPT 侧的应用限额与额度设置;浏览器无法连上 Host 环回监听时,可将完整 callback URL 粘贴到账号卡片。
- 凭证服务:bundle 会启用 DSH 既有的
credentials与authorization行(headless profile 若曾关闭也会打开);同一 credential store 下的 profile 共享存储。Desktop 使用独立 profile,需在其插件管理器中安装 tarball,而非 CLI 的 Web profile。
README 注明:真实账号下的浏览器登录与模型发现已验证;真实账号上的推理尚未验证。安装前请自行审阅源码与许可证;插件以当前 DSH 进程权限运行。
环境与兼容性¶
- Node.js:≥ 24.9(
package.json中engines.node为>=24.9.0)。 - DSH:0.2.1-rc.5 或 0.2.2-alpha.2;面向基于
dsh-base的 profile(Web、Desktop、headless)。其他版本会被兼容性声明拒绝。0.1.2 仅支持 DSH 0.2.2-alpha.2;若使用 0.2.1-rc.5 应选 0.1.3。不要关闭兼容性检查。 - 需要具备 SIWC 套餐用量的 ChatGPT 账号,并在授权时获得 plan usage。
安装与启用¶
官方推荐从 GitHub Releases 下载预构建包,无需本地 build。GitHub 源码归档不含构建产物,应使用 release 的 .tgz。
Web / CLI 管理 profile 的典型步骤如下:
curl -fL https://github.com/yossi-lee/dsh-chatgpt-plan/releases/download/v0.1.3/dsh-chatgpt-plan-0.1.3.tgz -o dsh-chatgpt-plan-0.1.3.tgz
dsh plugin --profile web add ./dsh-chatgpt-plan-0.1.3.tgz
dsh web --no-open
若 DSH 已在运行,安装后需重启。可用下面命令确认 composed 配置是否包含 bundle 与 codex-plan:
dsh --profile web --dump-config
Desktop 用户:在插件管理器中安装本地 .tgz 或上述 release URL,然后重启 Desktop。
卸载时不删除 credential store 里已有记录,仅移除 bundle 层:
dsh plugin --profile web remove dsh-chatgpt-plan
本包未发布到 npm;勿凭插件名拼接 dsh plugin add github:owner/repo 作为官方安装方式。
登录与选模型¶
- 打开 Settings → Models → ChatGPT plan,选择 Continue with ChatGPT。
- 打开授权链接,在 OpenAI 页面登录并允许套餐用量。
- 若浏览器无法访问 DSH Host 的环回监听(默认端口见配置表
callbackPort),将完整 callback URL 粘贴到账号卡片。 - 卡片在 token 校验并写入凭证后才显示成功;随后在 DSH 模型选择器中选择 ChatGPT plan 下的模型。
Cancel sign-in 可撤回进行中的尝试。Sign out 会停止本实例对该账号的请求、尝试远程撤销并清除本地 token,但保留 host ID 与账号/客户端注册以便再次登录。若远程撤销无法确认,卡片会提示到 ChatGPT 设置中断开应用。Manage usage 打开 ChatGPT 的应用限额与 credit 设置。
可选配置¶
可在 profile 的 cordis.patch.yml 中覆盖 codex-plan 行;省略字段时使用插件 schema 默认值。修改后需 remount 插件或重启 DSH。端点、OAuth scope 与 provider ID 由插件固定实现;不要在配置里写 token。若 credentials 文档损坏,插件不会覆盖,需修复或删除 store 中的 codex-plan/connection 记录后再登录。
| 字段 | 默认值 | 行为 |
|---|---|---|
loginTimeoutMs |
180000 |
浏览器授权总时限 |
requestTimeoutMs |
180000 |
目录、推理与撤销操作时限 |
authRequestTimeoutMs |
15000 |
token/撤销网络预算,上限 20000 |
refreshMarginMs |
180000 |
在过期前刷新,遵守 issued 的最早刷新时间 |
revocationRetries |
1 |
网络错误或服务器失败后的额外撤销尝试 |
revocationRetryDelayMs |
250 |
撤销指数退避初始延迟 |
callbackPort |
1455 |
环回监听端口;0 表示自动选可用端口 |
modelContextWindows |
{} |
按需指定各模型上下文上限,否则用目录元数据 |
适用场景与注意¶
适合:已在 DSH(Web / Desktop / headless)里做 agent 开发或日常任务,希望用 ChatGPT 套餐额度而非单独 API Key,并愿意走 SIWC 官方授权流程的用户。
注意:
- 插件与 DSH 社区目录(SkillHub)均为社区生态,与 DeepSeek / 幻方无官方从属关系;安装前阅读 LICENSE 与源码。
- 推理在真实账号上的效果 README 仍标为未验证;生产或敏感数据场景请自行评估。
- 移除插件不会自动清理 credential store;登出或手动清理连接记录后再卸载,可避免残留授权状态困惑。
结尾¶
dsh-chatgpt-plan 把 ChatGPT 套餐通过 SIWC 接到 DSH 的 codex-plan provider,在统一 harness 里完成授权、选模型与 Responses API 推理,同时保留 DSH 工具与 agent 循环。获取包与文档见 GitHub Releases v0.1.3 与 仓库 README;浏览与分类信息见 SkillHub 目录页。