把 ChatGPT(Codex)、Claude 与 Grok(X Premium)订阅用作 DeepSeek Harness 的 LLM provider——Web UI OAuth 登录,无需 API key
Use ChatGPT (Codex), Claude, and Grok (X Premium) subscriptions as DeepSeek Harness LLM providers — OAuth login in the web UI, no API keys
安装
dsh plugin --profile web add github:V1ki/dsh-plugin-subscriptionsGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
English | 中文
把你的 ChatGPT(Codex)、Claude、Grok(X Premium) 订阅当作 DeepSeek Harness 的 LLM provider 使用 —— 不需要 API key。Codex 和 Grok 通过 dsh web 界面 OAuth 登录(设置 → 订阅);Claude 在存在 Claude Code 会话时直接导入凭据(macOS Keychain 或 ~/.claude/.credentials.json),否则回退到同样的浏览器 OAuth 流程,因此不要求安装 Claude Code CLI。Token 保存在 ~/.dsh/plugins/subscriptions/auth.json(权限 0600),过期自动刷新。
演示
设置 → 订阅:每个 provider 的登录/退出,无需 API key。Claude 有 Claude Code 会话时导入凭据,否则和 Codex、Grok 一样走 OAuth(截图中账号已打码):

已登录的 provider 会带着实时模型目录进入会话模型选择器:

声明了推理等级的模型会在同一菜单里多出推理等级选择 —— Codex 系列模型,以及 Grok 4.6 / 4.5(档位和默认值来自各 provider 的实时目录,不是硬编码列表):

目录声明了 fast tier(即 codex CLI 的 fast 模式)的 Codex 模型,会在输入框工具行(模型选择器旁)多出一个速度开关 —— 标准 / 快速(service_tier: priority),按会话生效。/fast 斜杠命令提供同样的弹窗选择;当前模型不支持快速档时会提示原因。

image_generate 工具生成的图片直接内联显示在对话里:

provider 参数可选择生图后端——同一条提示词分别走 GPT(gpt-image-2,上)和 Grok(grok-imagine-image-2.0,下):

video_generate 工具生成的视频直接内联播放:

