今天翻到一篇不错的技术分享,看完之后自己也琢磨了一下,把思路梳理记录下来。
目录
一、前言
今年最火热的大模型当属Claude Code了,除了AI编程带来的令人惊讶的高效,还能完成各类麻烦的任务,同时其生态也在持续扩大自己版图,像是配套的Skills技能市场,插件市场,以及与其他社区进行深度联动融合,都为Claude Code带来了极高的热度,本篇接下来将详细介绍Claude Code中一个非常重要且实用的功能,即Claude Code插件。
二、Claude Code 插件介绍
2.1 Claude Code 插件是什么
Claude Code 插件系统将 Claude Code 从一个基础的 AI 编程助手,升级为了一个可高度定制、能不断适应个人或团队工作流的开发平台。它的核心价值在于通过模块化的方式,让开发者能轻松地扩展、分享和复用各种功能,从而提升编码和协作效率。官方插件地址:Plugins for Claude | Claude by Anthropic
2.2 Claude Code 插件核心组成
一个完整的 Claude Code 插件,可以包含以下一个或多个核心组件,类似于“功能增强包”:
插件 = 一组可复用的 Claude Code 扩展能力集合,一个插件可以包含:
- 斜杠命令(Slash Commands)
- 子代理(Agents)
- Skills(能力说明)
- Hooks(事件钩子)
- MCP 服务器(外部工具/服务)
- LSP 服务器(代码智能)
插件的核心目标只有一个:
让 Claude Code 能力像工具箱"一样被复用,而不是每个工程重复配置
2.3 插件能做什么?
插件系统让 Claude Code 的应用场景变得非常广泛:
- 团队协作与知识传承:可以为麻烦的代码模块创建专属“领域专家”子代理,帮助新成员快速上手,实现团队知识的沉淀。
- 标准化开发流程:将包含复杂环境准备和启动命令的流程封装成插件,团队成员只需一个简单的斜杠命令(如
/run-pipeline)即可标准化执行。 - 个人效率工具链:开发者可以将自己常用的工具、脚本打包成个人插件,在不同电脑或工程中快速恢复熟悉的开发环境。
2.4 工作原理与生命周期
插件的运作遵循一套标准流程,保证了其稳定性和可移植性:
1. 定义:插件通过根目录下的plugin.json清单文件定义自身结构、元数据和组件位置。
2. 发现:Claude Code启动时会自动扫描并加载已安装插件目录下的组件。
3. 集成:加载的组件会无缝集成到工作环境中,斜杠命令、子代理等即可像内置功能一样被调用。
4. 便携性:插件内部通过${CLAUDE_PLUGIN_ROOT}等环境变量引用路径,确保了在不同操作系统和安装位置下都能正常工作。
2.5 插件配置方式
Claude Code 支持两种扩展方式:
方式
命令形式
适合场景
独立配置(.claude/)
/hello
个人使用、单工程、快速实验
插件(.claude-plugin/)
/plugin-name:hello
团队共享、跨项目、版本化
什么时候用独立配置?
- 只在当前项目使用
- 个人工作流
- 尚未稳定的实验性配置
- 想要简短命令名(如
/review)
- 要在多个项目复用
- 要分享给团队或社区
- 需要版本控制、升级、回滚
- 计划通过市场分发
- 可以接受命名空间命令(避免冲突)
最佳实践:
先在 .claude/ 中迭代 → 稳定后打包为插件
2.6 插件的最小结构
在开发Claude Code 插件时,需要按照一定的结构规范,下面是插件的最小结构形式
my-plugin/
├── .claude-plugin/
│ └── plugin.json # 插件清单(必需)
├── commands/ # 斜杠命令
├── agents/ # 子代理
├── skills/ # Skills
├── hooks/ # 钩子
├── .mcp.json # MCP 配置
└── .lsp.json # LSP 配置
重要规则说明
.claude-plugin/目录中只能放plugin.json- 其他目录一定要在插件根目录
三、Claude Code 插件使用
接下来通过实际案例操作演示下Claude Code 插件的使用
3.1 插件管理常用命令
为了方便接下来对插件的学习和使用,下面列举了Claude Code的插件相关的常用命令
/plugin # 打开插件管理器
/plugin install # 安装插件
/plugin uninstall # 卸载
/plugin enable/disable # 启用 / 禁用
/plugin marketplace add # 添加市场
/plugin marketplace rm # 移除市场
3.2 插件安装
可以从插件市场发现和安装插件,以使用新命令、代理和功能扩展 Claude Code
- 插件通过 skills、agents、hooks 和MCP servers 扩展Claude Code
- 插件市场是帮助您发现和安装这些扩展的目录,无需自己构建
3.2.1 进入官方插件市场
官方插件市场 :Plugins for Claude | Claude by Anthropic,进入官方插件市场,可以看到给出了很多插件
官方插件市场(claude-plugins-official)在您启动 Claude Code 时自动可用。运行 /plugin 并转到发现选项卡以浏览可用内容,要从官方市场安装插件,请使用 /plugininstall<name>@claude-plugins-official。比如,要安装GitHub集成,在打开Claude Code 命令行窗口后,只需要输入下面这段命令即可
/plugin install github@claude-plugins-official
插件名字从哪里来的呢?以下面这个插件为例,点击这个插件进去
点击右侧的复制按钮,将会拿到一串安装插件的命令
claude plugin install code-review@claude-plugins-official
3.2.2 执行插件安装
添加官方插件市场
- 这一步一定要要做,相当于是告诉Claude Code 你要从哪里安装插件,后面还会从很多插件市场添加插件
/plugin marketplace add anthropics/claude-code
这行命令把 Anthropic 官方的插件市场注册到你的 Claude Code 里。anthropics/claude-code 是 GitHub 上的仓库地址,Claude Code 会从这里读取可用的插件列表。
默认情况下,通过 /plugins 可以进入到插件页面
输入上面的命令,点击安装,看到下面的效果,说明就安装成功了
3.2.3 插件检查
然后可以输入 /plugin 命令检查一下,可以看到在下面的页面,有多个tab页面,像是当你把上面的插件市场添加进去之后,插件市场就可以展示出相关的插件在这里
可以直接搜索相关插件,进行过滤
像是搜索前端设计的插件
选中之后,直接安装,在这里操作就更方便了
3.2.4 插件加载
插件安装完成后,需要执行下面这个加载命令才能显示出上面安装的插件
稍作等待后,就可以展示出已安装的插件
当然也可以通过 /plugin 进入检查,进去之后,在已安装的那个TAB页可以看到
3.2.5 插件使用
基于上面安装的code-review 插件,对咱们项目中的某段代码进行review,在项目中打开Claude Code 终端,然后输入下面的提示词
基于/code-review 这个插件,对FeeComplexRuleController这个类中的addFeeComplexRule这个接口进行代码review
等待一会之后,Claude Code 调用该插件最终完成了对我指定接口代码的review,并给出了详细的review分析结论
3.3 代码智能插件安装使用
代码智能插件启用Claude Code的内置LSP工具,使Claude能跳转到定义、查找引用并在编辑后立即查看类型错误。
- 这些插件配置语言服务器协议连接,这是为 VSCode代码智能给出支持的相同技术。
- 这些插件需要在您的系统上安装语言服务器二进制文件。
- 如果你已经安装了语言服务器,当您打开项目时,Claude可能会提示您安装相应的插件。
3.3.1 智能代码插件安装
在官方插件市场搜索 lsp ,可以看到有不同编程语言的lsp插件
参考上面的方式,在终端窗口中执行下面的命令完成安装,这里我选择Java的lsp
/plugin install jdtls-lsp@claude-plugins-official
或者拷贝官方的安装命令
claude plugin install jdtls-lsp@claude-plugins-official
3.3.2 智能代码插件使用
加载成功后,让AI编写一段代码,然后基于这个插件对代码做类型检查
使用java语言编写一个冒泡排序,并基于jdtls-lsp插件做类型检查
可以看到整个过程是按照预期的流程进行的
3.3.3 外部集成工具
有一些插件还捆绑了预配置的 MCP Servers,以便开发者可以连接Claude到外部服务,无需手动设置,比如下面这些:
- 源代码控制:github、gitlab
- 项目管理:atlassian (Jira/Confluence) asana、 linear、notion
- 设计:figma
- 基础设施:vercel、firebase、supabase
- 通信:slack
- 监控:sentry
3.4 整合Codex 插件使用
对于已经在使用Claude Code的开发者,这个插件提供了一个低成本的Codex试用入口。而对OpenAI而言,这是在竞争对手的地盘上建立存在感的一次聪明尝试。对开发者来说,也可以在不同的AI工具直接快速切换。下面具体介绍下使用过程。
3.4.1 添加插件市场
进入到codex-cc的git:GitHub - openai/codex-plugin-cc: Use Codex from Claude Code to review code or delegate tasks. · GitHub
在Claude Code 命令行窗口执行第一条命令进行插件市场添加
/plugin marketplace add openai/codex-plugin-cc
3.4.2 安装Codex 插件
执行第二条安装Codex 插件命令
安装完成后记得重新加载
3.4.3 使用 Codex 生态下的插件
上一步装完之后,此时就能看到接下去就能执行codex的像个命令了
执行这个命令后,看到下面的输出,说明就可以着手使用Codex 生态下的相关插件了
3.5 插件管理
3.5.1 添加插件市场
使用 /plugin marketplace add 命令从不同来源添加市场,不同的市场都有自己特定的插件,这样都可以加载进去使用
- GitHub 存储库:owner/repo 格式(比如,anthropics/claude-code)
- Git URL:任何git 存储库 URL(GitLab、Bitbucket、自托管)
- 本地路径:目录或marketplace.json 文件的直接路径
- 远程URL:托管marketplace.json 文件的直接URL
使用 owner/repo 格式添加包含.claude-plugin/marketplace.json 文件的GitHub存储库,里面owner 是GitHub用户名或组织,repo 是存储库名称。比如,anthropics/claude-code 指的是由 anthropics 拥有的 claude-code 存储库:
/plugin marketplace add anthropics/claude-code
2)从其他Git主机添加
通过提供完整URL添加任何git 存储库。这适用于任何Git 主机,包含GitLab、Bitbucket 和自托管服务器:使用HTTPS:
/plugin marketplace add https://gitlab.com/company/plugins.git
如果要添加特定分支的或者特定标签的,请在#后附加ref:
/plugin marketplace add https://gitlab.com/company/plugins.git#v1.0.0
3)使用SSH添加
/plugin marketplace add git@gitlab.com:company/plugins.git
4)从本地路径添加
添加包含.claude-plugin/marketplace.json 文件的本地目录:
/plugin marketplace add ./my-marketplace
也可以添加 marketplace.json 文件的直接路径:
/plugin marketplace add ./path/to/marketplace.json
5)从远程 URL 添加
通过URl添加远程 marketplace.json 文件:
/plugin marketplace add https://example.com/marketplace.json
3.4.2 管理插件
运行 /plugin 并转到已安装选项卡以查看、启用、禁用或卸载您的插件。键入以按插件名称或描述筛选列表。您也可以使用直接命令管理插件。禁用插件而不卸载:
/plugin disable plugin-name@marketplace-name
重新启用已禁用的插件:
/plugin enable plugin-name@marketplace-name
完全删除插件:
/plugin uninstall plugin-name@marketplace-name
-- scope 选项允许您使用CLI命令针对特定范围:
claude plugin install formatter@your-org --scope project
claude plugin uninstall formatter@your-org --scope project
3.4.3 应用插件更改而不重启
当你在会话期间安装,启用或禁用插件时,运行/reload-plugins 以在不重启的情况下获取所有更改:Claude Code重新加载所有活跃插件,并显示重新加载的命令、skills、agents、hooks、插件MCPservers和插件LSP servers 的计数。
3.4.4 管理市场
您可以通过交互式/plugin 界面或CLI命令管理市场。
1)使用交互式界面
运行 /plugin 并转到市场选项卡以:
- 查看所有已添加的市场及其来源和状态
- 添加新市场
- 更新市场列表以获取最新插件
- 删除您不再需要的市场
也可以使用直接命令管理市场。列出所有配置的市场。
刷新市场的插件列表:
/plugin marketplace update marketplace-name
3)删除插件市场
/plugin marketplace remove marketplace-name
3.4.5 配置团队市场
团队管理员可以通过将市场配置添加到.claude/settings.json来为项目设置自动市场安装。当团队成员信任存储库文件夹时,Claude Code会提示他们安装这些市场和插件。将 extraKnownMarketplaces 添加到您项目的.claude/settings.json :
- 有关完整配置选项(包含 extraKnownMarketplaces 和 enabledPlugins)
{
"extraknownMarketplaces":{
"my-team-tools": {
'source": {
"source":"github",
"repo": "your-org/claude-plugins"
}
}
}
}
3.4.6 安全性说明
插件和市场是高度受信任的组件,可以使用您的用户权限在您的机器上执行任意代码。仅从您信任的来源安装插件和添加市场。组织可以使用托管市场限制限制用户允许添加的市场。
3.5 插件安装失败问题处理
在安装插件过程中可能会遇到各种错误,下面介绍几种。
3.5.1 /plugin命令无法识别
如果看到”未知命令”或/plugin命令未冒出来:
- 检查您的版本:运行claude --version 以查看安装的内容。
- 更新 Claude Code:
- npm: npm update -g @anthropic-ai/claude-code
- 本地安装程序:从设置重新运行安装命令
3.5.2 其他常见问题
- 市场未加载:验证 URL是否可访问以及.claude-plugin/marketplace.json 是否存在于该路径
- 插件安装失败:检查插件源URL是否可访问以及存储库是否公开(或您有访问权限)
- 安装后找不到文件:插件被复制到缓存,因此引用插件目录外文件的路径将不起作用
- 插件 skills 未冒出来:使用 rm -rf ~/.claude/plugins/cache 清除缓存,重 Claude Code,然后重新安装插件。
3.6 自定义插件前置准备
上面分享的是如何在Claude Code中使用外部或其他三方插件,也支持在Claude Code 中自己创建插件。
创建自定义插件以使用 skills、agents、hooks 和 MCP servers 扩展Claude Code。
Plugins 让你能使用自定义功能扩展Claude Code,这些功能可以在项目和团队中共享。本指南涵盖如何使用 skills、agents、hooks和MCP servers 创建自己的插件。
3.6.1 何时使用插件与独立配置
Claude Code支持两种方式来添加自定义 skills、agents和 hooks:
方法
Skill 名称
适合场景
独立(.claude/目录)
/hello
个人工作流、项目特定的自定义、快速实验
插件(包含.claude-plugin/
plugin.json的目录
/plugin-name:hello
与团队成员共享、分发到社区、版本化发布、跨项目重用
在以下情况下使用独立配置:
- 你正在为单个项目自定义Claude Code
- 配置是个人的,不需要共享
- 你在打包skills或hooks之前进行实验
- 你想要简短的skill名称,如 /hello 或/deploy
- 你想与团队或社区共享功能
- 你需要在多个项目中使用相同的skills/agents
- 你想要版本控制和轻松更新扩展
- 你通过市场分发
- 你可以接受命名空间化的skills,如/my-plugin:hel1o(命名空间可防止插件之间的冲突)
3.6.2 插件的最小结构
在开发Claude Code 插件时,需要按照一定的结构规范,下面是插件的最小结构形式
my-plugin/
├── .claude-plugin/
│ └── plugin.json # 插件清单(必需)
├── commands/ # 斜杠命令
├── agents/ # 子代理
├── skills/ # Skills
├── hooks/ # 钩子
├── .mcp.json # MCP 配置
└── .lsp.json # LSP 配置
插件结构概览
你已创建了一个带有skill的插件,但插件可以包含更多内容:自定义agents、hooks、MCP servers和LSP servers
目录
位置
目的
.claude-plugin/
插件根
包含plugin.json,清单(如果组件使用默认位置,则可选)
commands/
插件根
作为Markdown文件的 Skills
agents/
插件根
自定义agent定义
skills/
插件根
带有 skIL.md文件的Agent Skills
hooks/
插件根
hooks.json中的事件处理程序
.mcp.json
插件根
MCP server 配置
.1sp.json
插件根
用于代码智能的LSP server 配置
settings.json
插件根
启用插件时应用的默认设置
3.6.3 创建你的第一个插件
你已成功创建并测试了一个包含以下关键组件的插件:
- 插件清单(.claude-plugin/plugin.json):描述你的插件的元数据
- Skills目录(skf11s/):包含你的自定义skills
- Skill参数($ARGUMENTS):捕获用户输入以实现动态行为
#### 3.6.4 开发更复杂的插件
一旦你对基本插件感到满意,你可以创建更复杂的扩展。
向你的插件添加Skills
插件可以包含 Agent Skills 以扩展Claude 的功能。Skills 是模型调用的:Claude 根据任务上下文自动使用它们。在你的插件根目录添加一个ski11s/目录,里面包含包含 SKILL.md 文件的Skill文件夹
my-plugin/
├── .claude-plugin/
│ └── plugin.json # 插件清单(必需)
├── skills/ # Skills
└── code-review
└── Skill.md
每个 SKILL.md 需要包含 name 和 description 字段的frontmatter,后跟说明,关于Skill的编写在之前的文章中有详细的说明,有兴趣可以参考。
3.7 自定义插件开发
接下来演示如何创建一个自定义的插件
3.7.1 输入提示词生成插件
不需要从0到1 自己完全写,直接让Claude Code 帮咱们创建,然后基于它创建的插件进行完善即可,给出下面的提示词
帮我创建一个代码审查播件,包含 skill、agent 和MCP server。
输入提示词后,Claude Code 着手构建插件,通过输出日志可以发现,整个过程是按照计划推进,最终完成了插件的开发
打开之后,在插件目录中创建了skills的子目录
3.7.2 安装新插件
通过自然语言安装本次新插件
将当前目录下的code-review-plugin 进行安装
然后等待其安装完成即可
通过/plugins命令可以看到已经成功加载,后续就可以在本地使用这个自定义开发的插件了
3.7.3 调试插件中的问题
如果你的插件不按预期工作:
- 检查结构:确保你的目录在插件根目录,而不是在.claude-plugin/内
- 单独测试组件:分别检查每个命令、agent和hook
- 使用验证和调试工具:有关CLI命令和故障排除技术
3.7.4 共享你的插件
当你的插件准备好共享时:
- 添加文档:包含一个 README.md,里面包含安装和使用说明
- 版本化你的插件:在你的 plugin.json 中使用语义版本控制
- 创建或使用市场:通过插件市场分发以供安装
- 与他人测试:在更广泛分发之前让团队成员测试插件
一旦你的插件发布到了插件市场中,其他人可以使用发现和安装插件中的说明安装它。
3.7.5 向官方市场提供你的插件
如果觉得自己的插件不错,能让更多人用起来,可以提供给官方,要向官方Anthropic市场提交插件,请使用以下应用内提交表单之一:
1. Claude.ai:App unavailable in region | Claude by Anthropic
2. App unavailable in region | Claude by Anthropic
四、写在文末
这篇文章通过较大的篇幅详细介绍了Claude Code 中插件的使用,并通过案例演示了如何使用官方插件,三方插件,以及自定义开发插件的过程,希望对看到的同学有用,本篇到此完成,感谢观看。
以上就是这次整理的全部内容,希望对你有所启发。如果有不同见解,欢迎在评论区交流讨论。
评论 (0)
暂无评论