grok-build 0.2.61 版本解析:Goal 模式配置化、/usage 额度面板与 SSH 剪贴板可靠性修复
2026/9/20 23:33:08 网站建设 项目流程
  • 人工智能
  • AI 应用
  • AI Agent
  • 代码智能体
  • 开发工具
  • CLI
  • MCP Clients

【免费下载链接】grok-build

SpaceXAI's coding agent harness and TUI. Fullscreen, mouse interactive, extensible.

项目地址:https://gitcode.com/gh_mirrors/gr/grok-build
点击查看免费下载

导读:本文基于 grok-build 开源仓库的 0.2.61 版本变更记录(发布于 2026-06-22),系统梳理该版本在配置体系、终端交互、剪贴板与 SSH 场景下的全部功能增强与缺陷修复。读完本文,你将掌握如何在config.toml中通过[features][goal]两个表完整配置 Goal 模式、理解/usage额度面板与 Wayland 剪贴板链路的变化,并能快速判断升级 0.2.61 时需要注意的行为变更。

一、版本概览:一次以「配置化」与「SSH/剪贴板可靠性」为主题的迭代

grok-build 0.2.61 于 2026-06-22 发布,整体变更集中在三个方向:

  1. 配置能力前移:Goal 模式(/goal)的总开关、限制项与角色模型首次完整下沉到config.toml,开发者无需在会话内逐个敲命令,即可在配置文件中统一治理;
  2. 账户与剪贴板体验/usage命令新增预付额度(prepaid credits)余额与自动充值状态展示;Wayland 剪贴板复制链路加入wl-copy兜底;
  3. SSH 场景可靠性:修复了 Focus 报告跨 SSH 读取被拆分时的文本泄漏与事件丢失问题,并针对 VS Code over SSH 的剪贴板复制增加非 ASCII 乱码警告。

配套的机器可读变更清单见 0.2.61.json,其中逐条标注了类别(features / fixes)与是否破坏性变更(breaking_change)——值得注意的是,「关闭运行中进程的终端 tab 不再弹确认对话框」被标记为breaking_change: true,这是本版本唯一的一条破坏性变更,升级时需重点留意(详见下文第七节)。

二、新特性一:终端 Tab 关闭确认对话框——引入与回退的完整循环

0.2.61 的 Features 部分先引入了:

Closing a terminal tabwith a running process now shows a confirmation dialog instead of killing it immediately.

即:当关闭一个仍有进程在运行的终端 tab 时,不再立即杀死进程,而是先弹出确认对话框,避免误操作导致进程被直接终止。

然而在同版本的 Bug Fixes 列表中出现了看似矛盾的一条:

Closing a terminal tabwith a running process no longer shows a confirmation dialog.

对应 0.2.61.json 中这条记录被明确标记为breaking change。这说明该确认对话框在本版本迭代过程中被引入后又因故回退,最终 0.2.61 的行为是「关闭带运行进程的终端 tab 不再显示确认对话框」。从源码结构看,Tab 关闭与确认相关逻辑集中在 leader/mod.rs 与 prompt_suggest.rs 附近的会话提示链路中。升级建议:如果你依赖「关闭 tab 前有二次确认」来保护长任务进程,需要在 0.2.61 中改用其他保护手段(如显式暂停任务、使用 Session 持久化)。

三、新特性二:/usage 命令新增预付额度与自动充值状态

/usage命令在本版本开始展示两类账户信息:

  • 预付额度余额(prepaid credits balance)
  • 自动充值状态(auto top-up status)

这意味着用户无需离开终端去网页端核对账户,即可在会话内直接查看计费与充值配置。相关实现位于 extensions/billing.rs,该模块负责账单/额度数据的获取与展示,同时被 mvp_agent/acp_agent.rs 中的 Agent 链路引用,说明/usage的数据同样服务于 Agent 场景下的额度感知。

四、新特性三:Wayland 剪贴板新增 wl-copy 兜底与按通道诊断日志

Wayland 环境下,此前剪贴板复制可能因为依赖单一工具而失败。0.2.61 的改进是:

Clipboard copyon Wayland now also tries wl-copy; per-leg outcomes are now logged for diagnostics.

