Skip to main content
plugin marketplace 是一个目录,让你能够将 plugin 分发给他人。Marketplace 提供集中式发现、版本跟踪、自动更新以及对多种源类型(git 仓库、本地路径等)的支持。本指南展示了如何创建自己的 marketplace,与你的团队或社区共享 plugin。 想要从现有 marketplace 安装 plugin?请参阅发现和安装预构建 plugin

概述

创建和分发 marketplace 涉及:
  1. 创建 plugin:使用命令、agents、hooks、MCP servers 或 LSP servers 构建一个或多个 plugin。本指南假设你已经有要分发的 plugin;有关如何创建 plugin 的详细信息,请参阅创建 plugin
  2. 创建 marketplace 文件:定义一个 marketplace.json,列出你的 plugin 及其位置(请参阅创建 marketplace 文件)。
  3. 托管 marketplace:推送到 GitHub、GitLab 或其他 git 主机(请参阅托管和分发 marketplace)。
  4. 与用户共享:用户使用 /plugin marketplace add 添加你的 marketplace 并安装单个 plugin(请参阅发现和安装 plugin)。
一旦你的 marketplace 上线,你可以通过推送更改到你的仓库来更新它。用户使用 /plugin marketplace update 刷新他们的本地副本。

演练:创建本地 marketplace

此示例创建一个包含一个 plugin 的 marketplace:用于代码审查的 /review skill。你将创建目录结构、添加 skill、创建 plugin manifest 和 marketplace 目录,然后安装并测试它。
1

创建目录结构

2

创建 skill

创建一个 SKILL.md 文件,定义 /review skill 的功能。
my-marketplace/plugins/review-plugin/skills/review/SKILL.md
3

创建 plugin manifest

创建一个 plugin.json 文件,描述该 plugin。manifest 位于 .claude-plugin/ 目录中。
my-marketplace/plugins/review-plugin/.claude-plugin/plugin.json
4

创建 marketplace 文件

创建列出你的 plugin 的 marketplace 目录。
my-marketplace/.claude-plugin/marketplace.json
5

添加和安装

添加 marketplace 并安装 plugin。
6

尝试一下

在编辑器中选择一些代码并运行你的新命令。
要了解更多关于 plugin 可以做什么的信息,包括 hooks、agents、MCP servers 和 LSP servers,请参阅 Plugins
plugin 如何安装:当用户安装 plugin 时,Claude Code 会将 plugin 目录复制到缓存位置。这意味着 plugin 无法使用 ../shared-utils 之类的路径引用其目录外的文件,因为这些文件不会被复制。如果你需要在 plugin 之间共享文件,请使用符号链接(在复制期间会被跟踪)或重新构造你的 marketplace,使共享目录位于 plugin 源路径内。有关详细信息,请参阅 Plugin 缓存和文件解析

创建 marketplace 文件

在你的仓库根目录中创建 .claude-plugin/marketplace.json。此文件定义你的 marketplace 的名称、所有者信息以及包含其源的 plugin 列表。 每个 plugin 条目至少需要一个 namesource(从哪里获取它)。有关所有可用字段,请参阅下面的完整架构

Marketplace 架构

必需字段

保留名称:以下 marketplace 名称为 Anthropic 官方使用保留,第三方 marketplace 无法使用:claude-code-marketplaceclaude-code-pluginsclaude-plugins-officialanthropic-marketplaceanthropic-pluginsagent-skillslife-sciences。冒充官方 marketplace 的名称(如 official-claude-pluginsanthropic-tools-v2)也被阻止。

所有者字段

可选元数据

Plugin 条目

plugins 数组中的每个 plugin 条目描述一个 plugin 及其位置。你可以包含来自 plugin manifest 架构 的任何字段(如 descriptionversionauthorcommandshooks 等),加上这些 marketplace 特定字段:sourcecategorytagsstrict

必需字段

可选 plugin 字段

标准元数据字段: 组件配置字段:

Plugin 源

相对路径

对于同一仓库中的 plugin:
相对路径仅在用户通过 Git(GitHub、GitLab 或 git URL)添加你的 marketplace 时有效。如果用户通过直接 URL 添加你的 marketplace 到 marketplace.json 文件,相对路径将无法正确解析。对于基于 URL 的分发,请改用 GitHub、npm 或 git URL 源。有关详细信息,请参阅故障排除

GitHub 仓库

你可以固定到特定的分支、标签或提交:

Git 仓库

你可以固定到特定的分支、标签或提交:

高级 plugin 条目

此示例显示了使用许多可选字段的 plugin 条目,包括命令、agents、hooks 和 MCP servers 的自定义路径:
需要注意的关键事项:
  • commandsagents:你可以指定多个目录或单个文件。路径相对于 plugin 根目录。
  • ${CLAUDE_PLUGIN_ROOT}:在 hooks 和 MCP server 配置中使用此变量来引用 plugin 安装目录中的文件。这是必要的,因为 plugin 在安装时被复制到缓存位置。
  • strict: false:由于这设置为 false,plugin 不需要自己的 plugin.json。marketplace 条目定义了一切。

托管和分发 marketplace

在 GitHub 上托管(推荐)

GitHub 提供最简单的分发方法:
  1. 创建仓库:为你的 marketplace 设置一个新仓库
  2. 添加 marketplace 文件:使用你的 plugin 定义创建 .claude-plugin/marketplace.json
  3. 与团队共享:用户使用 /plugin marketplace add owner/repo 添加你的 marketplace
优势:内置版本控制、问题跟踪和团队协作功能。

在其他 git 服务上托管

任何 git 托管服务都可以工作,例如 GitLab、Bitbucket 和自托管服务器。用户使用完整的仓库 URL 添加:

私有仓库

Claude Code 支持从私有仓库安装 plugin。对于手动安装和更新,Claude Code 使用你现有的 git 凭证助手。如果 git clone 对你终端中的私有仓库有效,它在 Claude Code 中也有效。常见的凭证助手包括用于 GitHub 的 gh auth login、macOS Keychain 和 git-credential-store 后台自动更新在启动时运行,不使用凭证助手,因为交互式提示会阻止 Claude Code 启动。要为私有 marketplace 启用自动更新,请在你的环境中设置适当的身份验证令牌: 在你的 shell 配置中设置令牌(例如,.bashrc.zshrc)或在运行 Claude Code 时传递它:
对于 CI/CD 环境,将令牌配置为秘密环境变量。GitHub Actions 自动为同一组织中的仓库提供 GITHUB_TOKEN

在分发前本地测试

在共享前本地测试你的 marketplace:
有关完整的添加命令范围(GitHub、Git URL、本地路径、远程 URL),请参阅添加 marketplace

为你的团队要求 marketplace

你可以配置你的仓库,以便当团队成员信任项目文件夹时,他们会自动被提示安装你的 marketplace。将你的 marketplace 添加到 .claude/settings.json
你也可以指定默认应启用哪些 plugin:
有关完整的配置选项,请参阅 Plugin 设置

托管 marketplace 限制

对于需要严格控制 plugin 源的组织,管理员可以使用托管设置中的 strictKnownMarketplaces 设置限制用户允许添加哪些 plugin marketplace。 当在托管设置中配置 strictKnownMarketplaces 时,限制行为取决于该值:

常见配置

禁用所有 marketplace 添加:
仅允许特定 marketplace:
使用正则表达式模式匹配允许来自内部 git 服务器的所有 marketplace:

限制如何工作

限制在 plugin 安装过程的早期进行验证,在任何网络请求或文件系统操作发生之前。这可以防止未授权的 marketplace 访问尝试。 允许列表对大多数源类型使用精确匹配。要允许 marketplace,所有指定的字段必须完全匹配:
  • 对于 GitHub 源:repo 是必需的,如果在允许列表中指定,refpath 也必须匹配
  • 对于 URL 源:完整 URL 必须完全匹配
  • 对于 hostPattern 源:marketplace 主机与正则表达式模式匹配
