用途:为 Claude Code 配置生命周期钩子,用机械方式执行规则——模型可以绕过文字指令,但无法绕过退出码 2 的阻断。钩子须窄范围、静默、可逆。
主要能力:支持 PreToolUse、PostToolUse、PermissionRequest、UserPromptSubmit、Stop、SessionStart、Notification 等事件,matcher 支持精确匹配、正则 OR、MCP 工具与通配符。退出码 0 时从 stdout 解析 JSON,退出码 2 阻断并将 stderr 反馈给 Claude,其他为不阻断错误。默认交付 Policy Dispatch Engine,以 policies-as-data 注册表工作,模式有 deny、route、audit,每次触发写入哈希遥测;另附多个可选守卫:已安装技能编辑守卫、读取预算守卫、技能优先协调守卫。
使用方式:在 ~/.claude/settings.json 或 .claude/settings.json 添加 hooks 数组与 matcher。插件安装自动接线 hooks/hooks.json;技能复制用 ~/.claude/skills/cc-hooks/scripts/install-hooks.sh;克隆/brew 用 scripts/install-policy-dispatch.sh。可选守卫用 scripts/install-installed-skill-edit-guard.sh、scripts/install-read-budget-guard.sh 等,支持 --project。可用 /plugin disable agentops 或移除 settings 中两个 PreToolUse matcher 禁用。
适用场景:阻断 git push --force、rm -rf 等高危命令;把已安装技能编辑路由回仓库源码;拒绝超行预算的无界读取;在 Stop 钩子中强制继续。
限制:成功路径必须静默,否则会破坏工具调用;Stop 钩子须检查 stop_hook_active 防止递归;injection 类钩子不应交付;纯谓词可能因命令文本中出现受保护 token 而误触发,可用 AOP_WAIVE 单次豁免;注册表或 jq 缺失时策略开放(fail open)。具体安装、价格或平台支持若资料未提供则暂未说明。