Zum Hauptinhalt springen
B

dsh-grok-subscription

baroncyrus/dsh-grok-subscription

Use a SuperGrok or X Premium Grok Build subscription in DeepSeek Harness

Installation

dsh plugin --profile web add github:baroncyrus/dsh-grok-subscription

README

DSH Grok Subscription — 在 DeepSeek Harness 使用 SuperGrok / X Premium 订阅

简体中文 · English

把 SuperGrok / X Premium(Grok Build)订阅直接接入 DeepSeek Harness

复用官方 Grok Build CLI 的登录会话,不需要 XAI_API_KEY。 模型、推理档位和每周额度都留在 DSH 里。

CI npm npm 总下载量 MIT Star

三步开始 · 安装 · 参与贡献 · 更新与卸载

在 DeepSeek Harness 中选择 Grok 4.7 并使用 SuperGrok 订阅进行多轮对话

三步开始

  1. 安装插件:在终端运行下面的命令;指定候选版本时填写完整的 包名@版本,例如 dsh-grok-subscription@1.0.10。

    dsh plugin --profile web add BaronCyrus/dsh-grok-subscription
    
  2. 登录订阅:打开 设置 → Grok 订阅,点击 CLI 登录 或 设备码登录。插件会运行官方 grok login,把 CLI 打印的登录链接交给浏览器,并在面板里显示一次性验证码与可点的链接;授权完成后自动同步。已经自己跑过 grok login 的话,直接点 从 Grok CLI 拉取 即可,不需要粘贴任何 token。

  3. 开始使用:在模型选择器中选择 Grok 4.7 等模型。输入框旁的圆形徽章显示每周剩余额度,模型菜单里有推理档位。

安装或升级后需要重启 dsh web,否则会继续运行旧的 lib/。

核心优势

能力用户得到什么
订阅直连复用官方 Grok Build CLI 会话,不需要 XAI_API_KEY
真实模型目录登录后从 /v1/models-v2 读取账号实际可用的模型(如 grok-4.7、grok-4.6、grok-4.5);未登录时不暴露任何模型
推理档位模型选择器内置 low / medium / high / xhigh 子菜单,默认 high,与 Codex 的交互一致
图片输入grok-4.7 / grok-4.7-fast / grok-4.6 可直接粘贴图片提问,图片由宿主的附件服务按像素与体积预算归一化
输入框额度模型选择器旁的徽章直接显示每周剩余比例,悬停或点击查看「每周额度 剩余 N% · 重置于 M/D HH:mm」
用量面板(实验性)设置页显示服务端返回的已用与剩余百分比,读取失败时不猜数字、不虚构额度
凭据留在本机只在主机侧读取 ~/.grok/auth.json 的短期 access token;不会把 token 交给浏览器 RPC
登录状态会刷新界面登录、拉取或登出后自动派发 llm/adapters-updated,Chat 模型列表随之更新
token 自动续期access token 只有 6 小时有效期;临近过期或遇到 401 时,插件会调用官方 grok CLI 刷新 auth.json 并自动重试一次,不需要手动重新登录
失败可见订阅路由不可用时明确报错,不会静默改用其他付费路由

这些能力共用同一份本机 Grok Build 登录。

实际界面

DSH 设置中的 Grok 订阅页面:登录状态、账号、登录按钮与凭据说明

上图为 设置 → Grok 订阅 主界面:顶部状态胶囊显示登录状态,账户卡片提供 CLI 登录、设备码登录、从 Grok CLI 拉取和登出,凭据读取方式收在可展开的「登录方式说明」里。样式沿用 DSH 自身的设计变量,因此跟随主题明暗切换。截图中的账号与时间均为演示数据。

Grok 订阅设置页中的实验性用量面板:已用 6%、剩余约 94%

实验性用量面板来自未公开的订阅计费接口(/v1/billing?format=credits):剩余比例以进度条呈现,产品明细逐行列出。它仅供参考:接口可能随时变化或消失,读取失败时不会显示编造的百分比,也不影响聊天。

准备 DSH

本插件支持软件包元数据中记录的最新版 DeepSeek Harness,并需要一个具有 Grok Build 使用资格的 SuperGrok 或 X Premium 账号。

