Claude Code 扩展指南
Claude Code Mods:安装、开发与热重载
用事件处理函数定制 Claude Code 的行为和界面。先做一个小 Mod,确认它在哪些界面生效,再检查代码能访问哪些资源。
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 属于终端模式,可以显示界面。