AI Pulse

Claude Code上线mods:拦截命令、加界面元素,不必等官方更新

Claude Code上线mods:拦截命令、加界面元素,不必等官方更新

mods 是小型 TypeScript 函数,用来改变这个 AI 编程工具的工作方式。一个 mod 可以重写提示、往界面上加新元素、替换内置功能,或者加入一个全新的功能。

开发者一直想要更多对 Claude Code 的控制权,不想每次都等官方发布新功能。早前的 Hooks 给过一部分控制,但它没法重写事件、画出新的界面,也替换不了内置功能。mods 把这三件事都做了。

挂在事件上

Claude Code 每做一件事都会发出一个事件:调用工具、请求权限、绘制屏幕的一部分,都算。mod 就是挂到某个事件上的函数,可以在事件之前运行,也可以在事件之后运行,或者干脆代替事件运行;还可以在事件前后各跑一段代码,把整个事件包起来。

mods 打包在插件里,安装和分享方式与其他插件一样。一个 mod 可以选择只作用于终端、只作用于桌面应用,或者两者都影响。

能做什么

具体效果可以分几层看。提示词在到达模型之前,可以被 mod 改写。工具的调用可以被拦截,mod 决定继续、改写还是重试。请求权限的时候,mod 可以直接批准或拒绝。Claude 读取工具输出之前,mod 先把其中的机密信息剔除。

界面也开放了。Claude 画出的某一块,比如一个工具结果或一个提问,mod 可以编辑或替换,还能往里面加按钮和输入框。按下这些控件时,其他 mods 可以响应。

多个 mods 挂在同一个事件上时,按加载顺序运行:先加载的 mod 先看到事件,最后看到结果。不同作者写的 mods 可以彼此堆叠。说明里没有提到堆叠带来的性能开销。

对团队来说,官方给出的落点包括:用 mod 显示 CI/CD 流水线状态,构建通过或失败时实时更新面板;要求任何触及生产配置的命令先经过确认;让第一个加载的 mod 把其他 mods 的每次调用都记进审计日志。

安全边界

能力抬升的同时,安全风险也摆到明面上。mods 拥有与 Claude Code 本身相同的机器访问权限,没有沙箱隔离。官方提醒,应该像安装任何代码一样,只从可信来源安装 mods。

受管环境下会多一层限制。Team 和 Enterprise 计划的所有者可以在管理控制台设定插件市场权限;Claude API 和第三方 API 计划中,管理员会把托管设置推送到使用者机器。在 Team 和 Enterprise 计划,以及任何带有托管设置的机器上,一个名为 sec-default(安全默认)的内置 mod 会第一个加载,用来拦住用户安装的 mods 的危险操作,比如覆盖权限拒绝规则。管理员可以换成自己的 mods 优先加载,但官方建议把 sec-default 加回来,保持它的限制。官方没有展开 sec-default 具体拦截哪些操作。

精简核心

Claude Code 的内置功能也在慢慢向 mods 迁移。内置的 /diff 功能现在已经以 mod 的形式存在,可以关掉或替换成自己写的版本。按官方的规划,更多内置功能会陆续搬成 mods,最终让使用者把 Claude Code 精简到很小的内核,再按需加回功能。

现在就能用

mods 今天起在 Claude Code 的 CLI 和桌面应用里可用。官方没有单独说明 Windows 和 Linux 的支持情况。要安装包含 mods 的插件,可以去 Claude 目录找,也可以在 CLI 里输入 /plugin。要分享自己写的 mod,打包成插件提交到目录即可。官方提供了起步指南和文档。

不想自己写 TypeScript 的话,也可以直接把需求告诉 Claude Code,它会写好代码、完成安装,并在当前会话里热加载。

阅读原文
📚 相关主题 产品发布

订阅 AI Pulse

每天 08:00 · 12:30 · 18:30 · 23:50 更新