Claude Code干活终于会「出声」了!再也不用盯屏幕等完成

哈喽大家好,

我是阿星👋🏻

众所周知claudecode是干完活儿也不吭声的。一会儿一看结束没。

怎么让它每次干完活播报提示音。

除了可以 hook 配置中直接写 afplay,我看朋友小红书上的思路是先写脚本后hook,我用的是第二种------

先听效果------ 视频上传不了 原文

原理如下------

首先: Claude Code 执行操作时会触发"事件",你可以配置这些事件自动运行脚本。

其次: 通过在配置文件中设置 SessionStart(启动时)和 PostToolUse(完成任务时)等hook事件,分别播放不同的提示音来区分不同的工作状态。

简单说就是:Claude 干活的时候会"通知"你的脚本,脚本收到通知就播放声音。

制作铃声

这里我随便在剪映里生成了几个铃声👇

创建hook文件夹

放入hooks文件夹。如果你找不到这个文件夹创建一个就可以了。

bash 复制代码
mkdir -p /Users/xingyang/hooks

找自己claudecode对应的指定动作

软件是非常多个性的,一升级动作就变形了有的

所以我们需要自己找到自己版本的指定动作,和体操运动一样的

比如咱们要播放就需要一个动作一览表,也就是hook event

这个event的名字不同的版本还不一样,非常容易搞错

我一开始就是搞错事件名耽误半天

所以你必须找到你的claudecode支持的hook事件不能瞎写

说白了就是表演体操里的指定动作

怎么查询属于自己的指定动作呢?

bash 复制代码
#查询claude事件名的办法

/help
/hooks

类似于这样一个最下面就是你hook事件名

提取出来就是最下面的hook event

css 复制代码
Claude Code v1.0.72 实际支持的事件:
PreToolUse - 工具执行前
PostToolUse - 工具执行后
Notification - 发送通知时
UserPromptSubmit - 用户提交提示时
SessionStart - 新会话开始时

视频里的系哦啊过就是用的time.mp3一个铃声

当hook event------PostToolUse 被触发 → 播放 time.mp3

而这个PostToolUse代表的就是工具执行后。我们在claude里完成某件事时就会自动播放。

写个提示音播放脚本

我们让cc自动播放脚本,脚本也得存在才行。先让AI给我们写个脚本

首先创建脚本目录和文件:

bash 复制代码
# 创建脚本目录
mkdir -p /Users/xingyang/.local/bin

# 创建脚本文件
nano /Users/xingyang/.local/bin/claude-beep.sh

脚本内容超简单,就3行:

第一行 :告诉系统这是bash脚本

第二行 :记录日志,方便调试(可选)

第三行 :播放音频文件

bash 复制代码
#!/bin/bash
echo "Hook triggered at $(date): $1" >> /tmp/claude-hook.log
afplay "$1"

保存后给脚本执行权限:

bash 复制代码
chmod +x /Users/xingyang/.local/bin/claude-beep.sh

测试脚本是否工作:

bash 复制代码
# 手动测试播放
/Users/xingyang/.local/bin/claude-beep.sh /Users/xingyang/hooks/time.mp3

如果听到声音说明脚本正常,如果没声音检查:

  1. 音频文件路径是否正确
  2. 系统音量是否开启
  3. 可以试试用 afplay /Users/xingyang/hooks/time.mp3 直接测试音频

这样脚本就写好了,下一步就是配置 Claude Code 调用这个脚本。

告诉cc啥时候播提示音

所以我们解决了播放以后,还要解决啥时候安。所以需要复制下面代码后保存这个配置 👉 .claude/settings.json

注意这个settings.json必须是在.claude的根目录下否则可能读取不到

你可以根据自己的需求配置删减,比如下面这个就是带了好几个hooks。从我标 ⭐️⭐️⭐️的地方就是hook相关的代码。

所以你看👇下面这些直接复制就行了。路径换成你的。

css 复制代码
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-947e50xxxxx",
    "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
    "ANTHROPIC_MODEL": "deepseek-chat",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1,
    "API_TIMEOUT_MS": 600000
  },
  "permissions": {
    "allow": [],
    "deny": []
  },

  ⭐️⭐️⭐️
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "/Users/xingyang/.local/bin/claude-beep.sh /Users/xingyang/hooks/time.mp3"
          }
        ],
    "UserPromptSubmit": [
      [{]([url](url))
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "/Users/xingyang/.local/bin/claude-beep.sh /Users/xingyang/hooks/gold.mp3"
          }
        ]
      }
    ]
      }
    ],
    "Notification": [
      {
        "matcher": "permission",
        "hooks": [
          {
            "type": "command",
            "command": "/Users/xingyang/.local/bin/claude-beep.sh /Users/xingyang/hooks/gold.mp3"
          }
        ]
      }
    ]
  }
}

现在重启 Claude Code

测试效果

  • 发送一条消息 → 应该听到 time .mp3
  • Claude 执行操作后 → 应该听到 time.mp3
  • 如果遇到不能播放的时候其实要排查的就是三个点了👇

关于报错

1、hook事件名错了,那可以现在终端测试一下音频是否能正常播放。

2、mp3位置放错了

3、你没有触发自己期待的事件 (hook event)但是又在期待发生

AI coding还有很多好玩的东西,我是阿星,我们下期再见。

相关推荐
RainbowSea19 小时前
6. LangChain4j + 多模态视觉理解详细说明
langchain·llm·ai编程
RainbowSea19 小时前
6. LangChain4j + 流式输出详细说明
langchain·llm·ai编程
fundroid21 小时前
Warp:定义 AI 时代的终端体验
agent·ai编程·warp
用户40993225021221 小时前
Pydantic模型验证测试:你的API数据真的安全吗?
后端·ai编程·trae
玲小珑1 天前
LangChain.js 完全开发手册(五)Runnable 接口与任务编排系统
前端·langchain·ai编程
Jooolin1 天前
9.3 阅兵上的网络空间部队都做些什么国防工作?
安全·ai编程
coder_pig1 天前
👦抠腚男孩的AI学习之旅 | 5、玩转 LangChain (一)
langchain·aigc·ai编程
梓贤Vigo2 天前
【Axure高保真原型】表格增删改查(含下拉列表)
交互·产品经理·axure·原型
孟健2 天前
AI 编程时代,个人开发者的完整出海指南:从 0 到 1 打造你的第一个商业产品
ai编程
yzx9910132 天前
从零开始:用代码解析区块链的核心工作原理
运维·开发语言·人工智能·区块链·ai编程