grok-build
x.ai 推出的全屏交互式 AI 编程终端 Agent,基于 Rust 构建,支持持久会话、代码库感
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
x.ai 推出的全屏交互式 AI 编程终端 Agent,基于 Rust 构建,支持持久会话、代码库感
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
如果你是一位每天在终端里敲代码的开发者,可能早就习惯了 Claude CLI、Copilot 等工具的存在——在 terminal 里输入一句自然语言,让 AI 帮你写代码、查 bug、解释报错。这些工具很好用,但它们大多是"单轮问答"模式:问一句,答一句,下一句就忘了上一句的上下文。
Grok Build 打破了这个天花板。它是 x.ai(马斯克的 AI 公司)推出的全屏交互式 AI 编程 Agent,运行在终端里,但交互体验媲美专业 IDE。它不是简单地把对话塞进 CLI,而是重新设计了人机交互范式:全屏 TUI(Text User Interface)+ 持久会话 + 深度代码理解 + 沙箱执行。开发者坐在终端前,面对的是一个"真正理解你代码库"的 AI 搭档——它能看到你当前项目的文件结构,帮你编辑文件、执行 shell 命令、搜索网页、管理长时间运行的后台任务,而且全程支持鼠标操作。
Grok Build 的 GitHub 仓库(xai-org/grok-build)于 2026 年 7 月 14 日公开,至今已获得超过 23,000 颗星,增长速度极为惊人。它在 GitHub Trending 上的亮眼表现,也反映出 AI 编程工具赛道正迎来新一轮爆发。
x.ai 由埃隆·马斯克创立,2025 年推出 Grok 系列大模型后迅速在 AI 领域占据一席之地。与 OpenAI、Google DeepMind 等公司的通用大模型路线不同,x.ai 的 Grok 系列一直带有明显的"实用主义"色彩——Grok-1、Grok-2、Grok-3 持续在推理和编程能力上发力,而 Grok Build 则标志着 x.ai 正式将能力从模型层延伸到应用层,打造自己的 AI 编程工具链。
从技术角度看,AI 编程 Agent 赛道在 2024-2026 年竞争极为激烈:GitHub Copilot、Windsurf(Coder)、Cursor、Cline、Claude Code 等产品争相涌现。Grok Build 的入局,凭借 x.ai 自家 Grok 大模型的加持,以及 SpaceX 工程文化的务实风格,带来了差异化的竞争格局。
Grok Build 的用户界面基于 ratatui(Rust 生态中最成熟的 TUI 库)构建,呈现为全屏终端界面。与传统 CLI 的单行输入不同,TUI 支持多面板布局:左侧代码预览、右侧对话区、底部状态栏。这种"类 IDE"布局让开发者无需切换窗口,就能在终端内完成阅读、对话、编辑的完整闭环。
ratatui 的前身是 tui-rs,在 Rust 社区有极高的口碑,被多家知名项目采用(如 GitHub CLI 的 TUI 组件、cloudflare/cloudflared 等)。Grok Build 还在此基础上开发了自定义的 xai-ratatui-inline 和 xai-ratatui-textarea 组件,专门处理内联编辑和文本区域交互。
Grok Build 支持三种启动模式,灵活覆盖不同使用场景:
--headless 参数启动,适合 CI/CD 流水线、脚本自动化。AI Agent 在后台运行,不占用交互界面。Grok Build 不仅仅读取文件内容,而是通过 xai-codebase-graph 模块构建代码库的语义图谱。这个模块能理解代码之间的依赖关系、函数调用链、数据流,从而做出更精准的编辑建议。相比之下,大多数 AI 编程工具只是将文件内容作为上下文一股脑塞给 LLM,缺乏对代码结构的主动理解。
配合 xai-grok-workspace 模块,Grok Build 可以安全地与本地文件系统交互:只读指定信任目录下的文件、追踪文件变更(通过 xai-fsnotify 监听文件系统事件)、维护操作检查点(checkpoint)以便回滚。文件夹信任(folder trust) 机制确保 AI 在执行写操作前必须得到用户授权,防止意外修改。
Grok Build 原生支持 MCP(Model Context Protocol),这是 Anthropic 在 2024 年底开源的 Agent 工具扩展协议。通过 MCP,开发者可以为 Grok Build 注册自定义工具,例如连接数据库查询、调用内部 API、操作云资源等。MCP 在 xai-grok-mcp crate 中实现,架构上参考了 MCP 的 Rust SDK(rmcp)。
xai-grok-tools 是 Grok Build 的工具实现核心,支持的操作包括:
git2 和 xai-gix-status 实现 Git 状态查询、分支操作xai-grok-http 的搜索接口pdf_oxide)、图片处理(image 库)、PPTX 文本提取(zip 库)async-lsp)、Mermaid 图表渲染(xai-grok-mermaid → mermaid-to-svg)xai-grok-memory 模块管理 Agent 的会话记忆,而 xai-grok-compaction 实现上下文压缩策略——当对话历史超过一定长度时,Agent 会自动将早期上下文压缩为摘要,腾出 token 空间给更重要的信息。xai-sqlite-journal 则提供了基于 SQLite 的持久化存储,用于记录会话历史。
xai-grok-auth 模块负责 OAuth 流程:首次启动时,程序会自动打开浏览器完成与 x.ai 账号的绑定认证。会话令牌通过 xai-grok-secrets 模块安全存储(依赖操作系统的密钥链),不会明文暴露在文件系统中。
Grok Build 采用 Rust 的 Cargo Workspace 组织,根目录 Cargo.toml 是自动生成的,包含 63 个 workspace 成员,按职责分为三类:
| 层级 | Crate 示例 | 职责 |
|---|---|---|
| bin(入口) | xai-grok-pager-bin | 可执行二进制入口,打包为 grok CLI |
| codegen(核心业务) | xai-grok-shell, xai-grok-pager, xai-grok-tools, xai-grok-agent, xai-grok-workspace | TUI 渲染、Agent 逻辑、工具实现、代码库管理 |
| common(基础设施) | xai-tool-runtime, xai-tool-types, xai-tool-protocol, xai-tracing | 工具协议定义、类型系统、日志追踪 |
xai-grok-shell:Agent 运行时核心,版本 0.2.112,依赖 async-openai(Grok API 客户端)、bm25(搜索排名)、rusqlite(本地记忆存储,带 FTS5 全文搜索)。所有 LLM 调用走 async-openai 库,兼容 OpenAI Chat Completions API 格式,这意味着它可以对接 x.ai 的 Grok 模型,也可以配置为其他兼容 API。
xai-grok-agent:Agent 定义解析与构建器。读取 YAML 格式的 Agent 定义文件(AgentDefinition),组装系统提示词(通过 minijinja 模板引擎渲染)、注入工具列表、设置权限模式(PermissionMode)。
xai-grok-pager:TUI 主界面渲染,52 个源文件,是整个项目中模块数量最多的 crate。包含 diff.rs(代码差异视图)、docs.rs(文档浏览器)、headless.rs(静默模式实现)、export_cmd.rs(会话导出)等组件。
xai-grok-workspace:文件系统抽象层,实现安全的主机交互。folder_trust.rs 管理目录信任列表,envrc.rs 处理 .envrc(Direnv 格式)环境变量注入。
xai-acp-lib:Agent Client Protocol 的核心实现,定义了 Agent 与外部编辑器之间的通信协议(AcpChannel、AcpMessage、AcpGateway 等核心类型)。这是一个独立的协议库,使其可以被其他项目复用。
Grok Build 使用 Rust Edition 2024(最新稳定版),Rust 工具链版本锁定在 1.92.0。构建需要:
dotslash:一个 Hermetic 工具运行器,用于执行 bin/protoc(Protocol Buffer 编译器),无需用户手动安装protoc:Protocol Buffer 代码生成工具,通过 dotslash 自动下载对应平台的二进制版本| 类别 | 技术选型 |
|---|---|
| Web 框架 | axum 0.8(异步 HTTP 服务器,提供 WebSocket 支持) |
| UI 框架 | ratatui(TUI)+ 自定义内联组件 |
| 数据库 | rusqlite(bundled SQLite 3.50.2,支持 FTS5) |
| 文本搜索 | bm25(经典 BM25 排名算法) |
| Git 操作 | git2(libgit2 的 Rust 绑定)+ gix(纯 Rust Git 实现) |
| 协议 | tonic-prost(gRPC/Protobuf,Agent 内部通信) |
| LLM 调用 | async-openai(Grok API 客户端) |
| 日志 | tracing + fastrace(分布式追踪)+ OpenTelemetry 集成 |
| 测试 | insta(快照测试)+ serial_test(串行化测试) |
curl -fsSL https://x.ai/cli/install.sh | bash
grok --version
# 安装 Rust(通过 rustup,自动读取 rust-toolchain.toml)
# 安装 dotslash(工具运行器)
cargo install dotslash
# 编译并启动 TUI
cargo run -p xai-grok-pager-bin
# 或构建 release 二进制
cargo build -p xai-grok-pager-bin --release
# 二进制路径: target/release/xai-grok-pager
首次启动会自动打开浏览器完成 x.ai 账号认证,认证信息本地安全存储。
由于项目有 63 个 crate,每次全量 cargo build --all 耗时较长(Rust 编译慢是业界难题)。官方推荐 按 crate 单独构建:
cargo check -p xai-grok-pager-bin # 快速验证
cargo test -p xai-grok-config # 单 crate 测试
Grok Build 的 CONTRIBUTING.md 明确写道:不接受外部 Pull Request。仓库公开是为了"源码透明度"(Source Transparency),而非真正的开源协作。这意味着社区无法直接为项目贡献代码,所有功能需求和问题修复都必须通过 x.ai 内部团队推进。这与真正的开源项目(如 Rust、Linux)有本质区别——更像是一次有选择性的技术公开。
Grok Build 本质上是 x.ai 自家 Grok 大模型的"官方客户端"。虽然架构上 async-openai 支持多后端,但其默认配置、认证流程、工具集设计都与 x.ai 深度绑定。用户如果想替换为其他 LLM 提供商,需要手动配置 API 端点和认证信息,官方文档中对此着墨甚少。
目前仅正式支持 Linux 和 macOS,Windows 构建"尽力而为"。对于以 Windows 为主力的开发团队,这是一个门槛。
Agent 对文件系统的操作权限管理依赖用户手动配置的"信任目录"列表。如果用户错误地信任了错误的目录,Agent 可能执行意外的文件修改操作。项目目前没有强制沙箱隔离机制(如 container 级别的隔离),高风险操作仍需要用户自己把控。
Grok Build 的出现,标志着 AI 编程工具从"通用问答"向"专用 Agent 系统"的演进。与 Claude Code 的单进程 CLI 不同,Grok Build 提供了更复杂的架构:持久化会话(SQLite journal)、文件系统安全层(MCP + folder trust)、多入口点(TUI + headless + ACP 嵌入)。这反映出 AI 编程工具正在变得越来越专业——不再是一个简单包装 LLM 的脚本,而是一个需要精心设计的复杂软件系统。
从生态角度看,ACP(Agent Client Protocol)的开放值得关注。如果这一协议能够获得第三方编辑器的广泛采用,可能形成类似 LSP 的"AI 编程协议标准",让不同提供商的 AI Agent 可以无缝嵌入任意开发环境。这对整个 AI 编程工具生态是有益的推动。