news 2026/7/23 18:25:34

AI 写完了代码,你却还在发呆?用 Claude Code Hooks 给 AI 装上“下班铃“

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI 写完了代码,你却还在发呆?用 Claude Code Hooks 给 AI 装上“下班铃“

AI 写完了代码,你却还在发呆?用 Claude Code Hooks 给 AI 装上"下班铃"

你有没有过这种经历:让 AI 帮你重构一个模块,然后切到浏览器摸鱼,结果十分钟后切回来发现他早就干完了——而你白白浪费了宝贵的摸鱼时间?今天就来教你怎么让 AI 干活结束时自动弹窗喊你。


一、痛点场景

用 Claude Code(或类似的 AI 编程工具)执行长任务时,通常的模式是:

  1. 下指令 → 2. 干等 → 3. 时不时回来看看 → 4. 发现早完成了

这个"时不时回来看看"就是效率黑洞。作为一个追求极致摸鱼效率的人,我翻了 Claude Code 的文档,找到了Hooks机制。


二、Claude Code Hooks 是什么

Hooks 是 Claude Code 提供的生命周期钩子,你可以在特定事件触发时自动执行自定义脚本。支持的事件包括:

Hook 事件触发时机
PreToolUse工具调用前
PostToolUse工具调用后
Notification通知事件
StopAgent 任务结束
PreCompact上下文压缩前

其中最实用的就是Stop——任务完成时触发,正是我们要的"下班铃"。


三、配置文件结构

Hooks 配置存放在.claude/settings.json中:

{"hooks":{"Stop":[{"hooks":[{"type":"command","command":"powershell.exe -ExecutionPolicy Bypass -File \"path\\to\\hook\\notify.ps1\" -Message \"任务已结束\""}]}]}}

配置说明:

  • hooks.Stop— 数组,可注册多个 Stop hook
  • 每个 hook 内再嵌套一个hooks数组,这是command类型
  • command字段指定要执行的脚本(支持传参)

四、Windows 弹窗通知脚本

光执行脚本还不够——我们要一个能弹窗+播放音效的体验。这里用 PowerShell 调用 Windows Forms 写了一个通知脚本notify.ps1

param([string]$Message="任务完成!",[string]$Title="Claude Code",[string]$Sound="Exclamation",[string]$SoundFile="")Add-Type-AssemblyName System.Windows.FormsAdd-Type-AssemblyName System.Drawing# ===== 音效播放 =====functionPlay-Sound{param([string]$SoundType,[string]$FilePath)if($FilePath-and(Test-Path$FilePath)){try{(New-ObjectSystem.Media.SoundPlayer($FilePath)).Play()return}catch{}}if($SoundType-eq'None'){return}$map= @{'Beep'=[System.Media.SystemSounds]::Beep'Exclamation'=[System.Media.SystemSounds]::Exclamation'Question'=[System.Media.SystemSounds]::Question'Asterisk'=[System.Media.SystemSounds]::Asterisk}if($map.ContainsKey($SoundType)){$map[$SoundType].Play()}}Play-Sound-SoundType$Sound-FilePath$SoundFile# ===== GUI 弹窗(暗黑风格) =====$form=New-ObjectSystem.Windows.Forms.Form$form.Text =$Title$form.Size =New-ObjectSystem.Drawing.Size(400,200)$form.StartPosition ='CenterScreen'$form.BackColor ='#2d2d30'$label=New-ObjectSystem.Windows.Forms.Label$label.Text =$Message$label.Font =New-ObjectSystem.Drawing.Font("Microsoft YaHei",16)$label.ForeColor ='#ffffff'$label.AutoSize =$true$label.Location =New-ObjectSystem.Drawing.Point(50,50)$button=New-ObjectSystem.Windows.Forms.Button$button.Text ='确定'$button.Size =New-ObjectSystem.Drawing.Size(80,30)$button.Location =New-ObjectSystem.Drawing.Point(160,100)$button.Add_Click({$form.Close()})$form.Controls.Add($label)$form.Controls.Add($button)$form.ShowDialog()|Out-Null

效果:AI 完成任务 → 系统发出提示音 → 屏幕中央弹出深色主题弹窗,显示自定义消息,点击"确定"关闭。


五、权限白名单

