TUI 显示与通知配置
在 tui.json 中设置快捷键、滚动、光标、鼠标及注意提醒。
终端界面使用 tui.json 或 tui.jsonc,与控制运行时行为的 opencode.json 分开。需要从指定路径加载时使用 OPENCODE_TUI_CONFIG。
最小示例
{
"$schema": "https://opencode.ai/tui.json",
"keybinds": {
"leader": "ctrl+x"
},
"diff_style": "stacked",
"mouse": false
}keybinds 与内置默认合并,因此只需要列出要改变的项。上例关闭鼠标捕获后,终端自身的选择和滚动行为得以保留;它不是鼠标完全不能使用。
滚动、差异与光标
| 配置 | 含义和已明确的默认值 |
|---|---|
theme | 选择界面主题 |
leader_timeout | 按 leader 后的等待时间,默认 2000 毫秒 |
scroll_speed | 默认 3,最小 0.001,允许小数 |
scroll_acceleration.enabled | 开启后使用滚动加速,覆盖 scroll_speed |
diff_style | auto 根据终端宽度适配,stacked 固定单栏 |
cursor.style | 默认 block,也支持 underline、line、default |
cursor.blinking | 默认 true;style 为 default 时无效 |
mouse | 默认 true,控制 TUI 鼠标捕获 |
cursor.style: "default" 恢复终端自己的默认光标。专门的快捷键页明确 leader_timeout 的单位为毫秒。
注意提醒默认关闭
attention.enabled 默认 false。开启后可在问题、权限请求、会话错误和完成等事件发生时播放声音;非子智能体事件仅在终端失焦时请求桌面通知。
attention 子键 | 默认值或行为 |
|---|---|
notifications | true,但仍受总开关控制 |
sound | true,但仍受总开关控制 |
volume | 0.4,范围 0 到 1 |
sound_pack | opencode.default |
sounds | 按事件指定音频文件 |
声音事件键包括 default、question、permission、error、done、subagent_done。路径可以是绝对路径、file:// URL,或相对于 tui.json 的路径。
官方完整示例将提醒打开,但示例中的 enabled: true 不是默认值。通知能否出现还与终端及系统环境有关,不能仅凭配置文件解析成功判断实际提示已经发出。