单元二 和 AI 第一次合作 · 选修 B

换一个助手:Grok CLI

选修课,跳过不影响后面的内容。Grok CLI 是 xAI 出品的编程智能体,装法和 Codex 略有不同:它通过 Node.js 安装,Key 写在它自己的配置文件里。

本课目标

  • 安装 Node.js 和 Grok CLI。
  • 写好 Grok 的配置文件,并关闭“自动批准”。
  • 用它把第 7 课的只读任务再做一遍。

跟着做

1. 安装 Node.js

如果你在第 5 课已经装过 Node.js,运行 node --version 看一下,版本号是 20 或更高就可以跳过这一步。

否则打开 Node.js 官网下载页,下载 LTS 版安装包装好。Windows 也可以运行:

winget install --id OpenJS.NodeJS.LTS -e

Windows 用户还要允许 PowerShell 运行脚本(第 5 课讲过原因),看到提示输入 Y:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

装好后重开终端。

2. 安装 Grok CLI

npm install -g @xai-official/grok --registry=https://registry.npmmirror.com

macOS 也可以用官方安装器:

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

重开终端,检查:

grok --version

3. 写配置文件

Grok 的配置文件在家目录下的 .grok/config.toml,Key 直接写在里面。下面的命令会自动把第 6 课设好的 XAI_API_KEY 填进去,你不用手动粘贴 Key。如果你以前用过 Grok CLI,先备份原来的配置文件。

Windows:

New-Item -ItemType Directory -Force "$HOME\.grok" | Out-Null
@"
[models]
default = "grok-4.7"

[endpoints]
models_base_url = "https://api.zairouter.com"
xai_api_base_url = "https://api.zairouter.com"

[model."grok-4.7"]
model = "grok-4.7"
name = "Grok 4.7"
api_key = "$env:XAI_API_KEY"
api_backend = "responses"
context_window = 500000
supports_backend_search = true

[auth]
preferred_method = "api_key"
"@ | Set-Content -Encoding ascii "$HOME\.grok\config.toml"

macOS:

mkdir -p ~/.grok
cat > ~/.grok/config.toml <<EOF
[models]
default = "grok-4.7"

[endpoints]
models_base_url = "https://api.zairouter.com"
xai_api_base_url = "https://api.zairouter.com"

[model."grok-4.7"]
model = "grok-4.7"
name = "Grok 4.7"
api_key = "$XAI_API_KEY"
api_backend = "responses"
context_window = 500000
supports_backend_search = true

[auth]
preferred_method = "api_key"
EOF
chmod 600 ~/.grok/config.toml

最后一行让这个文件只有你自己能读,因为里面有 Key。

你可能在别处看到过带有 yolo = true 或 permission_mode = "always-approve" 的 Grok 配置,它们的意思是“不用问我,直接执行”。这门课不加这两项,让 Grok 在执行命令、修改文件之前先征求你的同意。

检查配置是否生效:

grok models

能列出模型名称,说明 Grok 已经连上本站 API。

4. 再做一次第 7 课的任务

用备份做一份新副本:

Copy-Item -Recurse ~/ai-course/practice-pack-backup ~/ai-course/practice-grok
cp -R ~/ai-course/practice-pack-backup ~/ai-course/practice-grok

启动 Grok:

cd ~/ai-course/practice-grok
grok

先按 Shift + Tab 切换到计划模式(Plan),它会先调查、提出方案,而不是直接改文件。计划模式不是安全沙箱,遇到审批提示照样要认真判断。然后把第 7 课的任务原样发给它。

你应该看到

一份报告。用第 7 课的标准答案核对,特别是 10 月的报销总额(1553.50 元)。如果中途弹出审批提示,按第 7 课的规矩判断。

常见问题

grok models 报 401? 配置文件里的 Key 可能是空的。用下面的命令检查,它只数有没有填好 Key 的那一行,不会把 Key 显示出来:

(Select-String -Path "$HOME\.grok\config.toml" -Pattern 'api_key = "sk-').Count
grep -c 'api_key = "sk-' ~/.grok/config.toml

显示 1 说明填上了;显示 0 说明 Key 是空的,运行第 3 步时 XAI_API_KEY 没设好,回第 6 课检查后重新运行第 3 步。

换了 Key 以后 Grok 不能用了? Grok 的 Key 写在配置文件里,换 Key 后要重新运行第 3 步。

npm 安装报 EACCES 权限错误? 不要加 sudo 或用管理员身份硬装。macOS 用户按第 5 课常见问题里的方法,把 npm 的全局目录改到自己的家目录;其他情况把完整报错交给 AI 分析。

想系统了解 Grok CLI,请看 Grok 专题。

自检

  • grok --version 和 grok models 都正常。
  • 我的 Grok 配置里没有 yolo = true 和 always-approve。
  • 我知道 Grok 的 Key 写在配置文件里,换 Key 后要更新。
  • 我核对过它的答案。