✷ Harness
Claude Mods 是什么?
Claude Code 以前只是一个聊天窗口。现在你可以用 mods 扩展它:mods 是一种小插件,能在 Claude Code 里面加面板、按钮、命令,甚至游戏,直接画在 Claude Code 的界面里。
先打个比方
想想手机上的 App,或者浏览器里的扩展。Mod 就是同一个思路,只不过对象换成了 Claude Code。Claude Code 本身是一个让你聊天、让它写代码的窗口,mod 则让你往这个窗口里加东西。
- 手机有 App。
- 浏览器有扩展。
- Claude Code 有 mods。

一个 mod 能改什么?
Claude Code 普通的设置只能运行命令。Mods 可以直接在界面里绘制:
- 聊天旁边的侧边面板
- 提示词上方的一条栏
- 一个新的
/命令,即使 Claude 正在工作也能立刻执行 - 重新设计过样式的加载动画或工具调用行

它是怎么工作的?
Claude Code 会广播事件:“Claude 调用了一个工具”“用户发了一条消息”“屏幕需要重绘”。Mod 监听这些事件,对每个事件可以:
- 只看一眼,放行
- 修改它,再往下传
- 自己接手处理

十几行代码写成的 mod
这个 mod 会统计 Claude 的工具调用次数,并把数字加到加载动画上,让它显示成“Thinking · tool calls: 3…”。
let calls = 0
export function register(on) {
on('tool.call', async ($, e, next) => {
calls += 1
$.ui.invalidate('ui.render') // redraw the screen
return next(e) // let the tool run as usual
})
on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })
})
}
两个钩子共用一个变量:一个负责计数,一个负责绘制。这就是一个 mod。
为什么不用 hook、skill 或 MCP server?
Claude Code 有好几种扩展方式,各自干的活不一样:
- 设置里的 hook:事件发生时运行一条 shell 命令。适合拦截、放行或记录日志。
- Skill:一份 Claude 会去读的 Markdown 说明。适合你总在重复粘贴同一段提示词的时候。
- MCP server:给 Claude 新的工具,让它够得着外部系统。
- Mod:在 Claude Code 内部运行的代码,也是唯一能在界面里绘制的一种。
还能做什么?
官方的示例 mods 展示了大致的范围:
- token-weather:显示在提示词上方的上下文窗口“天气预报”。
- blast-radius:拦下有风险的 shell 命令,并显示“继续”和“取消”按钮。
- replay-theater:一个
/replay命令,展示上一轮改了什么。
一个真实的例子:Idle Arcade
等 Claude 干活很无聊,所以我做了一批游戏,在聊天旁边的面板里运行。Claude 工作的时候你来玩。Claude 每调用一次工具,就会往你的游戏里掉一份奖励。Claude 做完后,游戏会暂停并告诉你。

Fish Shooter 是第一个游戏。金币数和下注额放在顶栏,每次工具调用成功,就会有一条金鱼游过水面。Claude 写代码,你打鱼。

目前一共有 6 个原创游戏:fish shooter、brick breaker、snake、space shooter、tap flyer 和 jump runner。全部开源。
一个提醒
Mods 没有沙箱。它们以你的权限运行,能看到你的提示词和工具调用。只安装你信任的来源,并且先运行 claude plugin validate。想关掉某个 mod,在 /plugin 里禁用它,或者用 --safe-mode 启动 Claude Code。
一句话总结
Mod 是一个住在 Claude Code 里的小程序。它监听里面发生的事,然后往屏幕上加东西、改东西,或者替你做决定。它很强大,所以只安装你信任的 mods。
试一试
你需要终端里的 Claude Code v2.1.287 或更高版本。
/plugin install idle-arcade --marketplace beasaltfish/idle-arcade
然后输入 /idle。
想加一个你自己的游戏?仓库里的 AGENTS.md 会告诉你的编程 agent 怎么做一个,并提交 pull request。