Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

配置窗格

zerocode 的 Config 面板用于配置正在运行的 ZeroClaw。每个设置项都有类型化的控件、验证以及关于其作用的内联说明,且大多数设置无需重启守护进程即可实时生效。可从任意 zerocode 会话中打开它,并在其中编辑设置,而无需手动编辑配置文件。

设置仍会持久化到你的配置中,文档描述了相关字段,以便你能清楚看到某个控件具体写入了什么内容。请将这些描述理解为持久化后的结果,而不是要你用编辑器打开文件的指示。手动编辑是针对无头主机和脚本化配置的备用方案,文档会在这些场景中明确指出这一点。

键绑定修饰键

键绑定使用规范的修饰键名称:control 表示字面意义上的 Control,primary 在 macOS 上表示 Command,在其他平台上表示 Control,而 super 表示字面意义上的 Super/Command。例如,control+cprimary+ralt+shift+up 是可移植的持久化值。较旧的 ctrl+... 值会在配置加载时迁移一次,并重写为对应的规范拼写。

为什么用窗格而不是文件

  • 验证。 控件会在格式错误的值到达守护进程之前将其拒绝,因此拼写错误不会导致配置进入无法加载的状态。
  • 可发现性。 每个设置都附带内联说明,因此你无需对照配置参考即可了解某个字段的作用。
  • 实时应用。 大多数设置在下一帧生效,无需重启。
  • 基于注册表的列表。 提供程序、通道、模型和主题选项均来自后端注册表,因此你看到的选项正是此版本所支持的选项。

本地 UI 设置(zerocode-config.toml

某些设置描述的是 zerocode 本身 如何绘制其窗格,而不是守护进程如何运行。这些设置位于 zerocode 自己的文件 <config-dir>/zerocode-config.toml> 中,并可从 zerocode 的 Config 窗格进行编辑。

TodoWrite 跟踪器就是其中之一。它只是一个仅用于显示的功能:守护进程只会发出计划更新,而通过 ACP,客户端完全控制格式,因此它归 zerocode 所有:

[todotracker]
enabled = true           # 主开关;为 false 时跟踪器永不渲染
enabled_at_start = false # 启动时可见,在第一个计划到达之前
location = "right"       # "bottom"、"left" 或 "right"
width = 32               # 侧面板目标列宽(左/右)
max_height = 5           # 底部条最大高度(行数)

每次会话边界都会重新读取值,因此在 Config 窗格中所做的编辑会应用于你下次启动、重启或切换到的会话,无需重启 zerocode。

环境覆盖

任何字段都可以在单次运行中通过 ZEROCODE_ 变量进行覆盖。变量名由此前缀后接小写配置路径组成,其中 . 写作 __

ZEROCODE_todotracker__enabled=false zerocode
ZEROCODE_todotracker__location=底部 zerocode

这些覆盖项仅在进程生命周期内有效:它们只影响正在运行的实例,永远不会写回 zerocode-config.toml。在 Config 窗格中保存无关字段,不会将环境变量注入的值写入文件。

从由守护进程拥有的 [todotracker] 升级

在此设置迁移之前,[todotracker]守护进程的 config.toml 中的一个节。如果你曾在那里设置过,请将这些值复制过来:

  1. 打开你的守护进程 config.toml,并记下 [todotracker] 中的值。
  2. 将相同的代码块放入 <config-dir>/zerocode-config.toml>(如上所示),或在 Config → Todo tracker 中进行设置。
  3. 从守护进程 config.toml 中删除 [todotracker] 部分。

现有的 ZEROCLAW_todotracker__* 环境变量在升级前需要移除:守护进程会接受并忽略这五个已识别字段(enabledenabled_at_startlocationwidthmax_height),因此之前正常工作的部署仍可启动。它们不再有任何作用,因此请将它们改为上面的 ZEROCODE_ 写法。