← Silent Star

X-Ray · Grok Bot 0.24.0

聊天从桌面发出,Agent 在云端动手

Grok Bot 把一个长期存在的 AI 队友放进每位用户的云端电脑。Mac App 负责身份、界面、连接与人工接管,云端 Host 负责 Agent loop、工具、会话和后台任务。本文现已补到本机 0.24.0 版本。

一条消息会穿过 Electron 的受限桥接层,再经 coordinator 连到用户专属 Sand Box。Host 按会话、设置、环境变量与实验配置解析模型,最后才落到内置兜底 grok-4.5。包里已有 Grok 4.6 支持,后端返回的 responseInfo.model 才能说明某一轮实际解析成了哪个模型。
本机版本
0.24.0
应用身份
com.anysphere.sand
签名
Anysphere · Apple 已公证
内置兜底请求
Grok 4.5 · high · fast · max

一条消息怎么走

六个环节,把聊天变成持续执行

这张图把本机 App、云端电脑和模型服务放在同一条因果线上。它也解释了为何 Bot 能离线工作,以及本机权限为何另算一层。

关掉 Mac 也能继续

执行主体在云端 Host。官方 FAQ 也确认后台 turn 与 routine 不依赖笔记本保持开启。

多个 Bot 共用一台电脑

每个 Bot 有独立角色、会话和屏幕,共享文件、浏览器登录与云端凭据。

本机执行是单独能力

云端工具默认可用,本机命令另走反向通道和审批设置,默认应当逐次询问。

0.24.0 最新复核

模型已经不止一个名字,先看它在链路里负责什么

我重新拆了当前安装包。0.24.0 的第一方 bundle 没有公开源码映射,所以这次按压缩文件中的稳定字符串和字节位置复核。能确认的是客户端怎样选、怎样发、怎样接收结果。

当前包的硬编码兜底仍是 grok-4.5,参数为 effort highfast truemaxMode true。这只说明没有其他配置命中时客户端会请求什么,不能单凭这一行断定你账号里的每次对话都跑在 Grok 4.5。
主 Agent 兜底 Grok 4.5

显式会话模型、环境变量、实验设置与保存的默认值都排在它前面。

新模型支持 Grok 4.6

兼容分支和模型选择实验都已出现 4.6,内置兜底尚未跟着改成 4.6。

摘要任务 Gemini 2.5 Flash

摘要流程可以走独立模型,不应拿它代替主对话模型来判断一次 turn。

电脑与浏览器子 Agent Claude Opus 4.8

电脑操作的后备选择关闭 thinking、使用 low effort。浏览器分支还受功能配置控制。

% + 重置

0.24.0 的周额度界面拿到使用百分比、下次重置时间、是否仍有额度和套餐标签。

每周到底有多少 token

当前包里没有记录一个固定的每周 token 总数,也没有把周额度百分比换算成 token 的公式。

  • GetSandUsageStatusResponse 返回 usage_percentnext_reset_timestamp_utc 与额度状态,没有 raw token 字段。
  • 按量使用另记 usedCentslimitCents,它是金额口径。
  • 生成代码中虽有通用 GetTokenUsage RPC 定义,渲染层没有消费它,也找不到 Grok Bot 周额度的调用链。

官方 FAQ 也把这套共享周额度写成百分比。不同产品和任务消耗的计算量不同,因此不能从百分比可靠倒推一个固定 token 数。

0.24.0 的解析顺序可以概括为摘要或专用子 Agent、显式会话模型、SAND_AGENT_MODEL、实验或已保存默认值、内置 Grok 4.5 兜底。请求会带上 requestedModel,响应再给出已解析模型。包内证据位于 host-main.cjs 字节 3,729,286、5,745,415、10,944,249 与 11,698,298 附近。

源码证据层

打开以后能看到的真实分工

下面的架构证据来自首次拆解的 0.16.0 安装包。它保留了 source map,因此可以回到源码文件和行号。0.24.0 的模型与额度补充来自当前已签名安装包,证据按压缩 bundle 的字节位置记录。

1界面没有直接拿到 Node

BrowserWindow 开启 contextIsolation,关闭 nodeIntegration。preload 只向页面公开 desktopcoordinatorPort,聊天界面通过 IPC 和 MessagePort 请求能力。

src/electron-main/main.cts 第 693 至 720 行
src/electron-preload/preload.cts 第 142 至 161 行、第 806 至 815 行

2桌面连接用户的云端 Box

