Grok
Grok 提供商在中继所在的机器上驱动 Grok CLI。无需在 OAR 中输入 API 密钥:Grok 使用 CLI 已登录的账户,你可以从浏览器安装 CLI 并登录。
Grok 没有提问卡片,没有引导,也没有 OAR 能够强制执行的计划模式。所有提供商的对比表见提供商一览。
你需要什么 #
- 中继所在机器上的 Grok CLI(
grok)。OAR 可以为你安装它(见 Grok CLI 一行)。 - 一个 Grok 账户,在那台机器上登录。你可以从浏览器登录(见登录),或在那台机器上运行
grok login。中继不存储任何 Grok 秘密:CLI 把登录保存在~/.中。grok/ auth. json
Grok CLI 一行会在中继的 PATH 上查找 grok,然后在 ~/.、~/. 和 / 中查找。会话、登录和模型发现会从 PATH 启动 grok,或启动 GROK_ 中指定的二进制文件(见环境变量)。
Grok CLI 一行 #
在 Settings → Providers → Grok(设置 → 提供商 → Grok)的顶部,Grok CLI 一行会显示 CLI 是否已安装。已安装时,这一行会显示版本、所在位置、安装方式以及是否为最新,例如 1.,或在有更新版本时显示 update available (…)。它的按钮取决于状态:
| 按钮 | 何时出现 | 作用 |
|---|---|---|
| Install(安装) | 未找到 CLI | 请你确认,列出要执行的命令和写入的文件夹,然后以中继用户的身份运行 xAI 自己的安装程序。在 Linux 和 macOS 上为 curl -fs,安装到 ~/.;在 Windows 上为 irm https://。 |
| Update(更新) | 已找到 CLI | 请你确认,然后运行 grok update。它不会再次运行安装程序。 |
| Cancel(取消) / Dismiss(关闭) | 运行进行中 / 运行结束后 | 停止运行 / 清除结果。 |
输出会以 Install log(安装日志)的形式流入面板,在其他设备上也能看到。中继上同一时间只运行一个安装,运行超过 10 分钟的安装会被停止。命令固定在中继内,并且从不使用 sudo 运行。安装或更新之后,新会话会立刻使用新的二进制文件,中继也会在重启之间记住它;正在运行的会话会保留它们启动时所用的那一个。另见安装或更新提供商的 CLI。
启用 #
Grok 默认关闭。打开 Settings → Providers → Grok。在 Grok 下:
| 控件 | 默认值 | 作用 |
|---|---|---|
| Enable Grok for New Chat model selection(在新建对话的模型选择中启用 Grok) | 关闭 | 让 Grok 成为 New Chat(新建对话)中的选项,并运行模型发现。切换后立即生效,无需 Save Grok settings。 |
| Grok model ID(Grok 模型 ID) | grok- |
Grok 对话一开始所用的模型。按 Save Grok settings 应用。 |
| Save Grok settings(保存 Grok 设置) | 保存模型 ID。 |
控件下方的一行会说明 Grok 所处的状态。关闭 Grok 会把尚未发送消息的对话移回 Copilot。已经开始的对话会保留 Grok。见开始对话。
同一面板再往下是 Grok monthly plan allowance(Grok 每月套餐额度)(见用量)。
登录 #
在 CLI 一行下方,账户一行会显示账户状态。已登录时,它显示 CLI 的计费信息所提供的内容,例如 70% of weekly quota used,恰好只有一个产品时前面还会加上产品名称。未登录时,它显示 Not signed in。已过期的令牌会显示 token expired, may need a new sign-;CLI 通常会自行续期。这一行只识别通过 CLI 完成的登录。
Sign in(登录) #
- 按 Sign in。中继会在其机器上运行
grok login --device-。auth - 面板显示
Starting the Grok sign-,然后显示 x.ai 登录链接和一个 Copy link(复制链接)按钮,旁边是形如in on the relay host… XXXX-的代码。XXXX - 在任意设备上打开该链接,例如手机,并在浏览器中确认。检查浏览器显示的代码是否与面板中的一致。代码已经包含在链接中,因此你无需输入任何内容。
- 面板会自行变为
Signed in to Grok.,片刻之后登录区域会收起。无需把任何内容粘贴回 OAR:CLI 会等待 x.ai 并自行完成。会运行一次新的模型发现,因此你无需重启中继。
Cancel 会放弃登录。未完成的登录会在 10 分钟后结束,显示 Grok login timed out after 600s。一个中继上同一时间只运行一个登录,并且每个打开的浏览器都能看到它,因此你可以在一台设备上开始、在另一台设备上完成。如果失败,面板会显示错误和一个 Dismiss 按钮。
Sign out(退出登录) #
Sign out 会打开一个确认框,其中显示账户名称以及正在运行的 Grok worker 数量。用 Sign out 确认。此后新的 Grok 轮次会失败,直到你再次登录。登录进行中或没有账户登录时,该按钮不可用。
正在运行的 Grok 会话会保留之前的账户,直到它们的 worker 进程退出。新会话使用新账户。
在失败的回复上 #
当一轮因为 CLI 缺失或未登录而失败时,失败的回复会带有通往修复的按钮:
| 回复内容 | 按钮 |
|---|---|
Grok CLI was not found on PATH. Install it from Settings → Providers → Grok. |
Install Grok CLI(安装 Grok CLI),打开与 Install 按钮相同的确认;Grok settings(Grok 设置) |
Grok authentication failed. Sign in from Settings → Providers → Grok, or run grok login on the relay host / set XAI_ |
Sign in to Grok(登录 Grok),打开设置并开始登录;Grok settings |
安装或登录完成后,重新发送消息。
模型 #
开启 Grok 会发现 CLI 提供的模型,并把它们添加到各选择器。中继会在以下时候询问 CLI:你开启 Grok 时、你更改模型 ID 时、登录之后,以及从面板安装之后。如果 CLI 一个都没有报告,就只提供 grok- 和你的模型 ID。在 Select Models(选择模型)中,Grok 标签页选择其中哪些显示在输入区中,然后按 💾 Save enabled models(保存已启用的模型);默认模型始终保持启用。
模型固定不变 #
一个 Grok 对话只使用一个模型。你在 New Chat 中选择的模型会在会话启动时传给 CLI,而 CLI 无法在会话内切换模型。发送第一条消息之后,输入区会锁定选择器,中继会以 Grok model switching requires creating a new Grok conversation 拒绝其他模型。要使用另一个模型,请开始另一个对话。见开始对话。
推理强度 #
推理强度选择器提供 none、low、medium 和 high,以及 CLI 为该模型报告的其他级别。OAR 会把所选级别(none 除外)作为提示随每条消息发送。不支持它的 CLI 版本会忽略它,因此不要指望它改变回答。
哪些可用、哪些不可用 #
- 流式输出、思考与停止。 回复和智能体的思考会实时流式显示。Stop(停止)会取消这一轮。
- 权限。 OAR 在每种模式下都以 allow once(允许一次)回应智能体的每个权限请求。不会询问你。
- 提问卡片。 没有:Grok 协议没有向你提问的方式。智能体只能在回复文本中提问,并等待你的下一条消息。见 ask_user。
- 中继模式。 ask、autopilot 和 plan 以你消息前面的一行
[Relay mode: ...传达给智能体,在模式更改时添加。没有任何机制强制执行它们。见中继模式。] - 计划看板。 在 plan 模式下,当最终回复至少有两行看起来像计划步骤时,会出现一个 Plan ready for review(计划已就绪,待审阅)看板。没有可供等待的计划工具。
- 没有引导。 在一轮期间发送的消息会在它后面等待,发送按钮显示为 Queue(加入队列)。见轮次与队列。
- OAR 的智能体工具。 Grok 会从 OAR 附加到每个 Grok 会话的一个小型 MCP 服务器获得
preview,并在配对了中继或开启了智能体会话时获得relay_。设置tool OAR_时不会附加该服务器:没有MCP_ SERVER= 0 relay_,智能体会被告知如何改为调用预览 API。见智能体工具 → 按提供商。Grok 对话也可以被另一个智能体监视。tool - 附件。 文件以你文本之后的一行
[Attached file: <path>]传达给智能体,而不是作为内容。智能体必须自己读取文件。 - 子智能体。 Grok 的任务或智能体工具调用会显示为一个子智能体小标签,带有其状态。子智能体的嵌套文本不会被记录。
- 后台任务。 0.9.12 新增 任务面板会列出智能体打开的、运行超过两秒的每个终端,显示为一个 Bash 行,带有 Stop 和一个包含其输出的控制台。当智能体用完该终端或命令退出时,它会离开面板。Background task timeout(后台任务超时)不适用于 Grok。
- 上下文。 🧠 按钮显示上一轮的 token(输入、缓存、输出)。当模型的窗口大小已知时,它会加上占窗口的百分比。没有分类。
- 压缩。 OAR 不会为 Grok 设置或显示自动压缩,也没有窗口设置。见压缩对话。
- 静默与单轮时长上限。 静默太久的一轮会失败:没有进行中的操作时为 120 秒,模型请求期间为 300 秒,工具运行时为 30 分钟。当智能体在等待一个
relay_调用,或等待中继为它运行、且在最近 5 分钟内输出过内容的命令时,静默不计时。这一轮还受 Max turn duration(单轮最长时长)限制,从提示词开始时算起,达到上限的 Grok 轮次会失败,而不是回到队列。这些窗口、如何更改它们以及该上限见轮次与队列。tool - 重启之后。 中继会存储 Grok 会话 ID,并在 worker 再次启动时加载该会话。如果 CLI 无法加载它,会有一条提示说明,这一轮会启动一个不含先前上下文的新会话。见重启与恢复。
- 用量。 Grok 回复没有用量行;见用量。
用量 #
Grok 开启时,📊 Check Usage(查看用量)中有一张 Grok 卡片。它显示:
- Weekly plan usage(每周套餐用量),一个带重置日期的实时百分比进度条,用 CLI 的登录读取。没有 CLI 登录时,进度条不显示,卡片显示下面的估算值。
- Latest turn(最近一轮):费用(估算值)、模型、输入、输出、缓存和推理的 token、在 API 中花费的时间和智能体轮次数,以及 By model (last turn)(按模型,上一轮)明细。
- Current cycle (local)(当前周期,本地):自上次计费重置以来的估算花费、记录的轮次数和 token,由此中继上的 Grok 轮次累加而来。
卡片链接到 xAI 控制台。费用来自智能体自己的报告,并标为估算值。
每月额度 #
Grok 不向 OAR 报告剩余额度,因此 OAR 可以把它自己的估算与你给出的预算进行比较。在 Grok monthly plan allowance 下:
| 控件 | 默认值 | 作用 |
|---|---|---|
| Monthly allowance (USD)(每月额度,USD) | 空 | 你的每月预算。设置后,卡片会增加一个 Estimated monthly spend(估算每月花费)指示条。为空或 0 表示没有额度。 |
| Billing resets on day of month(每月计费重置日) | 1 |
周期开始的日期,1 到 31。 |
| Save allowances(保存额度) | 保存两个字段。 | |
| Reset tracked spend(重置已记录的花费) | 确认之后,清除当前周期内已计入的花费。在你更换套餐或账户之后使用它。 |
环境变量 #
在中继启动时的环境中设置这些变量。
| 变量 | 作用 |
|---|---|
GROK_ |
要使用的 Grok 二进制文件,取代 PATH 中的 grok。从面板安装或更新时会为你设置它。未设置时会读取 GROK_。会话、登录和模型发现会使用它;Grok CLI 一行不会。 |
OAR_ |
0 会让 OAR 不再附加它的 MCP 服务器,因此 Grok 没有 relay_,并以文本形式获得预览说明。 |
静默窗口有自己的变量,列在轮次与队列中。
XAI_ 出现在登录错误文本中,并由 CLI 读取,但 OAR 不会把它传给会话,账户一行和每周进度条也会忽略它。请改为用 CLI 登录。
限制 #
- 模型按对话固定,换用的账户只对新会话生效。
- 登录只使用设备码流程;不提供 CLI 的浏览器回调登录和企业登录。
- 没有卸载按钮,也无法固定 CLI 版本。
疑难解答 #
失败的回复以 Error code: relay.<code>. 结尾;下面的代码是其中稳定不变的部分。
| 问题 | 怎么办 |
|---|---|
| New Chat 中没有 Grok | 在 Settings → Providers → Grok 中开启 Enable Grok for New Chat model selection。 |
| CLI 一行显示 Not installed(未安装) | 按 Install,或把 grok 放到中继的 PATH 上,然后重新打开设置。仅设置 GROK_ 不会改变这一行。 |
Grok CLI was not found on PATH(relay.) |
在失败的回复上按 Install Grok CLI。无需重启中继。文本中包含“not found”或“spawn”的其他任何失败也会这样显示,因此如果 CLI 已安装,请改为查看 CLI 自己的错误。 |
Grok authentication failed(relay.) |
在失败的回复上按 Sign in to Grok,并在浏览器中确认代码。正在运行的会话会保留它的旧令牌,直到其 worker 退出;登录后重新发送消息。 |
账户一行显示 Not signed in |
按 Sign in。 |
Grok login timed out after 600s |
10 分钟内无人确认代码。再按一次 Sign in。 |
Grok login exited with code … |
CLI 拒绝或失败;它后面的文本是 CLI 的最后输出。按 Dismiss,然后再按一次 Sign in。 |
Grok model discovery failed. Cached Grok models were kept: … |
在 Select Models 中按 Refresh(刷新)后出现的提示。CLI 没有在 20 秒内回应,或已退出登录。先登录,然后关闭再开启 Grok,或再按一次 Refresh。 |
Grok model switching requires creating a new Grok conversation |
模型是固定的。用你想要的模型开始一个新的 Grok 对话。 |
the Grok runtime sent nothing for 120s…(relay.) |
静默窗口已用完。重新发送消息。 |
grok turn exceeded the 60-(relay.) |
达到了 Max turn duration。发送一条新消息,或调高该设置。 |
System note: the previous Grok session could not be restored… |
CLI 无法加载存储的会话。这一轮在不含先前上下文的情况下重新开始。 |
| 智能体提了一个问题,然后什么都没发生 | Grok 上没有卡片。在输入区中回答。 |
Error code: relay. |
来自 CLI 的其他任何错误,代码前面是它自己的文本。重新发送消息;如果反复出现,请检查中继机器上的 CLI。 |