xAI Grok 订阅聊天:用 SuperGrok 或 X Premium+ 的 OAuth 登录,选择要显示的模型子集,经 Grok CLI 代理走 Responses,并始终开启服务端 web_search 与 x_search。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:NOirBRight/dsh-llm-grok
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
DeepSeek Harness 的 xAI Grok 集成。本插件使用独立的提供方路由(grok)和设置命名空间(llm-grok)。它不替代内置的 xai console API key 路由,也不声明 apiKeyEnv。
包根入口公开 Cordis plugin contract。同一 artifact 还导出 ./client,在 Settings → LLM Providers 中提供 Grok 卡片。
兼容性
DSH 宿主 peer 和编译依赖范围接受 0.1.7-alpha.2 及之后的发行版;Cordis peer 接受 >=4.0.4 <5.0.0。
package.json#dsh.compatibility.dshReleases 里的已验证宿主是证据,不是允许列表。未知的新宿主告警一次后仍按正常路径挂载。只有复现过的故障才会加入 blocklist。
catalogId 与未解析的 unknown 账户状态在运行时挂上。已发布的旧版 dsh-llm-providers-ui 0.2.8 不含这些字段,并把 unknown 当成未连接;需安装 0.2.13 或更新版 Owner 才会生效。
安装
已在官方 DeepSeek Harness 0.1.7-alpha.2 和 0.1.7-rc.1 验证。直接从 GitHub 安装:
dsh plugin --profile web add --force \
https://github.com/NOirBRight/dsh-llm-providers-ui/releases/download/v0.2.13/dsh-llm-providers-ui-0.2.13.tgz
dsh plugin --profile web add --force \
https://github.com/NOirBRight/dsh-llm-grok/releases/download/v0.3.22/dsh-llm-grok-0.3.22.tgz
dsh web
仓库跟踪可直接发布的 lib artifacts,因此 GitHub 安装不需要 build-script allowlist。
LLM Providers UI ownership
LLM 供应商设置页(settings.section 的 id: providers 及子槽 settings.provider.item)与共享的 llm-providers 排序存储完全由 dsh-llm-providers-ui 拥有。
- 本插件仅贡献自己的卡片(
key: llm-grok)和 Host 上的llm路由;不安装页面或共享命名空间。加载顺序不影响归属。 - 未安装 owner 时(Headless 或 Web 未装
dsh-llm-providers-ui):Host 侧模型路由grok仍可工作;Web 侧 Providers 页面与本卡片不显示。pack:check会校验 owner artifact 的身份、./sortable导出和打包后的 client closure。 - 导航地球图标为 Alpha.4 临时 DOM 适配器,仅由
dsh-llm-providers-ui持有;本插件不含该适配器。
请在 profile 中与 provider 插件一起显式安装 dsh-llm-providers-ui(见其 cordis.patch.yml)。
Web 配置
打开 Settings → LLM Providers → Grok。用 xAI 登录会在 Host 上对 auth.x.ai 走 PKCE(与 Grok CLI 同一公开 client),打开系统浏览器,并把会话只写在 Host 的 $DSH_HOME/grok-oauth.json(权限 0600)。卡片随后显示账号邮箱。退出登录会删除该文件。浏览器永远收不到 token。本插件不读、不写 ~/.grok/auth.json。
插件配置