因为 strictKnownMarketplaces托管设置中设置,个人用户和项目配置无法覆盖这些限制。 有关完整的配置详细信息,包括所有支持的源类型和与 extraKnownMarketplaces 的比较,请参阅 strictKnownMarketplaces 参考

验证和测试

在共享前测试你的 marketplace。 验证你的 marketplace JSON 语法:
或从 Claude Code 内:
添加 marketplace 进行测试:
安装测试 plugin 以验证一切正常:
有关完整的 plugin 测试工作流,请参阅本地测试你的 plugin。有关技术故障排除,请参阅 Plugins 参考

故障排除

Marketplace 未加载

症状:无法添加 marketplace 或看不到其中的 plugin 解决方案
  • 验证 marketplace URL 是否可访问
  • 检查 .claude-plugin/marketplace.json 是否存在于指定路径
  • 使用 claude plugin validate/plugin validate 确保 JSON 语法有效
  • 对于私有仓库,确认你有访问权限

Marketplace 验证错误

从你的 marketplace 目录运行 claude plugin validate ./plugin validate . 以检查问题。常见错误: 警告(非阻止性):
  • Marketplace has no plugins defined:将至少一个 plugin 添加到 plugins 数组
  • No marketplace description provided:添加 metadata.description 以帮助用户了解你的 marketplace
  • Plugin "x" uses npm source which is not yet fully implemented:改用 github 或本地路径源

Plugin 安装失败

症状:Marketplace 出现但 plugin 安装失败 解决方案
  • 验证 plugin 源 URL 是否可访问
  • 检查 plugin 目录是否包含必需的文件
  • 对于 GitHub 源,确保仓库是公开的或你有访问权限
  • 通过手动克隆/下载来测试 plugin 源

私有仓库身份验证失败

症状:从私有仓库安装 plugin 时出现身份验证错误 解决方案 对于手动安装和更新:
  • 验证你已使用你的 git 提供商进行身份验证(例如,为 GitHub 运行 gh auth status
  • 检查你的凭证助手是否配置正确:git config --global credential.helper
  • 尝试手动克隆仓库以验证你的凭证是否有效
对于后台自动更新:
  • 在你的环境中设置适当的令牌:echo $GITHUB_TOKEN
  • 检查令牌是否具有所需的权限(对仓库的读取访问权限)
  • 对于 GitHub,确保令牌对私有仓库具有 repo 范围
  • 对于 GitLab,确保令牌至少具有 read_repository 范围
  • 验证令牌未过期

相对路径 plugin 在基于 URL 的 marketplace 中失败

症状:通过 URL(如 https://example.com/marketplace.json)添加了 marketplace,但具有相对路径源(如 "./plugins/my-plugin")的 plugin 安装失败,出现”路径未找到”错误。 原因:基于 URL 的 marketplace 仅下载 marketplace.json 文件本身。它们不从服务器下载 plugin 文件。marketplace 条目中的相对路径引用远程服务器上未下载的文件。 解决方案
  • 使用外部源:将 plugin 条目更改为使用 GitHub、npm 或 git URL 源,而不是相对路径:
  • 使用基于 Git 的 marketplace:在 Git 仓库中托管你的 marketplace 并使用 git URL 添加它。基于 Git 的 marketplace 克隆整个仓库,使相对路径正常工作。

安装后文件未找到

症状:Plugin 安装但对文件的引用失败,特别是 plugin 目录外的文件 原因:Plugin 被复制到缓存目录而不是就地使用。引用 plugin 目录外文件的路径(如 ../shared-utils)将无法工作,因为这些文件不会被复制。 解决方案:有关解决方法(包括符号链接和目录重组),请参阅 Plugin 缓存和文件解析 有关其他调试工具和常见问题,请参阅调试和开发工具

另请参阅

Last modified on February 12, 2026