今天我们绝大多数编程的体验已经发生了很大的变化,其中最大的变化就是当我们使用AI编程软件的时候,提交给大模型任务由他去执行,但我们并不知道他什么时候完成。通常在大模型执行的时候,我们可能在做别的事情,等他们完成的时候,我们没办法第一时间发现。由此浪费了大量的时间。
好在Claude Code现在提供了Hook功能,你可以在任务完成或者需要人工确认时执行特定的程序。由此,可以设置一个声音提醒。
以macOS为例,我们在项目目录下,编辑文件.claude/settings.local.json,增加hooks参数,并配置“Stop”节点的命令,就可以在任务完成后进行语音播报啦。
注意,编辑完配置文件后,重启启动Claude Code程序。你可以在Claude命令行中使用`/hook`手工设置。每一次设置应用后,都需要重启程序才能生效。
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Glass.aiff && say \"Claude Code 任务完成\""
}
]
}
]
}
}

ps:根据实际测试,有时候并没有执行或者执行但是没有播放声音。
最后,Claude Code官方对Hook的介绍材料:https://docs.anthropic.com/en/docs/claude-code/hooks#hook-execution-details
有多个参数可以选择,可以根据实际情况发挥。
| Hook Event | Behavior |
|---|---|
PreToolUse | Blocks the tool call, shows error to Claude |
PostToolUse | Shows error to Claude (tool already ran) |
Notification | N/A, shows stderr to user only |
Stop | Blocks stoppage, shows error to Claude |
SubagentStop | Blocks stoppage, shows error to Claude subagent |
PreCompact | N/A, shows stderr to user only |
留下评论