AB
AiBoss站
project

opengrok - 为 Grok Bot 注入多模型切换与线协议适配的配置侧车

opengrok 是 OnlyTerp 维护的 MIT 项目,定位为已有 Grok Bot 安装的配置侧车:它写入模型绑定、线协议映射与健康检查工具,让 Claude、GLM、Qwen、Gemini 等模型能在 Grok Bot 内被选择与切换。项目自述强调每条线协议结论都经过抓包验证,并提供 LiquidGlass 面板、更新后自动重注入与诊断脚本。

opengrok 是一个面向已有 Grok Bot 桌面安装的配置侧车。按项目自述,它并不托管或模拟 Grok Bot,也不接管你的机器,而是把模型绑定、线协议映射(wire maps)和一套健康诊断工具写到 Grok Bot 旁边,告诉它该跟哪个模型说话。它要解决的问题是:把一个非原生模型塞进 Grok Bot 通常「能跑但感觉不对」——更慢、更笨、更费 token,原因是模型原本在自己的 harness 上做强化学习训练,换到通用提示形状和错误的推理开关上就会失配。opengrok 的做法是把这层线协议对齐做掉。适合已经在用 Grok Bot、希望按 agent 指定不同模型,并且愿意接受「需要自己准备 API key、需要 Python 与 Node 环境」这类前置条件的用户。

维护者与状态

项目由 OnlyTerp 维护,仓库创建于 2026-08-27,最后一次提交在 2026-09-22。许可证为 MIT。截至 2026-09-22,仓库星标数为 460,尚无正式 release——也就是说目前没有可引用的版本号或发布包,使用方式以仓库内脚本为准。

主要能力

以下能力均来自项目自述(README),属于维护者的描述而非第三方评测。

  • 按 agent 选模型。 项目自述可以在玻璃下拉框里为每个 agent 绑定模型,Claude、GLM、Qwen、Gemini 等都在可选范围内;切换后 agent 的下一条回复就走新通道,不需要重启。
  • 切换需要被验证。 README 中称每次切换都会通过 hop 代理端到端确认后才算生效,并提供 Copy Proof 给出凭据。
  • LiquidGlass 面板。 项目自述这是一个注入到 Grok Bot 窗口内部的磨砂玻璃风格控制面板,提供每个 bot 的吞吐、TTFT 延迟、token 流与 prompt 缓存命中率等实时遥测,以及针对 256k 上下文窗口的 Context Guardian 进度条。
  • 多 bot 管理。 据项目说明,一个面板上可以管理 28 个 bot,Show All Bots 可以浏览整个队列,Diagnostics & Logs 用于排查 hop 问题,Reset Chat 用于清理卡住的会话线程。
  • 按模型族修正线协议。 README 给出了一张对照表,说明各模型族在「原样接入」时的问题与 opengrok 的处理方式:Grok(xAI)的 effort 开关是 xhigh 而非 max;GLM(智谱)默认会思考,静默是有成本的,项目提供经过验证的 token 表与 thinking:disabled 关闭开关;Claude 的 thinking 由 auth shim 掌管,直接在 body 里写会返回 400;Gemini 的 fast 开关实际取决于 slug 而非字段;DeepSeek 的 thinking 存在于模型 slug 中;本地模型走独立路由并 fail-closed。项目自述这些结论都有 wire-captures/ 下的抓包作为依据。
  • 抗更新设计。 据项目说明,Grok Bot 的更新会静默重写其 bundle,因此 doctor.py 会在安装时对机器做基线记录并持续观察文件、服务与缓存,更新后能指出具体哪些东西变了;glass-inject.py 会在每次 Grok Bot 更新后重新注入 LiquidGlass HUD,锚定在 index.html 与 CSP 指令这类稳定名称上,而不是哈希后的 bundle,布局漂移时会显式报错。
  • 协议桥接。 README 中称仓库自带一个无依赖的本地桥,用于把 Codex Everywhere 的 OpenAI Responses API 与 Grok Bot 使用的 Chat Completions 对接,转换常见的工具、推理与预算字段,并把 JSON/SSE 响应转回 Chat Completions。
  • 语音助手。 项目自述 voice/ 目录下有一套完全本地的实时语音助手,包含流式 STT、实时大脑与 TTS 三部分,所有通道仅走 localhost,并提供预检脚本。

使用入口

仓库地址是 OnlyTerp/opengrok。项目自述的前置条件包括:一个可用的 Grok Bot 桌面安装、Python 3.9+、Node 18+(用于 picker 与 maps),以及你要绑定的任意提供商的 API key。

据 README 的快速开始,安装流程是克隆仓库后运行 setup 脚本:

git clone https://github.com/OnlyTerp/opengrok
cd opengrok
python setup.py

项目自述这一步会检测 Grok Bot 安装与在线服务、沿用已有绑定或询问三个问题、写入配置、对机器做基线记录,然后打开 picker。之后的操作是三步:为每个 agent 在下拉框里选模型、一键发起真实请求做在线测试、保存。日常诊断脚本包括 python tools/doctor.py(检查是否仍然健康)、python tools/glass-inject.py --check(检查 LiquidGlass HUD 是否在应用内)与 python tools/qa.py(仓库自检:泄漏、引用、测试)。更多说明见 快速开始

许可与限制

许可证为 MIT。

项目自述中明确写出的边界与限制包括:opengrok 是配置侧车,不托管也不模拟 Grok Bot,不控制你的机器,不附带 auth shim;这里的「hop」指的是任意 OpenAI 兼容的 base URL。云 agent 需要额外一步——据项目说明,原版 Grok Bot 云主机不会读取 model-bindings.json,已保存的绑定会被忽略,直到把绑定消费者安装进主机,这一步由 tools/apply-box-patch.py 完成,tools/file-relay.py 负责 box 侧的文件中继。README 还列出了当前状态:Grok、GLM、Claude plans、Gemini(含 fast lane)、DeepSeek 与本地 llama.cpp 属于「今天可用」;OpenRouter、Groq、Mistral、xAI OAuth 属于「模式已验证、抓包待补」。此外,项目自述要求 API key 通过操作系统管理的密钥环境变量提供,不要写进 model-bindings.json