Claude Code 现在支持装 Mod 了,和 DeepSeek Harness 一样,你可以像给游戏打补丁一样,彻底魔改它的界面、操作逻辑甚至底层功能。DeepSeek 叫"插件",Claude Code 叫"Mod"。

你可以自己写几行 TypeScript,也可以直接打字让 Claude 现场把 Mod 写出来并热加载生效。现在不管是拦截危险命令、在终端画出实时图表,还是逐行回放代码修改记录,都可以通过 Mod 轻松搞定。就连 Claude Code 自带的 /diff 和 AGENTS.md 支持,官方也已经改成了 Mod 实现。
Claude Code 之父 Boris Cherny 表示:现在只需要输入 Prompt,就能让 Claude 按照你想要的方式工作和展现。每个人的工作流都不同,没有理由让所有人都面对一模一样的 Claude。DeepSeek Harness 之父 Tianyi Cui 也第一时间围观点赞。

官方演示:三个 Mod
Token Weather(上下文天气预报)
在输入框上方实时显示当前上下文窗口占用情况,并画出过去 12 轮交互的柱状图。占用低于 25% 显示晴天,67% 显示阵雨,超过 81% 显示暴风雨。
Blast Radius(爆炸半径拦截器)
防手抖神器。当 Claude 试图执行 rm -rf、git reset --hard 等高危命令时,系统自动暂停执行,并在侧边栏列出该命令会影响哪些文件,等待用户确认。
Replay Theater(修改回放影院)
记录 Claude 在一轮对话中做出的所有文件修改,输入 /replay 就能在侧边面板中逐步查看每处代码 Diff。
Mods 工作原理
Mod 本质上是 TypeScript 或 JavaScript 模块,运行在会话中,监听 Claude Code 产生的各种事件。每个事件发生时,所有 Mod 像中间件一样串联起来:

一个 Mod 钩子函数具备三种能力:Observe(观察)静默记录数据;Rewrite(重写)在数据传递前篡改;Answer(拦截并接管)直接返回结果不再往下执行。Mod 拥有和 Claude Code 本身完全相同的系统权限,没有沙箱隔离。
开发你的第一个 Mod
以 Token Weather 为例,约 80 行代码即可实现。创建插件目录结构,配置 plugin.json 和 hooks.json,在 hooks/token-weather.mjs 中监听 ui.render 事件绘制 UI,通过 $.session.usage() 获取上下文数据,利用 $.state 持久化数据以支持热重载。
验证与测试:
claude plugin validate ./token-weather
claude plugin test ./token-weather
进阶:Blast Radius 命令拦截
Blast Radius 监听 tool.call 事件,使用 $.process.run 安全调用 git status 预检,防止 Shell 注入。Mod 钩子有 10 秒超时限制,但在 $.process.run 内部等待时间不计入超时。终端窗口足够宽时开侧边面板,变窄时自动降级到输入框上方渲染。

Replay Theater 改动追踪
利用 turn.start 和 turn.complete 归拢同一轮对话中的多次写入,写入前用 $.fs.read 抓取原内容精准算出 Diff,通过 $.command.register 注册自定义斜杠命令。

开发避坑指南
- 善用自动生成的类型声明:每次加载 Mod,系统会在 .claude-plugin/types/ 生成最新类型定义
- 组件参数在 e.props 里面,不要直接去 e 顶层获取
- 状态存进 $.state,为热重载做准备,不要用模块内部闭包变量存历史数据
- 遇事不决查日志:运行 claude --debug 查看组件校验失败报错
苏米注:Claude Code 开放 Mod 生态是一个重要信号——AI 编码工具正在从"黑盒"走向"可定制平台"。用户不再被动接受官方定义的工作流,而是可以自己定义交互方式。这对于深度使用 Claude Code 的开发者来说意义重大。DeepSeek Harness 之前已经做了类似的事情,但 Claude Code 的用户基数显然更大,这个功能可能会推动整个 AI 编码工具的插件化趋势。
Github:https://claude.dev/blog/getting-started-with-claude-code-mods/