Plugin 卡上有两份目录:登录后从 GET /v1/models-v2 读到的账户列表,以及存进 settings.models 的显示子集。对话选择器只用显示子集。每行可设默认思考和作为 DSH 压缩预算的上下文窗口。官方 grok-4.6 / grok-4.5 默认为 500,000 tokens。卡片上的目录默认折叠,可以拖动、改、删,或从账户列表里挑 1–2 个。尚未保存过时,默认显示 grok-4.6 和 grok-4.5。聊天走 POST https://cli-chat-proxy.grok.com/v1/responses。每条请求都带上 DSH function tools,以及始终开启的服务端 { type: "web_search" } 与 { type: "x_search" }。搜索不是 ctx.web 提供方。服务端搜索会以加密的 tco_* reasoning 项回放;这些项没有可见 summary,不会再各画一个空 Think 块。若 Grok 把同一次搜索再回成客户端 custom_tool_call(xs_call-* / ws_call-*,名字常抄成 x_keyword_search),插件会丢掉,避免 DSH 报 unknown tool。推理按官方 Responses 字段 reasoning: { effort } 传递,取值为 low / medium / high(默认)/ xhigh(仅 4.6)。登录后卡片还会展示 Host 读取的订阅额度(GET /v1/billing?format=credits)。未登录不请求额度;无法识别的接口显示为不支持,而不是错误。
安装 dsh-model-switch v0.4.5+ 后,Grok 还会给统一的 generate_image 路由注册一个可选的 Image-only Adapter。它复用同一套认证实现,不注册 Search 或 Vision Adapter;独立运行行为不变。
可选的 grok_image_gen(默认关闭)会注册一个模型可调用的生图工具,走 Grok Imagine。它复用同一套 Host OAuth 会话,请求 https://api.x.ai/v1/images/generations —— 和 Grok Build 本地 image_gen 同一条轨,不是 console API key,也不是聊天 proxy。工具名与 Codex 的 codex_generate_image 区分。生成的图会写到工作区并通过 attachment store 落盘。
未登录就聊天会失败为 MISSING_CREDENTIAL。已有会话但 refresh 失败会清会话并失败为 AUTH。每次聊天请求前已经跑过 ensureFreshSession。之后若在没有任何模型内容前收到 AUTH(HTTP 401),会强制 refresh 再打一次请求;仍失败的 AUTH 进入 bundle 默认的八次 normal 重试。
每条 proxy 请求都会带上本插件的 X-Dsh-Plugin 身份,以及 proxy 要求的 CLI 版本头(x-grok-client-version / x-grok-client-identifier)。缺版本会 426。这些头是 proxy 要求的字段,不是冒充官方 CLI。
Models 页面如果列出 Grok,也只是 hint。因为本包不声明 apiKeyEnv,该行不应出现「缺 API key」红点。
配置
- id: llm-grok
name: 'dsh-llm-grok'
config:
streamIdleTimeoutMs: 300000
retryPolicy:
mode: normal
maxRetries: 8
backoff:
initialDelayMs: 500
maxDelayMs: 10000
jitterRatio: 0.1
bundle 默认对符合条件的模型请求失败最多重试八次,包括 AUTH。xAI 容量不足/高需求失败归类为 RATE_LIMIT;临时可用性下降归类为 SERVER。
没有 apiKeyEnv,也没有用户可改的 base URL。models 是对话里显示的目录,是账户列表的一个子集。
Composer picker 会按剥掉 Fast 后缀(-fast)和通用上下文后缀(-<n>k / -<n>m)后的 base 把兄弟行收成一个家族。kimi-k3-max 这类产品名不算档位。本包目录来自 discovery;若要让 DSH 按更小预算压缩,自行加带后缀的行。本插件不会在发请求前剥这些后缀。
正式版安装(Latest)
xAI Grok subscription login, Responses chat, usage, search, and Imagine. 正式成品面向官方 DeepSeek Harness 0.1.7-rc.1;发布包只包含构建后的 Host/Client 产物,不包含兄弟仓库源码、本机路径或 link:/workspace: 依赖。
LLM Providers 页面、导航和共享排序由 dsh-llm-providers-ui 独占;本插件只提供卡片、模型和 Host 路由。Web 必须先装 Owner,headless 只使用 Host 路由时可以不装 Owner。
Latest(Owner + 本插件;Web 必须一起装):
dsh plugin --profile web add --force \
https://github.com/NOirBRight/dsh-llm-providers-ui/releases/latest/download/dsh-llm-providers-ui-0.2.13.tgz
dsh plugin --profile web add --force \
https://github.com/NOirBRight/dsh-llm-grok/releases/latest/download/dsh-llm-grok-0.3.22.tgz
固定版本(可复现):
dsh plugin --profile web add --force \
https://github.com/NOirBRight/dsh-llm-providers-ui/releases/download/v0.2.13/dsh-llm-providers-ui-0.2.13.tgz
dsh plugin --profile web add --force \
https://github.com/NOirBRight/dsh-llm-grok/releases/download/v0.3.22/dsh-llm-grok-0.3.22.tgz
更新、卸载与验证:
# 更新 Owner + 本插件到 Latest
dsh plugin --profile web add --force \
https://github.com/NOirBRight/dsh-llm-providers-ui/releases/latest/download/dsh-llm-providers-ui-0.2.13.tgz
dsh plugin --profile web add --force \
https://github.com/NOirBRight/dsh-llm-grok/releases/latest/download/dsh-llm-grok-0.3.22.tgz
# 验证加载与版本
dsh plugin --profile web list
dsh plugin --profile web doctor
# 只卸载本插件
dsh plugin --profile web remove dsh-llm-grok
配置入口:Web 使用「设置」中的本插件页面;Host-only 插件使用 profile 的 dsh.profile.bundles 配置。先复制本 README 的最小 YAML/JSON 示例,再填写凭据或后端地址。
回滚:重新安装上一稳定版 v0.3.18,确认插件列表后只重启一次 Web 服务。失败时查看 journalctl --user -u dsh-web.service 与 dsh plugin --profile web doctor,不要把源码 checkout 写入 production profile。
Release 与完整性:v0.3.22 · SHA256SUMS。
独立 Model Switch 搜索
Host 通过现有 Model Switch 注册表同时注册 Search 与 Image adapter,并做生命周期释放。独立搜索声明支持的 Grok 对话模型,调用已有订阅 Responses 端点与必需的服务端搜索工具,复用 provider token 解析与身份头。只有原生 URL 引用/搜索调用结果才会成为来源;缺凭据、不支持的模型、无搜索证据的响应都会明确失败,不暴露上游错误体。这与“对话模型自带联网”不是一回事。
这需要协同的 Model Switch 动态搜索实现(dsh-model-switch 0.4.7;本 adapter 按 0.4.6 注册表契约构建)。注册 adapter 不会切换全局 Web 路由:显式配置 web.searchProvider: model-switch(保留其余 Web 配置),再在 Model Switch 中选择 provider/model。web_fetch 不变,不注册替代 web 工具。ProviderDirectory 延迟 role/usage 集成保持不变。
验证:pnpm test(198 通过)、pnpm run build;3082 官方 Web 先后用 grok-4.6 与 grok-4.5 选中,均返回真实来源。lab 组成与证据见 Model Switch 集成审计。
链接
同类插件
V1ki/dsh-plugin-subscriptions★ 415
把 ChatGPT(Codex)、Claude、Grok 订阅当作 DeepSeek Harness 的 LLM 提供方:设置页登录、模型目录、用量展示,以及 image_generate、video_generate 与 x_search 工具。
Mars-Sea/dsh-commandcode-provider★ 355
非官方 Command Code 模型接入插件:注册 `commandcode` 路由,带实时模型目录与推理强度支持。
corrinehu/dsh-workbuddy-connect★ 262
将 WorkBuddy 桌面 App 包含的模型自动接入 DeepSeek Harness,在 DSH 对话窗口里零配置使用。
cv-superding/dsh-deepseek-web-login★ 206
新增 deepseek-web provider,把 chat.deepseek.com 网页端模型接入 DSH:浏览器登录抓取、PoW 请求签名、SSE 流式传输与基于提示词的工具调用。
volcengine/ark-cli#ark-plan-api★ 140
在 DSH 原生模型选择器中注册方舟 Agent Plan、Coding Plan 与后付费模型路由。
franksong2702/dsh-codex-connect★ 131
通过 ChatGPT OAuth 将 OpenAI Codex 模型接入 DeepSeek Harness,并提供可选的搜索与图片工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。