# 我用官方插件把 Claude Code 的 rm -rf 按住了,删哪些文件列得清清楚楚
上周复盘过 Claude 一把删掉 4.8 万行文件的事故,当时的方案是 hooks 白名单——门外装监控。10 月 1 日 Anthropic 放出了正规军:Claude Code 2.1.287 新增 **Mods**。我花一下午实测,先说结论:让 AI 跑 `rm -rf`,它停住了。面板列出这条命令会删哪些文件、共几个,底下等着我按键。
## Mod 和 hooks 的本质区别
一句话:**hooks 是门外装摄像头,Mod 是给 AI 装神经系统。**
以前的扩展方式——hooks(事件跑脚本)、skills(塞说明书)、MCP(外接工具)——都在 Claude Code 外面转,只能递纸条。Mod 是跑在 Claude Code **内部**的 JavaScript,事件来了能看、能改、能接管。带来三件以前做不到的事:
- **拦住工具调用**:危险命令先按住,画面板问你
- **自己画界面**:在对话框旁边开实时面板
- **跨事件共享状态**:一个钩子记的账另一个钩子能直接用
官方在 anthropics/claude-code-playground 仓库放了三个示例,我逐个拆了。
## blast-radius:危险命令的「事中裁决」
AI 每次要跑 Bash,Mod 先过一遍:命令含 `rm -rf`、`git reset --hard`、`git clean`、强推、数据库迁移,就先不算执行,而是**算出波及范围**(哪些文件会删、多少个)画成面板等你按键。
我的实测:`echo hello` 秒过不误伤;`rm -rf` 被挂住,文件一个没少,停在那等按钮。
这和 hooks 白名单是本质区别:**白名单是「事前规则」,Mod 是「事中裁决」**——它知道这条命令要删什么,而你不知道。想想 4.8 万行文件那次,如果当时装着它,AI 敲删除命令的瞬间就会被按住。
## token-weather:上下文天气条
输入框上方画一条「天气预报」:上下文窗口 <25% 大晴天,50% 多云,75% 起风暴,90% 以上标「即将压缩」。每轮对话结束读一次数,最近 12 轮画成柱状图。
「什么时候该开新会话」从玄学变成看仪表盘。
## replay-theater:AI 改了什么,一帧一帧看
`/replay` 命令把 AI 这一轮的文件改动逐步重放。对「AI 写的代码我不放心」的人,这是验货工具——比 git diff 干瞪眼直观。
## 安全红线:Mod 能读你的密钥
官方文档原话,Mod 以你的权限运行:**能读写你账号能碰到的所有文件、能读环境变量和设置文件(包括 API key)、能替你批准工具调用、能花你账号额度**。
hooks 是只会跑你写好命令的脚本,Mod 是能替你做决定的代理。铁律升级:**只装信得过来源的 Mod**——官方仓库、大厂出品、或自己写的。来路不明的 Mod 等于家门钥匙连保险柜密码一起递出去。
## 怎么装
```bash
# 1. 升级(Mods 需 2.1.287+)
npm install -g @anthropic-ai/claude-code
# 2. 拉示例仓库
git clone github.com/anthropics/…
# 3. 加载(blast-radius 为例)
claude --plugin-dir /path/to/claude-code-playground/claude-code/mods/blast-radius
```
三个示例源码短的百来行、最长五百行出头,照着改一改自己的第一个 Mod 就出来了。Mods 不挑后端——我用第三方兼容网关跑的 Claude Code 一样能加载能拦命令。
AI 越能干,按钮越要握在自己手里。
---
*本文 AI 辅助创作,实测过程来自本人真实环境(公众号:赛博单兵)。*