Claude Code /plugin 详解:给你的 AI 编程助手装插件
为什么需要 /plugin
Claude Code 自带 40+ 工具和 80+ 命令,已经很强了。但每个团队、每个项目的需求不同——有人想加一个一键部署的命令,有人想接入内部的 MCP 服务,有人想让 Claude 在每次提交前自动跑检查。
靠内置功能满足所有人是不现实的。所以 Claude Code 做了一套插件系统,让你自己扩展它的能力。
/plugin 就是管理这些插件的入口。
/plugin 是什么
/plugin 是 Claude Code 的插件管理命令(别名 /plugins、/marketplace)。它提供一个交互式界面,让你浏览、安装、启用、禁用和管理插件。
输入:
/plugin
会弹出插件管理界面,显示已安装的插件列表和可用的 Marketplace。
插件能做什么
一个插件可以包含以下任意组合:
| 组件 | 说明 | 举例 |
|---|---|---|
| Commands | 自定义斜杠命令 | /build、/deploy |
| Skills | AI 技能(SKILL.md 格式) | 代码审查技能、测试生成技能 |
| Agents | AI 子代理 | 专门跑测试的 Agent |
| Hooks | 生命周期钩子 | 提交前自动 lint |
| MCP Servers | MCP 协议服务器 | 连接数据库、内部 API |
| LSP Servers | 语言服务协议 | 自定义语言支持 |
| Output Styles | 终端输出样式 | 自定义主题 |
简单说,插件是给 Claude Code 加功能的标准化方式。
插件的结构
一个典型的插件目录长这样:
my-plugin/
├── plugin.json # 插件清单(元数据 + 组件声明)
├── commands/ # 自定义命令
│ ├── build.md
│ └── deploy.md
├── skills/ # AI 技能
│ └── code-review/
│ └── SKILL.md
├── agents/ # AI 代理
│ └── test-runner.md
├── hooks/ # 生命周期钩子
│ └── hooks.json
├── .mcp.json # MCP 服务器配置
└── data/ # 持久化数据目录
核心是 plugin.json,它声明了插件的所有元数据和组件:
{
"name": "my-plugin",
"version": "1.0.0",
"description": "A custom plugin for my team",
"author": {
"name": "Your Name"
},
"commands": "./commands",
"skills": "./skills",
"agents": "./agents",
"hooks": "./hooks/hooks.json",
"mcpServers": {
"my-db": {
"command": "npx",
"args": ["my-mcp-server"]
}
}
}
安装和管理
交互式管理
/plugin
进入图形界面,可以直接操作插件的安装、启用和禁用。
命令行管理
更适合脚本和自动化:
# 安装插件
claude plugin install my-plugin@github:owner/repo
# 卸载
claude plugin uninstall my-plugin@github:owner/repo
# 启用 / 禁用
claude plugin enable my-plugin@github:owner/repo
claude plugin disable my-plugin@github:owner/repo
# 更新
claude plugin update my-plugin@github:owner/repo
# 查看已安装
claude plugin list
claude plugin list --json # JSON 格式输出
claude plugin list --available # 显示可安装的插件
# 验证插件清单
claude plugin validate ./path/to/plugin.json
三种安装范围
| 范围 | 配置位置 | 影响谁 |
|---|---|---|
| user | ~/.claude/settings.json | 你的所有项目 |
| project | .claude/settings.json | 这个仓库的所有协作者 |
| local | .claude/settings.local.json | 只有你、只有这个仓库副本 |
通过 --scope 参数指定:
claude plugin install my-plugin@marketplace --scope project
默认范围是 user。
Marketplace
Marketplace 是插件的来源。你可以添加多个 Marketplace:
# 添加 GitHub 仓库作为 Marketplace
claude plugin marketplace add github:owner/plugin-repo
# 查看已添加的 Marketplace
claude plugin marketplace list
# 更新 Marketplace 缓存
claude plugin marketplace update
# 移除
claude plugin marketplace remove marketplace-name
Marketplace 支持多种来源:
- GitHub 仓库:
github:owner/repo - Git URL:任意 Git 仓库
- URL:直接指向
marketplace.json的链接 - 本地目录:开发调试用
插件标识符
每个插件的唯一标识是 name@marketplace,例如:
my-tool@github:owner/repo— 来自 GitHub Marketplacedev-util@builtin— 内置插件test-plugin@inline— 会话级插件(通过--plugin-dir加载)
内置插件
Claude Code 自带一些内置插件,标识为 @builtin。它们和第三方插件一样可以启用或禁用,但不需要安装——直接随 CLI 发布。
在 /plugin 界面中,内置插件会显示在单独的 “Built-in” 区域。
插件的环境变量
插件内的命令、Hook 和 MCP 配置可以使用以下变量:
| 变量 | 值 | 用途 |
|---|---|---|
${CLAUDE_PLUGIN_ROOT} | 插件安装路径 | 引用插件内的文件 |
${CLAUDE_PLUGIN_DATA} | ~/.claude/plugins/data/<id>/ | 持久化数据目录 |
${CLAUDE_SKILL_DIR} | 技能子目录路径 | 技能内部使用 |
${CLAUDE_SESSION_ID} | 当前会话 ID | 跨工具关联 |
${user_config.KEY} | 用户配置的值 | 动态参数 |
${CLAUDE_PLUGIN_DATA} 目录在插件更新后依然保留,适合存放用户数据。
用户配置
插件可以声明用户需要填写的配置项:
{
"userConfig": {
"API_KEY": {
"type": "secret",
"description": "Your API key for the service",
"sensitive": true
},
"BUILD_FLAGS": {
"type": "string",
"description": "Extra build flags",
"default": "--production"
}
}
}
安装插件后,Claude Code 会提示用户填写这些配置。敏感字段(如 API Key)不会出现在命令内容中。
/reload-plugins
修改了插件配置后,不需要重启 Claude Code。直接:
/reload-plugins
它会:
- 清空插件缓存
- 重新加载所有插件
- 报告加载结果:插件数、技能数、Agent 数、Hook 数、MCP/LSP 服务器数
- 如果有加载错误,会明确提示
插件 Hook 系统
插件可以注册 Hook 来监听 Claude Code 的生命周期事件。支持的事件包括:
- SessionStart / SessionEnd — 会话开始和结束
- PreToolUse / PostToolUse — 工具调用前后
- UserPromptSubmit — 用户提交消息时
- PreCompact / PostCompact — 上下文压缩前后
- Stop — Claude 停止响应时
Hook 配置示例:
{
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"name": "lint-before-bash",
"command": "echo 'Running pre-check...'"
}
]
}
]
}
错误排查
插件加载失败?用 /doctor 命令可以看到所有插件错误的详细信息。
常见错误类型:
- plugin-not-found — Marketplace 中找不到该插件
- manifest-parse-error —
plugin.json格式错误 - dependency-unsatisfied — 依赖的其他插件未启用
- mcp-config-invalid — MCP 服务器配置错误
实际使用场景
场景 1:团队共享命令
你的团队有一套标准的部署流程。把它封装成插件,放到 .claude/settings.json(project 范围),所有人 clone 仓库后就自动拥有 /deploy 命令。
场景 2:接入内部工具
公司有一个内部 MCP 服务器,连接着数据库和监控系统。通过插件声明 MCP 配置,团队成员安装后就能让 Claude 直接查询生产数据。
场景 3:自定义代码检查
写一个 Hook 插件,在每次 Claude 修改文件后自动运行你的 lint 和 type-check。发现问题立即反馈,不用等到提交时才发现。
场景 4:开发调试
开发自己的插件时,用 --plugin-dir 参数临时加载本地目录:
claude --plugin-dir ./my-local-plugin
调试完成后再发布到 Marketplace。
写在最后
/plugin 把 Claude Code 从一个”固定功能的工具”变成了一个可扩展的平台。
你不再受限于 Claude Code 内置了什么——如果缺少某个功能,自己写一个插件就行。而且通过 Marketplace 和安装范围机制,插件可以在团队间轻松共享。
好的工具不是什么都做,而是让你能做任何事。
更多同类文章
- AI-first 创业公司,为什么只需要一种编程语言?
- cc-ping:一行命令 Ping 所有 Claude Code 配置
- 震惊!程序员用这个工具,4分钟干完95分钟的活!效率暴涨24倍
- CCBot - 研发提效 24 倍
- Claude Code /add-dir:被低估的 Monorepo 神器
- Claude Code 省 Token 小技巧:感叹号的妙用
- 我做了个机器人,让团队在飞书里用 Claude Code
- Claude Code /btw 命令详解:不打扰主线的快问快答
- Claude Code /compact:释放上下文,不丢进度
- Claude Code /config:一文搞懂所有可调设置
- Claude Code /context:你的上下文都被什么吃了?
- Claude Code /diff:这次对话改了什么,一目了然
- Claude Code /fast:同样的 Opus,两倍速——值不值?
- Claude Code 引用外部知识的最佳实践:GitHub MCP + Context7
- Claude Code /hooks:让 AI 按你的规矩办事
- Claude Code /init:10 秒自动生成 CLAUDE.md
- Claude Code MCP:让 AI 连接 GitHub、数据库等一切工具
- Claude Code /memory 详解:让 AI 真正记住你的项目
- Claude Code /model:Opus、Sonnet、Haiku 怎么选?
- Claude Code /permissions:谁能干什么,你说了算
- Claude Code /plan 详解:先想清楚再动手
- Claude Code + Playwright MCP:AI 终于能"看见"页面了
- Claude Code /resume 命令详解:别让对话白聊
- Claude Code /review:让 AI 帮你做 Code Review
- Claude Code Skills 详解:打造你的专属命令库
- Claude Code /stats:看看 AI 到底帮你写了多少代码
- Claude Code /status 命令详解:一眼看清会话全貌
- Claude Code /tasks 命令详解:后台任务尽在掌控
- Claude Code /usage 命令详解:你的额度还剩多少
- Claude Code /vim:在 AI 编程助手里用 Vim 键位
- Claude Code 使用指南:从安装到实战,一篇就够(2026)
- Claude 全家桶:从聊天到写代码到自动办公,一文讲清楚
- Claude Code /agents 详解:自定义 AI 子代理,各司其职
- Claude Code /doctor 详解:一键诊断你的开发环境
- Claude Code /effort 详解:控制 AI 思考的深度
- Claude Code /cost 详解:你的 AI 编程到底花了多少钱
- Claude Code /export 详解:把 AI 对话带走
- Claude Code /rewind 详解:AI 改错了?一键回退
- Claude Code /theme 详解:给你的终端换个好看的皮肤
- Claude Code /insights 详解:用 AI 分析你自己用 AI 的方式
- Claude Code /rename 详解:给你的会话取个有意义的名字
- Claude Code settings.json 详解(一):配置文件在哪里、谁说了算
- Claude Code settings.json 详解(二):permissions 权限系统全解析
- Claude Code settings.json 详解(三):hooks 钩子全解析
- Claude Code settings.json 详解(四):env、模型、认证与其他实用字段