ai-bell
v0.3.0
Published
Auto-play sound alerts and update terminal tab titles when AI coding agents (Claude Code, Codex CLI, OpenCode, etc.) need your attention or complete a task.
Maintainers
Readme
ai-bell
AI 编程 Agent 需要你时,自动播放提示音并更新终端标签页标题。
ai-bell 接入你的 AI 编程工具,当 Agent 等待输入或任务完成时,自动播放声音并更新终端 Tab 标题——让你专注于别的事,响了再回来。
无后台进程。无守护进程。纯 Hook 驱动。
功能
- 声音提醒 — Agent 等待输入或任务完成时自动播放系统提示音(macOS 提供 6 种内置音效,支持方向键实时试听;Linux/Windows 使用终端 bell)
- 标签页标题更新 — 在终端 Tab 标题前插入自定义图标和项目名称
- 自动恢复标题 — 你发送下一条消息时自动恢复原始标题
- 交互式安装 — 一条命令,引导式问答,无需手动编辑配置文件
- 多工具支持 — 一次安装可同时配置 Claude Code、Gemini CLI、Codex CLI
- 幂等操作 — 重复执行
init安全无副作用,不会产生重复 hook - 安全修改配置 — 修改配置前自动备份原文件(
.bak)
支持的工具
| 工具 | 等待输入时提醒 | 任务完成时提醒 | 标签页标题 | |------|:------------:|:------------:|:---------:| | Claude Code | ✅ | ✅ | ✅ | | Gemini CLI | ✅ | ✅ | ✅ | | Codex CLI | — | ✅ | ✅ | | OpenCode | 即将支持 | 即将支持 | 即将支持 |
环境要求
- Node.js >= 16
- macOS / Linux / Windows(支持 WSL)
安装
npm install -g ai-bell初始化
ai-bell init交互式向导会依次询问:
- 使用哪些工具(Claude Code、Gemini CLI、Codex CLI,可多选)
- 何时提醒 — 等待输入时、任务完成时,或两者都要
- 提醒图标 — 任意 emoji,默认
🔔 - 提示音 — 仅 macOS:从 Glass、Ping、Submarine、Funk、Basso、Frog 或 None 中选择
- 用
←→方向键实时预览每种音效,按 Enter 确认
- 用
已配置过的工具会显示 ✓ 标记。
卸载
ai-bell uninstall移除所有 hook 脚本,并撤销对各工具配置文件的修改。不会影响其他配置项。
工作原理
ai-bell init 在各工具的 hook 目录写入 shell 脚本,并向对应配置文件注册 hook:
Claude Code — 写入 ~/.claude/hooks/,合并到 ~/.claude/settings.json:
Notificationhook → 播放音效 + 更新标签页标题Stophook → 播放音效 + 更新标签页标题(选择"任务完成"触发时)UserPromptSubmithook → 恢复原始标签页标题
Gemini CLI — 写入 ~/.gemini/hooks/,合并到 ~/.gemini/settings.json:
Notificationhook → 播放音效 + 更新标签页标题AfterAgenthook → 播放音效 + 更新标签页标题(选择"任务完成"触发时)BeforeModelhook → 恢复原始标签页标题
Codex CLI — 写入 ~/.codex/hooks/,更新 ~/.codex/config.toml:
config.toml的notify字段 → 任务完成时播放音效- 通过
~/.codex/hooks.json注册实验性Stophook(需要 Codex v0.114.0+)
所有 hook 均由各工具的运行时直接调用,ai-bell 本身不运行任何后台进程。
License
MIT
