Grok 0.2.112 变更解析:toolOverrides 搜索工具策略、/tutorial 引导与终端环境修复全面升级
【免费下载链接】grok-buildSpaceXAI's coding agent harness and TUI. Fullscreen, mouse interactive, extensible.项目地址: https://gitcode.com/gh_mirrors/gr/grok-build
本文基于 grok-build 仓库(SpaceXAI 的 coding agent harness 与 TUI,全屏、鼠标交互、可扩展)的官方变更日志 0.2.112.md 编写,并结合仓库源码对核心新特性做了实现级考证。读者将掌握 0.2.112 版本的破坏性变更、新增配置项与命令用法,以及这些能力在源码中的落点,便于评估升级影响并立即上手使用。
版本总览
0.2.112 是 2026-07-24 发布的版本,共包含 39 项变更(1 项 Breaking Change、约 20 项新特性、约 18 项缺陷修复)。本版本的重点可以归纳为四条主线:
- CLI 版本策略重构:将"软性更新建议"与"硬性启动要求"分离,属于需要关注的破坏性变更;
- 搜索工具可配置化:新增
tool_overrides/toolOverrides,让用户为 Agent 内置搜索工具设置日期截止与域名白名单; - 环境与终端自愈能力集中化:终端与环境的诊断修复统一收口到
/doctor,并新增grok doctor fix的 tmux 修复能力; - 工作流、会话恢复、插件市场的体验补齐:覆盖 workflows 实时进度、按标题恢复会话、市场源非 git URL 校验、hooks 迁移到 config.toml 等日常高频场景。
Breaking Change:CLI 版本策略分离"软地板/软天花板"与"硬启动要求"
升级前必读:本版本将 CLI 版本策略拆分为两部分:
- 软更新地板/天花板(soft update floors/ceilings):用于提示建议升级或建议停留在某版本,不影响启动;
- 硬启动要求(hard startup requirements):低于该版本将直接拒绝启动。
从仓库配置结构看,CLI 版本策略通常由远程设置(remote settings)驱动,Agent 初始化时会等待 remote settings 到达后再应用策略(参见 acp_agent.rs 中remote_settings_settled相关逻辑)。本次拆分的意义在于:提示性建议不再阻断工作流,只有真正不兼容的版本才被硬性拦截,从而减少用户"莫名被拒"的困惑,也让运营方可以独立收紧两个阈值。
升级到 0.2.112 后,建议先运行grok doctor(或直接grok启动)确认当前版本是否落在软/硬要求区间内,再继续日常使用。
新特性详解
1./tutorial:九大主题的可选 onboarding 导览
0.2.112 新增/tutorial斜杠命令,提供一个九主题(nine-topic)的 opt-in 入门导览,帮助新用户快速了解 Grok 的核心操作。之所以是"opt-in",意味着不会在首次启动时强制打断,用户可随时主动唤起。
在源码层面,tutorial已注册进斜杠命令保留名列表(与tour、onboarding、welcome等导览类命令并列),参见 slash_commands.rs。该保留名机制意味着插件或技能(SKILL.md)不能抢占tutorial这个名字,确保内建导览始终可用。
2.tool_overrides/toolOverrides:搜索工具的日期截止与域名白名单
这是本版本最具技术含金量的新特性。它允许你为 Agent 的内置搜索工具设置两类约束:
- 日期截止(date cutoffs):限制搜索结果的时间范围;
- 域名白名单(domain allowlists):限制搜索结果来自哪些域名。
该选项在配置中同时提供 snake_case(tool_overrides)与 camelCase(toolOverrides)两种拼写形式,用于对接不同配置/协议层。
源码落点:能力声明与 meta 传递
在 Agent 实现中,ToolOverridesCapability结构体明确声明了哪些x_search子工具会执行日期截止策略(acp_agent.rs):
/// Which `x_search` sub-tools enforce the date cutoff, sent in `initialize`. /// `x_user_search` and `x_thread_fetch` are `false`: they don't honor it yet. struct ToolOverridesCapability { x_keyword_search: bool, x_semantic_search: bool, x_user_search: bool, x_thread_fetch: bool, } const TOOL_OVERRIDES_CAPABILITY: ToolOverridesCapability = ToolOverridesCapability { x_keyword_search: true, x_semantic_search: true, x_user_search: false, x_thread_fetch: false, };即当前版本中:
| 搜索子工具 | 是否执行日期截止 |
|---|---|
x_keyword_search | ✅ 是 |
x_semantic_search | ✅ 是 |
x_user_search | ❌ 否(暂不支持) |
x_thread_fetch | ❌ 否(暂不支持) |
该能力形状通过 ACPinitialize请求的 meta 发送给服务端,并有测试锁定其线上线格式(acp_agent.rs):
tool_overrides_capability() == { "x_keyword_search": true, "x_semantic_search": true, "x_user_search": false, "x_thread_fetch": false, }覆盖项在会话数据模型中的类型为Option<xai_grok_sampling_types::ToolOverrides>(见 mod.rs),最终以 camelCase 形式落到 PromptResponse 的_meta键中。单元测试 prompt_response_meta_tests.rs 验证了如下形状:
{ "toolOverrides": { "xSearch": { "dateBound": { "toDate": "2024-03-15" } } } }测试同时断言:未设置覆盖时meta中不出现toolOverrides键,webSearch在未配置时也不出现。这意味着该配置是增量生效的,不会污染其它元数据。
使用建议:如果你希望 Agent 搜索只基于某个时间点之前的信息,或只信任特定来源域名(例如官方文档域),可在对应配置文件中设置
tool_overrides(注意当前只有x_keyword_search与x_semantic_search两个子工具真正执行日期截止)。
3. 自定义模型 Provider:查询参数、环境变量头与 Shell 工具变量控制
本版本为自定义模型 Provider 新增两类配置能力:
- 为自定义模型 provider 添加查询参数(query parameters)或环境变量支持的请求头(environment-backed headers);
- 控制哪些环境变量能够到达 shell 工具。
源码层面,模型请求头配置在 config.rs 中以extra_headers: IndexMap<String, String>表达,同时支持全局默认与逐模型覆盖两层语义:全局[models].extra_headers作为默认值折叠进所有模型,而单个[model.<id>].extra_headers按 key(大小写不敏感)覆盖全局值(参见 config.rs 的apply_global_extra_headers实现)。
环境变量控制 shell 工具变量的意义在于安全性:你可以精确放行哪些环境变量进入 shell 工具的执行环境,避免把本机敏感环境变量(如密钥、token)暴露给工具调用。
4./doctor整合终端与环境修复,grok doctor fix支持 tmux
- 终端与环境修复整合:此前的终端/环境相关零散修复建议,现在统一收口到
/doctor命令下,诊断输出与修复指引更清晰; grok doctor fix修复 tmux:新增对常见 tmux 剪贴板(clipboard)与 passthrough 问题的自动修复能力。这对在 tmux 中运行 Grok 的用户非常实用——剪贴板失效、输入透传异常是 tmux 环境下的高频痛点。
如果你在 tmux 中遇到复制粘贴失效或按键透传异常,升级后可直接运行grok doctor fix尝试自动修复。
5. Marketplace:add 时即拒绝非 git URL
插件市场的add操作现在会在添加时就拒绝非 git URL,而不是等到后续刷新/拉取时才失败。这属于"尽早失败(fail fast)"的体验改进:输入错误的源地址立即得到反馈,且避免了无效源导致市场刷新卡死的问题。配套地,市场源刷新(source refresh)不再挂起 TUI,也不会把用户困在扩展管理弹窗中。
6. 斜杠命令支持方括号标签(如[new])
斜杠命令现在可以展示可选的方括号标签(例如[new]),用于标记新增/试验性命令。该标签可以通过配置或远程设置(remote settings)控制,方便运营方在命令列表中标注新能力,引导用户探索。
7. 队列提示支持[edit]鼠标按钮
排队中的提示(queued prompts)除了原有的 Send now(立即发送)与取消之外,新增[edit]鼠标按钮,可以直接回到编辑态修改待发送的提示内容,不必取消后重新输入。
8. 语音快捷键可单独关闭
设置中新增Voice shortcut 开关:可以仅禁用Ctrl+Space/F8语音快捷键,而不必完全关闭语音功能。适合那些用不到快捷键、又不想误触发的用户。
9. 图片编辑模型可远程配置
此前图片编辑使用硬编码的默认模型,本版本改为可通过远程配置指定模型 slug。这意味着运营方无需发版即可调整图片编辑所调用的模型。
10. Per-provider 认证助手:支持 Windows 与可配置工作目录
各 Provider 的认证辅助命令现在:
- 可在 Windows 上工作;
- 可以从可配置的工作目录(working directory)运行。
这解决了此前认证助手在 Windows 下不可用、以及必须在特定目录下执行的问题,跨平台体验明显改善。
11./resume与grok --resume:原生会话优先 + 按标题恢复
/resume现在默认只展示原生 Grok 会话;当外部会话(如 Claude/Codex 导入的会话)被隐藏时,会显示提示说明,避免用户困惑"我的会话去哪了";grok --resume除了按会话 ID 恢复外,现在也支持按会话标题(title)恢复,命令行恢复会话更加灵活。
12. Workflows:实时进度与失败恢复
- Workflows overlay 实时进度:叠加层现在展示每个 agent 的实时进度,并自动跟随当前活动阶段(active phase)滚动;
- 失败可恢复:此前失败的工作流运行现在可以恢复(resume),不必从头重跑;
- scratch 文件上限提高:工作流运行过程中的临时文件(scratch files)配额也被放大,适配更长、更复杂的多 agent 工作流。
13. Hooks 可在 config.toml 中定义
Hooks(钩子)此前只能通过 JSON 文件定义,现在也可以在 config.toml 中直接定义,与其它配置保持一致的声明方式,降低配置复杂度。
14. 点击 "still running" 状态打开任务面板
工作流或长任务仍在运行时,界面上的 "still running" 状态现在可点击,直接打开 tasks 面板查看任务明细,减少查找路径。
缺陷修复盘点
0.2.112 修复的缺陷按主题可归纳为以下六类:
会话与恢复
- 文件附件(file attachments)在恢复或回放对话时不再丢失,可正确显示;
- 从回卷(rewound)会话 fork 时,复制的是正确的活动分支(live-branch)历史;
- 暂停(parked)的回合不再在转录中刷屏重复的 "Worked for" 标记。
终端与后台任务
- 远程客户端的终端输出现在会被记录,
read-file提示与监视器(monitors)因此能正常工作; - 后台 shell 命令现在上报真实的退出码,而不是一律显示 -1;
- 后台任务托盘正确清理已杀死(killed)的任务,重连后保留任务描述;
- Bash 模式(
!)在 minimal 模式下现在显示黄色前缀与操作标签。
账户与认证
- 账户面板(Account pane)在访问令牌过期后仍能显示姓名与邮箱;
- 认证相关流程的体验提升(见上文 per-provider 认证助手)。
MCP 与插件
- 注册或更新托管 MCP 服务后,新工具无需重启即可出现;
- 插件子代理(plugin subagents)现在与父会话看到相同的 MCP 工具集。
语音
- Linux 上低于 1.6 的 PipeWire 版本也能正常使用语音听写;
- 语音模式下可编辑已听写文本而无需关闭麦克风;
- 按 Enter 发送时不再丢失已听写的文本。
搜索与稳定性
- Web 搜索默认模型切换为 grok-4.5;
- 修复 Linux 上并发启动或快速重启导致的启动挂起(startup hang);
- 重复的相同工具调用现在静默结束回合,不再弹出停止横幅(stop banner);
- 复制成功时的确认消息更简短。
升级建议与注意事项
- 先读破坏性变更:CLI 版本策略新增硬启动要求,升级前确认当前二进制版本满足要求,避免升级后无法启动;
- 善用
/doctor与grok doctor fix:tmux 剪贴板 / passthrough 问题可先交给grok doctor fix自动处理; - 新用户先跑
/tutorial:九主题导览是熟悉 Grok 交互的最快路径,且完全可选; - 配置搜索约束时注意子工具差异:
tool_overrides的日期截止目前仅对x_keyword_search与x_semantic_search生效,x_user_search与x_thread_fetch暂未支持; - Marketplace 源请使用合法 git URL:0.2.112 在 add 时即校验,非 git URL 会被直接拒绝;
- hooks 迁移到 config.toml:新配置可逐步从 JSON 文件迁移到 config.toml,二者目前均受支持。
延伸阅读
- 完整变更记录:仓库主 CHANGELOG.md(0.2.112 条目位于第 417 行起)
- 结构化变更数据:0.2.112.json(含 category/description/breaking_change 字段)
tool_overrides能力声明与线上线测试:acp_agent.rs、prompt_response_meta_tests.rs- 斜杠命令保留名列表(含
tutorial/tour/onboarding):slash_commands.rs - 模型
extra_headers配置与全局/逐模型合并逻辑:config.rs、config.rs
【免费下载链接】grok-buildSpaceXAI's coding agent harness and TUI. Fullscreen, mouse interactive, extensible.项目地址: https://gitcode.com/gh_mirrors/gr/grok-build
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考