ESC
开源 2 分钟阅读

grok-bot-0.18-reconstructed:非官方的Grok Bot 0.18.0 macOS版本源码导向重建与扩展

这是一个非官方的Grok Bot 0.18.0 macOS应用源码重建与扩展项目。项目通过逆向工程还原了Electron、主机、协调器、本地执行、协议和渲染器边界的可读TypeScript实现,并添加了推理路由器、本地Docker沙箱、使用量追踪等实验功能。构建过程基于官方安装包,验证哈希并打补丁,最终生成独立的macOS应用。

来源:GitHub

Grok Bot 0.18 — 重建与扩展

Grok Bot Router设置界面,已选择Codex并显示本地使用总量

本仓库是对公开发布的 Grok Bot 0.18.0 macOS 应用的非官方、源码导向重建。

项目始于理解桌面应用构建方式的一次尝试。现在它包含了该应用 Electron、主机、协调器、本地执行、协议和渲染器边界的可读 TypeScript 实现,以及一套确定性工具链,可将这些源码重新转换为可用的 macOS 应用。

它还添加了一些实用实验:

  • 面向 Cursor、Claude Code、Codex 和 OpenRouter 的推理路由器;
  • Grok Bot 插件/MCP 工具跨路由提供商的支持;
  • 路由推理的本地使用量追踪;
  • 可选的本地 Docker 沙箱,替代远程盒子;以及
  • 集成在精美官方 UI 中的重建设置界面。

这是一个黑客与研究项目,不是 Anysphere 的原始 monorepo,也不是官方的 Grok Bot 版本。从编译后的应用中推断出的名称和模块边界可能与原始源码不同。

仓库中包含什么?

已检入的目录树包含经过审查的重建代码、测试、清单、构建脚本,以及原始 macOS arm64 和 Windows x64 安装程序的 Git LFS 保存副本。它刻意不提交解压后的上游应用、构建输出、本地凭证或大型取证恢复工作区。

公开的 Grok Bot 0.18.0 应用被视为固定的构建输入。在引导过程中,工具链会下载它,验证其 SHA-256 身份,并提取重建所需的部件。

最终应用是有意设计的混合体:

  • 应用运行时从 source/ 下的可读源码编译;
  • 精美的官方渲染器仍然是 UI 基线;
  • 一个窄的确定性变换添加了重建的 Router 设置 UI;
  • 原始和修补后的渲染器区块哈希被记录并验证;以及
  • 最终应用使用独立的 bundle 标识符和即席签名。

机器上已安装的上游应用永远不会被覆盖。

为什么保留官方渲染器?

分发的应用不包含原始前端源码或源码映射。它包含优化、压缩的生产级 JavaScript 和 CSS 区块:足以检查行为并恢复契约,但不足以恢复作者编写的 React 组件、名称、注释、文件结构或设计系统源码。

以同样的精美程度和行为重建完整前端将是一个单独的、更大的逆向工程项目。对于周末项目来说这不是现实的目标。因此务实的做法是重建运行时和控制平面代码,保留经过校验和固定的官方渲染器,并为新的 Router 设置做最小的可审计 UI 补丁。

frontend/ 是可读的部分重建和设计工作区。它有助于理解 UI 契约和实验干净组件,但不应被误认为是 Anysphere 缺失的原始前端源码,也不应被视为打包渲染器的像素级完美替代品。

保留的原始安装程序

确切的 0.18.0 安装程序的研究副本位于 research-archives/original/0.18.0/ 下,并使用 Git LFS 存储:

平台文件SHA-256
macOS arm64macos-arm64/Grok_Bot_0.18.0.dmga253ccd8aab01e083f9812a0264354c5034d8ba7f0610bbb557e82ae77d203eb
Windows x64windows-x64/Grok_Bot_0.18.0_Setup.exe464079a15ef5fa8b61ccea8fffcc78f63cfcf6df65fb0ad5e725d8b95f7e437e

有关源 URL、大小、验证命令和机器可读的工件清单,请参阅 research-archives/README.md。

当前功能

推理路由器

打开 设置 → Router 选择新回合使用的后端:

提供商身份验证工具支持
Cursor现有 Grok Bot/Cursor 会话原生 Grok Bot 工具和插件
Claude Code现有 Claude Code 登录路由的 Grok Bot MCP 工具
Codex现有本地 ChatGPT/Codex 登录直接响应传输,带 Grok Bot 工具
OpenRouter通过桌面密钥桥保存的 API 密钥Grok Bot 工具执行循环

