Appearance
Gemini CLI 的桌面通知功能(实验性,默认禁用)在两种情况下推送系统通知:代理等待工具调用确认时,以及会话完成时。需要终端支持 OSC 9 序列(如 iTerm2、WezTerm、Ghostty、Kitty),不支持时自动回退到终端响铃(BEL)。在 settings.json 中设 general.enableNotifications: true 启用。
桌面通知(实验性)
实验性功能:需手动开启。
Gemini CLI 可以在需要你注意时推送系统通知——特别适合执行耗时任务时切换到其他窗口,不用一直盯着终端。
前置条件:终端支持
CLI 使用 OSC 9 终端转义序列触发系统通知。支持的终端:
- iTerm2(macOS)
- WezTerm(跨平台)
- Ghostty(跨平台)
- Kitty(Linux/macOS)
如果终端不支持 OSC 9,CLI 会自动回退到 终端响铃(BEL)——通常表现为任务栏闪烁或系统提示音。
启用方法
在 /settings 中打开 Enable Notifications,或编辑 settings.json:
json
{
"general": {
"enableNotifications": true
}
}通知类型
| 类型 | 触发条件 |
|---|---|
| 等待操作 | 模型等待用户输入或工具确认时 |
| 会话完成 | 会话成功完成时(适合追踪自动化任务进度) |
使用建议
通知功能与以下场景搭配效果最好:
- 长时间 Plan Mode 任务:启动后切换到其他应用,任务完成或需要确认时收到通知
- 后台自动化任务:无头模式或大批量处理时,用通知替代轮询
常见问题
Q: macOS 上 iTerm2 的通知不显示,是什么原因?
A: 检查系统偏好设置中 iTerm2 的通知权限是否已开启(系统偏好 → 通知 → iTerm2)。另外,OSC 9 需要 iTerm2 3.x 以上版本。
Q: Windows Terminal 支持吗?
A: Windows Terminal 目前对 OSC 9 的支持有限,可能无法显示通知,会回退到终端响铃。
Q: 通知能自定义内容吗?
A: 目前通知内容固定,不支持自定义。如需更复杂的通知需求,可以考虑通过 Hooks 系统 在任务完成时触发自定义脚本发送通知。