Provider 一览
| 路由 | 订阅 | 模型 |
|---|---|---|
codex |
ChatGPT Plus/Pro | 从 chatgpt.com/backend-api/codex/models 实时获取 |
claude |
Claude Pro/Max | 订阅内所有可用模型(Opus、Sonnet、Haiku、Fable —— 静态目录,随插件更新) |
grok |
X Premium (xAI) | 从 api.x.ai/v1/models 实时获取(仅对话模型);推理等级来自 Grok CLI 目录(cli-chat-proxy.grok.com/v1/models) |
只有已登录的 provider 才会出现在会话模型选择器里;登录/退出后列表自动刷新。支持视觉的模型会声明 ['text', 'image'] 输入模态,图片内容会被翻译成各 provider 的 wire 格式。
已登录的卡片还会显示订阅用量——按限额窗口(5 小时会话窗、每周窗,以及计划包含的按模型每周窗)展示已用百分比、进度条和重置时间,并带刷新按钮。Codex 用量来自 chatgpt.com/backend-api/wham/usage(同时报告计划类型),Claude 用量来自 api.anthropic.com/api/oauth/usage,Grok 用量来自 Grok Build CLI 代理的 cli-chat-proxy.grok.com/v1/billing(即 CLI /usage 面板的数据源,报告共享每周额度和订阅档位)。
随 provider 启用自动注册的工具:
x_search(Grok)—— xAI 托管的 X 搜索,返回{ answer, citations }。image_generate(ChatGPT 或 Grok)—— 经 Codex 后端调用gpt-image-2,或经api.x.ai/v1/images/generations调用grok-imagine-image-2.0。provider参数指定首选提供方(gpt为默认值,可选grok);首选方未登录时自动回退到另一方。图片保存到~/.dsh/plugins/subscriptions/images/并返回路径。Grok 路径上size/quality参数会映射为 Grok 的aspect_ratio/quality。video_generate(Grok)—— 经api.x.ai/v1/videos调用grok-imagine-video-1.5(异步提交 + 轮询);MP4 保存到~/.dsh/plugins/subscriptions/videos/并返回路径,视频直接在对话里内联播放。支持时长(1–15 秒)、宽高比、分辨率,以及通过image_url做图生视频。
安装
本机已有 dsh CLI 时,从 npm 安装(预构建产物,无需构建授权):
dsh plugin --profile web add dsh-plugin-subscriptions
也可以从 GitHub 安装源码:
dsh plugin --profile web add github:V1ki/dsh-plugin-subscriptions
首次安装 pnpm 会要求允许该包的构建脚本(git 安装拉取的是源码而非构建产物);把打印出的包名加进 profile 的 pnpm-workspace.yaml:
allowBuilds:
dsh-plugin-subscriptions: true
然后重新执行 add。该授权会在安装时执行包的代码,只授给你信任的来源。
本地检出安装:
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
不装进 profile 的 headless 用法(先在 web 界面登录过 —— token 文件是共享的):
cp overlay.example.yml overlay.yml # 然后把 name: 改成本检出的 lib/index.js 绝对路径
dsh --profile headless --patch <检出目录>/overlay.yml "你的任务"
更新
npm 安装的:
dsh plugin --profile web update --latest dsh-plugin-subscriptions
GitHub 安装的:重新执行一遍 add github:V1ki/dsh-plugin-subscriptions —— 会重新拉取源码并构建。link 的本地检出只需在检出目录里 git pull && pnpm build。
无论哪种方式,更新后都要重启 dsh web 才会加载新版本。
使用
dsh web,打开打印的 URL。- 设置 → 订阅:点对应 provider 的「连接」。若先运行过
claude并登录,Claude 会即时导入凭据;没有凭据时,Claude 也和其他 provider 一样在浏览器里授权。Codex 和 Grok 在打开的标签页里授权;无浏览器环境下可展开手动兜底,粘贴回调 URL 或授权码。 - 在任意会话里打开模型选择器(
/model),选择 ChatGPT (Codex) / Claude (Subscription) / Grok (Subscription) 下的模型。
未登录时:该 provider 不出现在选择器里;直接请求会报 MISSING_CREDENTIAL 并提示去设置页登录,不影响其他功能。
配置
- id: llm-subscriptions
name: dsh-plugin-subscriptions
config:
providers: [codex, claude] # 子集;默认三个全启用
streamIdleTimeoutMs: 300000
models: # 覆盖实时发现/内置目录
codex:
- { id: gpt-5.6-sol, name: GPT-5.6 Sol, contextWindow: 272000, inputModalities: [text, image] }
开发
pnpm install # devDependencies 用 link: 指向本地 deepseek-harness 检出 —— 先改成你的路径
pnpm build # tsc(lib/)+ tsdown(lib/client.js 浏览器 bundle)
pnpm test # 编译后跑 node --test 单测
prepare(git 安装时触发)执行 tsdown.prepare.config.ts:自包含打包两个面,所有 @deepseek-ai/* 依赖外部化 —— 运行时从 dsh 安装解析,保证不会引入第二份 cordis。
改了代码后 pnpm build 并重启 dsh web 生效。
目录结构
src/index.ts—— 插件入口:配置 schema、adapter 注册、登录态变更通告、RPC 接线src/auth/—— PKCE/JWT 工具、token 存储、OAuth 流程引擎(临时本地回调服务)、Claude Code 凭据读取器(Keychain/文件)、/subscriptions-authRPC 通道src/providers/—— 各 provider 的 OAuth 常量/换发/刷新 +LlmAdapter实现src/translate/—— dshMessage[]与 OpenAI Responses / Anthropic Messages 格式互转,SSE →StreamChunksrc/tools/——x_search、image_generate与video_generatesrc/client/—— 设置 → 订阅页面(浏览器面,中英文,跟随明暗主题)
原始 README: https://github.com/V1ki/dsh-plugin-subscriptions/blob/main/README.zh.md ↗
同类插件
查看全部 →
archify
Agent 技能:生成美观、可校验的架构图、工作流图、时序图、数据流图与生命周期图——自包含 HTML、带动画与清晰导出

dsh-turn-rewind
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。

dsh-plugin-cc
把 DeepSeek Harness 接入 Claude Code:评审、批评、委派与会话导入

dsh-interconnect
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。

dsh-chat-import
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。

dsh-crew
DSH 插件:从 Claude Code / Codex 向 DSH agent 派活——原生 subagent 进度、宿主内 worker 会话(分级预设),以及为纯文本宿主补上视觉与图像生成的多模态桥