Grok Build 是 xAI 推出的电脑端编码 Agent,通过终端把 Grok 带到本地代码库。它可以规划、修改多文件、运行测试、搜索代码、使用 Git,并通过 Skills、Hooks、Plugins、MCP 和子 Agent 扩展工作流。
说明:本文介绍的是 xAI 官方 Grok Build,不是第三方把 grok.com 包装成窗口的桌面应用。第三方客户端可能要求 API Key 或账号授权,安装前应单独评估。
一、安装 Grok Build
官方页面提供一条安装命令:
curl -fsSL https://x.ai/cli/install.sh | bash
运行网络脚本前,可以先在浏览器打开脚本地址检查内容。安装后重新打开终端,根据提示登录,然后进入项目目录启动 Grok Build。具体命令和支持系统以官方文档为准。
二、第一次使用
- 在测试仓库中启动,不要直接进入生产配置目录。
- 确认当前路径、Git 分支和未提交改动。
- 先让 Grok Build 解释项目架构和测试方式。
- 复杂任务进入 Plan Mode,审查计划后再批准编辑。
- 完成后查看 diff,运行测试,再决定是否提交和推送。
分析当前支付回调的幂等性问题。
先进入 Plan Mode,不要修改文件。
计划中列出证据、最小改动、回归测试和回滚方式。
三、Plan Mode
Plan Mode 用于在写代码前生成结构化方案。处于计划阶段时编辑被阻止,用户可以批准计划、评论单个步骤或重写方案。它非常适合数据库迁移、认证改造和跨模块重构。
好的计划应回答:改哪些文件、为何这样改、如何兼容、怎样验证、失败如何回滚。如果计划只写“修改代码并测试”,说明信息还不够。
四、Skills 与 AGENTS.md
Skills 用于保存可复用工作流,可以按任务自动触发,也可以点名调用。官方还提供 /skillify,把一次成功会话整理为新 Skill。AGENTS.md 则适合保存项目约定和目录级规则。
# AGENTS.md
## Validation
- npm test
- npm run typecheck
## Boundaries
- Do not edit generated files
- Ask before adding dependencies
- Never read or commit production secrets
五、Plugins、Hooks 与 MCP
| 扩展方式 | 作用 |
|---|---|
| Plugin | 打包 Skills、Agents、Hooks 和 MCP,便于团队分发 |
| Hook | 在文件编辑、工具调用等节点运行确定性脚本 |
| MCP Server | 连接 Linear、Sentry、Postgres、浏览器和内部系统 |
| Marketplace | 集中安装和更新共享插件 |
插件市场和任意 Git 仓库都可能成为软件供应链入口。安装前要检查发布者、版本、更新机制和权限,不要让未知插件接触生产密钥。
六、子 Agent 与 Worktree
Grok Build 可以把研究、实现和审查任务交给多个子 Agent 并行处理。每个子 Agent 有自己的上下文,也可以使用独立 Git worktree,减少同时修改同一文件的冲突。
- 把子任务写得独立、边界明确。
- 并行探索和测试通常比并行修改同一模块更安全。
- 主 Agent 应统一审查和整合结果。
- 合并前运行完整回归测试。
七、常用场景
- 大型仓库代码搜索和架构梳理。
- 跨文件功能、重构和迁移。
- 自动运行构建、测试和后台任务。
- 本地代码审查和 Git 操作。
- Headless 模式接入脚本与 CI/CD。
- 通过 Web Search 查询官方文档和依赖信息。
八、安全建议
- 从小权限开始,只开放当前工作区。
- Plan Mode 不等于最终安全审查;执行前仍要看命令和目标。
- 密钥使用环境变量或密钥管理器。
- 对下载、安装、发布、删除和数据库操作保留确认。
- 运行不可信代码时启用沙箱或容器。
- 提交前检查 diff、Git 状态和生成文件。
九、Grok 网页版与 Grok Build 的区别
grok.com 面向聊天、搜索和内容生成;Grok Build 是在电脑终端中运行、面向代码库和工程工具的 Agent。如果目标是修改本地项目,应使用 Grok Build;如果只是问答或生成内容,网页版更直接。
十、常见问题
安装后命令不可用
重新打开终端,检查 PATH,并参考官方文档确认支持的 Shell 和系统。
计划看起来正确但执行失败
检查依赖、权限、工作目录和测试环境。让 Agent 基于真实错误调整,而不是不断重试同一命令。
如何避免误改主分支?
开始前建立独立分支或 worktree,并要求工具在每次提交前展示 Git 状态。