当你使用 Hooks 执行脚本时,Claude Code 会弹出权限确认。如果你不想每次都点确认,可以在.claude/settings.local.json里加上白名单:

{"permissions":{"allow":["Bash(powershell.exe *)","Bash(npm -v)","Bash(pnpm install *)"]}}

这样 Hook 脚本就能静默执行,不会在关键时刻打断 AI 的工作流。


六、进阶玩法:不止于提醒

Hooks 的潜力远不止弹窗通知。你可以用它来做:

  • PreToolUse→ AI 每次操作前记录日志,方便审计
  • PostToolUse→ 自动eslint --fix格式化 AI 修改过的文件
  • Stop→ 完成时自动git diff生成变更摘要、自动运行测试用例
  • Notification→ 集成飞书 / 钉钉 / 企业微信 Webhook,实现远程通知

一个稍微复杂一点的 Stop Hook 示例:

{"hooks":{"Stop":[{"hooks":[{"type":"command","command":"powershell -File notify.ps1 -Message '代码生成完毕'"},{"type":"command","command":"npm run lint"}]}]}}

这样任务结束后,先弹窗提醒,再自动跑 Lint 检查。


七、跨平台兼容

macOS / Linux 用户可以用osascriptnotify-send实现类似效果:

macOS:

{"command":"osascript -e 'display notification \"任务完成\" with title \"Claude Code\" sound name \"Glass\"'"}

Linux:

{"command":"notify-send 'Claude Code' '任务已完成' -i dialog-information"}

八、总结

Claude Code Hooks 让"AI 写代码,你摸鱼"的模式真正闭环了。配置一次,受益终身。核心要点:

  1. Hook 配置写在.claude/settings.json,支持多种生命周期事件
  2. Stop Hook 最实用——任务完成时自动通知
  3. 跨平台兼容——PowerShell / osascript / notify-send 都能接
  4. 不止通知——可以串联 lint、测试、构建等自动化流程

希望这篇文章能帮你在摸鱼之路上更进一步。如果你有其他有趣的 Hooks 玩法,欢迎在评论区交流。


*本文示例代码基于 Windows 11 + PowerShell 5.1 + Claude Code 实践。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 18:23:55

【PyTorch】with torch.no_grad() 详解

在阅读以下内容前,请务必先大致了解计算图机制,特别是叶子节点:pytorch——计算图与动态图机制 with torch.no_grad()在 PyTorch官网 中的定义为: Context-manager that disables gradient calculation. 意思是with torch.no_gra…

作者头像 李华
网站建设 2026/7/23 18:17:23

如何基于小型工控机与openwrt打造家用软路由

前言 何为软路由?顾名思义,区别于一般的家用路由器,软路由由软件实现家用路由器的一系列功能,目前最常见软路由软件就是openwrt了,本质上openwrt不是一个应有软件,而是类似于centos/suse等的基于linux内核的…

作者头像 李华
网站建设 2026/7/23 18:16:25

麒麟信安登录央视, 深度展现为中国信息安全铸“魂”之路

近日,麒麟信安登录央视频道,《麒麟信安——为中国信息安全铸“魂”》在CCTV-4中文国际频道、CCTV-7国防军事频道、CCTV-10 科教频道、CCTV-12社会与法频道、CCTV-17农业农村频道,向亿万观众深度展现麒麟信安为中国信息安全铸“魂”之路。 麒麟…

作者头像 李华
网站建设 2026/7/23 18:14:47

【模拟IC学习笔记】 PSS和Pnoise仿真

目录 PSS Engine Beat frequency Number of harmonics Accuracy Defaults Run tranisent?的3种设置 Pnoise type noise Timeaverage sampled(jitter) Edge Crossing Edge Delay Sampled Phase sample Ratio 离散时间网络(开关电容电路)的噪声仿真方法 PSS PSS…

作者头像 李华
网站建设 2026/7/23 18:14:14

PairLIE论文阅读笔记

PairLIE论文阅读笔记 已转博客园和知乎,文章均无需VIP免费看。博客园主页:https://www.cnblogs.com/RunfarAI。知乎主页:https://www.zhihu.com/people/liu-he-ting-yu-47。 兴趣:Low Level Vision,图像恢复,大模型 论文为2023CVPR的Learning a Simple Low-light Image E…

作者头像 李华