Plugins 插件系统详解
Plugins 插件系统详解
Plugins 是 Claude Code 中打包在一起的扩展集合,可以包含 Skills、斜杠命令、MCP 服务器配置、SubAgent 定义和 Hooks,提供完整的功能套件。
一、什么是 Plugins?
核心概念
Plugins 是打包在一起的扩展集合,具有以下特点:
- 完整性:包含多种资源类型的集合
- 易用性:一次性安装多个资源
- 可分享:可以分享给其他用户
- 模块化:各组件协同工作
Plugins vs Skills
| 特性 | Skills | Plugins |
|------|--------|---------|
| 复杂度 | 简单工作流 | 完整功能套件 |
| 内容 | 单一技能 | 多种资源的集合 |
| 安装 | 独立安装 | 一次性安装多个资源 |
| 适用场景 | 单一任务 | 完整解决方案 |
Plugins 包含的资源
| 资源类型 | 数量限制 | 说明 |
|----------|----------|------|
| Skills | 5 个 | 预封装工作流 |
| 斜杠命令 | 10 个 | 自定义命令 |
| MCP 服务器 | 3 个 | 外部工具集成 |
| SubAgent | 2 个 | 子代理配置 |
| Hooks | 若干 | 事件钩子 |
二、Plugins 架构
my-plugin/
├── plugin.json # Plugin 配置
├── skills/ # Skills 目录
│ ├── skill1/
│ └── skill2/
├── commands/ # 自定义斜杠命令
│ └── my-command.md
├── mcp/ # MCP 配置
│ └── mcp-config.json
├── agents/ # SubAgent 定义
│ └── agent1.json
└── hooks/ # Hook 脚本
└── hook1.sh
三、获取 Plugins
官方插件市场
| 来源 | 地址 | 说明 |
|------|------|------|
| Anthropic Skills | https://github.com/anthropics/skills | 官方 Skills 库 |
| Claude Code Marketplace | https://claudecodemarketplaces.com | 插件市场目录 |
| Awesome Claude Code | https://awesomeclaude.ai/plugins | 社区插件精选 |
添加插件市场
# 添加官方 Anthropic 插件市场
claude /plugin marketplace add anthropics/skills
# 添加本地插件市场
claude /plugin marketplace add ~/my-marketplace
# 浏览可用插件
claude /plugin
# 选择 "Browse Plugins" 查看完整列表
四、常用官方 Plugins
文档处理插件套件
# 添加市场并安装
claude /plugin marketplace add anthropics/skills
claude /plugin install document-skills
前端开发插件
claude /plugin install frontend-design
Git 工作流插件
claude /plugin install git-workflow
数据库操作插件
claude /plugin install database-tools
五、安装 Plugin
从市场安装
claude plugin install <plugin-name>
从本地安装
# 安装本地插件
claude plugin install ./my-plugin
# 或使用完整路径
claude plugin install /path/to/my-plugin
从 GitHub 安装
# 直接从 GitHub 仓库安装
claude plugin install github:user/repo
六、查看 Plugins
查看已安装 Plugins
claude /plugin
浏览可用插件
# 在 Claude Code 中输入
/plugin
# 选择 "Browse Plugins"
查看 Plugin 详情
claude /plugin <plugin-name>
七、卸载 Plugin
claude plugin uninstall <plugin-name>
八、创建自定义 Plugin
plugin.json 示例
{
"name": "my-plugin",
"version": "1.0.0",
"description": "我的自定义插件",
"author": "Your Name",
"skills": [
"skills/skill1",
"skills/skill2"
],
"commands": [
{
"name": "/my-command",
"description": "我的自定义命令",
"file": "commands/my-command.md"
}
],
"mcpServers": [
{
"name": "my-mcp",
"config": "mcp/mcp-config.json"
}
],
"agents": [
{
"name": "my-agent",
"config": "agents/agent1.json"
}
]
}
Plugin 模板
{
"name": "plugin-name",
"version": "1.0.0",
"description": "插件描述",
"author": "Your Name",
"license": "MIT",
"repository": "https://github.com/username/repo",
"skills": [
"skills/skill-name"
],
"commands": [
{
"name": "/command-name",
"description": "命令描述",
"file": "commands/command.md"
}
],
"mcpServers": [
{
"name": "mcp-name",
"config": "mcp/config.json"
}
],
"agents": [
{
"name": "agent-name",
"config": "agents/agent.json"
}
]
}
九、Plugin 开发最佳实践
1. 插件结构规范
my-plugin/
├── plugin.json # 必需:插件配置
├── README.md # 必需:插件文档
├── skills/ # Skills 目录
│ └── skill1/
│ ├── skill.json
│ └── skill.md
├── commands/ # 斜杠命令目录
│ └── command.md
├── mcp/ # MCP 配置目录
│ └── server-config.json
├── agents/ # SubAgent 配置目录
│ └── agent-config.json
└── hooks/ # Hook 脚本目录
└── hook.sh
2. 依赖管理
{
"name": "my-plugin",
"version": "1.0.0",
"dependencies": {
"@anthropics/skills": "^1.0.0"
},
"peerDependencies": {
"claude-code": ">=1.0.0"
}
}
3. 版本管理
{
"name": "my-plugin",
"version": "1.0.0",
"changelog": [
{
"version": "1.0.0",
"date": "2026-01-01",
"changes": [
"初始发布",
"添加基础功能"
]
}
]
}
十、Plugin 分享与发布
分享给团队
# 打包插件
claude plugin export ./my-plugin
# 分享打包文件
scp my-plugin.tar.gz team@server:/path/to/plugins/
发布到市场
# 准备发布
claude plugin package ./my-plugin
# 提交到市场
claude /plugin publish my-plugin
十一、常见问题
问题 1:Plugin 安装失败
错误信息:
Error: Failed to install plugin
解决方案:
- 检查 Plugin 名称是否正确
- 确认网络连接
- 验证 plugin.json 格式
- 检查依赖是否满足
问题 2:Plugin 功能不完整
可能原因:
- 缺少必要的配置文件
- 权限设置不正确
- 依赖版本不兼容
解决方案:
# 查看 Plugin 详细信息
claude /plugin <plugin-name>
# 检查依赖
cat plugin.json | grep dependencies
# 手动安装依赖
npm install
问题 3:Plugin 冲突
可能原因:
- 多个 Plugin 定义了相同的命令
- MCP 服务器端口冲突
- Hook 脚本冲突
解决方案:
# 查看已安装的 Plugin
claude /plugin
# 卸载冲突的 Plugin
claude plugin uninstall <plugin-name>
十二、进阶技巧
1. 条件加载 Plugin
{
"name": "my-plugin",
"version": "1.0.0",
"conditions": {
"os": ["darwin", "linux"],
"nodeVersion": ">=18.0.0",
"env": ["ENABLE_FEATURE_X"]
}
}
2. Plugin 组合使用
# 安装多个相关 Plugin
claude plugin install frontend-dev
claude plugin install testing-tools
claude plugin install deployment-suite
3. Plugin 模板生成
# 创建 Plugin 模板
claude /plugin create my-plugin
# 基于模板生成
claude /plugin template --type=frontend --name=my-frontend-plugin
Plugins 是 Claude Code 强大的扩展机制,通过 Plugins 可以快速获得完整的功能套件,极大地提升开发效率。