用 ChatGPT 账号套餐额度在 DSH 里调用模型
31.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add HackForJoy/dsh-openai-siwc该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
- 发起网络请求src/adapter.ts:159
return await fetch(url, { - 执行外部命令来自配置/变量src/browser.ts:15
const child = spawn(command, args, { stdio: 'ignore', detached: true }) - 发起网络请求src/oauth.ts:250
return await fetch(url, {
扫描于 2026/10/31(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-attachment@deepseek-ai/dsh-attachment-local@deepseek-ai/dsh-authorization@deepseek-ai/dsh-commands@deepseek-ai/dsh-credentials@deepseek-ai/dsh-credentials-local@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-launch-environment@deepseek-ai/dsh-llm@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
社区版 DeepSeek Harness(DSH)LLM 服务商,使用 OpenAI 的 Sign in with ChatGPT 登录(开源客户端可用 ChatGPT 套餐额度)。与 OpenAI 和 DeepSeek 均无关联。
README
由 DeepSeek 最新模型翻译生成dsh-openai-siwc
为 DeepSeek Harness(DSH)提供的 LLM provider 插件。它通过 OpenAI 官方的 Sign in with ChatGPT —— 面向开源客户端的 ChatGPT plan usage 机制(SIWC),让 DSH 使用你的 ChatGPT 账号和套餐额度调用模型。
这是社区插件,与 OpenAI、DeepSeek 均无隶属或背书关系。
协议实现只以官方文档为依据:<https://developers.openai.com/siwc/token-sharing-open-source/sign-in>(详见 docs/research/openai-siwc-protocol.md)。
它不是下面这两样东西:
- 不是传统的 Codex OAuth(DSH 内置的 openai-codex provider 用的是那种);
- 不是 OpenAI API Key provider。它不会把 SIWC token 当作 API key,也不会在失败时切换到其他计费方式。
使用条件
- OpenAI 官方说明:ChatGPT plan usage 面向合格的 ChatGPT Plus / Pro 用户,适用于开源、本地运行的应用。
展开完整文档(README 剩余 1 节)
dsh-openai-siwc 为 DeepSeek Harness(DSH)提供的 LLM provider 插件。它通过 OpenAI 官方的 Sign in with ChatGPT —— 面向开源客户端的 ChatGPT plan usage 机制(SIWC),让 DSH 使用你的 ChatGPT 账号和套餐额度调用模型。 这是社区插件,与 OpenAI、DeepSeek 均无隶属或背书关系。 协议实现只以官方文档为依据:<https://developers.openai.com/siwc/token-sharing-open-source/sign-in>(详见 docs/research/openai-siwc-protocol.md)。 它不是下面这两样东西: - 不是传统的 Codex OAuth(DSH 内置的 openai-codex provider 用的是那种); - 不是 OpenAI API Key provider。它不会把 SIWC token 当作 API key,也不会在失败时切换到其他计费方式。 使用条件 - OpenAI 官方说明:ChatGPT plan usage 面向合格的 ChatGPT Plus / Pro 用户,适用于开源、本地运行的应用。不符合资格的账号(例如 ChatGPT Free)在登录的换码阶段就会被拒绝(invalid_grant)。 - 兼容性:已在 DSH 0.2.1-rc.3(@deepseek-ai/cordis ~4.0.5)上验证;Node.js ≥ 22。DSH SDK 仍是预发布版本,各版本之间存在不兼容变更,因此 peer 依赖固定在精确版本上,DSH 每次升级后都会发布对应的插件版本。 - Plus 用户的 5 小时用量上限在所有使用 ChatGPT plan 的应用间共享。用量与授权管理:<https://chatgpt.com/settings/usage>。 安装 使用 DSH 自带的 CLI 安装到某个 profile(会自动写入该 profile 的 dependencies 和 dsh.profile.bundles): DSH="/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" # macOS "$DSH" plugin --profile <profile> add @hackforjoy/dsh-openai-siwc 然后启动该 profile(例如 "$DSH" <profile>)。插件随包提供的 cordis.patch.yml 会以 id openai-siwc 挂载插件。 - 建议先装进一个独立的测试 profile,甚至独立的 DSH_HOME(例如 DSH_HOME=~/.dsh-siwc-test),不要直接改日常使用的 profile。 - pnpm 会提示缺少 @deepseek-ai/* peer 依赖,这是正常的:这些包由 DSH 宿主提供(DSH 官方的第三方插件 dsh-subagent-codex 也是这样)。 - 升级:执行 "$DSH" plugin --profile <profile> add @hackforjoy/dsh-openai-siwc@<新版本>,然后重启 DSH。 从源码安装请见下文"开发"一节。 配置(可选) 在 profile 的 cordis.patch.yml 中按 id 覆盖: - id: openai-siwc name: '@hackforjoy/dsh-openai-siwc' config: defaultContextWindow: 128000 # 仅用于目录中没有给出 context_window 的模型 models: some-model-slug: contextWindow: 200000 # 按模型覆盖 streamIdleTimeoutMs: 300000 # 流式响应允许的最长静默时间 maxRequestImageBytes: 20971520 # 单个请求的 base64 图片上限,超出时由 DSH 卸载最早的图片 OpenAI 端点不可配置(防止 token 被发往其他地址)。 登录 DSH 0.2.1 的设置页面还没有给第三方授权流程提供入口,所以登录通过斜杠命令完成: 1. 在会话中执行 /siwc login(如需添加另一个 ChatGPT 账号,执行 /siwc login new)。DSH 首页的空白输入框不会显示命令输出,请在已有会话中执行。 2. 插件会打开系统浏览器(官方要求)。在浏览器中登录 ChatGPT,确认 agent 名称("DSH OpenAI SIWC"),并允许使用 ChatGPT plan。 3. 浏览器回到 http://127.0.0.1:<随机端口>/auth/callback,显示 "Sign-in finished" 后即可关闭;命令会输出 "Signed in to ChatGPT as …"。 授权链接只交给浏览器,不会出现在命令输出或会话日志中。如果没有授予 plan usage 权限,插件会保留登录状态,但推理请求会报 SIWC_PLAN_USAGE_DISABLED。重新登录并允许即可。 使用 - 在模型选择器中选择 ChatGPT plan (Sign in with ChatGPT) 下的模型。模型列表来自你账号的 GET /v1/models(只显示 visibility: "list" 的模型),换账号后会刷新。 - 支持文本、流式输出、多轮对话、工具调用(工具被包进名为 dsh 的 namespace,这是官方要求)、图片输入和推理强度选择。模型能力(输入类型、上下文窗口、推理档位)都来自账号的模型目录,不做猜测。 - 斜杠命令(需要 DSH 加载 commands 服务): - /siwc login [new]:登录(见上文); - /siwc status:登录状态、plan usage 状态、授予的 scope、token 剩余时间、最近一次登录失败和模型列表错误(不显示任何 token); - /siwc models:实时拉取当前账号的模型列表; - /siwc logout:登出(见下文)。 与其他 provider 的行为差异 | DSH 参数 | 行为 | 原因 | | temperature | 报错 UNSUPPORTED_PARAMETER | 官方禁止该字段;静默丢弃会改变输出 | | stop | 报错 UNSUPPORTED_PARAMETER | Responses API 没有 stop 序列 | | reasoningEffort | 映射为 reasoning.effort | 可选档位来自账号模型目录,并与 API 允许的值取交集(例如目录中的 ultra 不被 API 接受,会被去掉)。选择 Default 时使用服务端自己的默认值 | | maxTokens | 不发送,记录一次日志 | 官方禁止 max_output_tokens。DSH 的 compaction 和会话标题总会带上它;它只是上限,忽略不影响正确性 | | 图片输入 | 目录声明支持图片的模型:以内联 data URL 发送(含工具结果中的图片);纯文本模型:用文本占位符代替 | 单个请求默认最多 20 MiB base64 图片(maxRequestImageBytes),超出时由 DSH 卸载最早的图片 | | 推理内容回放 | 不回放 | store:false,且没有加密推理内容 | 登出 /siwc logout 依次执行:停止使用 token → 向 OpenAI 撤销 refresh token(失败时重试)→ 删除本地 token。已注册的 client_id 和本机 host id 会保留,下次登录时复用。如果撤销未能确认,插件会明确提示,此时可以在 ChatGPT 设置中手动断开该 app。 在 DSH 设置中直接删除 openai-siwc/session 记录只做本地删除,不会远程撤销。 卸载 1. 先执行 /siwc logout(撤销远程会话); 2. 执行 "$DSH" plugin --profile <profile> remove @hackforjoy/dsh-openai-siwc,然后重启 DSH; 3. 卸载不会自动删除凭证记录(DSH 的设计)。如需彻底清理,请在 DSH 设置中删除 openai-siwc/session 和 openai-siwc/registry。删除 registry 后,下次登录会注册一个新的 client 和 host id。 凭证存储 凭证存放在 DSH 凭证存储中(默认 ~/.dsh/.credentials.yaml,权限 0600,原子写入),包括两条记录: - openai-siwc/registry:本机 host id(urn:uuid:…)以及已注册账号(client_id、sub、email); - openai-siwc/session:当前账号的 access/refresh/ID token、授予的 scope 和过期时间。 刷新在 DSH 的跨进程独占写入中执行,多个 DSH 进程不会争用同一个轮换的 refresh token。安全设计见 docs/security/threat-model.md;漏洞报告方式见 SECURITY.md。 常见问题 | 现象 / 错误码 | 原因与处理 | | MISSING_CREDENTIAL | 未登录。执行 /siwc login | | SIWC_PLAN_USAGE_DISABLED | 登录时没有授予 plan usage。执行 /siwc login 并允许 | | 登录报 invalid_grant | 最常见的原因是账号不是 Plus/Pro(Free 账号会在换码这一步被拒绝)。升级后重新执行 /siwc login,插件会复用已保留的 client ID | | "Could not open the system browser" | 插件无法启动系统浏览器(例如在无图形界面的环境中);本插件只支持在本机运行 | | 登录报 "declined in the browser" | 在浏览器中拒绝了授权。可以重新登录并允许,或改用其他 provider(例如你自己的 API key) | | 登录报 "Registration incomplete" | 回调中没有颁发的 client_id。重新登录 | | 登录报 "ID token failed validation" | ID token 未通过签名或 claim 校验,插件拒绝保存。检查系统时间后重试 | | QUOTA(subscription_sharing_usage_limit_exceeded) | 达到 ChatGPT plan 的用量上限(可能是这个 app 单独的上限)。在 <https://chatgpt.com/settings/usage> 查看。插件不会自动重试 | | SIWC_NOT_ELIGIBLE | 该用户、workspace 或策略不支持 plan usage。不会重试 | | SIWC_UNSUPPORTED_CAPABILITY | 请求中包含不支持的输入、工具或模型;错误信息里的 param= 指出了具体是哪一项 | | AUTH(401) | token 或权限未被接受。先执行 /siwc status;只有当会话确认已被撤销时才需要重新登录 | | SERVER(503,如 usage_unavailable) | 临时故障,DSH 会按重试策略重试,凭证会保留 | | TRANSPORT:"stream ended before response.completed" | 连接中断,可以重试 | | 模型列表为空 | 未登录,或拉取失败;/siwc status 会显示最近一次错误 | 所有错误消息都包含 HTTP 状态和 OpenAI 的 request id(如果有),但不包含任何 token。 开发 pnpm install --frozen-lockfile --ignore-scripts pnpm typecheck # tsc --noEmit(含测试) pnpm test # vitest:单元测试 + 集成测试(真实的 DSH 服务 + 本地 mock OpenAI) pnpm build # 输出到 lib/ pnpm pack:verify # 打包并输出 SHA-256,用于校验构建产物 从源码安装到 DSH:"$DSH" plugin --profile <profile> add "file:/绝对路径/hackforjoy-dsh-openai-siwc-<版本>.tgz"。版本号不变时重新安装,需要先 remove 再 add。 集成测试会挂载真实的 @deepseek-ai/dsh-llm、dsh-authorization、dsh-credentials-local、dsh-attachment-local(全部写在临时目录),并对接 tests/helpers/mock-openai.ts。这个 mock 严格实现官方协议:校验 PKCE,强制 redirect_uri/resource/client_id 一致,refresh token 轮换并拒绝重用,拒绝禁用字段,并模拟线上实测到的行为(SSE 不带 Content-Type、x-oai-request-id)。测试会把 DSH_HOME 指向临时目录,绝不触碰真实的 ~/.dsh。 每个 GitHub Release 都附带与 npm 完全相同的 tarball 及 SHA256SUMS(用 sha256sum -c SHA256SUMS 校验)。从 0.1.1 起,npm 版本由 GitHub Actions 通过 npm Trusted Publishing 发布并附带 provenance,可以追溯到构建它的提交和工作流运行;0.1.0 为手动发布,没有 provenance。 贡献方式见 CONTRIBUTING.md,变更记录见 CHANGELOG.md。 验收状态与限制 - 真实环境验收(DSH 0.2.1-rc.3,具备资格的 ChatGPT 账号):登录、退出后再次登录、模型列表、流式文本、多轮对话、工具调用往返、令牌刷新与轮换、推理强度、图片输入、登出与远程撤销均已通过;日志与会话文件中没有 token。 - 尚未在真实环境验证:/siwc login new 添加第二个账号、IMAGE_OFFLOAD_REQUIRED 的真实触发(服务端的图片上限未公布)。 - 官方文档未明确、通过真实环境确认的事项见 docs/research/openai-siwc-protocol.md §16。 - 只支持单个活动账号(可以保存多个账号并在登录时选择)。 - 架构决策见 docs/adr/ADR-001-siwc-provider-plugin.md。 许可证 MIT,见 LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
HackForJoy/dsh-openai-siwc
用 ChatGPT 账号套餐额度在 DSH 里调用模型
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1