乐于分享
好东西不私藏

SpaceX AI开源了Grok编码助手grok-build,全Rust实现的终端AI编程Agent

SpaceX AI开源了Grok编码助手grok-build,全Rust实现的终端AI编程Agent

开源AI编程Agent领域又有了新成员:Grok Build。

SpaceX AI(前身xAI)刚宣布开源了 grok 命令行和 agent 运行时的源码。项目介绍是这样写的:

Grok Build 是 SpaceXAI 的终端 AI 编程代理。它以全屏 TUI 运行,能理解你的代码库、编辑文件、执行 shell 命令、搜索网页,并管理长时间运行的任务——可以交互使用,也可以无头模式跑脚本和 CI,还可以通过 Agent Client Protocol(ACP)嵌进编辑器。

仓库地址:

xai-org/grok-build:https://github.com/xai-org/grok-build

开源许可证是 Apache-2.0,官方 grok 命令行和 agent 运行时完全开源。

定位上,它和 Claude Code、Codex、OpenCode等同属 coding agent 的 harness 层,功能架构上面应该都是类似的,项目明确声明部分工具移植自OpenCode和Codex,但是不能说它是换皮项目。

项目完全基于 Rust 开发,命令行使用名 grokagent)。

Rust source for the grok CLI/TUI and its agent runtime

三种使用模式:全屏TUI、脚本/CI用的无头(headless)模式、以及通过 ACP 协议接到IDE编辑器里。

安装和运行

预编译包覆盖 macOS、Linux、Windows,安装使用很简单:

curl -fsSL https://x.ai/cli/install.sh | bashgrok --version

Windows PowerShell 使用:

irm https://x.ai/cli/install.ps1 | iex

首次启动默认走浏览器鉴权登录 grok.com。CI或没浏览器时可以配置用API Key:

export XAI_API_KEY="xai-..."grok

进全屏 TUI,任务、工具调用、命令输出、文件改动都会滚在界面上。

这篇文章草稿就是用 grok 写的大纲,它支持从Codex直接恢复会话继续任务:

登陆就可以使用,官方提供了一些免费额度,使用Grok-4.5模型,免费额度大概在100K左右,我没仔细统计。

脚本和 CI使用无头模式:

grok -p "Review changes for bugs" --output-format json

命令中可以加 --yolo 避免每次需要手动确认,这会开启 always-approve 模式,自动批准工具执行。

显式 deny 规则和 PreToolUse hooks 仍然生效,但是还是要注意安全边界:

grok -p "Run the test suite and fix failures" --yolo

支持从源码编译,需要 Rust 和 protoc。macOS、Linux 是推荐的构建环境:

cargo run -p xai-grok-pager-bin

技术架构

仓库是 Rust workspace,按职责拆开几个大模块。目录架构拆分:

路径
内容
crates/codegen/xai-grok-pager-bin
组合根包,构建 xai-grok-pager 二进制文件
crates/codegen/xai-grok-pager
TUI:滚动记录、输入提示、弹窗和渲染
crates/codegen/xai-grok-shell
Agent 运行时,以及 leader、stdio、headless 三类入口
crates/codegen/xai-grok-tools
工具实现:终端、文件编辑、搜索等
crates/codegen/xai-grok-workspace
宿主文件系统、版本控制、执行和检查点
crates/codegen/...
其余 CLI 依赖 crate:配置、MCP、Markdown、沙箱等
crates/common/
crates/build/prod/mc/
被上述依赖链引用的小型共享底层 crate
third_party/
内置的上游代码,目前主要是 Mermaid 图表栈

TUI也完全是RUST

TUI界面也完全基于Rust实现,不是WebView 或 Electron之类的需要走js/浏览器栈。xai-grok-pager 用的是 ratatui+crossterm :

ratatui是一个用于打造终端用户界面(TUI)的Rust包:https://github.com/ratatui/ratatui crossterm 是 Rust 跨平台终端库: https://github.com/crossterm-rs/crossterm

两者只是底座,Grok 在上面单独拆出 xai-grok-pager-render,处理滚动记录、Markdown 与代码高亮、弹窗、状态栏这些 coding agent 特有的展示。

输入框是自己实现的 xai-ratatui-textarea 和 xai-ratatui-inline

tokio 在后台并发处理输入、模型流式返回、工具执行和界面刷新。

所以是 ratatui + crossterm 提供终端 GUI 的基本能力,Grok 自己实现了面向编程代理的界面组件和渲染逻辑。

和 Claude Code、Codex、OpenCode 的区别

产品分类上就是同一类东西,没什么太大的区别。工程上解决的问题差不多:上下文、工具、命令执行和展示、权限、会话、编辑器 / CI 等等。

但是这套完全基于Rust且全开源 agent harness 工程值得我们仔细拆解学习。特别是在构建自己的Agent应用的同学。

它移植了 OpenCode 或 Codex 的部分工具,但是不能说它是换皮项目。

移植范围明确限定在工具层,所有这些代码都已经被改造成自己的 Rust Tool runtime。声明列出的范围是:

  • 来自 sst/opencodebasheditglobgrepreadskilltodowritewrite
  • 来自 openai/codexapply_patchgrep_fileslist_dirread_file
感谢阅读!
你的关注、点赞、转发、收藏是我持续更新的动力!