在 Claude Code 中,已经有人开始玩起了俄罗斯方块。这并不是通过打开另一个游戏窗口实现的,游戏直接嵌入到了 Claude Code 的界面里。今天早上,Claude Code 负责人 Boris Cherny 在 X 平台上宣布,Claude Mods 正式开始落地。社区成员已经利用这一新机制,开发出了运行在 Claude Code 内部的俄罗斯方块 Mod。虽然这看起来只是一个有趣的 Demo,但其背后的变化却深远得多。
有了 Mods,开发者能够深入地改变 Claude Code 的行为与界面。例如,拦截工具调用进行检查与修改,或者增加新的交互组件。更进一步,用户甚至可以直接告诉 Claude 自己想修改什么,再让 Claude 帮忙编写对应的 Mod。换句话说,Claude Code 正在将自身越来越多的能力开放为可编程接口。但这并不意味着 Claude 能修改自己的模型权重或随意重写核心程序。它所做的更接近于:在 Anthropic 开放的扩展边界内,允许 Claude 帮助用户生成、测试并加载那些改变自身行为的插件。这套机制很可能成为 Claude Code 接下来最值得关注的架构变革。
这件事最早公开于 9 月 3 日。Anthropic 工程师在 Claude Code 的 GitHub 仓库发起了一项名为 Function Hooks 的提案。在此之前,Claude Code 已经支持 Hooks,开发者可以在工具调用前、调用后或会话开始等节点运行程序。例如,在 Claude 执行 Bash 命令前进行检查,或在准备写文件时进行额外判断。这类机制已经能完成不少自动化工作,但扩展能力主要围绕预先定义的事件展开。
Function Hooks 将这层接口进一步推进到了 Claude Code 的内部。Hook 可以被编写为带有完整类型定义的 TypeScript 函数。当一次事件经过多个 Hook 时,它们按照注册顺序层层嵌套,行为类似于 Express 或 Koa 等 Web 框架中的中间件。一个 Hook 收到事件后,可以先检查发生了什么,决定如何处理,然后将执行权传递给下一层。这意味着插件开始进入 Claude Code 的关键执行路径。例如,当工具调用发生时,插件可以查看它;若发现不符合规则,可以拒绝执行;若满足条件,则继续向下传递。
这种机制还扩展到了 UI 层面。Anthropic 展示的 Demo 显示,插件可以挂载到 Claude Code 的 React 组件上,修改组件属性,或者包装组件最终返回的界面节点,甚至可以捕获一次按钮点击。终端和桌面端中的相同交互,都可以进入同一套处理逻辑。管理员同样处于这条调用链的上游,能够对后续插件使用的能力进行限制。
到了 9 月 9 日,Anthropic 正式为这一功能确定了产品名称:Claude Mods。官方定义非常直接:Mod 本质上就是一个使用 Function Hooks 的插件。Function Hooks 继续作为底层工程机制存在,而 Claude Mods 则成为用户直观看到的产品形态。当时 Anthropic 表示功能将在数周内发布,同时开放了首批内置 Mods 的源代码,并允许开发者通过实验开关提前测试。
几天后,事情明显加速。Claude Code 主仓库开始密集出现与 Mods 相关的提交。当前代码中已经可以看到 diff、sec-default 和 telemetry 等内置 Mod,以及对应的测试框架。其中 diff 尤其值得关注:Claude Code 原本已有的 diff 面板,正在被重新实现成一个 Mod。Anthropic 的意图也很明确:未来会继续把 Claude Code 已有的一部分功能迁移到 Mod 形态。
在网友的热评中,有人表示:“Claude Mods 的影响,可能会比发布一个新模型还大。” 目前 Claude Code 已经支持一些基础的 Hooks,它们本质上是小型 Shell 脚本,只能在几个固定节点运行,能力有限,且在 Windows 上经常出现莫名其妙的问题。Claude Mods 将彻底改变这一点。以后,一个插件可以作为真正的函数,嵌入 Claude Code 几乎任何一个执行环节。它可以监听工具调用,拦截、修改或放行请求。
我们可以将其理解为中间件,这与 Express 这类 Web 服务器中的 middleware 模式非常相似。这会带来许多真正有用的能力:在 AI 读取信息之前隐藏密钥等敏感内容;真正阻止危险操作,而不仅仅是依赖 AI 自觉遵守;做出真正的交互界面,如社区直接在 Claude 里做出的俄罗斯方块;让管理员精确控制每个插件能够访问和修改的内容。
GitHub issue 下的评论区并不是单纯在吹捧这个功能,更像是一场公开进行的实时审计。一些工程师拿到早期版本后,已经开始主动想办法“搞坏”它,测试系统在各种异常情况下的表现:他们故意让一个 Hook 一直卡住,测试超时会发生什么;拦截了一次文件写入,结果 AI 换了另一个工具照样把文件写了进去,因为拦截并没有告知具体原因;用有问题的代码去跑安全检查,结果安全检查仍判断“一切正常”,实际上并没有。
这群人基本都是实际生产环境中的用户,他们在功能正式发布之前已经免费替 Anthropic 做安全测试了。原因很简单:他们真的准备把这套东西接进真实系统里,而这些系统中的操作是有实际风险和后果的。
从更大的行业趋势看,Claude Mods 出现的时间点很有意思。大模型能力仍在快速进步,但 Coding Agent 已经开始进入另一个阶段。越来越多差异来自模型外围。上下文组织、工具设计、权限控制、记忆保存、子 Agent 协作、失败恢复、组织内部的规则进入执行链,这些共同组成了 Agent 的 Harness。
Claude Mods 相当于把 Harness 的一部分控制权交给了开发者。这可能带来一个很有意思的结果:未来开发者选择 Coding Agent 时,考虑的不再仅仅是“哪个模型代码能力最强”,还会考虑哪个平台拥有更强的插件生态、更细的控制能力、更成熟的企业策略体系,以及自己的工作流能不能真正长在上面。从这个角度看,Anthropic 正在做一件典型的平台化动作:先开放扩展接口,再用自己的产品功能验证这套接口,然后让社区开始填充生态。
目前 Claude Code 仓库中已经出现了第一批内置 Mods。社区也已经开始制作自己的实验项目。如果这套机制最终稳定下来,Claude Code 的升级节奏也会发生变化。过去,一个开发者想要某项能力,需要等待 Anthropic 来做。以后,很多时候可能只需要对 Claude 说一句:“我想让 Claude Code 这样工作。”剩下的事情,Claude 可以开始自己写。
