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

订阅账号登录 amosogra/dsh-subscription-signin

DeepSeek Harness
amosogra23 天前有提交已提供中文文档扫描:含敏感能力

把已付费的 AI 订阅接入 Harness 当模型路由

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add amosogra/dsh-subscription-signin
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · platform
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/11/03·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 23 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/11/3) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
  • 发起网络请求
    dsh-subscription-signin/client.js:312
    response = await fetch(`${BASE}/${method}${query}`, {
  • 写入剪贴板
    dsh-subscription-signin/client.js:459
    await navigator.clipboard.writeText(code)
  • 写入剪贴板
    dsh-subscription-signin/client.js:750
    await navigator.clipboard.writeText(code)
  • 读取本地文件
    smoketest/accounts.mjs:148
    const patchText = readFileSync(new URL('../dsh-subscription-signin/cordis.patch.yml', import.meta.url), 'utf8')
  • 读取本地文件
    smoketest/render.mjs:43
    const source = readFileSync(new URL('../dsh-subscription-signin/client.js', import.meta.url), 'utf8')
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 登录订阅制模型通道

在 DeepSeek Harness 里登录 ChatGPT、Claude、Copilot 等订阅制模型通道——Harness 一直没做的登录按钮。

README

由 DeepSeek 最新模型翻译生成
dsh-subscription-signin DeepSeek Harness 一直没做的登录按钮。 把你已经在付费的 AI 订阅——ChatGPT Plus/Pro、Claude Pro/Max、GitHub Copilot 等等——当作模型路由,直接用在 DeepSeek Harness 里。新增一个 Subscriptions 设置页,并在 Settings → Models 的每张服务商卡片上加一个紧凑的扩展。 Settings → Subscriptions → ChatGPT (Codex) → [ Sign in with ChatGPT (Codex) ] ↓ github.com/login/device · code ABCD-1234 ↓ ✓ Signed in — draws on your plan 这个插件从不收集、也不存储密码。登录由厂商在自己的页面上完成;token 由 Harness 的凭据存储写入。 仓库结构 可安装的包是 dsh-subscription-signin/ 目录。
展开完整文档(README 剩余 1 节)
dsh-subscription-signin

DeepSeek Harness 一直没做的登录按钮。

把你已经在付费的 AI 订阅——ChatGPT Plus/Pro、Claude Pro/Max、GitHub Copilot 等等——当作模型路由,直接用在 DeepSeek Harness 里。新增一个 Subscriptions 设置页,并在 Settings → Models 的每张服务商卡片上加一个紧凑的扩展。

Settings → Subscriptions → ChatGPT (Codex) → [ Sign in with ChatGPT (Codex) ]
↓
github.com/login/device · code ABCD-1234 ↓ ✓ Signed in — draws on your plan

这个插件从不收集、也不存储密码。登录由厂商在自己的页面上完成;token 由 Harness 的凭据存储写入。

仓库结构

可安装的包是 dsh-subscription-signin/ 目录。 测试、许可证和文档放在它旁边,不属于包的一部分:

dsh-subscription-signin/ ← the package; this is what you install
host.js ← the Host half (tool + HTTP route)
client.js ← the Client half (settings page + provider card)
cordis.patch.yml ← the accounts, as configuration
locale/en.json ← package metadata strings
package.json
smoketest/ ← five dependency-free suites (run from the root)
docs/FINDINGS.md ← what was measured vs inferred

为什么会有这个插件

要把订阅当作模型路由来用,Harness 该有的东西都已经有了。它的 LLM 适配器为八个服务商注册了 OAuth 流程——传输能用,token 交换能用,凭据存储也能用。

它缺的是一个发起登录的入口。GUI 和命令行里都没有任何地方调用过授权接缝的 begin()。这个插件就是那个缺失的入口。

它不实现任何 OAuth。不碰 PKCE、state、设备码,也不解析 token——这些全都在 DeepSeek 提供的 @earendil-works/pi-ai 里。这个插件只负责让 Harness 发起流程,把 URL 和验证码显示给你,然后报告结果。

支持的服务商

开箱即用,全部走 Harness 自己的授权接缝:

| 服务商 | 凭据 | 登录方式 |
| ChatGPT (Codex) | llm-pi-ai/openai-codex | 设备码 |
| Claude (Pro/Max) | llm-pi-ai/anthropic | OAuth |
| GitHub Copilot | llm-pi-ai/github-copilot | 设备码 |
| xAI | llm-pi-ai/xai | 设备码 |
| Meta | llm-pi-ai/meta | 设备码 |
| OpenRouter | llm-pi-ai/openrouter | OAuth + 粘贴回退 |
| Radius | llm-pi-ai/radius | 浏览器回调 |
| Kimi For Coding | llm-pi-ai/kimi-coding | 设备码 |
如实说明。 登录流程已端到端验证通过的有 ChatGPT (Codex) 和 Claude (Pro/Max);Claude 这条路线观察到认证成功,随后被账号限流(HTTP 429,带 Anthropic 自己的 request_id——这是配额问题,不是凭证失败)。Copilot 的流程已验证,能走完。xAI、Meta、OpenRouter、Radius 和 Kimi 的凭证写入成功,但在验证时的会话里,这些路线没有处理过任何请求,所以把它们当作未测试,而不是坏了。docs/FINDINGS.md 记录了哪些是实测、哪些是推断。

安装

要求。 DeepSeek Harness 0.2.0-rc.2 或更高版本。开发和验证都基于 0.2.0-rc.2,本插件的两个接缝就是在这个版本上检查的(来自 @deepseek-ai/dsh-authorization 的 ctx.authorization,以及客户端的 slots 服务)。它用到的每个 Harness 服务都通过防御性的 ctx.get(...) 加 undefined 检查来访问,所以缺了某个服务只会降级成一条上报消息,不会崩溃——但如果 Harness 挪动了某个接缝,仍然需要匹配的插件版本。

插件以 bundle 形式安装到 Harness 的配置档里。把插件管理器指向这个目录:

install_bundle: link:/absolute/path/to/dsh-subscription-signin

或者,如果你把它作为包发布/使用,就按名字安装,再加进配置档的 bundle 列表:

// $DSH_PROFILE_DIR/package.json
"dsh": { "profile": { "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-subscription-signin"] } }

然后重启一次 DSH。 这一点很重要,原因见故障排查——客户端那一半在启动时被组装进浏览器的 boot graph,所以刚安装的 bundle 在进程重启前没有页面。

使用

在 GUI 里:Settings → Subscriptions,选一个账号,按 Sign in。

给智能体或无头 harness 用时,同一套实现暴露为一个工具,动作有 status、start、poll、cancel、signout、submitCode 和 diagnostics。先读 status;start 返回 URL,如果是设备授权,还返回你在厂商页面上输入的 code。

安全

这一节是信任插件的理由,所以写得具体,而不是空口安慰。

它永远看不到密钥。 不读取、不写入、不记录、不转发任何密码、token、API key 或 refresh token。token 由 Harness 的凭证接缝(ctx.authorization / ctx.credentials)生成和存储,不是这段代码。自己审计吧——只有两个文件:

- host.js —— 零 import。不访问文件系统,不发网络请求,不起子进程。它只向凭证存储询问某条记录是否存在,并且能在显式 signout 且 confirm: true 时删除一条;它从不读取 token 值。唯一一处 process.env 写入是文档里写明的按账号 env 字段(用于让某个服务商从环境变量里选端点的那种情况,可以按账号配置),尝试结束后会恢复。
- client.js —— 只依赖 react,由页面提供。它唯一的 fetch 调用发往本地 Harness 上插件自己的 /plugins/subscription-signin 路由。凭据不会渲染出任何内容。

唯一承载网络的路由受信任门控。 面板通过一条 HTTP 路由访问 Host 半边,该路由继承 Harness 自身的检查(connection.requestRejection:Host/Origin 校验与浏览器认证)。除此之外,每个变更调用都必须是 JSON POST,这会强制触发 CORS 预检并阻断基于表单的 CSRF;请求体上限 64 KiB;响应为 no-store + nosniff。

未获厂商认可 —— 请读这一段。 对于 ChatGPT 套餐用量,Harness 指向 ChatGPT/Codex 后端(chatgpt.com/backend-api/codex),而 OpenAI 的开发者文档明确要求第三方应用不要将其用于套餐用量。本插件只是把 Harness 已有的行为暴露出来;它不引入该行为,也无法改变它。 第三方应用获认可的路径是 Sign in with ChatGPT,Harness 并未实现。在厂商预期客户端之外使用订阅,可能与该厂商的条款冲突,厂商也可能对此类流量限速或封禁。你是用自己的账号在做这个选择。不要用它转售访问权限,也不要用它去获取不属于你的凭据。

本仓库不含任何凭据。 如果你在这里发现了凭据,那是 bug —— 请开 issue。仓库在首次提交前已扫描 token、私钥、家目录路径和邮箱地址。docs/FINDINGS.md 确实引用了 Harness 中确切的包版本和源码符号,这是有意为之:关于某个具体构建的说法,只有指明构建才有用。

配置

账号是配置出来的,不是硬编码的。它们位于本包自己的 cordis.patch.yml,配置档可以覆盖该行。

| 字段 | 含义 |
| accounts[].key | 接缝已有流程的凭据键,例如 llm-pi-ai/anthropic |
| accounts[].label | 显示名称 |
| accounts[].loginMethod | 当服务商提供多种方式时固定一种(oauth、device_code、browser、api-key) |
| accounts[].env | 流程的环境变量覆盖,例如 Kimi 的区域 OAuth 主机 |
| accounts[].textAnswer | 对流程抛出的阻塞式自由文本问题的回答(留空往往是正确答案) |
| timeoutSeconds | 尝试超时,默认 900 |
| allowSignOut | 设为 false 可完全移除退出登录控件 |

添加服务商只需一行 —— 前提是 Harness 已为其凭据键注册了流程。用工具的 status 动作或在面板中列出它们;没有流程的键会报告 No sign-in flow registered,而不是静默失败。

Kimi For Coding 比较微妙。Kimi Code 就是 OAuth —— 一个 RFC 8628 设备授权没问题,但它的登录页面分区域:auth.kimi.com 是大陆服务(手机号或微信),会把国际用户引导到 .ai。主机名可以通过环境变量选择,所以账户配置里直接写明:

- key: llm-pi-ai/kimi-coding
env:
KIMI_CODE_OAUTH_HOST: https://auth.kimi.ai

.ai 主机已经验证过:它能响应设备授权端点,也能提供海外登录页面(Google、邮箱、国际手机号、SSO),而不是大陆页面。token 交换本身尚未验证。

故障排查

安装后设置里看不到 Subscriptions 页面。 重启 DSH。这不是重装能修好的 bug,原因值得了解:dsh-client-modules 会按加载器来源键缓存包的 dsh.client 声明,连否定结果也一起缓存,「直到重启」。如果这个 bundle 曾经在它的 manifest 声明 dsh.client 之前被解析过,那个 null 就会在整个进程生命周期内被缓存,bundle 永远进不了启动图,这个区块既无法渲染也无法报错——它干脆不存在。重装会复用同一个加载器名,查的还是那个被污染的键。只有重启才能清掉。diagnostics 动作会报告 bundleInGraph、composedPackages 和 clientPath,靠它们可以区分是 bundle 缺失还是组件抛错。

某个服务商提示「No sign-in flow registered」。 注册该流程的 Harness LLM 插件没有挂载,或者凭证键拼错了。键的格式是 llm-pi-ai/<provider>。

选中固定路由里的模型时失败。 固定 models: 只是限定路由范围,不会检查你的订阅。在目录路由上,路由自己的列表说了算,所以你的套餐不包含的模型照样会被列出,只有请求时才失败。未固定的路由会自我修正,因为服务商按请求校验权限。

一个尝试会阻塞另一个。 每个凭证键同一时间只能有一个尝试,与接缝保持一致。切换账户前先取消。

测试

五个无依赖测试套件用打桩的 Harness 服务驱动前后两半——不联网、不碰凭证存储、不触碰真实安装。从仓库根目录运行:

node smoketest/render.mjs # renders every UI branch in Node
node smoketest/accounts.mjs # the shipped account list + multi-account paths
node smoketest/run.mjs # tool and shared-service paths
node smoketest/http.mjs # the route: 15 assertions incl. the trust gate
node smoketest/bundles.mjs # is the client half actually in the boot graph?

render 之所以存在,是因为组件在渲染时抛错会悄无声息地让整个槽位变空白——这是发现这种失败最省事的办法。bundles 之所以存在,是因为客户端 bundle 缺失同样悄无声息,而从用户角度看两者一模一样。每个套件都直接导入包的真实模块,所以任何套件都不可能对着过期副本通过。
CI 会在每次 push 和 pull request 时,用 Node 20、22 和 24 跑全部五项检查,另外还会检查 manifest 是否仍然声明了 web 客户端那一半,且它的导出能解析到真实文件——也就是 docs/FINDINGS.md 里描述的那种失败模式。注意这个工作流不做什么:没有 npm install。 这个包零依赖,测试也不导入标准库以外的任何东西。哪天这一点不再成立,CI 就会失败,这正是我们想要的信号。

贡献

- 发现了安全问题? 请私下报告——见 SECURITY.md。那个文件也说明了什么在范围内,这一点在这里很重要:下面那条非官方后端的注意事项是有意为之、且已记录在案的取舍,不是漏洞。
- 某个页面缺失,或者登录失败? 开一个 bug report。请附上 diagnostics 的输出(其中不含任何机密),并说明你遇到的是两种静默失败模式中的哪一种——页面缺失和页面抛错看起来一模一样,但成因不同。
- 某个服务商的流程不对或缺失? 那是 Harness 上游的问题,不是这个插件——它不实现任何 OAuth。插件侧也许仍能绕过,所以还是请开 issue。
- 本项目遵循 Contributor Covenant。
- 内部规则见 CONTRIBUTING.md——不加新依赖、绝不读取机密、守住信任门。

许可证

MIT——见 LICENSE。

与 DeepSeek、OpenAI、Anthropic、GitHub、xAI、Meta、Moonshot 或此处提及的任何其他厂商均无关联,也未获其背书或赞助。产品名称仅用于标识所连接的订阅。
预览分享卡片长什么样 ↓amosogra/dsh-subscription-signin
分享 · DeepSeek Harness Hub
amosogra/dsh-subscription-signin

把已付费的 AI 订阅接入 Harness 当模型路由

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部