返回 AI编程

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

解决方案:

  1. 检查 Plugin 名称是否正确
  2. 确认网络连接
  3. 验证 plugin.json 格式
  4. 检查依赖是否满足

问题 2:Plugin 功能不完整

可能原因:

  1. 缺少必要的配置文件
  2. 权限设置不正确
  3. 依赖版本不兼容

解决方案:

# 查看 Plugin 详细信息
claude /plugin <plugin-name>

# 检查依赖
cat plugin.json | grep dependencies

# 手动安装依赖
npm install

问题 3:Plugin 冲突

可能原因:

  1. 多个 Plugin 定义了相同的命令
  2. MCP 服务器端口冲突
  3. 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 可以快速获得完整的功能套件,极大地提升开发效率。

参考资源