V1ki/dsh-plugin-subscriptions 属于 dsh(DeepSeek Harness)的 UI / 主题类插件:把 ChatGPT(Codex)、Claude、Grok(X Premium) 这类订阅账号变成 dsh 里可直接选用的 LLM provider,全程在 Web UI 走 OAuth,不需要 API 密钥。本文只讲怎么装、怎么跑通。
详情页记录是 378 star、2,783 周下载、综合分 67.6,npm 包版本 0.9.4 且已校验归属本仓库,因此走 npm 安装最省事;安装检查为「可直接安装」,信任档位「已验证」(本站 2026-09-16 真实安装成功,L4 · 真实安装,非静态推断)。站点扫描则为中风险,风险分级尚未做。
装之前先对版本:你的 dsh 在不在支持域里
README 的「DSH compatibility」列出当前支持的已发布 dsh 版本:0.1.1-rc.2、0.1.2-alpha rc、0.1.3-alpha、0.1.5-alpha rc(含 0.1.5-rc.2)。DSH 0.1.6-alpha 未包含在内,直到另行验证 ------ 别在它上面排查「插件装不上」。
方式一:npm 安装,先试这条
dsh plugin --profile web add dsh-plugin-subscriptions
拉下来的是预构建产物,不需要 build 权限 ,也不会碰到下面那种构建脚本许可问题;装完在 Settings → Subscriptions 里就有登录入口。
方式二:从 GitHub 装源码,先放行 build script(P1-H)
dsh plugin --profile web add github:V1ki/dsh-plugin-subscriptions
P1-H:git 安装拉的是源码而不是构建产物,pnpm 首次安装会要求你显式允许该包的 build script。 漏掉这步,安装会停在许可提示上。把命令打印出的 key 加到 profile 的 pnpm-workspace.yaml:
allowBuilds:
dsh-plugin-subscriptions: true
然后重新运行同一条 add 命令。关于这个许可,README 的原话是:「Only grant this to packages you trust --- it runs the package's code at install time.」
方式三:本地 checkout,要改代码选这条
git clone https://github.com/V1ki/dsh-plugin-subscriptions.git
cd dsh-plugin-subscriptions && pnpm install && pnpm build
dsh plugin --profile web add ./dsh-plugin-subscriptions
三个开发命令是 pnpm install(devDependencies 链到本地 deepseek-harness checkout,先改路径 )、pnpm build、pnpm test(node --test)。
三条路径装出来的登录凭据是同一份。想先看一眼同类插件的中文清单、安装形态与汉化情况,可对照 完整插件清单与汉化避坑指南 再决定走哪条。
装完登录:五个 provider 的入口
登录都在 Settings → Subscriptions 。README 列出五条路由:codex(ChatGPT Plus Pro)、claude(Claude Pro Max)、grok(X Premium)、copilot(GitHub Copilot)、antigravity(Google Antigravity)。
认证方式分三类:Codex Grok Antigravity 走 OAuth,在设置页点登录,Antigravity 会打开 Google 授权、无需额外 client 配置 ;Copilot 走 GitHub OAuth device flow ,在 github.com/login/device 输入设备码;Claude 优先导入已有的 Claude Code 会话凭据(macOS Keychain 或 ~/.claude/.credentials.json),导不到才回退到浏览器 OAuth 流程 ,因此不要求安装 Claude Code CLI 。每个 provider 都支持多账号,重复登录同一账号是原地更新。
凭据落在哪:auth.json 与 0600 权限(P1-I)
全程无需 API key 。Token 存放于 ~/.dsh/plugins/subscriptions/auth.json,权限 0600 ,并且自动刷新。
P1-I:0600 是插件给自己上的锁,不是可以随手放宽的细节。 里面放的是订阅账号凭据,0600 意味着仅属主可读写。别把它提交进 git,也别把它当可分享的配置贴出去。
Claude 走回退 OAuth 的一条硬约束(P1-J)
P1-J:这条回退路径上,redirect_uri 必须是同一个。 它用的是本插件的临时端口 loopback 回调 (host 为 localhost + 随机端口),而不是托管的 platform.claude.com 回调;token 交换时必须使用同一个 URI 。授权端点写作 https://claude.ai/oauth/authorize。浏览器流程走不通时,可展开 manual fallback,粘贴 callback URL 或 code。
纯 headless 用法:不装进 profile 也能跑
先在 web UI 里完成一次登录(token 文件是共享的 ),再把 overlay.example.yml 复制为 overlay.yml,把里面的 name: 改成这份 checkout 的绝对 lib/index.js 路径,然后执行:
cp overlay.example.yml overlay.yml
dsh --profile headless --patch <checkout>/overlay.yml "your task"
顺序不能反:登录必须在 web UI 侧先做完。
更新与重启:装完不等于生效(P1-K)
三条路径的更新方式:npm 用 dsh plugin --profile web update --latest dsh-plugin-subscriptions;GitHub 重跑同一条 add 命令;本地软链 git pull && pnpm build。
P1-K:三种情况更新完都必须重启 dsh web,否则改动不会生效。 插件在启动时加载,只换文件不重启进程,Web UI 里看到的仍是旧行为。另有一层要分清:变更只对保存后新建的会话生效,已有会话保留创建时的策略、重启后依然如此 ------ 「更新了也重启了、当前会话却没变」通常是拿旧会话在做验证。
总结
安装本身并不复杂:npm 一条命令最省事,git 安装要先放行 build script,本地 checkout 记得先 pnpm build;装完在 Web UI 登录,token 落在权限 0600 的 auth.json,更新后别忘了重启 dsh web。想一次看完同类插件的中文清单与安装形态,可以在 完整插件清单与汉化避坑指南 里对照之后再动手。
适合与不适合
适合:已持有 ChatGPT Plus/Pro、Claude Pro/Max、X Premium 或 GitHub Copilot 订阅、想把订阅额度接进 dsh 的开发者;希望在 Web UI 用 OAuth 登录、不想管 API 密钥轮换的团队;需要给同一 provider 挂多账号切换的人。
不适合 :dsh 停在 0.1.6-alpha 的用户,该版本未包含在支持域内;只接受「安装期不执行任何第三方代码」的严格环境,git 安装要放行 build script,而该许可会在安装时运行包代码;需要完全离线或纯内网运行的环境,认证、模型目录发现与用量查询都要访问远端 API,README 未提及任何离线模式。
标签:dsh-plugin-subscriptions、DeepSeek Harness、插件安装教程、OAuth 登录
本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。