中文EN

dsh-plugin-subscriptions

model已测通过npmMIT

把 ChatGPT(Codex)、Claude、Grok 订阅当作 DeepSeek Harness 的 LLM 提供方:设置页登录、模型目录、用量展示,以及 image_generate、video_generate 与 x_search 工具。

下载量 / Downloads
11,714
依赖体积 / node_modules
16.7 MB
测试时间 / Tested
2026-11-06

安装

dsh plugin --profile web add dsh-plugin-subscriptions

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载—
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-plugin-subscriptions ![Awesome DSH Plugin](https://awesome-dsh-plugin.com)

[English](README.md) | 中文

把你的 ChatGPT(Codex)、Claude、Grok(X Premium)、GitHub Copilot 和 Google Antigravity 订阅当作 DeepSeek Harness 的 LLM provider 使用 —— 不需要 API key。Codex、Grok 和 Antigravity 通过 dsh web 界面 OAuth 登录(设置 → 订阅);Copilot 使用 GitHub OAuth 设备码流程;Claude 在存在 Claude Code 会话时直接导入凭据(macOS Keychain 或 ~/.claude/.credentials.json),否则回退到同样的浏览器 OAuth 流程,因此不要求安装 Claude Code CLI。Token 保存在 ~/.dsh/plugins/subscriptions/auth.json(权限 0600),过期自动刷新。

订阅与模型显示名

在 设置 → 订阅 → 管理 顶部修改订阅显示名,在 编辑模型列表 中修改模型显示名;使用同一组保存/取消按钮,留空或恢复默认后保存可恢复原名。名称按服务商和模型 ID 存储在原有 provider-settings.json,跨重启和目录刷新保留。名称为最多 80 字符的单行文本,仅改变显示,不改变 provider、模型 ID、推理参数或账号路由;现有账号别名可继续独立使用。

订阅显示名也用于原生模型选择器的服务商分组标题;清空显示名并保存后,分组恢复为服务商默认名称。

演示

设置 → 订阅:每个 provider 的登录/退出,无需 API key。Claude 有 Claude Code 会话时导入凭据,否则和 Codex、Grok 一样走 OAuth(以下设置截图使用演示账号与目录数据):

模型显示、默认推理档和上下文已合并到 编辑模型列表,统一保存或取消:

按 provider 配置图片生成、视频生成和 X 搜索,工具开关仅影响保存后新建的会话:

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

声明了推理等级的模型会在同一菜单里多出推理等级选择 —— Codex 系列模型、Grok 4.6 / 4.5,以及 Copilot 的推理模型(档位和默认值来自各 provider 的实时目录,不是硬编码列表;Copilot 的 capabilities.supports.reasoning_effort 数组会按协议映射为 chat completions 的 reasoning_effort 或 Responses 的 reasoning.effort)。同时声明两个 Copilot 端点的模型(gpt-5.4、gpt-5-mini)默认走 chat completions,但请求同时携带函数工具和推理等级时会自动改走 /responses —— Copilot 在 chat 线路上拒绝这种组合:

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

子代理的默认速度单独按模型设置:设置 → 订阅 → ChatGPT(Codex)→ 管理 → 编辑模型列表 → 子代理默认速度。点击「保存更改」后,对子代理的后续请求生效,正在运行的子代理也会采用新设置。该设置重启后保留,与父会话使用什么模型无关;主会话的速度不会传递给子代理。如果在某个子会话中明确选择了速度(包括标准档),则优先使用该会话的选择;会话内的明确选择重启后重置。快速档仍要求实际使用的 Codex 模型目录声明支持。宿主无法提供运行中 Agent 的来源元数据时,未明确设置速度的会话保持标准档。

输入框下方的统计行会多出一个订阅用量胶囊,显示当前会话所选模型对应服务商的已用百分比和重置窗口(选 Codex 模型时显示 Codex,选 Grok 模型时显示 Grok,以此类推)。状态栏最多显示一家:切到非订阅模型时,保留当前会话视图中最近选择的订阅;没有记录则隐藏。最近模型记录不会跨页面刷新保存。点击可展开查看所有已登录服务商及其全部账号 —— 默认账号带星标,当前服务商排在最前。Antigravity 仅预览当前模型的额度窗口(每个账号最多两个),其余模型窗口默认折叠,仍可点击展开。

在 设置 → 订阅 → 状态栏额度显示 中可选择 仅显示当前/最近使用的一家(默认)或 不显示。显示偏好自动保存到当前浏览器,立即生效、刷新后保留,并在同源标签页之间同步;不影响设置页的额度详情、模型选择或账号路由。

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)

copilot · GitHub Copilot · 从 api.githubcopilot.com/models 实时获取(两种 wire 的对话模型,含按模型的视觉标记与推理等级);登录使用 OAuth 设备码流程(在 github.com/login/device 输入页面显示的验证码)

antigravity · Google Antigravity · 从 Antigravity v1internal:fetchAvailableModels 实时获取;请求使用 generateContent / streamGenerateContent,支持文本、图片、流式推理与工具调用转换

只有已登录的 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 面板的数据源,报告共享每周额度和订阅档位)。Antigravity 会在上游字段存在时从 loadCodeAssist 与 fetchAvailableModels 显示订阅档位、积分及按模型限额。Copilot 没有用量接口,其卡片不显示用量区块。

随 provider 启用自动注册的工具:

  • web_search 搜索提供商(Codex)—— 通过 DSH 原生的 web_search 工具和引用界面使用 Codex 托管的网页搜索,复用默认 Codex 账号和插件的代理配置。它只是注册到宿主 web 能力位上的候选之一,不会独占:未挂载其他搜索提供商时 DSH 自动选中它,与其他提供商共存时由宿主自己的 web.searchProvider 配置决定优先级。在 Codex 的 Provider tools 里关闭 Web search 只会撤回本提供商,宿主的 web_search 工具仍归其余已注册的提供商使用。
  • 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 做图生视频。

image_generate 也支持编辑:模型在需要修改或参考已有图片时传入可选的 referenceImages(1–5 张完整 DSH 附件引用),未传时继续文生图。参考图可以来自用户上传、read_image 的结果或之前生成的图片;本地文件需先调用 read_image,不能把文件路径当作引用。图片旁的引用文本和工具结构化结果可直

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:32,最后更新 2026-10-29

链接

GitHub · Homepage · npm

同类插件