插件读取 ~/.grok/auth.json 时较为严格:拒绝符号链接、拒绝组或其他用户可读的文件、拒绝非当前用户拥有的文件。如果权限不正确:

chmod 600 "${GROK_HOME:-$HOME/.grok}/auth.json"

安装

DSH 标准命令

dsh plugin --profile web add BaronCyrus/dsh-grok-subscription

也可以按 npm 上的已发布版本安装:

dsh plugin --profile web add dsh-grok-subscription@1.0.10

目标选择、profile 锁、依赖解析和 bundle 激活均由 DSH 负责。

Headless

先在 Web 中完成登录并选择一次 Grok 模型,再把同一个插件安装到 DSH 的标准 Headless profile:

dsh plugin --profile headless add BaronCyrus/dsh-grok-subscription
dsh --profile headless "只回复:ok"
官方 npm 方式(已安装 Node.js)

官方的 npx @deepseek-ai/dsh web 不会创建全局 dsh 命令,因此安装插件时也要保留完整的 npx 前缀:

npx -y @deepseek-ai/dsh@0.1.5-rc.2 plugin --profile web add BaronCyrus/dsh-grok-subscription
npx -y @deepseek-ai/dsh@0.1.5-rc.2 plugin --profile web list dsh-grok-subscription --depth 0
npx -y @deepseek-ai/dsh@0.1.5-rc.2 --profile web --dump-config
已经能运行 dsh 时检查安装结果
dsh plugin --profile web list dsh-grok-subscription --depth 0
dsh --profile web --dump-config

安装列表中应只有一个 dsh-grok-subscription,配置中应只有一个 grok-build 路由。

安装完成后手动重启 DSH,然后:

  1. 打开 设置 → Grok 订阅;
  2. 登录具有 Grok Build 资格的账号(浏览器登录或设备码登录);
  3. 在模型选择器中选择 Grok 模型。

功能

  • 复用官方 Grok Build CLI 会话登录,凭据保留在本机;账号以部分隐藏的邮箱区分;
  • 模型直接出现在 DSH 会话中,无需 XAI_API_KEY,也不向浏览器暴露 token;
  • 模型目录登录后自动拉取;读取失败或超时时回退到内置列表并记录错误,未登录时保持为空;
  • 模型菜单提供 low / medium / high / xhigh 推理档位,默认 high;
  • 输入框模型选择器旁显示每周剩余额度徽章,悬停或点击查看剩余比例与重置时间;
  • 设置页可查看服务端返回的用量与剩余百分比,失败时明确提示而不是显示猜测值;
  • 支持 CLI 登录、设备码登录、从 Grok CLI 拉取和登出;登录状态变化后 Chat 模型列表自动刷新;
  • access token 到期自动续期:临近 6 小时有效期或收到 401 时,调用官方 grok CLI 刷新会话并重试一次,不会中途要求手动重新登录;
  • 订阅路由不可用时明确报错,不会静默切换到其他付费路由;
  • 前缀缓存按 xAI 的自动缓存语义优化:同一 DSH 会话使用稳定的 prompt_cache_key,工具定义保持稳定顺序,回退适配器会保存并原样回放 reasoning.encrypted_content。缓存仍可能因服务端逐出而失效,插件不虚构命中率。

输入框额度

DSH 输入框:Grok 4.7 模型选择器旁的每周剩余额度徽章

仅当当前会话的 provider 为 grok-build 且用量读取成功时显示徽章;悬停或点击可查看「每周额度 剩余 N% · 重置于 M/D HH:mm」。徽章只反映服务端返回的每周额度;读取失败时徽章不显示,聊天不受影响。

图片输入

grok-4.7、grok-4.7-fast 与 grok-4.6 支持图片输入:在输入框粘贴或附加图片即可提问。图片由宿主的附件服务按像素与体积预算归一化后发送,超预算时降级为文本说明,而不是静默丢弃。