即复制操作会依次尝试多个通道(leg),在原有通道之外追加wl-copy作为兜底;同时,每个通道的尝试结果都会单独写入日志,便于排查「到底哪条复制链路失败」。这一改动让 Wayland 桌面用户(如 GNOME/KDE Wayland 会话)的复制可靠性显著提升,也让诊断信息从「复制失败」这种黑盒反馈变成了可逐通道追踪的明细日志。

五、新特性四:Goal 模式全面配置化——[features] 与 [goal] 两张配置表

这是 0.2.61 最核心的工程变更,共两条:

Goal mode toggles and limitscan now be set in config.toml under the [features] table.

All /goal options(toggles, limits, role models) are now configurable together in a [goal] table.

5.1 [goal] 表:Goal 模式的一站式配置

在 0.2.61 之前,/goal的各种开关、限制与角色模型只能通过会话内命令逐项设置;现在它们全部可以在config.toml[goal]表下统一配置。对照源码 config.rs 中的GoalConfig结构体,完整的可用键如下:

配置键类型语义
enabledboolGoal 模式总开关
classifier_enabledbool分类器(classifier)是否启用
planner_enabledbool规划器(planner)是否启用
summary_enabledbool总结器(summary)是否启用
use_current_model_onlybool所有 Goal 角色是否强制继承当前模型(不单独路由模型)
verifier_countu32验证器(verifier)数量
classifier_max_runsu32每个 Goal 的分类器最大运行次数(下限受GOAL_CLASSIFIER_MAX_RUNS_MIN约束)
strategist_everyu32每 N 次分类器运行触发一次策略师(strategist)
reverify_afteru32经过多少轮后重新验证
planner_modelstring规划器角色使用的模型
strategist_modelstring策略师角色使用的模型
skeptic_modelsstring[]怀疑者(skeptic)角色模型池,可配置多个

源码中的de_tolerant_goal_role_model/de_tolerant_goal_role_models反序列化器表明,模型字段采用容错解析——即使填写的模型名格式不完全规范,也会被尽量兼容接收,不会因单个字段格式问题导致整个配置加载失败。

示例配置:

[goal] enabled = true classifier_enabled = true planner_enabled = true summary_enabled = true use_current_model_only = false verifier_count = 3 classifier_max_runs = 5 strategist_every = 2 reverify_after = 3 planner_model = "grok-4" strategist_model = "grok-4" skeptic_models = ["grok-4-mini", "grok-4-fast"]

5.2 解析优先级:config > env > remote > 内置默认

从 config.rs 的resolve_goal()resolve_goal_u32()等解析函数可以确认,Goal 各项配置遵循分层覆盖的解析模型:

  • 本地[goal]配置优先;
  • 其次是环境变量层(如use_current_model_only场景下环境层对部分字段有豁免);
  • 再其次是远程设置(remote settings),例如goal_enabledgoal_classifier_enabledgoal_planner_enabledgoal_verifier_countgoal_classifier_max_runs等远端开关;
  • 最后是内置默认值

resolve_goal()的注释还揭示了一个重要设计:Goal 模式主开关默认开启(Default ON),同时远程设置的goal_enabled标志位可以整体关停该能力——这样做的原因是默认值不能架空远程部署的管控能力。而分类器/规划器/总结器的默认值都跟随 Goal 主开关本身:/goal开启时它们默认开启,除非配置/环境/远程设置单独关闭。

5.3 [features] 表:Goal 开关与更多功能开关的汇聚点

[features]表在 0.2.61 中新增了对 Goal 模式开关与限制的支持。对照源码 config.rs 的Features结构体,该表实际是一个功能开关的汇聚点,除 Goal 相关键外还包括:

