本文最初发布于 乔四博客。
你有没有过这种经历:你让克劳德代码重构一个模块,然后切换到推特“就看一眼”,结果12分钟后回来,发现它在过去的11分钟里一直坐在那里等待你的输入?
没错。这就是我周五晚上的遭遇。
“你还在吗?”问题
在构建 jo4.io 的过程中,我一直将克劳德代码作为我的日常主力工具。它在处理多文件重构、运行测试和修复错误方面表现出色。但问题在于——当克劳德完成任务或有疑问时,它就只是……坐在那里。静静地。就像一个礼貌的实习生,完成了工作却不想打断你刷视频的乐趣。
我需要一种方式让克劳德轻拍我的肩膀。某种能表示“嘿,我完成了”或“嘿,我需要你”的信号,而不必让我死死盯着终端窗口。
解决方案:5行JSON代码
克劳德代码拥有一个钩子系统。我之前已经写过关于用于阻止危险吉特命令的预工具使用钩子的文章。事实证明,还有一个停止钩子,每次克劳德完成响应并将控制权交还给你时都会触发。
这是我添加到 ~/.claude/settings.json 中的完整配置:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Funk.aiff",
"timeout": 5
}
]
}
]
}
}
就是这样。这就是全部内容。
现在会发生什么
每当克劳德代码:
- 完成任务并等待我的下一条指令时
- 遇到需要我输入的情况时
- 完成长时间的测试套件运行时
- 向我提出澄清性问题时
……我的麦金塔电脑就会播放放克音效。你知道那个声音——就是 macOS 多年来一直自带的那个令人满足的小小咚声。
为什么这是一个游戏规则改变者
在此之前,我的工作流程是这样的: