Claude Code 扩展
Claude Code 扩展
发现并安装插件
5 分钟阅读
通过市场发现并安装预制插件
从市场中查找并安装插件,为 Claude Code 添加新的技能、智能体和能力,无需自己动手构建。
插件为 Claude Code 添加技能、智能体、钩子和 MCP 服务器。插件市场是一些帮助你发现和安装这些扩展、而无需自己构建它们的目录。
想创建并分发你自己的市场?请参阅创建并分发插件市场。
市场如何运作
一个市场是别人创建并分享的插件目录。使用市场分两步:
添加该市场
这会向 Claude Code 注册该目录,让你可以浏览其中有什么可用的内容。此时还没有安装任何插件。
安装个别插件
浏览该目录,安装你想要的插件。
可以把它想象成添加一个应用商店:添加商店让你能浏览其收录的内容,但你仍需逐一选择要下载哪些应用。
Anthropic 官方市场
官方 Anthropic 市场(claude-plugins-official)在你启动 Claude Code 时自动可用。运行 /plugin 并前往Discover 标签页浏览有哪些可用内容,或在 claude.com/plugins 查看该目录。
要从官方市场安装一个插件,使用 /plugin install <name>@claude-plugins-official。例如,要安装 GitHub 集成:
如果 Claude Code 报告在任何市场中都找不到该插件,说明你的市场缺失或已过期。运行 /plugin marketplace update claude-plugins-official 刷新它,如果你之前没有添加过,运行 /plugin marketplace add anthropics/claude-plugins-official。然后重试安装。
官方市场包含以下几类插件:
代码智能
代码智能插件会启用 Claude Code 内置的 LSP 工具,让 Claude 能够跳转到定义、查找引用,并在编辑后立即查看类型错误。这些插件配置的是语言服务器协议(Language Server Protocol)连接,与驱动 VS Code 代码智能的技术相同。
这些插件需要在你的系统上安装对应的语言服务器二进制文件。如果你已经安装了某个语言服务器,Claude 可能会在你打开项目时提示你安装对应的插件。
| 语言 | 插件 | 所需二进制文件 |
|---|---|---|
| C/C++ | clangd-lsp | clangd |
| C# | csharp-lsp | csharp-ls |
| Go | gopls-lsp | gopls |
| Java | jdtls-lsp | jdtls |
| Kotlin | kotlin-lsp | kotlin-language-server |
| Lua | lua-lsp | lua-language-server |
| PHP | php-lsp | intelephense |
| Python | pyright-lsp | pyright-langserver |
| Rust | rust-analyzer-lsp | rust-analyzer |
| Swift | swift-lsp | sourcekit-lsp |
| TypeScript | typescript-lsp | typescript-language-server |
你也可以为其他语言创建自己的 LSP 插件。
如果安装某个插件后,在 /plugin 的 Errors 标签页中看到 Executable not found in $PATH,请安装上表中所需的二进制文件。
Claude 从代码智能插件中获得什么
一旦安装了某个代码智能插件、且其语言服务器二进制文件可用,Claude 就会获得两项能力:
- 自动诊断:Claude 每次编辑文件后,语言服务器都会分析这些更改,并自动反馈错误和警告。Claude 无需运行编译器或 linter,就能看到类型错误、缺失的导入和语法问题。如果 Claude 引入了一个错误,它会在同一轮次内注意到并修复它。这除了安装该插件之外不需要任何额外配置。当出现“diagnostics found”指示符时,按Ctrl+O 即可内联查看诊断信息。
- 代码导航:Claude 可以用该语言服务器跳转到定义、查找引用、悬停查看类型信息、列出符号、查找实现,并追踪调用层级。这些操作让 Claude 的导航比基于 grep 的搜索更精确,但具体可用性可能因语言和环境而异。
如果遇到问题,请参阅代码智能故障排查。
外部集成
这些插件打包了预先配置好的MCP 服务器,让你无需手动搭建即可将 Claude 连接到外部服务:
- 源代码控制:
github、gitlab - 项目管理:
atlassian(Jira/Confluence)、asana、linear、notion - 设计:
figma - 基础设施:
vercel、firebase、supabase - 沟通:
slack - 监控:
sentry
自动安全审查
security-guidance 插件会审查 Claude 做出的每次改动,查找常见的漏洞,并指示 Claude 在同一会话中修复发现的问题。关于它检查什么、如何添加项目特定规则,请参阅在 Claude 编写代码时捕捉安全问题。
开发工作流
为常见开发任务添加技能和智能体的插件:
- commit-commands:Git 提交工作流,包括提交、推送和创建 PR
- pr-review-toolkit:用于审查 pull request 的专属智能体
- agent-sdk-dev:用于基于 Claude Agent SDK 进行构建的工具
- plugin-dev:用于创建你自己插件的工具包
输出风格
自定义 Claude 的回复方式:
- explanatory-output-style:关于实现选择的教学性说明
- learning-output-style:用于技能培养的交互式学习模式
社区市场
位于 anthropics/claude-plugins-community 的社区市场,收录了通过 Anthropic 自动化验证和安全筛查的第三方插件。目录中的每个插件都锁定在一个特定的 commit SHA 上。与官方市场不同,你需要手动添加它:
然后用 claude-community 这个市场名称从中安装插件:
要将你自己的插件提交到社区市场,请参阅创建插件指南中的将你的插件提交到社区市场。
试一试:添加演示市场
Anthropic 还维护着一个演示插件市场(claude-code-plugins),其中的示例插件展示了插件系统能做到什么。与官方市场不同,你需要手动添加这一个。
添加该市场
在 Claude Code 内部,为 anthropics/claude-code 市场运行 plugin marketplace add 命令:
这会下载该市场目录,让你可以使用其中的插件。
浏览可用插件
运行 /plugin 打开插件管理器。这会打开一个带标签页的界面,共四个标签,可用Tab 循环切换,或用Shift+Tab 反向切换:
- Discover:浏览你所有市场中的可用插件
- Installed:查看和管理你已安装的插件
- Marketplaces:添加、移除或更新你已添加的市场
- Errors:查看任何插件加载错误
前往Discover 标签页,查看你刚添加的市场中的插件。当你的管理员通过 pluginSuggestionMarketplaces 统一管理设置将该市场加入允许列表后,被标记为与你当前工作目录相关的插件会置顶显示,并带有suggested for this directory 标签。
安装一个插件
选择一个插件查看其详情。详情面板会显示该插件包含什么内容以及它的成本:
- 一个Context cost 估算值,让你了解该插件每一轮会给你的上下文窗口增加多少 Token(Claude Code v2.1.143 及更高版本)
- 该插件的Last updated 日期(v2.1.144 及更高版本)
- 一个Will install 分区,列出该插件的命令、智能体、技能、钩子,以及 MCP 和 LSP 服务器,方便你在安装前确切了解它会添加什么(v2.1.145 及更高版本)
选择一个安装范围:
- 用户范围:为你自己在所有项目中安装
- 项目范围:为该仓库的所有协作者安装
- 本地范围:只为你自己在该仓库中安装
例如,选择commit-commands(一个添加 git 工作流技能的插件),把它安装到你的用户范围。
你也可以直接从命令行安装:
要了解更多关于范围的信息,请参阅配置范围。
使用你的新插件
安装后,运行 /reload-plugins 激活该插件。插件技能以插件名称作为命名空间,因此commit-commands 提供的技能类似 /commit-commands:commit。
对一个文件做一次更改并运行以下命令试一试:
这会暂存你的更改,生成一条提交信息,并创建该提交。
每个插件的工作方式各不相同。在Discover 标签页中查看该插件的详情,了解它提供的命令和技能,或访问其主页查看使用指南。
本指南接下来会介绍添加市场、安装插件和管理配置的所有方式。
添加市场
用 /plugin marketplace add 命令从不同来源添加市场。
- GitHub 仓库:
owner/repo格式,例如anthropics/claude-code - Git 网址:任何 git 仓库网址,包括 GitLab、Bitbucket 和自建服务器
- 本地路径:目录,或指向
marketplace.json文件的直接路径 - 远程网址:直接指向已托管的
marketplace.json文件的网址
从 GitHub 添加
用 owner/repo 格式添加一个包含 .claude-plugin/marketplace.json 文件的 GitHub 仓库,其中 owner 是 GitHub 用户名或组织,repo 是仓库名。
例如,anthropics/claude-code 指的是 anthropics 拥有的 claude-code 仓库:
从其他 Git 主机添加
通过提供完整网址添加任何 git 仓库。这适用于任何 Git 主机,包括 GitLab、Bitbucket 和自建服务器。请包含 .git 后缀,这样 Claude Code 会克隆该仓库,而不是把该网址当作一个已托管 marketplace.json 文件的直接链接。
同时也请包含 https:// 前缀。Claude Code v2.1.196 及更高版本会把不带该前缀输入的主机(例如 gitlab.com/company/plugins.git)拒绝为无效的 GitHub owner/repo 简写,并在错误信息中告诉你添加该前缀。更早的版本会把它误读为一个 GitHub 仓库路径,并在克隆时失败。
使用 HTTPS:
使用 SSH:
要添加特定的分支或标签,在后面加上 # 及该引用:
从本地路径添加
添加一个包含 .claude-plugin/marketplace.json 文件的本地目录:
你也可以添加一个直接指向 marketplace.json 文件的路径:
从远程网址添加
通过网址添加一个远程的 marketplace.json 文件:
与基于 Git 的市场相比,基于网址的市场存在一些限制。如果你在安装插件时遇到“path not found”错误,请参阅故障排查。
安装插件
添加了市场之后,你可以直接安装插件:
该命令会打开该插件的详情,你可以在其中选择一个安装范围。当你运行 /plugin、前往Discover 标签页,并在某个插件上按Enter 时,你会看到相同的选项:
- 用户范围(默认):为你自己在所有项目中安装
- 项目范围:为该仓库的所有协作者安装,这会把该插件加入
.claude/settings.json - 本地范围:只为你自己在该仓库中安装,不与协作者共享
要在没有交互步骤的情况下安装,使用 claude plugin install shell 命令,默认安装到用户范围,除非你传入 --scope。
你也可能会看到具有managed 范围的插件。这些是管理员通过统一管理设置安装的,无法被修改。
管理已安装的插件
运行 /plugin 并前往Installed 标签页,即可查看、启用、禁用或卸载你的插件。列表按范围分组,并排序显示优先要处理的问题:有加载错误或未解决依赖的插件排在最前,接着是你的收藏,已禁用的插件折叠在底部一个收起的标题下方。
在该列表中你可以:
- 按
f收藏或取消收藏选中的插件 - 输入内容按插件名称或描述筛选
- 按 Enter 打开某个插件的详情视图,启用、禁用或卸载它
卸载一个由项目 .claude/settings.json 启用的插件时,会询问你想要哪种范围:只为你自己禁用它(这会向你的 .claude/settings.local.json 写入一条覆盖设置,让该插件对项目其他人仍保持安装状态),或为所有人卸载它(这会从共享的 .claude/settings.json 中移除它)。需要 Claude Code v2.1.203 或更高版本。在 v2.1.203 之前,该对话框只提供本地禁用选项。
详情视图会显示该插件贡献的组件:命令、技能、智能体、钩子、MCP 服务器和 LSP 服务器。同样的清单也可以通过命令行的 claude plugin details 获取。
Installed 标签页还会在一个Not used recently 标题下,收集你自己安装、但至少两周(跨越至少 10 次会话)没有使用过的市场插件。详情视图会为每个插件显示一行Last used。可以借此找出那些仍在增加启动和上下文成本、但你已不再使用的插件,然后禁用或卸载它们。需要 Claude Code v2.1.187 或更高版本。
有两类插件永远不会被列为未使用:
- 由你的组织统一管理,或你用
--plugin-dir加载的插件 - 提供主题、输出风格、监视器或工作流的插件,因为这些即使不被主动调用也会持续提供价值
当你的组织通过 strictKnownMarketplaces 限制市场时,Not used recently 标题和Last used 行都会被隐藏。
当某个插件的语言服务器提供诊断信息或响应了代码导航请求时,会被计为已使用,因此一个其服务器在你的会话中处于活动状态的 LSP 插件,不会被列为未使用。在 v2.1.203 之前,语言服务器的活动无法被计为使用,因此提供 LSP 服务器的插件会完全被排除在这个分组之外,就像主题和输出风格插件目前仍然如此一样。
当你安装一个声明了依赖关系的插件时,安装输出会列出哪些依赖被一起自动安装了。
你也可以用直接命令管理插件。
不打开菜单,直接列出已安装的插件:
传入 --enabled 或 --disabled 只显示处于该状态的插件。
禁用某个插件而不卸载它:
重新启用一个已禁用的插件:
在这些标识符中,plugin-name 是该插件在市场条目中的 name,它可能与该插件自己 plugin.json 中的 name 不同。
从 Claude Code v2.1.195 开始,/plugin 界面中的Enable 和 Disable 对这两个名称不同的插件同样有效,/plugin enable 和 /plugin disable 也接受这两个名称中的任一个。在更早的版本中禁用这样的插件时,Claude Code 会报告 already disabled,并让它保持启用状态。
完全移除一个插件:
--scope 选项让你可以在 CLI 命令中指定特定范围:
无需重启即可应用插件更改
当你在会话期间安装、启用或禁用插件时,运行 /reload-plugins 即可在不重启的情况下应用所有更改:
Claude Code 会重新加载所有活动插件,并显示插件、技能、智能体、钩子、插件 MCP 服务器和插件 LSP 服务器的数量。
重新加载会在下一次请求时产生 Token 成本:新加载的组件会在追加到对话中的内容里自报家门,而已有的历史记录仍会从 prompt 缓存中读取。当某个提供 MCP 服务器的插件的工具没有被工具搜索推迟加载时,这个成本会更高:这次更改会使缓存失效,下一次请求需要重新读取整个对话。在这种情况下,/reload-plugins 会显示一条警告,且不会应用这次重新加载;传入 --force 可强制应用。详情请参阅启用或禁用一个插件。
管理市场
你可以通过交互式的 /plugin 界面,也可以用 CLI 命令,来管理市场。
使用交互式界面
运行 /plugin 并前往Marketplaces 标签页,可以:
- 查看你添加的所有市场及其来源和状态
- 添加新市场
- 更新市场列表,获取最新的插件
- 移除你不再需要的市场
使用 CLI 命令
你也可以用直接命令管理市场。
列出所有已配置的市场:
刷新某个市场的插件列表:
移除一个市场:
配置自动更新
Claude Code 可以在启动时自动更新市场及其已安装的插件。当某个市场启用了自动更新,Claude Code 会刷新该市场的数据,并将已安装的插件更新到最新版本。如果有任何插件被更新,你会看到一条通知,提示你运行 /reload-plugins。
通过界面为个别市场切换自动更新:
- 运行
/plugin打开插件管理器 - 选择Marketplaces
- 从列表中选择一个市场
- 选择Enable auto-update 或 Disable auto-update
Anthropic 官方市场默认启用自动更新。第三方和本地开发市场默认禁用自动更新。
管理员也可以在统一管理设置中为每个 extraKnownMarketplaces 条目设置 "autoUpdate": true,为一个组织市场启用自动更新,而不需要每个用户自行切换。
要为 Claude Code 和所有插件完全关闭自动更新,请设置 DISABLE_AUTOUPDATER 环境变量。详情请参阅自动更新。
要在关闭 Claude Code 自动更新的同时保持插件自动更新开启,请将 FORCE_AUTOUPDATE_PLUGINS=1 与 DISABLE_AUTOUPDATER 一起设置:
当你想手动管理 Claude Code 的更新、但仍希望自动获取插件更新时,这会很有用。
配置团队市场
团队管理员可以通过在 .claude/settings.json 中添加市场配置,为各个项目设置自动化的市场安装。当团队成员信任该仓库文件夹时,Claude Code 会提示他们安装这些市场和插件。
从 Claude Code v2.1.195 开始,这个安装步骤适用于每一条加载插件的路径。一个只由项目 .claude/settings.json 启用、且来自外部来源(例如 GitHub 仓库或 npm 包)的插件,在团队成员安装它之前不会加载。在那之前,Claude Code 会报告该插件未安装,并显示要运行的 claude plugin install 命令。
在你项目的 .claude/settings.json 中添加 extraKnownMarketplaces:
关于包括 extraKnownMarketplaces 和 enabledPlugins 的完整配置选项,请参阅插件设置。
安全性
插件和市场是高度受信任的组件,可以用你的用户权限在你的机器上执行任意代码。只安装你信任的来源的插件,只添加你信任的来源的市场。组织可以用统一管理的市场限制限制用户可以添加哪些市场。
故障排查
/plugin 命令未被识别
如果你看到“unknown command”,或 /plugin 命令没有出现:
- 检查你的版本:运行
claude --version查看已安装的版本。 - 更新 Claude Code:
- Homebrew:
brew upgrade claude-code,如果你安装的是那个 cask,用brew upgrade claude-code@latest - npm:
npm install -g @anthropic-ai/claude-code@latest - 原生安装程序:重新运行安装说明中的安装命令
- Homebrew:
- 重启 Claude Code:更新后,重启你的终端并再次运行
claude。
常见问题
- 市场无法加载:确认该网址可访问,且该路径下存在
.claude-plugin/marketplace.json - 插件安装失败:检查插件来源网址是否可访问,仓库是否为公开,或你是否有权访问它们
- 安装后找不到文件:插件会被复制到一个缓存中,因此引用插件目录之外文件的路径不会生效
- 插件技能没有出现:用
rm -rf ~/.claude/plugins/cache清除缓存,重启 Claude Code,然后重新安装该插件。
关于带解决方案的详细故障排查,请参阅市场指南中的故障排查。关于调试工具,请参阅调试与开发工具。
代码智能问题
- 语言服务器无法启动:确认该二进制文件已安装,且在你的
$PATH中可用。查看/plugin的 Errors 标签页了解详情。 - 内存占用过高:像
rust-analyzer和pyright这样的语言服务器,在大型项目中可能消耗大量内存。如果遇到内存问题,用/plugin disable <plugin-name>禁用该插件,改用 Claude 内置的搜索工具。 - 单体仓库中的误报诊断:如果工作区配置不正确,语言服务器可能会针对内部包报告无法解析的导入错误。这不会影响 Claude 编辑代码的能力。