插件生态(Plugin Ecosystem)
概述
插件将技能(Skills)、代理(Agents)、Hooks、MCP 服务器和 LSP 服务器打包为可分发的扩展包。通过插件市场(Marketplace)进行发现和安装。
插件目录结构
my-plugin/
├── .claude-plugin/
│ └── plugin.json # 插件清单(必须)
├── skills/ # Agent Skills(SKILL.md 文件)
│ └── my-skill/
│ └── SKILL.md
├── commands/ # 技能(Markdown 文件)
│ └── hello.md
├── agents/ # 自定义代理定义
│ └── reviewer.md
├── hooks/ # 事件处理器
│ └── hooks.json
├── .mcp.json # MCP 服务器配置
├── .lsp.json # LSP 服务器配置
└── settings.json # 默认设置
插件清单
{
"name": "my-plugin",
"description": "插件功能描述",
"version": "1.0.0",
"author": { "name": "作者名" }
}
技能命名空间
插件技能使用 plugin-name:skill-name 格式(如 /my-plugin:hello),避免与项目级技能冲突。
独立 vs 插件对比
独立(.claude/) |
插件 |
|---|---|
| 仅当前项目可用 | 通过市场可分享 |
短技能名 /hello |
命名空间 /plugin-name:hello |
文件在 .claude/commands/ |
文件在 plugin-name/commands/ |
Hooks 在 settings.json |
Hooks 在 hooks/hooks.json |
测试插件
# 加载本地插件目录进行测试
claude --plugin-dir ./my-plugin
# 在会话中重新加载(无需重启)
/reload-plugins
插件安全限制
插件中的子代理 不支持 以下 frontmatter 字段(加载时会被忽略):
hooksmcpServerspermissionMode
这确保插件无法绕过安全限制。
官方插件(Anthropic Marketplace)
代码智能(LSP 插件)
为 11 种语言提供代码智能支持:
| 语言 | 功能 |
|---|---|
| TypeScript / JavaScript | 类型检查、自动补全、跳转定义 |
| Python | 类型推断、符号查找 |
| Rust | cargo 集成、借用检查器辅助 |
| Go | gopls 集成 |
| Swift | SourceKit 集成 |
| Java / Kotlin | JDT / Kotlin 编译器集成 |
| C / C++ | clangd 集成 |
| C# | OmniSharp 集成 |
| PHP | Intelephense 集成 |
| Lua | lua-language-server 集成 |
外部集成插件
| 插件 | 功能 |
|---|---|
| GitHub | PR 管理、Issue 跟踪、代码搜索 |
| GitLab | MR 管理、CI/CD 集成 |
| Atlassian | Jira Issue 管理、Confluence 文档 |
| Asana | 任务管理集成 |
| Linear | Issue 跟踪集成 |
| Notion | 文档和数据库集成 |
| Figma | 设计稿获取和转换 |
| Vercel | 部署管理、项目配置 |
| Firebase | Firebase 服务集成 |
| Supabase | 数据库和认证集成 |
| Slack | 消息和通知集成 |
| Sentry | 错误监控和追踪 |
开发工作流插件
| 插件 | 功能 |
|---|---|
| commit-commands | 提交和 PR 工作流 |
| pr-review-toolkit | PR 审查工具集 |
| agent-sdk-dev | Agent SDK 开发辅助 |
| plugin-dev | 插件开发辅助 |
输出风格插件
| 插件 | 功能 |
|---|---|
| explanatory-output-style | 解释性输出风格 |
| learning-output-style | 教学性输出风格 |
创建自己的插件市场
你可以创建和发布自己的插件目录,供团队或社区使用。插件支持自动更新系统。