两条通路都支持:宿主官方 pi-ai 适配器可用时走官方实现,否则内置回退适配器自己读取附件字节并内联成 input_image。因此贴图能力不依赖宿主包的解析结果。设置页的「运行通路」会显示当前生效的是哪一条,以及图片输入是否可用 —— 遇到「当前模型不支持图片」时先看这一行。

若显示「内置回退」且贴图被拒,通常是 dsh web 更新后没有重启:客户端界面会随刷新更新,但主机端适配器是进程启动时加载的。

grok-4.5 不在支持列表内。实测给它一张纯红图片并询问颜色,它回答 "green",还把黄色方块描述成「带黑边的圆」——它在编造而不是看图。插件因此不为它声明图片能力,避免输出看起来自信却完全错误的答案。

推理档位

选择 Grok 模型后,模型菜单里会出现推理档位子菜单:low / medium / high / xhigh,默认 high。档位通过 model.reasoning(efforts + defaultEffort)元数据提供,因此与 Codex 在 DSH 中的交互一致;具体可用档位以账号模型目录为准。

模型目录与登录状态

登录后插件从订阅代理读取账号实际可用的模型目录;未登录时不注册任何模型。读取失败或超时时回退到内置列表(grok-4.7 / grok-4.6 / grok-4.5)并在状态里记录错误,因此目录不会留空,也不会让插件启动卡住。

更新与卸载

更新并检查

dsh plugin --profile web update dsh-grok-subscription
dsh plugin --profile web list dsh-grok-subscription --depth 0
dsh --profile web --dump-config

卸载

确认需要移除插件后再运行:

dsh plugin --profile web remove dsh-grok-subscription

这些操作会保留 DSH profile、其他插件和 ~/.grok/auth.json 中的登录信息。

官方 npm 备用方式
npx -y @deepseek-ai/dsh@0.1.5-rc.2 plugin --profile web update dsh-grok-subscription
npx -y @deepseek-ai/dsh@0.1.5-rc.2 plugin --profile web remove dsh-grok-subscription

常见问题

  • dsh 无法识别:官方 npm 方式本来就不会创建全局 dsh 命令,请使用上面的完整 npx -y @deepseek-ai/dsh@0.1.5-rc.2 ... 命令;
  • 模型列表是空的:未登录时插件不暴露任何模型。先完成登录,再点 从 Grok CLI 拉取;
  • 登录不弹浏览器 / 聊天报 fetch failed / 用量「Billing request timed out」:这三件事都指向同一个原因——accounts.x.ai 与 cli-chat-proxy.grok.com 在部分网络里必须走隧道。插件不再自己配代理。需要隧道时,在启动环境或 ~/.dsh/.env 里写标准变量 https_proxy / http_proxy(不要写进项目目录的 .env),宿主的 @deepseek-ai/dsh-http-proxy 会让 fetch 和本插件拉起的 grok CLI 一起走它。写好后重启客户端;登录链接会交给系统浏览器打开,面板里同时显示一次性验证码与可点链接。
  • 升级后界面没变化:插件会继续运行旧的 lib/,请重新安装插件并重启 dsh web,然后硬刷新(Ctrl+Shift+R);
  • 提示 auth.json 权限不正确:按上面的 chmod 600 处理;插件拒绝读取符号链接或组/其他用户可读的文件;
  • 出现「没有回复」:请升级到 1.0.1 或更高版本。1.0.0 存在一个缺陷:工具调用轮次会因流片段无法无损序列化而整轮中止,界面上完全没有回复。
  • 聊天或用量提示 401「Invalid or expired credentials」:Grok 的 access token 只有约 6 小时有效期,过期后聊天和用量会一起失败。1.0.5 起插件会自动调用官方 CLI 续期;更早版本请先运行任意 grok 命令(如 grok models)刷新 ~/.grok/auth.json,再点面板里的「从 Grok CLI 拉取」。

边界与支持

Grok 订阅后端和 DSH 可能独立变化;本项目为社区项目,与 DeepSeek、xAI 无隶属或背书关系。

敏感问题请先阅读 SECURITY.md。问题反馈请使用 Issues。

开发检查

npm install
npm test
npm run build

lib/ 是提交进仓库的构建产物,改动 src/ 后请运行 npm run build。

MIT

Ähnliche Plugins