Cursor 是默认选项。当 Claude Code 和 Codex 的本地客户端已经过身份验证时,它们不需要单独的 API 密钥。应用在路由的对话中保留流式响应、思考状态、反应、富插件提及和 MCP 工具执行。

使用量与计费 显示从返回使用数据的提供商本地记录的请求和 token 总量。这些数字是活动记录,不是权威的提供商发票。

本地 Docker 沙箱

Router 页面还有一个 使用本地 Docker VM 开关。启用后,Grok Bot 将其盒子主机和执行守护进程运行在拥有的本地容器中,而不是连接到远程沙箱。

容器:

  • 仅绑定到回环端口;
  • 以只读方式挂载内容寻址的主机和守护进程工件;
  • 在需要时重用用户现有的提供商身份验证;
  • 在协调器连接前经过验证;以及
  • 通过相同的设置生命周期停止或替换。

必须运行 Docker Desktop 或其他兼容的本地 Docker 守护进程。远程模式仍然是默认设置。

要求

  • 搭载 Apple Silicon 的 macOS
  • Node.js 26.5.x
  • Xcode 命令行工具
  • Git LFS
  • Docker Desktop(可选,仅用于本地沙箱)
  • 本地 Claude Code 或 Codex 身份验证,用于这些路由器选项

快速开始

git clone <你的仓库URL>
cd grok-bot-0.18-reconstructed
git lfs install
git lfs pull
npm ci
npm run bootstrap
npm run check
npm run package
open "dist/Grok Bot 0.18 Reconstructed.app"

npm run bootstrap 首先使用固定 0.18.0 DMG 的 Git LFS 保存副本。如果该归档不存在,它会回退到原始公共 URL;环境变量 GROK_BOT_018_APP 也可以指向现有的应用副本。Bootstrap 会验证 DMG 和 app.asar,缓存匹配的 Electron 运行时,并填充被忽略的 src/app/dist 构建输入。

npm run package 编译重建的运行时,应用窄的渲染器/设置变换,创建应用包,分配重建的 bundle 标识,进行即席签名,并验证结果。输出写入:

dist/Grok Bot 0.18 Reconstructed.app

重建的包在打包边界禁用上游更新器,并默认关闭上游 Sentry 和遥测发送。显式提供的环境配置仍然会被尊重。

架构

精美的官方渲染器
          │
          │ 桌面 preload / RPC
          ▼
     Electron 主进程
          │
          ├── 设置、密钥、身份验证和插件生命周期
          ├── 远程盒子连接器
          └── 拥有的本地 Docker 连接器
                       │
                       ▼
              协调器 + 主机
                       │
               推理路由器
           ┌───────────┼───────────┐
        Cursor      Claude       Codex / OpenRouter
                       │
                 Grok Bot MCP 工具

主要源码区域是:

  • source/electron-main/ — 桌面生命周期、设置、身份验证、盒子连接器、协调器所有权和 RPC 处理程序;
  • source/electron-preload/ — 暴露给 UI 的窄的受信任桥接层;
  • source/host/ — 推理、工具、MCP、设置和回合执行;
  • source/node-agent-coordinator/ — 转录路由、流式活动、反应和路由的 MCP 桥接;
  • source/shared/ — 共享契约、设置、协议和提供商辅助函数;
  • frontend/ — 可读的 React/TypeScript 渲染器重建和设计工作区;
  • scripts/ — 引导、编译、渲染器修补、打包、签名和验证;以及
  • tests/ — 发布和路由器回归测试。

更多细节请参阅 docs/ARCHITECTURE.md。

开发命令

npm test                  # 聚焦的回归测试
npm run typecheck         # 渲染器 TypeScript
npm run source:typecheck  # 运行时 TypeScript
npm run frontend:build    # 构建可读的渲染器重建
npm run package           # 构建、签名和验证 macOS 应用
npm run verify            # 验证现有的打包应用
npm run smoke             # 有界的原生冒烟检查
npm run publication:check # 证明全新历史导出是无损的

生成的目录包括 .cache、.build、dist、src/app/dist、recovered、recovery 和本地探针根目录都会被忽略。

项目状态

应用可以启动,核心重建流程可用,包括路由推理、连接的插件和本地 Docker 沙箱。这仍然是一个实验性重建:它针对一个固定的 macOS/arm64 版本,依赖外部提供商会话,并且不保证与未来 Grok Bot 版本兼容。

有关变更,请阅读 CONTRIBUTING.md。有关干净历史导出流程,请参阅 docs/PUBLISHING.md。技术来源和保留的上游边界在 PROVENANCE.md 和 NOTICE.md 中描述。