跳到正文
原文
Google AI:DEV 作者专属(RSS)· HIROKI II·· 3 小时前精选AI 评分72

Anthropic 为 Claude Code v2.1.287 推出 Mods:用 TypeScript 函数改写工具调用与界面

Claude Code v2.1.287: Skills Instruct. Mods Decide.

AI 导读

Anthropic 于 2026 年 10 月 1 日发布 Claude Code Mods,需 Claude Code v2.1.287 或更高版本,官方称其为可改变 Claude Code 工作方式的小型 TypeScript 函数,随插件分发,在 CLI 和桌面端可用。

推荐理由

原文梳理了 Mods 与 Skills、MCP 的分工和可挂载的事件点,并提醒 Mods 无沙箱、可读取文件与密钥的风险。

正文 · AI 翻译

你让 Claude Code 清理一个目录。它想运行一条删除命令,于是弹出一个对话框:允许还是拒绝。对话框从不告诉你这条命令会删掉哪些文件。你在不知道自己在同意什么的情况下按下了“是”。这不是你这边技能不足的问题——权限系统只决定是否要询问,而不决定之后会发生什么。2026 年 10 月 1 日,Anthropic 发布了 Mods,现在这个位置是你的了。

本文中的事实来自官方公告和文档(核查于 2026-10-02/03)。我并未亲自运行每一步;Mods 需要 Claude Code v2.1.287 或更高版本,如果你的界面有所不同,请以你的版本为准。

先动手:两个聊天会话

跳过架构。打开一个 Claude Code 会话并输入:

Make me a mod that shows the current git branch above the prompt box.

Claude 会写一个插件目录——一个 manifest、一个 hooks.json 和一个 register.js——当第一个文件落地时你批准热重载,而在那一轮结束时,分支名就显示在你的提示符上方。这就是会话一。

会话二:把显示改成工具调用计数器。一行代码,保存,在该轮结束时生效。无需安装 Node.js,无需打包器——Claude Code 直接加载你的 .js 和 .ts。

用大白话说说刚才发生了什么:你写了一个函数,告诉 Claude Code“每当你要做某件事时,先经过我。”

三层结构,终于理清了

Skill 是说明书。为模型写的指令。但说明书拦不住一只手——它说了该做什么,而模型仍可能不照做。

MCP 是控制器。外部设备:数据库、API、浏览器。更多可玩的游戏,同样的游戏规则。

Mods 改写游戏本身。游戏还是那个游戏,但界面、数值和行为都可以改变。官方说法是:“改变 Claude Code 工作方式的小型 TypeScript 函数”,随插件一起发布,在 CLI 和桌面端均可工作。

一句话:Skills 告诉它怎么做。Mods 替它做决定。

mod 可以挂钩的地方

  • tool.call —— 允许、改写参数或拒绝(拒绝原因会被 Claude 作为工具结果读取),甚至绕过原工具并返回你自己的结果。
  • prompts —— 在用户输入发送前改写它;替换或丢弃单个系统提示词部分。
  • turn.step —— 在每次模型请求前触发,并可以更改 model 字段。该能力已有文档记载;一个生产级的“按任务路由”mod 目前官方尚不存在,所以今天不要基于它来构建。
  • ui.render —— 窗格、提示符上方的横条,甚至重绘工具行和加载指示器。

处理程序构成一条中间件链:on(event, matcher, handler),参数为 ($, e, next)。调用 next(e) 来观察,调用 next({...e}) 来改写(事件被深度冻结),或者不调用 next 直接返回,自己应答该事件——一次拒绝会短路掉下游的一切。

证据:Claude Code 用 mod 改造自己

anthropics/claude-code 仓库在 mods/ 下内置了四个 mod:diff(/diff 命令)、agents-md(AGENTS.md 支持)、telemetry 和 sec-default(组织策略守卫)。你日常使用的功能,就是用你即将使用的同一套机制写成的。

安装任何东西之前先读这个

官方说明:“Mods 运行时对你的机器拥有的访问权限与 Claude Code 本身相同。它们不受沙箱限制。”已加载的 mod 可以读取你的文件、从环境变量中读取 API 密钥、查看每一条提示词、代表你批准工具调用,并消耗你的配额。只从你信任的来源安装;Claude 为你编写的 mod 很方便,但一旦获批,它就会以你的身份运行。文档展示了如何在加载 mod 之前列出它注册的事件。

暂时跳过这些

  • 模型路由类 mod:能力已有文档说明,但尚无官方参考实现。
  • 从零编写命令审计 mod:命令解析会泄露边缘情况;先从修改官方的 blast-radius 示例开始。
  • 把 mod 当作备份:拦截器不是备份。

回到那个对话框:安装了 blast-radius 后,在你按下 Yes 之前,你就能看到某条命令会触及哪些路径——而按下它的仍然是你。Anthropic 说得最好:“我们希望 Claude Code 感觉像是你自己的。”

来源

来源:Google AI:DEV 作者专属(RSS) · dev.to