配置键类型默认/语义
support_permissionbool是否允许 Agent 请求工具执行权限
telemetryenum遥测模式,None时回退远程设置/默认(关)
codebase_indexingbool / string[]代码库图索引(go-to-definition/references),默认开启;可传 glob 数组(含!负向排除)
non_git_warningbool在非 Git 仓库启动时是否弹阻塞警告,默认 false
managed_configbool托管配置拉取(managed_config.toml + requirements.toml),默认 true
title_refreshbool会话早期自动标题刷新
image_genbool/imagine图像生成工具,默认 true
video_genbool/imagine-video视频工具,默认 true
image_gen_model_overridestring图像生成模型覆盖(默认grok-imagine-image-quality
image_edit_model_overridestring图像编辑模型覆盖
compaction_modestringsummary(默认)|transcript|segments,可被 CLI /GROK_COMPACTION_MODE覆盖
compaction_detailstringnone|minimal|balanced|verbose(默认)
compaction_tool_choicestring压缩时的工具选择策略
mcp_liveness_watchersboolMCP 客户端存活轮询器 + 状态分发器,默认 true
mcp_auto_restartboolstdio MCP 服务器崩溃自动重启(最多 3 次,退避 1s/4s/16s),默认开启
mcp_push_server_statusboolPager 端订阅 MCP 服务器状态推送,默认 true

示例配置:

[features] goal_enabled = true image_gen = true video_gen = false codebase_indexing = true compaction_mode = "transcript" mcp_auto_restart = true

注意:mcp_liveness_watchersmcp_auto_restartmcp_push_server_status这几个键的注释明确说明它们会被util::config::resolve::mcp绕过结构体、直接从原始 TOML 重新读取,结构体中的字段声明是为了避免serde_ignored将合法键误报为未识别键。其中mcp_push_server_status的 Pager 侧开关仅通过环境变量(OnceLock缓存)生效,因此在config.toml里关闭该键并不会影响已启动进程的订阅行为——这类「声明键」与「生效路径」的差异,是排查配置不生效时最容易被忽略的坑。

六、新特性五:VS Code over SSH 剪贴板乱码预警

Clipboard copiesfrom VS Code over SSH now warn when non-ASCII text may be garbled.

当用户通过 VS Code Remote-SSH 使用 grok-build 并复制包含非 ASCII 字符(如中文、日文、Emoji)的文本时,由于 SSH 会话的编码链路可能对文本进行转码,0.2.61 会给出乱码预警,提示用户复制结果可能与源文本不一致。这是对「远程开发 + 剪贴板」这一高频场景的体验补齐:与其让用户在粘贴后发现乱码,不如在复制时提前告知风险。

七、破坏性变更:Tab 关闭确认的行为回退(升级必读)

如第二节所述,本版本唯一的breaking_change: true记录是:

Closing a terminal tabwith a running process no longer shows a confirmation dialog.

即 0.2.61 最终交付的行为是:关闭带有运行进程的终端 tab 时不再弹出确认对话框,直接关闭。这恢复了此前的快捷关闭体验,但代价是失去了一道误操作防线。若你的工作流依赖该确认,升级后请改用其他方式保护长任务(例如先Ctrl+Z挂起任务或使用独立的持久化会话)。

八、Bug 修复详解:SSH、Agent 与并发场景的可靠性加固

8.1 Focus 报告在 SSH 场景下的两项修复

Focus reportsno longer leak as literal text when split across reads over SSH.Focus eventsnow fire correctly for SSH-split focus reports.

远程开发中,终端输出会被 SSH 链路拆分为多次读取(read)分片传输。此前若 Focus 报告恰好在分片边界被切断,可能导致:

  1. 报告内容以字面文本的形式泄漏到终端界面上(而不是作为结构化 Focus 事件被消费);
  2. Focus 事件因分片不完整而无法正确触发

0.2.61 对跨分片的 Focus 报告做了重组修复,同时保证「既不以字面文本泄漏,又能正确触发 Focus 事件」。

8.2 --disable-web-search 在无头与 Agent 模式真正生效

--disable-web-searchnow honored in grok -p and grok agent; auxiliary model routing respects catalog overrides.

此前--disable-web-search可能只在 TUI 交互模式下生效,而在grok -p(管道/一次性提示模式)与grok agent(Agent 模式)下被忽略。0.2.61 修复了该参数在这两种模式下的生效问题,并同时修复了辅助模型(auxiliary model)路由对 catalog 覆盖的遵循——即分类器、总结器等辅助角色的模型路由,在 catalog 中配置了覆盖时应以覆盖为准,而不是沿用默认路由。该参数的实现分散于 agent/config.rs、session/acp_session_impl/spawn.rs、agent/subagent 等模块的 spawn 链路中。

8.3 布尔工具 Flag 支持字符串与数字

Boolean tool flagsnow accept "true"/"false"/"yes"/"no"/1/0 strings and numbers in addition to native booleans.

这是对工具参数解析的兼容性增强:布尔型工具参数此前只接受原生true/false,现在额外接受:

  • 字符串:"true""false""yes""no"
  • 数字:10(既包括"1"/"0"字符串,也包括真正的数字类型)。

这意味着调用工具时无需再纠结参数格式,无论 JSON 里传true"yes"还是1,都能被正确解析为布尔值,显著降低了 Agent 与第三方客户端生成参数的出错率。

8.4 会话并发写入下的状态回退修复

Session last-active timestampsand message counts no longer regress under concurrent writers.

多写者并发更新同一会话时,旧的「最后活跃时间戳」和「消息计数」可能因写入顺序问题覆盖新值,造成状态回退(regress)。0.2.61 修复了该竞争条件,确保并发写入下这两个指标单调更新、不回退。

8.5 iTerm2 图像显示回退 OSC 1337

iTerm2now always uses text/metadata image fallback instead of broken OSC 1337 overlays.

此前在 iTerm2 终端中,图像可能通过 OSC 1337 控制序列以 overlay 方式渲染,但该路径在部分场景下损坏。0.2.61 起,iTerm2 一律改用text/metadata 图像回退方案,即通过文本/元数据方式渲染行内图片,保证图像展示的确定性。

8.6 模型切换后提示队列卡死修复

Model switchesno longer leave the prompt queue stuck after a reconnect.

在会话重连后切换模型,可能导致提示队列(prompt queue)卡死、后续输入无响应。0.2.61 修复了重连与模型切换交错时的队列状态机问题,保证切换模型后队列能继续正常消费。

8.7 自定义 Agent Profile 的 Harness 一致性

Custom agent profilesnow correctly use the harness required by their pinned model.Subagentsunder custom profiles now adopt the correct harness from the parent's model.

自定义 Agent profile 可以固定(pin)特定模型,而不同模型可能要求不同的 harness(运行容器/执行环境)。0.2.61 修复了两处关联问题:

  1. 自定义 profile 自身:启动时应使用其固定模型所要求的 harness,此前可能误用默认 harness;
  2. profile 下的子代理(subagent):子代理应继承父级模型的 harness,而不是各自采用错误/默认的 harness。

这两项修复保证了「自定义 profile + 子代理」场景下执行环境与模型要求的严格一致,避免模型与容器能力不匹配导致的运行失败。

8.8 Changelog 与 Release-notes 模态框滚动

Changelog and release-notesmodals now scroll with the mouse wheel and arrow keys.

/changelog与 release-notes 弹窗此前只能通过拖拽滚动条查看,0.2.61 起支持鼠标滚轮与方向键(↑/↓)滚动,长变更记录的可浏览性大幅提升。

九、版本文件与配套清单

  • 变更记录正文:changelogs/0.2.61.md
  • 机器可读清单(含 breaking_change 标记):changelogs/0.2.61.json
  • Goal 配置结构体GoalConfig:src/agent/config.rs
  • 功能开关结构体Features:src/agent/config.rs
  • Goal 开关解析优先级resolve_goal:src/agent/config.rs
  • /usage账单实现:src/extensions/billing.rs
  • Tab 关闭相关会话逻辑:src/leader/mod.rs

十、升级建议小结

  1. 行为变更:0.2.61 中「关闭带运行进程的终端 tab」不再弹确认框,属破坏性变更,请评估对既有操作习惯的影响;
  2. 配置迁移:若此前通过会话命令维护/goal各项设置,可迁移到config.toml[goal]表统一管理;[features]表是功能总开关的推荐落点;
  3. 远程开发用户:SSH 场景的 Focus 报告、剪贴板乱码预警、--disable-web-search生效等修复值得第一时间验证升级;
  4. Wayland 用户:剪贴板已具备wl-copy兜底,若复制仍失败,可查看按通道记录的诊断日志定位具体链路。
  • 人工智能
  • AI 应用
  • AI Agent
  • 代码智能体
  • 开发工具
  • CLI
  • MCP Clients

【免费下载链接】grok-build

SpaceXAI's coding agent harness and TUI. Fullscreen, mouse interactive, extensible.

项目地址:https://gitcode.com/gh_mirrors/gr/grok-build
点击查看免费下载

相关推荐

上一篇:512字节LISP的极限挑战:从引导扇区到元循环求值器的实战解决方案
下一篇:Swow 项目常见问题解决方案

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询