用途:Agent Doorbell 是一个钩子管理器,用于在 Agent 停止或需要用户输入时,通过操作系统原生的桌面通知与声音把用户注意力拉回来。提醒由运行时钩子负责,而非依赖 Agent 最终回复的自觉。
主要能力:支持 Claude Code(Elicitation、PermissionRequest、Stop、StopFailure,写入 ~/.claude/settings.json)、Gemini CLI(AfterAgent、Notification,写入 ~/.gemini/settings.json)、Codex(Stop,写入 ~/.codex/hooks.json)等有文档化生命周期钩子的运行时。Windows 使用 powershell.exe 与 scripts/hook-runner.ps1,macOS/Linux 使用 /bin/sh 与 scripts/hook-runner.sh,分别调用系统通知与提示音。
使用方式:仅在用户明确调用 agent-doorbell 时安装或更新默认钩子;用户要求卸载、移除或禁用时执行卸载。可用 --dry-run 预览。示例命令:.\scripts\install-hooks.ps1 -Runtime claude -Scope user;node scripts/install-hooks.js --runtime gemini --scope user。安装器幂等,会先移除旧的 Agent Doorbell 钩子条目再写入替换。默认使用用户级设置,项目级需用户明确要求。
限制:不支持的运行时若没有文档化生命周期钩子,则无法提供可靠的自动停止提醒。默认不依赖 Python 或 Node,仅在用户明确要求时使用 --runner node。钩子摘要不得包含密钥、私有标识或大量输出,不得打开窗口、抢占焦点或循环播放声音。若用户禁止工具调用、shell 命令、通知或设置更改,则跳过写入并简要说明。