请先登录以管理你的Prompts

给Claude Code加个音效提醒

Claude Code
hooks
Vibe Coding

Key Takeaway

  • 问题解决:Claude Code缺提醒,需手动检查浪费时间;用hooks加音效(塞尔达BGM需确认,马里奥BGM完成)提升效率。
  • 实现方法:hooks触发事件(Notification Permission, Stop);macOS afplay命令播放本地MP3;配置.claude文件夹或/hooks命令。
  • 扩展潜力:不止简单命令,可运行Python脚本连工作流;进阶用法社群分享,hooks潜力大。

这个设置你一定要给Claude Code加上,绝对好用!

Claude Code最让我不满意的地方是,它没有提醒。一个人在那吭哧吭哧干了半天,完事儿了也不说一声的。搞得我还得时不时过去看一眼。尤其是过程中有时还需要你回车确认,它才会继续往下走。

这就很烦了。你说我一直盯着吧,挺浪费时间的;不盯吧,开发进度又慢下来了。这个时候,就非常需要一个提醒功能——需要我批准的时候,来一个音效提醒;全部完成、需要我验收的时候,来另一个音效提醒。

我先给你们看看效果。

当需要我批准的时候,会播放塞尔达传说的BGM。

当全部完成的时候,会播放超级马里奥的BGM。

这两段BGM都是我从网上下载下来的MP3文件,保存在本地。那么,如何让Claude Code播放呢?这里用到了两个东西。

第一个,是Claude Code自带的hooks功能。你可以管它叫钩子。

它的原理很简单:用户可以人为设置,当Claude Code处于某种情况下时,自动执行某个动作。

比如,刚才演示的两个例子,一个是需要我确认,也就是提出一个Notification,询问我的Permission,这是一种情况,或者说是一个事件;另一个是完成了,也就是Stop,这是另一种情况,或者说是另一个事件。

我把这个钩子触发器,当特定事件发生时,就会触发Claude Code自动执行一个动作。那么,这个播放音乐的动作如何设定呢?

这就涉及到我刚才说的第二个东西,macOS系统的内置命令行工具:afplay。

afplay的意思是Audio File Play。它的作用是从终端播放音频文件。你只需要在afplay后边跟上音频文件的地址,运行命令,就可以播放。

所以,我在配置文件里是这么写的:

当完成了,也就是使用Stop这个钩子,执行afplay的命令,后边地址是超级马里奥的音频文件地址。

当需要我确认的时候,也就是使用Notification这个钩子,并且是在Permission的情况下,执行afplay的命令,后边地址是塞尔达传输的音频文件地址。

大家可以直接抄去。配置文件的位置就在项目根目录下边,.claude文件夹里。这些代码我在newtype星球里也发过,大家自取。

你如果不想搞配置文件也可以——虽然我认为这是最最简单的方式,在输入框里输入/hooks,然后回车,就可以进入设置环节。选择你想要的钩子,比如Notification。然后输入要执行的命令,就搞定了。

Claude Code hooks功能国内我好像没怎么看到有人介绍。说真的,它的潜力还蛮大的。我刚才演示中执行的命令很简单。如果想实现更牛逼的效果,完全可以让它运行Python脚本。通过脚本去连接更多东西,比如一个工作流。

这些进阶的用法,我之后研究清楚了,会陆续在社群里说。

OK,以上就是本期内容。想了解AI,想成为超级个体,想找到志同道合的人,就来我们newtype社群。那咱们下期见!