[claude code] 04 进阶篇:权限、Hooks 与自动化

发布时间:2026/7/31 16:32:31

[claude code] 04 进阶篇:权限、Hooks 与自动化
04 进阶篇权限、Hooks 与自动化精细控制 Claude Code 的行为边界让 AI 安全地为你工作。4.1 分层权限系统Claude Code 的权限系统分为三层权限模式粗粒度 → allow/deny 规则细粒度 → 沙盒隔离层权限模式回顾模式读取编辑命令切换方式普通模式自动需确认需确认ShiftTab自动接受编辑自动自动需确认ShiftTab计划模式自动不执行不执行ShiftTab4.2 allow/deny 规则配置配置文件位置文件作用范围优先级~/.claude/settings.json全局所有项目低.claude/settings.json项目团队共享中.claude/settings.local.json项目个人高规则语法{permissions:{allow:[Read,Glob,Grep,Bash(npm run test),Bash(npm run build),Bash(git status),Bash(git diff),Bash(git log*)],deny:[Bash(rm -rf *),Bash(git push --force),Bash(curl * | bash),Read(./.env*),Read(./**/secrets/*)]}}规则匹配模式模式含义示例Read允许/拒绝所有读取读取任意文件Write允许/拒绝所有写入修改任意文件Bash(npm run test)精确匹配命令仅匹配npm run testBash(npm run:*)前缀匹配冒号分隔匹配npm run test、npm run build等Bash(git *)通配符匹配匹配所有 git 命令Read(./.env*)Glob 匹配文件路径匹配.env、.env.local等实战配置示例前端项目{permissions:{allow:[Read,Glob,Grep,Bash(npm run:*),Bash(npx:*),Bash(git *),Bash(node *)],deny:[Bash(npm publish*),Bash(git push --force*),Read(./.env*)]}}Python 项目{permissions:{allow:[Read,Glob,Grep,Bash(python *),Bash(pytest *),Bash(pip install *),Bash(git *),Bash(poetry *)],deny:[Bash(pip install --user *),Bash(git push --force*),Read(./**/credentials*)]}}最佳实践先用普通模式观察 Claude 常用哪些命令再逐步添加 allow 规则始终添加 deny 规则保护危险操作rm -rf、git push --force敏感文件用Read(./path*)deny 规则保护不要使用--dangerously-skip-permissions除非在 CI 等受信环境4.3 Hooks 系统Hooks 是 Claude Code 的自动化引擎在特定生命周期事件触发时执行自定义命令。8 大生命周期事件事件触发时机可用变量能否阻断典型用途SessionStart会话开始无否环境初始化UserPromptSubmit用户按回车前prompt是危险指令过滤PreToolUse工具执行前tool_name,tool_input是权限审计PostToolUse工具执行后tool_name,tool_input,tool_output否自动格式化NotificationClaude 需要用户输入notification_text否桌面通知Stop响应完全结束无否摘要日志SubagentStop子代理任务结束subagent_name,result否子任务统计PreCompact对话压缩前无否备份历史Hook 配置结构{hooks:{事件名:[{matcher:匹配模式正则,hooks:[{type:command,command:要执行的 shell 命令}]}]}}可用环境变量变量含义适用事件$CLAUDE_TOOL_NAME被调用的工具名PreToolUse, PostToolUse$CLAUDE_TOOL_INPUT工具输入JSONPreToolUse, PostToolUse$CLAUDE_TOOL_INPUT_FILE_PATH文件路径文件操作工具$CLAUDE_TOOL_OUTPUT工具输出JSONPostToolUse$CLAUDE_PROMPT用户提示文本UserPromptSubmit4.4 Hook 实战示例示例一自动格式化PostToolUse每次 Claude 编辑文件后自动运行 Prettier{hooks:{PostToolUse:[{matcher:Write|Edit,hooks:[{type:command,command:npx prettier --write \$CLAUDE_TOOL_INPUT_FILE_PATH\ 2/dev/null || true}]}]}}示例二ESLint 检查PostToolUse编辑 JS/TS 文件后自动 lint{hooks:{PostToolUse:[{matcher:Write|Edit,hooks:[{type:command,command:npx eslint \$CLAUDE_TOOL_INPUT_FILE_PATH\ --fix 2/dev/null || true}]}]}}示例三安全审计PreToolUse阻止 Claude 读取敏感文件{hooks:{PreToolUse:[{matcher:Read,hooks:[{type:command,command:echo \$CLAUDE_TOOL_INPUT\ | jq -r .file_path | grep -qE \\.(env|key|pem)$ echo BLOCK: 不允许读取敏感文件 exit 1 || exit 0}]}]}}示例四桌面通知NotificationClaude 需要输入时发送系统通知{hooks:{Notification:[{matcher:,hooks:[{type:command,command:osascript -e display notification \Claude Code 需要你的输入\ with title \Claude Code\}]}]}}Linux 替代方案{command:notify-send Claude Code 需要你的输入}Windows 替代方案{command:powershell -Command \[System.Reflection.Assembly]::LoadWithPartialName(System.Windows.Forms); [System.Windows.Forms.MessageBox]::Show(Claude Code 需要你的输入, Claude Code)\}示例五会话日志Stop每次会话结束记录摘要{hooks:{Stop:[{matcher:,hooks:[{type:command,command:echo \[$(date %Y-%m-%d %H:%M)] Session ended in $(pwd)\ ~/.claude/session-log.txt}]}]}}示例六Python 自动格式化PostToolUse{hooks:{PostToolUse:[{matcher:Write|Edit,hooks:[{type:command,command:echo \$CLAUDE_TOOL_INPUT\ | jq -r .file_path | grep -qE \\.py$ black \$CLAUDE_TOOL_INPUT_FILE_PATH\ 2/dev/null || true}]}]}}4.5 自动化工作流工作流一代码质量门禁{hooks:{PostToolUse:[{matcher:Write|Edit,hooks:[{type:command,command:FILE\$CLAUDE_TOOL_INPUT_FILE_PATH\; case \$FILE\ in *.py) black \$FILE\ flake8 \$FILE\;; *.ts|*.tsx) npx prettier --write \$FILE\ npx eslint \$FILE\ --fix;; *.go) gofmt -w \$FILE\;; esac 2/dev/null || true}]}]}}工作流二自动测试{hooks:{PostToolUse:[{matcher:Write|Edit,hooks:[{type:command,command:FILE\$CLAUDE_TOOL_INPUT_FILE_PATH\; case \$FILE\ in *test*.py) pytest \$FILE\ -q;; *test*.ts) npx jest \$FILE\;; esac 2/dev/null || true}]}]}}工作流三Git 安全防护{hooks:{PreToolUse:[{matcher:Bash,hooks:[{type:command,command:echo \$CLAUDE_TOOL_INPUT\ | jq -r .command | grep -qiE (push --force|reset --hard|clean -f|rm -rf /) echo BLOCK: 危险 Git 操作被阻止 exit 1 || exit 0}]}]}}4.6 沙盒模式在隔离环境中运行命令防止意外损害{security:{sandbox:true}}沙盒模式下Claude 执行的命令被限制在安全范围内。最佳实践生产环境或共享服务器上建议开启沙盒模式。4.7 Hook 注意事项注意事项说明保持轻量Hook 在每次工具调用时执行慢 Hook 会严重拖慢体验错误容忍用2/dev/null || true防止 Hook 报错阻断流程matcher 是正则Write|Edit匹配 Write 或 Edit 工具阻断返回非零PreToolUse Hook exit 1 会阻断工具执行配置位置全局~/.claude/settings.json或项目.claude/settings.local.json4.8 小结概念关键要点权限模式三种模式ShiftTab 切换allow/deny细粒度控制支持精确匹配和通配符Hooks8 大生命周期事件实现自动化常用 Hook格式化、lint、安全审计、通知沙盒生产环境建议开启Hook 原则轻量、容错、正则匹配上一篇03 项目篇CLAUDE.md 与项目配置下一篇05 实战篇MCP 服务器与技能扩展

