Claude Code 总在乱来?给它装个「操作拦截器」——Hook 开发入门

Claude Code 用起来顺手,但有时候它会忽略你的安全边界、乱调工具——装上这个 Hook 技能,就能给 AI 套上「自动化保险丝」,把危险操作直接熔断在执行之前。


为什么你的 AI 总在乱来?

Claude Code 写代码,有没有遇到这种情况:让它重构一个函数,结果它把半个项目都改掉了;让它跑测试,结果直接 rm -rf node_modules 删了整个依赖目录;甚至有时候误触了什么敏感命令,数据直接 GG。

这些问题本质上是:AI 没有「校验动作」的反馈回路,它执行操作前没经过你点头。

Hook 开发就是来解决这个的——给 Claude Code 装一个「操作拦截器」,让它在执行危险命令前先问你,或者直接 Block 掉。


Hook 开发是什么?

这是 Anthropic 官方 anthropics/skills 技能库里的一个子技能,专门教你怎么在 Claude Code 里写插件钩子。

支持的事件类型:

  • PreToolUse:工具调用之前触发——最常用的拦截点
  • PostToolUse:工具执行完成后触发——适合做审计日志
  • Stop / SubagentStop:会话中断时触发
  • SessionStart / SessionEnd:会话开关时触发
  • UserPromptSubmit:用户提交消息时触发
  • PreCompact:上下文压缩前触发
  • Notification:通知事件

简单说,你可以覆盖任何一个关键节点,决定 AI 在这个节点上做什么。


实际用法

场景一:拦截危险命令

比如你不希望 AI 执行任何删除操作,写一个 PreToolUse Hook:

def on_pre_tool_use(tool_name, tool_input):
    if "rm" in tool_name.lower() or "delete" in tool_name.lower():
        return {"block": True, "reason": "危险操作已拦截"}
    return {"allow": True}

AI 试图删文件时,直接熔断,不执行。

场景二:强制人工审批

对于写文件、跑命令这类操作,设置必须经过你确认才能执行:

def on_pre_tool_use(tool_name, tool_input):
    dangerous = ["Bash", "Write", "Edit"]
    if tool_name in dangerous:
        confirm = input(f"允许执行 {tool_name}? (y/n)")
        if confirm.lower() != "y":
            return {"block": True}
    return {"allow": True}

场景三:操作审计日志

用 PostToolUse Hook 记录每一次工具调用的输入输出,方便事后复盘:

def on_post_tool_use(tool_name, tool_input, tool_output):
    with open("audit_log.jsonl", "a") as f:
        f.write(json.dumps({
            "tool": tool_name,
            "input": tool_input,
            "timestamp": datetime.now().isoformat()
        }))

适用人群

  • 安全意识强的开发者:不想让 AI 裸奔执行危险操作
  • 团队负责人:需要审计 AI 在团队成员会话里的操作记录
  • AI 极客:想深度定制 Claude Code 的行为逻辑

怎么安装

在 Claude Code 里直接安装官方技能包:

/plugin marketplace add anthropics/skills
/plugin install example-skills@anthropic-agent-skills

或者直接参考 skills/hook-development/SKILL.md 的说明手动配置。


GitHub 链接github.com/anthropics/skills(Hook 开发技能位于 skills/hook-development/ 目录下)


GitHub: https://github.com/anthropics/skills

评论区

0 条评论

登录后可评论。

白鹿 12 阅读