BrokeredHostConnector 通过 GrokBotService.ensureSandBox 找到或创建云端电脑。返回值包含网关 URL、每 Box bearer、网络路由 token 和 VNC 地址。

src/electron-main/box/box-host-connector.ts 第 1 至 25 行、第 122 至 213 行

3网关使用 HTTP 命令与 SSE 事件

Host 网关提供 /api/<method>/events/health 等入口。敏感命令和事件流在配置 token 时必须携带 bearer,比较过程使用 timingSafeEqual。本机 shell 与 WebAuthn 反向通道缺少 token 会直接返回 401。

src/host/gateway-server.ts 第 216 至 227 行、第 583 至 725 行

4Host 才是 Agent 的长期大脑

SandHost.start 按依赖顺序启动插件,再装配 roster、runner、审批、MCP、持久会话和后台任务。用户发消息以后,turn-runtime 调用 runner,runner 负责模型流和工具循环。

src/host/sand-host.ts 第 140 至 270 行
src/host/extensions/transcript/turn-runtime.ts 第 394 至 512 行

5内置模型兜底是 Grok 4.5

0.16.0 包内的默认选择写成 grok-4.5maxMode trueeffort highfast true。设置、环境变量、实验配置和特定子 Agent 可以改写选择。0.24.0 仍保留同一兜底,也加入了 Grok 4.6 的兼容与选择入口。

src/shared/agents/agent-model.ts 第 10 至 38 行
src/host/extensions/inference/cursor-session.ts 第 58 至 86 行、第 166 至 209 行
src/shared/node/cursor-backend/cursor-inference.ts 第 413 至 485 行

6会话和记忆拥有持久存储

每个 Agent 的数据目录下有 store.db 和对话 blob。SQLite 使用 WAL,并在快照前检查 checkpoint,避免复制一个落后的主库。根目录可以由运行环境重定位,所以桌面端与云端 Host 可以共用同一套路径规则。

src/host/extensions/session/session-paths.ts 第 10 至 51 行
src/host/storage/store-db.ts 第 47 至 109 行

可信边界

这套设计有几道硬门,也有清楚的共享面

静态检查确认的保护

  • 本机 App 通过 Anysphere Developer ID 签名,Apple 公证票据有效,深度签名验证通过。
  • 渲染页默认没有 Node 能力,外部导航会被主进程拦下并交给系统浏览器。
  • 云端网关敏感面使用 bearer。涉及本机 shell 和 WebAuthn 的通道在无 token 时关闭。
  • 模型请求带 Cursor 登录凭据、机器标识、请求 ID 和隐私模式。隐私查询失败时选择禁止训练的保守值。

使用时要记住的共享面

  • 同一用户的 Bot 共用云端电脑。Bot 之间不能充当权限隔离边界。
  • Grok Bot 依赖云端数据存储,Legacy Privacy Mode 无法运行这项产品。
  • Auto Review 会辅助判断,官方仍建议给发送、发布、购买、删除和生产修改设窄而明确的人工审批。
  • 本机包声明 Apple Events、相机、麦克风和 JIT 权限。声明只证明能力存在,不能证明某次运行实际调用。

我的判断

Grok Bot 是一套完整的远程 Agent 产品,Mac App 主要承担控制台和可信接管

“Bot 有自己的电脑”这句话在包内有完整实现对应。桌面端没有把模型和工具都塞进一个聊天窗口,它连接一台长期存在的 Linux Box,Box 里有网关、Agent runner、工具、SQLite、自动任务和独立更新。Grok 4.5 是客户端兜底请求,Grok 4.6 已进入选择链,最终解析仍由账号配置与后端响应共同决定。

这也给出了最实用的判断标准。把它当成能操作真实系统的远程同事,先给一个有明确结果的一次性任务,把外部副作用留在审批后,再把跑顺的过程保存成 Skill 或 routine。

来源

本机包与公开资料互相校准

本机已安装包

/Applications/Grok Bot.app · 版本 0.24.0 · 主程序 SHA-256 c958d80cdd126cb95f1d60ef6bf451037a7569994a75a6c06b2863ae0781250a · app.asar SHA-256 41f7d5008db4edcb198d9e466c9c1e776bb8a75a7651951257ff9a4f885a4540

PR #174 的 X-Ray 工作流

本次检查使用 PR #174 head c349718d58d171c8721bbaac12b7ee0a01a51639 的静态应用分析、证据和双层解释规则。

文章目录6
Silent Star约 7 分钟