8月24日消息,上线不到两周的 Grok Bot 桌面版被逆向了。开发者 Bennett 在 GitHub 上发布了名为 grok-bot-0.18-reconstructed 的项目,把 Grok Bot 0.18.0 macOS 版的运行时重构成可读的 TypeScript 代码,并公开了完整工具链。原因是官方发布包里携带了运行时源映射等可检查工件。这个仓库创建于8月23日,一天内获得超过 260 个 star。 一个周末的重构:运行时全部可读,前端保留原样
按仓库说明,被重构的是 Grok Bot 的运行时与控制面:Electron 主进程、preload 桥接、负责推理与工具执行的 host 层、协调多个 agent 的 coordinator,以及共享协议和设置定义。这个产品的系统提示词组织方式、工具与 MCP 集成、多 agent 的任务分发逻辑,因此都可以在可读代码里直接研究或推断。
Bennett 没有止步于还原。他在重构之上加了自己的扩展:一个推理路由器,可以把 Grok Bot 的对话请求切换给 Cursor、Claude Code、Codex 或 OpenRouter 处理;一个本地 Docker 沙箱,用来替代官方远程云电脑执行任务;还有本地的用量统计。这些扩展被做进了重构版的设置界面。 边界同样写得很清楚。仓库的自我定位是"非官方的研究项目",不是 Anysphere 的原始代码库,也不代表获得了上游源码许可;重构版使用不同的应用签名,并默认关闭了官方的自动更新和遥测。而且这不是一次"完全逆向":发布版的前端是纯压缩的生产代码,没有携带前端源映射,所以 Bennett 保留了官方前端界面,只打了最小的补丁,可读重构集中在后端运行时。重构只针对 0.18.0 这一个版本,不保证兼容后续版本。
为什么能逆向到这个程度
直接原因是打包疏漏。Bennett 在 X 上表示,Grok Bot 0.18.0 发布时携带了运行时源映射(source maps)——这类文件原本是开发调试用的,能把压缩后的代码映射回原始源码。除了源映射,发布包里还有源路径标记等可检查工件。
这个项目的工程纪律本身也很少见:仓库的 PROVENANCE 文档定了一条"纯证据重建"规则:重构出的每一部分行为,都必须能对应到发布包里某个可检查的工件锚点,不允许凭猜测补全;证据不足的地方宁可留空。原始安装包也用 Git LFS 原样保存并附 SHA-256 校验值,保证所有人研究的是同一个版本。这次前端之所以"幸免",只是因为它恰好以纯压缩形式分发;携带源映射的运行时则几乎没有设防。
这个窗口可能已经关闭。Grok Bot 目前的最新版本是 0.24.0,0.18.0 已是旧版;后续版本是否仍携带源映射,目前没有公开确认。仓库自己也提示,想研究的话要趁早。
顺便被证实的另一件事:Grok Bot 就是 Cursor 的 Sand
这次泄露还附带确认了一个产品归属问题。Grok Bot 是 SpaceXAI 在8月11日前后上线的通用 AI agent 产品,主打"AI 队友"在云端电脑上替人完成工作。但它和 Cursor 的关系一直停留在报道层面:此前有消息称,Cursor 内部代号"Sand"的 agent 产品将更名 Grok Bot,Cursor 品牌将在两家公司整合中逐步退出。
重构仓库把这条传闻变成了可检查的事实。PROVENANCE 文档显示,Grok Bot 0.18.0 的应用包 ID 是 com.anysphere.sand——Sand 代号直接写在里面;安装包由 Anysphere 签名公证,下载地址挂在 downloads.cursor.com 域名下。这与上线时的外部观察一致:Grok Bot 的付费档位沿用了 Cursor Ultra 等现有方案。背景是 SpaceX 6月16日达成了以 600 亿美元收购 Cursor 母公司 Anysphere 的协议,交易预计三季度完成,Grok Bot 上线时交易尚未正式交割。 对做桌面应用的团队,这件事的教训很直接:发布包里带了什么工件,决定了别人能看到你多少内部实现。对研究 agent 产品的人来说,这个仓库则提供了一个难得的、可逐行阅读的真实产品样本——虽然这个样本能存在多久,取决于官方后续版本的态度。