相关新闻

盘锦装修施工怎么选?从服务细节到口碑反馈少走弯路

盘锦装修施工怎么选?从服务细节到口碑反馈少走弯路

2026/7/31 16:22:31

盘锦装修施工的选择,不能只看效果图和单项报价,更应关注设计、材料、工艺、验收和售后之间是否形成闭环。尤其是整装、大平层、别墅、老房翻新、办公室装修和商铺装修,涉及工种多、周期长,前期判断越细,后期体验风险通…

5步实现AI Agent工具调用能力:从原理到实践

5步实现AI Agent工具调用能力:从原理到实践

2026/7/31 16:22:31

1. 项目概述:AI Agent工具调用能力实现路径去年在开发智能客服系统时,我首次尝试让AI自主调用外部工具处理工单,结果因为缺乏系统方法论踩了不少坑。现在回头看,其实只需要掌握几个关键节点就能快速搭建可用的工具调用型AI Agent。…

Agent插件生态与MCP协议:构建下一代智能助手的技术架构

Agent插件生态与MCP协议:构建下一代智能助手的技术架构

2026/7/31 16:22:31

通用Agent领域正在经历一场深刻的变革,传统的单一模型竞争格局逐渐被生态化竞争所取代。这次我们重点分析决定Agent成败的两个核心要素:插件生态的完善程度和基础模型的能力边界。无论是开源社区的Hermes Agent、PI Agent,还是商业平台的Clau…

C++中explicit解决了什么隐式坑

C++中explicit解决了什么隐式坑

2026/7/31 17:22:33

