前言
最近大家都在用 Claude Code (Anthropic 官方出的 CLI 工具) 来写代码。不得不说,它的 Agent 能力确实强,但也带来了一个新的烦恼:
它太爱提问了! 😩
"Claude wants to run this command..." (等待授权) "Cost estimation..." (等待确认) "Thinking..." (长时间思考)
如果你不盯着屏幕,它就会一直卡在确认界面;如果你盯着屏幕,又浪费了宝贵的摸鱼时间。
今天分享一个硬核技巧,给你的 Claude 加上“语音提示”。不管是它是停下来问你问题,还是任务全部跑完,都能“滴”一声喊你回来搬砖。
我们不写任何脚本,不装 Node.js 环境,只用 Claude Code 原生的配置文件 hooks 功能来实现!
Claude Code CLI 原生配置
如果你习惯直接在终端使用 claude 命令,请修改 CLI 的全局配置文件。
1. 找到配置文件
配置文件通常名为 config.json (部分版本可能是 settings.json),位于 .claude 隐藏文件夹下:
-
🪟 Windows:
C:\Users\你的用户名\.claude\config.json
(或者在资源管理器地址栏输入%USERPROFILE%\.claude\快速进入) -
🍎 macOS:
~/.claude/config.json
(在终端输入open ~/.claude/可打开文件夹) -
🐧 Linux:
~/.claude/config.json
2. 添加 Hooks 配置
用文本编辑器打开该文件,在 JSON 的一级层级下添加 hooks 字段。
请将下方代码中的 【在这里填入提示命令】 替换为文章后半部分提供的具体系统命令。
{
"hooks": {
"Stop": [
{
"matcher": "permission",
"hooks": [
{
"type": "command",
"command": "【在这里填入你喜欢的提示命令】"
}
]
}
],
"Notification": [
{
"matcher": "permission",
"hooks": [
{
"type": "command",
"command": "【在这里填入你喜欢的提示命令】"
}
]
}
]
},
// 其它配置
}
🎵 核心干货:各大系统提示音命令大全
这是注入灵魂的一步! 请根据你的操作系统,挑选一条最心仪的指令填入配置。 无论你是想要极简的蜂鸣音、优雅的系统提示音,还是想整点“花活”来段超级玛丽的通关 BGM,甚至直接让电脑化身**“贾维斯”**用语音向你汇报……这里统统都能满足你!
🪟 Windows (PowerShell)
Windows 的可玩性最高,依赖 PowerShell 调用 .NET 库。
注意: 填入 JSON 时,外层用双引号,内层命令参数请务必使用单引号,防止转义错误。
| 音效类型 | JSON 中应填写的 Command 值 (复制这一列) | 效果描述 |
|---|---|---|
| 1. 蜂鸣 (Beep) | powershell -c "[System.Console]::Beep(800, 500)" | 发出 800赫兹 持续 0.5秒 的机械音(主板报警风)。 |
| 2. 系统提示音 | powershell -c "[System.Media.SystemSounds]::Asterisk.Play()" | 推荐。播放系统默认的“星号”提示音(通常是“叮”)。可选:Beep, Exclamation, Hand, Question等。 |
| 3. 播放 WAV | powershell -c "(New-Object Media.SoundPlayer 'C:\\Sounds\\notify.wav').PlaySync()" | 自定义党推荐。播放本地 WAV 文件(注意路径用双反斜杠 \\)。.SoundPlayer 类不支持 MP3,只支持 WAV。 |
| 4. 语音合成 (TTS) | powershell -c "Add-Type -A System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('Master, waiting for command')" | 极客风。直接让电脑开口说话喊你。 |
🍎 macOS (Terminal / Zsh)
Mac 的命令行音频支持最优雅,无需额外配置。
| 音效类型 | JSON 中应填写的 Command 值 (复制这一列) | 效果描述 |
|---|---|---|
| 1. 系统提示音 | tput bel | 触发 iTerm2 或终端配置的默认提示音。 |
| 2. 播放系统音效 | afplay /System/Library/Sounds/Glass.aiff | 推荐。清脆悦耳的玻璃声。可选:Ping, Hero, Submarine, Submarine等。 |
| 3. 播放任意文件 | afplay '/Users/yourname/Music/alert.mp3' | 支持 MP3, WAV, AIFF 等几乎所有格式。 |
| 4. 语音合成 (TTS) | say 'Claude needs permission' | 推荐。直接语音播报,可用 say -v Samantha 'Hello' 换人声。 |
🐧 Linux (Ubuntu / Debian / CentOS)
Linux 取决于你的桌面环境和音频驱动,推荐使用 paplay。
| 音效类型 | JSON 中应填写的 Command 值 (复制这一列) | 效果描述 |
|---|---|---|
| 1. 蜂鸣 (Beep) | echo -e "\a" | 触发终端模拟器的响铃(部分发行版默认静音)。 |
| 2. 播放系统音效 | paplay /usr/share/sounds/freedesktop/stereo/complete.oga | 推荐 (PulseAudio)。大多数现代发行版(Ubuntu等)通用。 |
| 3. 播放 WAV | aplay /path/to/file.wav 或 mpg123 /path/to/file.mp3 | 最底层 ALSA 驱动,仅支持 WAV。播放 MP3 通常需要安装 mpg123 或 ffmpeg |
| 4. 语音合成 (TTS) | spd-say 'Attention please' | 需要安装 speech-dispatcher,或者用 espeak "Done" |
⚡️ 最终效果演示 (以 Mac 语音为例)
假设你配置了 say "Sir, permission required"。
- 你在终端输入:
claude "重构一下登录模块" - 你切出去回微信。
- Claude 分析完代码,准备修改文件,停在确认界面。
- 你的电脑突然传来标准的 Siri 语音:"Sir, permission required."
- 你淡定切回终端,敲个
y,深藏功与名。
快去试试吧!让你的 Claude 变成真正的 AI 助理。 🚀