前言:Grok Build 是什么,为什么值得学
本文是「官方文档带读」系列的又一篇:不搬运二手教程,而是带你直接读 xAI 为 Grok Build 发布的一手资料——GitHub 官方仓库 xai-org/grok-build(含完整 TUI 用户手册)与在线文档 docs.x.ai/build/overview,并把最核心的「入门 + 工作台全景」整理成一份可以直接照着上手的中文导读。文中所有命令、快捷键、配置项均出自上述官方资料,个别仍在快速演进、文档未覆盖的细节,我会明确标注「以当前版本官方文档为准」,绝不替你编造。
先回答「它是什么」。Grok Build 是 xAI 推出的终端 AI 编码代理,命令行名就叫 grok。官方仓库的自我介绍非常直白:它以一个全屏 TUI(终端用户界面)运行,能理解你的代码库、编辑文件、执行 Shell 命令、搜索网页,并管理长时间运行的任务。值得强调的是它的三种用法形态,这在同类工具里相当完整:
- 交互式全屏 TUI:日常在终端里像聊天一样指挥它改代码、跑命令;
- 无头模式(headless):通过
grok -p "提示词"一条命令完成任务,输出支持纯文本、JSON 与流式 NDJSON,专门为脚本与 CI/CD 设计; - ACP(Agent Client Protocol)嵌入:可以嵌入编辑器作为原生 AI 代理使用。
从工程实现看,它是 Rust 写的,仓库按 crate 拆得很干净:xai-grok-pager 是 TUI 前端(滚动区、输入框、弹窗、渲染),xai-grok-shell 是代理运行时与各入口点,xai-grok-tools 是工具实现(终端、文件编辑、搜索……),xai-grok-workspace 负责宿主文件系统、版本控制、执行与检查点。注意一个小细节:仓库内文档多处署名「SpaceXAI」,源码也自称定期从 SpaceXAI monorepo 同步——这就是我们熟悉的 xAI 的内部仓库写法,公开品牌仍是 xAI,登录用的是 grok.com 账号体系,这里不展开。
再回答「为什么值得学」。第一,它是当前少数几款「模型、账号、终端、CI、编辑器全链路」都由一家模型厂商自研的编码代理,你能在一个产品里同时看到 TUI 交互设计、权限模型、会话管理、工具调用框架、沙箱与工作流引擎的完整实现,学习价值很高。第二,它内置的工具面很全:文件读写 read_file / search_replace、正则搜索 grep(基于 ripgrep)、目录列举 list_dir、Shell 执行 run_terminal_command、联网 web_search / web_fetch、任务清单 todo_write、并行子代理 spawn_subagent、跨会话记忆 memory_search,并且可以用 MCP 服务器继续扩展。第三,官方用户手册就随源码一起发布在仓库里(crates/codegen/xai-grok-pager/docs/user-guide/),覆盖快捷键、Slash 命令、配置、主题、MCP、技能、插件、钩子、无头模式、沙箱等主题,是一份罕见地完整、可逐字核对的说明书,非常适合做「带读」对象。
说到定位差异,Grok Build 与 Claude Code、OpenAI Codex CLI、OpenCode 属于同一品类:都是「终端里跑、自然语言驱动、能自主读写文件并执行命令的编码代理」。有一个非常能说明问题的一手证据:官方仓库的第三方声明(THIRD-PARTY-NOTICES)里明确记录了它在源码树内移植了 openai/codex 与 sst/opencode 的工具实现,并按 Apache 许可证第 4(b) 条附了变更声明——这说明各家在工具层互相借鉴、功能同构程度很高,你在别的 CLI 代理上学到的交互心智(权限确认、会话恢复、文件引用)迁移过来成本很低。差异主要在生态与差异化能力上:Grok Build 绑定 Grok 系列模型与 xAI 账号体系(grok.com 或 XAI_API_KEY),文档示例里出现了 grok-4.6 等模型名(你账号里实际可选的模型以当前版本官方文档为准);它还带有 /imagine 文生图、/imagine-video 文生视频等多媒体生成命令,以及 Agent Dashboard 多会话看板、.rhai 工作流、Grove 挂载式仓库克隆等特色功能。与 Claude Code 等工具的逐项对比,各家都在快速迭代,建议以各自官方文档为准,本文只负责把 Grok Build 这一侧读透。
最后交代方法:本文按「安装与首次启动 → TUI 工作台全景 → Slash 命令全景 → 端到端小例子 → 踩坑经验 → 总结」的顺序展开,先建立心智地图再动手。读完前言,你现在应该掌握了:Grok Build 是什么、三种使用形态、官方一手资料的存放位置,以及它与 Claude Code / Codex CLI / OpenCode 的品类与差异要点。
安装与首次启动
官方安装渠道:只有脚本,别无分店
截至本文写作时,官方 README 与 Getting Started 给出的安装渠道非常收敛,macOS / Linux(含 Git Bash)只有一条官方命令:
# macOS / Linux / Git Bash:官方一键安装脚本
curl -fsSL https://x.ai/cli/install.sh | bash
# 安装指定版本(示例版本号 0.1.42 仅为文档原文演示)
curl -fsSL https://x.ai/cli/install.sh | bash -s 0.1.42
Windows 用户(PowerShell)则用官方的 PowerShell 安装器,它会把 %USERPROFILE%\.grok\bin 自动加进你的用户 PATH:
# Windows PowerShell
irm https://x.ai/cli/install.ps1 | iex
# 指定版本:先设环境变量再执行
$env:GROK_VERSION="0.1.42"; irm https://x.ai/cli/install.ps1 | iex
常见问题先替你问掉:有 Homebrew 或 npm 渠道吗? 我逐字核对了官方 README 与 Getting Started,目前只列出上述脚本安装器;如果你习惯 brew install 或 npm i -g,请以当前版本官方文档为准——在没有官方发布渠道之前,不建议从第三方 tap 或包源安装,免得装到旧版或来路不明的二进制。WSL 用户会由脚本自动拿到 Linux 版二进制,用 Git for Windows(Git Bash)或 MSYS2 也可以跑 bash 脚本。安装完验证一下,再顺手记下 grok update 这条升级命令(随时可用它更新到最新版):
grok --version # 验证安装
grok update # 随时升级到最新版本
首次启动与认证:浏览器开一次,凭证落盘
直接敲 grok 进入交互式 TUI。首次启动时,Grok 会自动打开你的浏览器跳转到 grok.com 完成登录;登录成功后,凭证保存在 ~/.grok/auth.json,跨会话持久有效。之后 Grok 会自动刷新凭证,只有当凭证无法再续期时,才会再次提示你登录。这意味着日常使用基本是「登录一次,长期免打扰」。
如果你的环境没有浏览器(典型场景是 CI/CD 或远程服务器),文档给出的替代方案是 API Key 认证——设置 XAI_API_KEY 环境变量即可:
export XAI_API_KEY="xai-..." # 从 xAI 控制台申请
grok
顺带一提,认证并不是只有这两种:官方文档还提到 OIDC、外部认证提供商与设备码(device code)流程等完整选项,详见用户手册的 Authentication 一章;本文不做展开,你需要时直接去读那一章即可。
进阶路线:从源码构建(可选)
如果你对 Rust 实现本身感兴趣,官方仓库也支持源码构建,但有两个前置要求值得提前知道:一是工具链由仓库根目录的 rust-toolchain.toml 固定,rustup 会在首次构建时自动装好对应版本;二是必须先安装 DotSlash(cargo install dotslash 或官方预编译包),并保证 dotslash 在 PATH 上——仓库 bin/ 目录下的封闭工具(最典型的是 bin/protoc)要靠它按需下载运行,README 特别提醒要在构建之前装好。构建命令与产物如下:
cargo run -p xai-grok-pager-bin # 构建并直接启动 TUI
cargo build -p xai-grok-pager-bin --release # 出 release 二进制
cargo check -p xai-grok-pager-bin # 快速校验
两个细节:构建出的二进制名叫 xai-grok-pager,而官方安装包对外发布时把它命名为 grok;另外仓库根目录的 Cargo.toml 是生成文件,视为只读,改依赖请编辑各 crate 自己的 Cargo.toml。仓库还附了一个 SOURCE_REV 文件,记录当前代码树对应的 monorepo 完整提交 SHA,方便你溯源版本。
安装与认证走通之后,你第一次看到的全屏界面就是 TUI 工作台。读到这里,你现在应该掌握了:官方安装脚本与验证命令、指定版本安装与升级方法、浏览器认证与 API Key 两种认证路径,以及源码构建的前置条件与注意事项。
TUI 工作台全景
界面布局:一个滚动区 + 一个输入框
认证通过后,Grok 呈现的是一个全屏 TUI,官方文档把界面归纳为两大区域:
- Scrollback(滚动区):占据绝大部分屏幕,是对话历史的主显示区——你的提问、Grok 的回复、思考块、工具调用、文件编辑与命令执行都流式刷在这里。文档明确列举了它会显示哪些内容:用户提示以粘性头部(sticky headers)呈现;代理回复做完整 Markdown 渲染与语法高亮;思考块(thinking blocks)可折叠;工具调用里嵌着文件编辑的内联 diff(inline diffs)、命令执行与搜索结果;还有跟踪进度的任务清单(task lists)。
- Prompt(输入框):屏幕底部输入消息的地方。输入后按
Enter发送;Grok 会按需读文件、跑命令、改代码,每轮工具运行都实时流式刷进滚动区。
按 Tab 可以在输入框与滚动区之间切换焦点。滚动区获得焦点时,方向键上下选择条目,左右折叠/展开条目。如果你习惯 Vim 键位,可以把 [ui].vim_mode = true 写进 ~/.grok/config.toml,或在会话里敲 /vim-mode 临时切换——之后就能用 j/k 上下、h/l 折叠。用 y 复制选中块的内容、Y 复制块的元数据(比如那条块实际执行的 Shell 命令),按 Enter 在全屏查看器里打开该块——这些都是高频操作,值得肌肉记忆。
先给一张全局架构图,帮助你理解「你看到的界面」与「背后发生了什么」之间的关系。这张图把 pager(前端)与 shell(后端)的分工画了出来,是我根据官方 README 的 crate 说明整理的示意:
┌────────────────────────────────────────────────────────────────┐
│ 你的终端(全屏 TUI) │
│ xai-grok-pager(前端):Scrollback 滚动区 + Prompt 输入框 + │
│ 弹窗/权限卡/快捷键条/命令面板/Agent Dashboard │
└───────────────┬──────────────────────────┬─────────────────────┘
│ 输入与按键 │ 流式输出(工具调用、diff、
▼ │ 思考块、Markdown 渲染)
┌──────────────────────────────┐ │
│ xai-grok-shell(后端代理运行时)│◄──────────┘
│ 会话编排 · 工具循环 · 权限裁决 │
└──────┬──────────┬──────────┬──┘
▼ ▼ ▼
┌───────────┐ ┌─────────┐ ┌──────────────────┐
│xai-grok- │ │xai-grok-│ │xai-grok-workspace │
│tools 工具集│ │config/ │ │ 文件系统·VCS·执行 │
│ read_file │ │MCP/技能 │ │ ·检查点·Grove 挂载 │
│ grep/todo │ │插件/钩子 │ │ │
│ terminal/ │ │ 记忆 │ │ ~/.grok/sessions │
│ web/子代理 │ │ │ │ │
└──────┬────┘ └────┬────┘ └────────┬─────────┘
▼ ▼ ▼
Grok 模型(grok.com 账号 / XAI_API_KEY)
主要快捷键:一张表讲清导航与视图
官方用户手册为快捷键单开了一整章,且明确说明键位内置、目前不支持自定义重映射,所以背熟官方的默认键位就是唯一选择。快捷键分两种输入模式:Simple 模式(默认)用方向键导航,任何字母键会自动聚焦输入框并输入该字母;Vim 模式则用 j/k 等键位。下表整理滚动区聚焦时最高频的导航与视图操作(表中「Vim 键」列与「替代键」列二选一即可):
| 操作类别 | Vim 键 | 替代键(Simple 模式) | 作用 |
|---|---|---|---|
| 导航 | j / k |
↓ / ↑ |
选择下一条 / 上一条对话条目 |
| 导航 | ⇧L / ⇧H |
Shift+→ / Shift+← |
跳到下一个 / 上一个回合(用户提问处) |
| 导航 | g / ⇧G |
— | 跳到滚动区顶部 / 底部 |
| 滚动 | Ctrl+K / Ctrl+J |
同左 | 不改变选择地向上 / 向下滚一行 |
| 滚动 | PageUp / PageDown |
同左 | 向上 / 向下滚一页 |
| 滚动 | Ctrl+U / Ctrl+D |
同左 | 向上 / 向下滚半页(VS Code 家族里 Ctrl+D 被占用,用 Shift+D) |
| 折叠 | h / l |
← / → |
折叠 / 展开选中的条目 |
| 折叠 | e / ⇧E |
— | 切换选中条目折叠 / 全部展开或全部折叠 |
| 内容 | y / ⇧Y |
同左 | 复制块内容 / 复制块元数据(如执行的命令) |
| 内容 | Enter(或 Ctrl+F) |
同左 | 在全屏查看器中打开选中块 |
| 视图 | r |
同左 | 切换选中条目的原始 Markdown |
| 视图 | Ctrl+E |
同左 | 展开 / 折叠全部思考块 |
| 聚焦 | i、Space 或 Tab |
Space 或 Tab |
聚焦输入框 |
| 聚焦 | Tab |
同左 | 输入框聚焦时切回滚动区 |
注意折叠相关的两个行为细节:其一,官方文档提到滚动区里的思考块默认会在流式结束时自动重置折叠状态;如果你手工折叠过某个块并希望它保持不动,可以给 pager.toml 的 [scrollback.scroll] 段设 respect_manual_folds = true(这是个默认关闭的 opt-in 配置),并且在自动滚动跟随尾部时展开某个块会暂停跟随,方便你阅读。其二,PageUp/PageDown 在输入框聚焦时也能滚动对话,且不会移动焦点或改动你正在打的草稿,这是翻看上下文的好姿势。
全局与代理级快捷键:第二张表
再给你一张「随时可用」的全局与代理级快捷键表,多数操作也有对应的 Slash 命令(下一节讲):
| 快捷键 | 作用 | 备注 |
|---|---|---|
Ctrl+P 或 ? |
打开命令面板(可搜索的常用动作列表) | 全屏与 minimal 均可用 |
Ctrl+M |
打开模型选择器切换模型;输入框聚焦时则是切换多行输入模式 | 同一个键、两种语境 |
Ctrl+O |
切换 always-approve(YOLO)模式 | 见下方权限说明 |
Ctrl+N |
新建会话(可顺带建 git worktree) | 破坏性动作需 1 秒内连按两次确认 |
Ctrl+Q |
退出应用 | VS Code 家族终端里改用 Ctrl+D(宿主抢占了 Ctrl+Q) |
Ctrl+\ |
打开 / 切换 Agent Dashboard 多会话看板 | 别名 /dashboard |
F3 |
打开会话选择器,恢复历史会话 | 等价于 /resume |
F2(或 Ctrl+, / Cmd+,) |
打开设置弹窗 | — |
Ctrl+.(或 Ctrl+X) |
打开快捷键速查表 | Ctrl+. 需要 Kitty 键盘协议,否则用 Ctrl+X |
Ctrl+T / Ctrl+G |
切换待办(todos)面板 / 任务(tasks)面板 | Ctrl+G 在 minimal 模式是「外部编辑器编辑草稿」 |
Ctrl+S(或 Alt+S) |
暂存 / 取回草稿(git stash 式) | 仅内存,退出即失 |
Ctrl+B |
把正在运行的前台命令转到后台 | — |
Ctrl+L |
打开扩展弹窗 | 非 VS Code 家族;VS Code 家族里 Ctrl+L 是「中途插话」 |
Shift+Tab |
循环切换权限模式:Normal → Plan → Auto(若启用)→ Always-approve | 输入框聚焦时 |
关于 Esc 与 Ctrl+C,值得单独讲透,因为官方文档用一整张 Escape 表来规定它们的语义,也是新手最容易困惑的地方:
- 回合运行中(默认非 Vim 全屏模式):按
Esc立即取消当前回合,而且会保留你的草稿;但如果你开了全屏 Vim 滚动模式,运行中的Esc会被吞掉、不取消——这时请用Ctrl+C。 Ctrl+C的语义是「先清空再取消」:回合运行中且输入框有草稿时,第一次按只清草稿、回合继续;草稿清空后再按才取消。- 空闲时清空非空输入框:800 毫秒内连按两次
Esc;被清掉的草稿会被暂存,可用Ctrl+S找回。若输入框为空且对话里有消息,同样的双按Esc会打开 rewind(回退)选择器(等价于/rewind,把对话回滚到更早的回合)。 - 官方还贴心地加了「取消后宽限期」:
Esc触发取消后约一秒内不会误触发 rewind,防止你疯狂按 Esc 想停住时意外弹出回退面板。 - 运行中想「插话」怎么办?普通
Enter(输入框里有文字)会把消息排队,等当前回合结束后再执行(默认行为,可用[ui].follow_up_behavior改成steer中途注入);而Ctrl+Enter是「立即发送」——它会取消当前回合(后台任务与子代理继续跑),把你的消息作为下一回合立刻发出。终端有差异:Apple Terminal 用Ctrl+O,VS Code 家族用Ctrl+L(WezTerm 需要在配置里开enable_kitty_keyboard = true,否则这些修饰键组合到不了 TUI)。
权限与卡片交互:默认情况下,Grok 在执行 Shell 命令或编辑文件之前会征询你的许可。许可不是简单弹个窗,而是「阻塞卡片」机制——官方文档定义了四类会接管键盘等你回应的卡片:提问卡(ask_user_question)、MCP 询问卡(x.ai/mcp/elicit)、权限提示卡与取消回合面板。它们的通用操作是:Tab / Shift+Tab 在选项间循环走动(不会移出卡片),1–9 直接选中对应选项,Esc 逐级后退(先把卡片里待处理的内容清掉才会离开卡片,离开后焦点停在滚动区,方便你往上翻上下文再决定),Ctrl+C 取消请求。权限提示卡里还有几个贴心键:← / → 扩大或收窄「总是允许」模式会记住的作用域,e 手工编辑 always-allow 模式(bash 提示下),Ctrl+F 展开/收起完整参数。整卡放行的两种方式前面提过:按 Ctrl+O 或启动时加 --yolo。另外用 @ 可以在提示词里附加文件:@src/main.rs 附加整个文件,@src/main.rs:10-50 只附加第 10 到 50 行,@src/ 打开目录浏览;默认尊重 .gitignore 且隐藏点文件,前缀 !(如 @!.env)可搜索隐藏文件。
工作台全景看完了。读到这里,你现在应该掌握了:TUI 的两大区域与滚动区内容类型、导航/折叠/复制的高频键位、全局与代理级快捷键、Esc 与 Ctrl+C 的精确语义、中途插话与权限卡片交互,以及文件引用 @ 的用法。
常用 Slash 命令全景
在输入框里敲 / 就会打开命令菜单,支持模糊匹配,选中的命令立即执行。官方手册指出命令有两个来源:shell 内置命令(由后端 xai-grok-shell 处理)与 pager 内置命令(由前端 xai-grok-pager 处理),两者显示在同一个菜单里;任何声明了 user-invocable: true 的已启用技能也会以斜杠命令形式出现在菜单中。如果技能与内置命令重名,内置命令永远占住裸名,技能则退到 /插件名:命令名 这种限定形式(比如 /local:compact),菜单会同时标出两者来源,冲突一目了然。这一节按用途给你一张常用命令总表,再挑几个值得展开的重点命令细讲。
会话管理
会话是 Grok 的基本单位:每段对话都是一个 session,自动保存在 ~/.grok/sessions/,随时可以恢复,会话里记录完整对话历史、工具调用、文件编辑与任务状态。最常用的会话命令如下:
| 命令 | 作用 | 别名 / 等价操作 |
|---|---|---|
/new |
开新会话并清空当前对话 | /clear;快捷键 Ctrl+N |
/resume |
打开会话选择器,从磁盘恢复历史会话 | 快捷键 F3;命令行 --resume <ID> |
/rename |
给会话重命名 | /title;/rename --auto 恢复自动命名 |
/compact [备注] |
压缩对话历史,回收上下文窗口空间 | 可在括号里告诉它要保留什么 |
/context |
查看上下文窗口占用明细(系统提示、消息、推理与开销、空闲空间分项) | — |
/session-info |
查看会话详情(认证方式、模型、回合数、上下文用量) | /status、/info |
/fork |
从当前会话分支出一个新代理,保留到此为止的历史 | — |
/rewind |
回滚到更早的回合,丢弃其后所有内容 | /undo;空闲时双按 Esc |
/copy [n 或路径] |
复制最近一次回复的 Markdown 源码 | 每次复制还会落到 ~/.grok/last-copy.txt 备份 |
/export |
把对话导出到文件或剪贴板 | — |
/delete |
删除当前会话历史(先确认;会先停掉运行中的回合、后台任务与子代理) | — |
/home |
离开当前会话回到欢迎屏 | /welcome;/dashboard 打开多会话看板 |
两个会话相关的重要细节:第一,/compact 不只是手动命令——官方文档写明上下文窗口用到 85% 时会自动压缩,阈值可以用配置 [session] auto_compact_threshold_percent 调整;压缩前若想把关键信息固化,可以先执行记忆类命令(见下文)或 /flush。第二,命令行里恢复会话的方式同样齐全:grok --resume <session-id> 恢复指定会话,grok -c 直接续上最近一次会话。
模型、模式与权限
| 命令 | 作用 | 别名 / 等价操作 |
|---|---|---|
/model <名称> |
切换模型;支持模型 ID 或显示名,推理模型可加 effort 作为第二个参数 | /m;快捷键 Ctrl+M;命令行 -m |
/effort <级别> |
不改选模型,直接设置当前模型的推理努力程度:low / medium / high / xhigh |
仅当模型支持时生效 |
/always-approve |
跳过全部权限询问(再执行一次则恢复询问) | 快捷键 Ctrl+O;命令行 --yolo |
/auto |
分类器自动放行安全工具(危险操作仍可能询问),再执行一次恢复 | 需特性启用才出现在菜单 |
/multiline |
切换多行输入:Enter 换行,Shift+Enter(或 Alt+Enter)发送 |
/ml;Ctrl+M(输入框聚焦时) |
/plan |
进入计划模式 | Shift+Tab 循环模式里也有 Plan |
/vim-mode |
切换 Vim 风格滚动区键位 | 持久化到 [ui] vim_mode |
/minimal / /fullscreen |
就地切换渲染模式(会话级,不写配置文件,运行中的回合不中断) | /full;命令行 --minimal / --fullscreen |
文档中的 /model 示例长这样:/model grok-4.6(或 /model Grok 4.6),推理模型加 effort 的写法是 /model Reasoning X high;你账号里实际可用的模型清单以当前版本官方文档(或 /model 菜单)为准。权限模式还有第三条通道:Shift+Tab 在输入框聚焦时循环 Normal → Plan → Auto(若启用)→ Always-approve。官方特别提醒 /always-approve 与 /auto 都是真开关——正处在的模式再执行一次就会关掉,两个命令互相切换也是允许的(例如 always-approve 开着的状态下执行 /auto 会切到 auto 模式)。
记忆、扩展与杂项
记忆四件套:/remember 立即把一条笔记写入记忆(始终可用,如 /remember 生产部署走的是 eu-west 集群);/memory 浏览与管理已存记忆(可用 on / off 开关);/flush 立刻把当前会话的知识固化进记忆(触发一次 LLM 摘要,适合压缩前调用);/dream 执行记忆整合、把会话日志合并成主题。注意:除 /remember 外,其余三个命令都需要先启用记忆功能(GROK_MEMORY=1 环境变量、[memory] enabled = true 配置,或受管的远程设置),/memory 还需要配置好记忆后端。
扩展与管理:/hooks、/plugins、/marketplace、/skills、/workflows 打开的是同一个扩展弹窗的不同标签页,分别管理钩子、插件、插件市场、技能与工作流目录;/mcps 打开 MCP 服务器管理弹窗;/import-claude 可以把 ~/.claude 里的权限、环境变量、MCP 服务器、钩子与路径整体导入,从 Claude Code 迁过来的人会很喜欢这个命令。
健康检查与帮助:/doctor 检查当前会话的终端、剪贴板、颜色、输入、通知与沙箱问题,/doctor fix 列出可用的自动修复;/docs(别名 /howto、/guides)浏览内置指南,/docs web 直接在浏览器打开官方文档;/tutorial(别名 /tour、/onboarding)打开内置新手教程——它不会自动弹出,想看就主动敲。还有 /usage(别名 /cost)查看额度或管理计费、/feedback 反馈问题、/btw 不打断当前任务地给代理递小纸条、/theme 换配色、/loop 30m 检查部署状态 定时循环执行提示词(间隔最短 60 秒、任务 7 天过期)、/imagine 文生图与 /imagine-video 文生视频,以及 /goal、/deep-research、/workflow 这一组自主目标与研究型工作流命令——后者的细节已经超出「入门与工作台全景」的范围,留待本系列后续文章展开。
一个端到端小例子
理论讲完,来走一遍完整流程。下面这个例子是教学性质的示意会话(具体输出取决于模型与你仓库的实际情况,命令与交互全部来自官方文档)。假设你有一个 Node.js 小项目 my-app,里面的登录接口测试最近红了,你想让 Grok 修好它并跑通测试。
第 1 步:带初始提示启动。 官方文档支持把第一句提示词直接作为启动参数,省掉一次往返:
cd ~/projects/my-app
grok "修复失败的 auth 测试,然后运行测试验证"
也可以先 grok 进 TUI 再输入。启动时若想顺带注入项目约定,用 --rules;想换目录用 --cwd;想直接放行所有工具执行,加 --yolo(演示起见我们先保留权限询问,体会一下权限卡)。
第 2 步:观察工具调用与权限卡。 回合开始后,滚动区会流式显示 Grok 的思考块与工具调用。它大概率会先 grep 定位失败的测试、用 read_file 读相关源码;第一次执行 run_terminal_command(比如跑测试)或 search_replace 改文件前,会弹出权限提示卡。你可以按 Tab 在选项间切换、1–9 直选;想看它到底要跑什么命令,按 Ctrl+F 展开完整参数再决定;嫌烦就按 Ctrl+O 直接进入 always-approve 模式。每个工具运行都会实时流进滚动区,文件编辑自带内联 diff,一眼能看出它动了哪些行——这是 TUI 工作台最直观的「过程可视化」。
第 3 步:多轮迭代与中途插话。 第一轮它改完代码并跑了测试,但可能还有用例没过。你可以直接输入下一条指令按 Enter 排队;如果它正在长回合里跑着、而你等不及,按 Ctrl+Enter(VS Code 家族终端是 Ctrl+L)立即插话——当前回合会被取消,你的新指令作为下一回合马上执行。需要它先别动、只给方案时,Shift+Tab 切到 Plan 模式(或 /plan)让它先出计划。想让某段历史不占上下文,回合间隙敲 /compact 保留 auth 模块的实现细节。
第 4 步:善用 @ 引用与 todo 面板。 如果它定位问题绕了弯路,直接 @src/auth/login.js 把文件塞给它,甚至精确到行 @src/auth/login.js:10-50;任务步骤多时按 Ctrl+T 打开待办面板,能看到它给自己列的清单实时勾选。
第 5 步:收尾与会话管理。 改完并确认测试通过后:Ctrl+N 开新会话进入下一个任务;想接着昨天的活干,重启终端后 grok -c 无缝续上最近会话;同一任务的多个方向探索可以用 /fork 分支互不污染。
第 6 步(进阶):沉淀成无头命令进 CI。 官方文档给出的 headless 用法非常适合回归检查——把「帮我审一遍改动有没有 bug」变成一条可重复执行的命令,配合 --yolo 自动放行与 JSON 输出:
# headless 模式:一条命令完成代码审查,JSON 输出喂给脚本
grok -p "Review changes for bugs" --output-format json --yolo | jq -r '.text'
JSON 输出是一个单对象,包含 text、stopReason、sessionId、requestId 四个字段;需要实时流式处理时改用 --output-format streaming-json(NDJSON 事件流)。要注意 headless 与 TUI 共用同一套会话目录,命令行 -p 跑出来的会话同样存在 ~/.grok/sessions/,之后一样能 --resume 回去看现场。多项目约定还可以沉淀成 AGENTS.md:全局放 ~/.grok/AGENTS.md,仓库级放仓库根目录,目录级放当前工作目录(优先级最高),Grok 会在会话开始时把这些内容作为项目指令注入;为了兼容迁移用户,它也会读 CLAUDE.md。
走完这个小例子,你现在应该掌握了:从带提示启动到权限放行、从多轮插话到上下文压缩、再到 headless 进 CI 的完整使用闭环,以及 @ 引用、todo 面板、AGENTS.md 这些提效细节。
踩坑经验
这一节把新手最容易踩的坑整理成「❌ 错误姿势 / ✅ 正确姿势」对照。每一条都对应官方文档里的明确表述,是我通读手册时觉得最值得划线的部分。
❌ 回合运行中疯狂按 Esc 想「停住它」,结果弹出了 rewind 回退面板,还差点把对话回滚了。
✅ 先分清 Esc 的三种语境:回合运行中(默认模式)按一次 Esc 即取消且保留草稿;空闲时清空非空输入框、或打开 rewind,都需要 800 毫秒内连按两次。官方还专门设计了「取消后宽限期」——Esc 取消后约一秒内 rewind 不会被触发,就是防你误操作;若你开着全屏 Vim 模式,运行中 Esc 根本不取消(被吞掉),得用 Ctrl+C。另外 Ctrl+C 与 Esc 清草稿的后果不同:Esc 双按清掉的草稿会被暂存、可用 Ctrl+S 找回;Ctrl+C 清掉就直接丢弃(文字仍留在 ↑ 历史里)。
❌ 想开 git worktree 干活,写成 grok -w "重构模块 X",结果提示词被当成 worktree 标签吞了,会话根本没按你的话开工。
✅ 官方文档用了一个非常显眼的警示:worktree 名称参数必须用等号形式 grok --worktree=feat "重构模块 X";若想基于某分支(如 main)创建而非当前 HEAD,用 grok -w --ref main "实现来自 main 的功能"。带 = 与不带 =,语义完全不同,这是文档原话级别的坑。
❌ 在 VS Code / Cursor 等集成终端里发现快捷键「失灵」:Ctrl+Q 退不出去、Ctrl+Enter 插话没反应、Ctrl+. 打不开速查表。
✅ 这些大多不是 Grok 的 bug,而是终端宿主抢占了键位:VS Code 家族里 Ctrl+Q 被宿主捕获,退出改用 Ctrl+D;中途插话改用 Ctrl+L(Ctrl+Enter / Ctrl+I 在部分终端根本到不了 PTY);Ctrl+. 需要 Kitty 键盘协议,不支持的环境里官方会改用 Ctrl+X 作为速查表主键(Ctrl+X 是经典控制字符,处处可用)。WezTerm 用户要给 Ctrl+Enter 类组合键开 enable_kitty_keyboard = true;Windows 上某些控制台会丢 Ctrl 修饰键,插话可改用字母键 Ctrl+I;tmux 里修饰键异常就先跑 /doctor。键位表很长,遇到「某键没反应」先查官方快捷键文档里该键在你终端家族下的替代键,多半有解。
❌ 用 grok clone 克隆了大仓库,之后普通 git fetch origin 想拉别的分支,发现拉不到完整历史。
✅ grok clone 的默认行为是深度 1 的引导克隆(blob:none + --depth=1),只广告所选分支;要完整历史、标签或所有远程分支,克隆时就加 --full-history。克隆后 git fetch --deepen=N origin 或 git fetch --unshallow origin 只能加深当前所选分支;拉取其他分支得用显式深度 refspec:git fetch --depth=1 origin refs/heads/NAME:refs/remotes/origin/NAME。还要记住 grok clone 本身由 Grove 配置门控(~/.config/grove/config.toml 里 [clone] enabled = true),macOS 走 NFS、Linux 走 FUSE 挂载工作树——这些机制细节官方在 grok clone 手册页写得很清楚,别拿普通 git 的心智去套。
❌ 想给 xai-org/grok-build 提 PR「帮忙修个文档错别字」。
✅ 仓库 README 的 Contributing 一节白纸黑字:外部贡献不被接受——它只是从 xAI monorepo 定期同步出来的只读镜像,改代码请认准官方渠道。同理,仓库根目录的 Cargo.toml 是生成文件,官方标注「视为只读」,自己 fork 改依赖也要改 crate 级 Cargo.toml。想反馈问题,用产品里的 /feedback,或走官方支持渠道。
❌ 到处找 brew install grok 或 npm 包,装了个来路不明的版本。
✅ 官方 README 与 Getting Started 目前只发布两种安装渠道:curl -fsSL https://x.ai/cli/install.sh | bash(macOS / Linux / Git Bash)与 PowerShell 的 irm https://x.ai/cli/install.ps1 | iex(Windows),升级用 grok update。其他包管理器渠道是否存在,以当前版本官方文档为准;在没有官方背书前,别用第三方源装这种要读写你文件系统、执行命令的工具。
❌ Windows 上截图后想直接粘进提示词,按 Ctrl+V 发现图片丢了、只粘出纯文本。
✅ Windows Terminal 的默认 Ctrl+V 只粘贴纯文本,会悄悄丢弃图片剪贴板;Grok 在 Windows 上专门提供了 Alt+V 粘贴截图 / 「复制图片」。想恢复 Ctrl+V 粘图,需要在 Windows Terminal 的 settings.json 的 actions 里加一条 { "command": null, "keys": "ctrl+v" }。macOS / Linux 则是 Cmd+V / Ctrl+V 直接粘;从文件管理器拖图进输入框三平台都支持。
❌ 记忆类命令 /memory、/flush、/dream 敲下去没反应。
✅ 这几个命令需要先启用记忆功能(GROK_MEMORY=1 环境变量或 [memory] enabled = true 配置,或受管的远程设置),/memory 还额外要求配置好记忆后端;只有 /remember 始终可用。官方文档明说了这些门槛,不是命令坏了。
踩完这些坑,你现在应该掌握了:Esc / Ctrl+C 的精确语义、worktree 参数的等号陷阱、各终端家族的键位替代方案、grok clone 的浅克隆模型、仓库只读与配置生成文件的约束、官方安装渠道的甄别,以及记忆类命令的启用前提。
总结
最后把这篇带读浓缩成六条,方便你日后快速回忆:
- 资料就认准一处:Grok Build 的一手资料是 GitHub 的
xai-org/grok-build仓库(README + 随源码发布的完整用户手册docs/user-guide/)与在线文档docs.x.ai/build/overview;仓库由 xAI monorepo 只读同步、外部贡献不被接受,产品迭代快,任何命令与配置的最终口径都以当前版本官方文档为准。 - 安装认证三步走:官方脚本(macOS / Linux / Git Bash 用
curl -fsSL https://x.ai/cli/install.sh | bash,Windows 用 PowerShell 安装器)→grok --version验证 → 首次启动浏览器登录 grok.com(凭证落~/.grok/auth.json,无浏览器场景改用XAI_API_KEY)。 - 工作台就两块:Scrollback(对话历史、思考块、内联 diff、任务清单全部流式显示在这里)+ Prompt(底部输入框);
Tab切换焦点,滚动区聚焦时方向键 / Vim 键导航,y/Y复制内容与元数据,Enter全屏查看。 - 记住三组高频键:
Ctrl+O一键放行(YOLO)、Ctrl+P命令面板、Ctrl+N新会话;Esc管取消与清空(双按触发 rewind),Ctrl+Enter是打断插话的「立即发送」,与排队的普通Enter分工明确。 - 会话与上下文要主动管理:会话自动存
~/.grok/sessions/,grok -c续最近、/resume或--resume <ID>恢复指定会话;上下文到 85% 自动压缩,也可/compact手动压缩并附保留说明,压缩前/flush固化记忆。 - 从 TUI 到 CI 一条路:交互调通后,同样的能力可以用
grok -p "提示词"无头执行,输出选json或streaming-json交给脚本,配合--yolo与jq就能把代码审查、回归检查这类任务沉淀成 CI 里可重复的命令。
读到这里,你现在应该掌握了本文的全部主线:从定位认知、安装认证,到工作台操作、命令体系、端到端实践与避坑清单——下一步就可以打开终端 grok 一把梭,再按需去官方用户手册深挖配置、MCP、技能与工作流章节。
参考资料
本文所有事实性内容均出自以下一手资料(抓取与核对时间:2026 年 9 月,版本以当时仓库 main 分支为准):
- xai-org/grok-build 官方仓库 README:https://github.com/xai-org/grok-build(含安装、源码构建、仓库布局、第三方声明与许可证)
- 在线文档总入口:https://docs.x.ai/build/overview;更新日志:https://x.ai/build/changelog;产品主页:https://x.ai/cli
- 用户手册 Getting Started:仓库内
crates/codegen/xai-grok-pager/docs/user-guide/01-getting-started.md(安装、首次启动认证、基础交互、会话、工具表、启动参数、无头模式、AGENTS.md) - 用户手册 Keyboard Shortcuts:同上目录
03-keyboard-shortcuts.md(输入模式、导航、视图、阻塞卡片、Esc 语义、代理级与全局键位、终端差异) - 用户手册 Slash Commands:同上目录
04-slash-commands.md(会话管理、模型与模式、记忆、扩展、工作流、账户与计费、技能命令化) - 用户手册 grok clone:同上目录
27-grok-clone.md(Grove 内容库、浅克隆默认行为与加深方法)
读完参考资料清单,你现在应该掌握了如何回溯本文每一处论断的原始出处——这也是「带读」系列想留给你的终极能力:任何工具,都从一手文档里长出你自己的判断。