xAI 开源了对标 Claude Code 的 Grok Build,我最不敢分给它的就是碰仓库的活

cover

哈喽,我是飞飞。

上周我写过一篇,标题就叫我天天用 CLI 却从没抓过它的包,直到 Grok 把整库连密钥偷传走。那篇讲的是 xAI 的 Grok 编码工具被人抓包实锤,跑个任务就把你整个仓库连提交历史打包传走,我看得后背发凉。我以为那事就翻篇了。

结果这周,xAI 反手把整个 Grok Build 开源了。

开源这个动作,通常是示好,是把家底摊开给你看的坦荡。可放在这个节骨眼上,它反而把一个我以为已经想明白的问题,重新推回我面前:这么个东西,我到底给不给它分活,分哪类。

顺便跟我另外几篇撇清一下。我写过拿小米 MiMoCode、国产 GLM-5.2 跟 Claude Code 真打一轮那种选型,那是纯比工具。这篇不一样,是选型正好撞上了信任。

开源了个啥

先说这次开源的到底是什么。

Grok Build 是 xAI 那套编程 agent 的命令行工具加终端界面,当初跟 Grok 4.5 一起出,对标的就是 Claude Code 和 Cursor。这次它整个挂上了 GitHub,Apache 2.0 协议,八十四万多行 Rust 代码。全屏 TUI,能读改文件、跑 Shell,还能把活拆给子 agent,在独立的 worktree 里并行干。

你要愿意,可以自己编译一份,指向本地的推理引擎,配置全塞进一个 config.toml,不碰它的云也能跑。

单看这份介绍,它是个正经东西。问题从来不在它能不能干活。

它跟 Claude Code 一个模子

真正让我盯住它的,是那套扩展机制。

Grok Build 认 skill、认 plugin、认 hook、认 MCP server、认子 agent,还配一份 AGENTS.md。这几个词你要是天天用 Claude Code,应该跟我一样瞬间眼熟。我那十几个写作 skill、那些把建议摁成强制的 hook、那几个删到只剩三个才顺手的 MCP,全长在 Claude Code 这套机制上。

它俩几乎是照着同一张脸捏的。这也是我上周那篇里最扎心的一点:xAI 自己文档写着 Grok 跟 Claude Code 零配置兼容,按设计就去读你的 skill 和 AGENTS 规则。以前这话是别人扒出来的,现在它开源了,你能自己在源码里看它怎么一步步加载这些东西。

像成这样,迁移门槛看着就低。我脑子里已经开始盘算,把配封面那个 skill 挪过去试试。它太懂怎么勾我这种重度用户了。

但这份眼熟里藏着个反坑。看着像、门槛就低,这是错觉。我真动过换底座的念头,也认真算过账:那十几个 skill 调工具时吐的格式,换一家十有八九会飘,得挨个重新校;光把那套专门防 AI 味的 grep 规则在新脾气上调顺,就够我搭进去好几个晚上。一个工具认得你攒的私货,跟它能让你无缝搬家,是两码事。

偷传代码还在里面

可我没敢动手。

上周实锤的那件事,别以为开源就翻篇了。当时研究者抓包看到的,是它把整个仓库打包成 git bundle,连你交代过别读的文件、连提交历史里删掉的密钥都一起传到 xAI 的云桶,量级是任务真正所需的两万七千多倍,前台那个改进模型的开关还关不掉。这些细节我上周写透了,这里不重复。

新的一层是这样。这次开源出来的新版二进制,安全研究者扒过了,那段上传代码还在里面,现在只是被一个服务端开关摁住。xAI 想重新打开,不用给你推任何更新,后台一个 flag 的事。

所以开源这一下挺微妙。它确实把这段代码明明白白摆到了台面上,这是坦荡。可摆出来不等于拆掉,代码还在,扳机还攥在它自己手里。

开源反而是条活路

话说回来,开源也不全是尴尬,它给了我唯一一条能放心用它的路子。

云端那套默认模式我是不敢碰了。但开源意味着我可以自己把它编译出来,指向我本地的推理,把它那条通往云桶的通道从根上断掉,关进一个笼子里跑。传不出去,也就没那些事了。

我对这条路不陌生。我本机跑活的家底早就摊在那,写作流水线的密钥全在仓库根的一个 .env.local 里,公众号推送 key、搜索 API 凭据都在里头。以前我把安全感全压在 gitignore 上,上周那篇才让我认清那份安心有多便宜。所以再上一个能读整个工作目录的新工具,我第一反应就是先想清楚它的数据会往哪走,能不能被我摁死在本地。

这才是开源真正值钱的地方。它不能替 xAI 把信任赚回来,可它把选择权交回到我手上。一个闭源的云端工具,你只能在信和不信之间二选一;一个开源、能本地自托管的工具,你可以嘴上不信它,还照样在自己划定的范围里把它用起来。

信任这道坎我想明白过一句:真正要紧的不在它传不传数据,云端工具就没有不传的;在它传的时候,你手里有没有一个能亲手关掉的开关。开源,恰好递来了那个最硬的开关。

我会给它分哪类活

那分活这笔账,我算清楚了。

真要试,就走本地这条路。自己编译,指向本地推理,拿一个不带任何真凭证的空沙盒仓库,让它跑最不心疼的边角料,写个小脚本、渲染张图这种。跑顺了,我也多摸清一个工具的脾气。这是我打小米 MiMoCode、打 GLM 时一贯的做法,本地真打一轮,别光盯参数表。

我打一个新工具,跑分高不高我基本不看。我盯的是三样:它调工具时吐的格式稳不稳,认得认不得我 skill 的 frontmatter,放手让它跑十分钟会不会自作主张。这三样但凡飘,参数表再漂亮也白搭。Grok Build 我会照这套来,只是这次得多加一道,全程断网。

但它默认那套云端模式,我一步都不会碰。更不会拿它去动带生产密钥的真仓库,主力那条写作流水线,一个 skill 都不迁。它对标 Claude Code 是真的,可信任这道账它现在还欠着。开源只是把还账的工具递到了我手里,账本身没平。

你敢让它碰哪个仓库

给你一个最小的起手式。想尝鲜,就单开一个干净的沙盒仓库,断网或者指向本地推理,让它干最不心疼的那类活。别一上头,就在你天天提交的主仓里跑它的默认模式。凭证这东西,一旦进了别人的桶,你连它删没删都验不了。

上周那篇的结尾,我给自己定了条规矩,要去给天天用的 CLI 抓一次包。这周多了个开源的 Grok Build,我的清单又长了一条:凡是能本地编译的,就别用它的云。

轮到你了。一个刚被抓包实锤偷传仓库、这周又开源的编程 agent,你会给它分哪类活?你敢让它碰你哪个仓库,还是跟我一样,先塞给它一个空沙盒、看紧了再说?评论区聊聊。