void func(vector<string> arg){} int main (){func (10); }上面这个例子中&#xff0c;开发者可能本来想往func传入一个int数据&#xff0c;正常来说&#xff0c;func没有能够接收int形参的函数&#xff0c;这个func应该编译器立刻&#xff1a;编译失败&#xff01;直接…

G-Helper:5分钟搞定华硕笔记本性能优化,告别臃肿控制软件

G-Helper:5分钟搞定华硕笔记本性能优化,告别臃肿控制软件

2026/7/31 17:22:33

G-Helper&#xff1a;5分钟搞定华硕笔记本性能优化&#xff0c;告别臃肿控制软件 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivoboo…

ncmppGui:3分钟掌握网易云音乐NCM格式解密转换技巧

ncmppGui:3分钟掌握网易云音乐NCM格式解密转换技巧

2026/7/31 17:22:33

ncmppGui&#xff1a;3分钟掌握网易云音乐NCM格式解密转换技巧 【免费下载链接】ncmppGui 一个使用C编写的极速ncm转换GUI工具 项目地址: https://gitcode.com/gh_mirrors/nc/ncmppGui ncmppGui是一款专为网易云音乐NCM加密格式设计的极速转换工具&#xff0c;采用C编写…

【路由协议LEACH和EAMMH】无线传感器网络中的聚类:使用MATLAB对EAMMH和LEACH协议的性能比较研究附Matlab代码

【路由协议LEACH和EAMMH】无线传感器网络中的聚类:使用MATLAB对EAMMH和LEACH协议的性能比较研究附Matlab代码

2026/7/31 17:22:33

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、算法改进、程序设计科研仿真。&#x1f34e;完整代码获取 定制创新 论文复现私信&#x1f34a;个人信条&#xff1a;做科研&#xff0c;博学之、审问之、慎思之、明辨之、…

APK Installer:在Windows上直接安装Android应用的完整指南

APK Installer:在Windows上直接安装Android应用的完整指南

2026/7/31 17:22:33

APK Installer&#xff1a;在Windows上直接安装Android应用的完整指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾想在Windows电脑上运行Android应用&…

技术人职场关系建立指南:从沟通协作到职业发展

技术人职场关系建立指南:从沟通协作到职业发展

2026/7/31 17:12:33

这次我们来看一个职场播客系列的第11集&#xff0c;主题聚焦在"建立职场好关系"这个实用技能上。这期内容不是单纯的理论讲解&#xff0c;而是结合真实职场场景&#xff0c;提供可操作的关系建立方法和避坑指南。对于技术从业者来说&#xff0c;职场关系往往容易被忽…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/30 9:53:22

目标&#xff1a;电脑作为RTSP 服务端&#xff0c;循环推送 H264/H265 视频流&#xff1b; RDK X5 通过 rtsp2display 拉流预览&#xff0c;完全不需要在开发板编译 live555。 提供两套成熟方案&#xff1a; ✅ 方案 A&#xff1a;FFmpeg&#xff08;最简单&#xff0c;优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/30 1:17:46

一、背景与测试方案 在实际项目交付中&#xff0c;PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及&#xff1a;多源PDF的文件流合并、页面级水印渲染&#xff08;含透明度混合与图层叠加&#xff09;、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/30 2:52:37

说实话&#xff0c;提到PDF拆分再压缩&#xff0c;我真是被折腾得够呛。 上个月公司年度合同归档&#xff0c;一份300多页的PDF总合同&#xff0c;需要按年份拆分成三个独立文件&#xff0c;再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单&#xff1f;先找个海…

2026优质EMBA择校榜单:校友圈质量高的EMBA适配民企创始人

2026优质EMBA择校榜单:校友圈质量高的EMBA适配民企创始人

2026/7/31 0:01:23

【客观独立测评】深耕商科教育测评多年&#xff0c;聚焦民企创始人、科创企业实控人择校痛点&#xff0c;避开镀金空壳、课程脱节、圈层杂乱的踩坑问题&#xff0c;结合真实办学数据与学员口碑&#xff0c;整理出适配实业高管的高性价比EMBA榜单&#xff0c;理性分析各项目适配…

绝区零一条龙:5分钟快速上手的终极自动化助手

绝区零一条龙:5分钟快速上手的终极自动化助手

2026/7/31 0:01:23

绝区零一条龙&#xff1a;5分钟快速上手的终极自动化助手 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 绝区零一条龙是一…

2026民企老板EMBA择校榜单:人脉圈广的EMBA高性价比测评

2026民企老板EMBA择校榜单:人脉圈广的EMBA高性价比测评

2026/7/31 0:01:23

【客观中立测评声明】本文基于学费成本、课程落地、圈层纯度、长期赋能四大维度实测打分&#xff0c;无商业洗脑吹捧&#xff0c;仅为民企创始人、科创高管提供真实择校参考&#xff0c;规避镀金踩坑陷阱。不少民营企业家读EMBA容易踩两大坑&#xff1a;盲目追名校排名&#xf…