← 中文教程

Claude Code 扩展指南

Claude Code Mods:安装、开发与热重载

用事件处理函数定制 Claude Code 的行为和界面。先做一个小 Mod,确认它在哪些界面生效,再检查代码能访问哪些资源。

核实日期:2026 年 10 月 2 日。官方当前文档要求 Claude Code 2.1.287 或以上,Mods 已默认启用。早期的 CLAUDE_CODE_ENABLE_FUNCTION_HOOKS 环境变量在这些版本中已被忽略,设为 0 也不能关闭 Mods。

Mods 能改什么?

Mod 把可执行的事件处理函数打包进 Claude Code 插件。按官方事件机制,函数可以记录动作、修改事件后继续执行,或直接返回结果。比如统计工具调用、调整发给模型的提示词,或者为某类动作提供自定义处理。

界面 API可以添加面板、按钮和输入框,也能修改工具调用行和等待动画。适合做任务看板、审查面板等功能。第一次开发建议先做计数器,确认运行方式后再增加复杂逻辑。

安装别人写好的 Mod

先在终端检查版本:

claude --version

按插件安装文档添加作者的 marketplace,再打开插件详情,检查它包含的组件,选择 local、project 或 user 安装范围。local 仅供你在当前仓库使用。下面是命令格式,两个名称都是占位符,必须换成作者提供的真实值:

/plugin install YOUR_MOD@YOUR_MARKETPLACE

看安装后的激活提示。如果你在外部终端安装,而 Claude Code 会话仍开着,在会话中运行 /reload-plugins 或重新开启会话。到 /plugin 的 Installed 页确认插件已启用;以后也可在那里禁用或卸载。

让 Claude Code 帮你写第一个 Mod

官方开发流程使用内置 /plugin-authoring Skill。你可以在交互会话中提出一个具体需求:

写一个 Mod,统计工具调用次数,增加 /tool-count 命令。
保留原有工具行为,验证代码,并解释注册了哪些钩子。

批准执行前先审查生成的文件。Claude Code 会询问是否允许本次会话热重载;允许后,修改会在当前轮次结束时加载。会话生成的 Mod 是临时文件,想长期保留就复制到自己的目录。保存到本地目录后,开发命令如下:

claude plugin validate ./my-mod
claude --plugin-dir ./my-mod

./my-mod 必须是已经存在的插件目录。通过 --plugin-dir 加载支持热重载;核对 API 名称时,优先使用当前安装版本生成的 TypeScript 类型声明。

先测试,再放进日常工作流

为计数器和命令结果添加测试,模拟工具调用并检查输出。官方测试工具可以触发事件、用 stub 提供响应,无须真实会话、登录或联网。在插件目录内运行:

claude plugin test

测试还应确认无关工具调用仍正常传递。模型和工具响应需要明确 stub;测试通过不等于真实 API 接入已经跑通。

哪些界面能显示 Mod?

运行位置钩子Mod 界面
终端,包括编辑器集成终端支持支持
Desktop 的 Code 页,WSL 除外支持支持;部分元素仅限终端
Desktop 的 WSL 会话不支持插件不支持
VS Code 扩展聊天面板支持不支持
非交互模式 / Agent SDK插件加载后支持不支持

选择依赖界面的 Mod 前,先看官方运行位置表。云端会话也不会自动继承你在本机安装的插件。

权限范围和排错方法

Mod 拥有当前用户账号的访问权限,能接触文件、环境变量中的密钥、进程和网络。Mods 没有沙箱隔离;Claude Code 的 Bash 沙箱不会隔离 Mod 启动的程序。组织管理文档解释了受管 guard 的边界,以及 Mod API 调用与普通工具权限之间的区别。

审查源码,并通过 validate 查看钩子和 API 调用。验证只检查结构,不是作者可信度认证。怀疑问题由扩展引起时,可以启动一次关闭已安装自定义项的会话:

claude --safe-mode

如果 Mod 没有反应,按官方排错文档检查加载状态、验证结果和 debug 日志。面板不出现可能是运行界面不支持;钩子出错也可能被跳过,所以安装完成后还要确认功能真的生效。

Mods、Skills、Hooks 和 MCP 怎么选?

重复使用的操作说明适合写成 Skill;已有脚本按事件执行适合 settings hook;外部系统工具适合 MCP。需要定制 Claude Code 运行逻辑或界面时,再考虑 Mod。一个插件可以同时包含这些组件。

本页专门讲 Claude Code,因为 Mod 运行时属于这个应用。若你要扩展聊天机器人,应使用 Hermes Skills 或 OpenClaw Skills 安装指南;Claude Code Mod 不能直接装入这两个框架。

Claude Code Mods 常见问题

Mods 是新的 Claude 模型吗?

不是。Mods 是 Claude Code 的插件扩展能力,通过 JavaScript 或 TypeScript 函数改变运行行为,不是新的模型或订阅档位。

Claude Code Mods 能直接装到 Hermes Agent 或 OpenClaw 吗?

官方描述的是 Claude Code 自己的运行时和界面钩子。Mod 不是可以直接放进 Hermes Skills 或 OpenClaw 插件目录的通用扩展。机器人功能应使用对应框架的扩展机制;编码工作流的 Mod 则在 Claude Code 中运行。

为什么终端里有 Mod 面板,VS Code 聊天窗口里没有?

VS Code 扩展的聊天面板可以执行钩子,但不显示 Mod 界面。在 VS Code 集成终端里运行 claude 属于终端模式,可以显示界面。

相关教程

想扩展聊天机器人的能力?

Hermes Agent 使用自己的 Skills 系统。如果你的目标是部署长期运行的聊天助手,可以先看 Hermes 教程;Claude Code Mods 属于另一套编码工作流。

查看 Hermes 中文教程