跳转到主要内容
如果您为组织运营插件marketplace,您可以根据用户正在处理的内容让Claude Code向用户建议特定的插件。向marketplace.json中的插件条目添加relevance块,然后在托管设置中将marketplace加入允许列表。当用户的会话与声明的信号之一匹配时,Claude Code会显示该插件的安装建议。 Marketplace声明的建议通过托管设置按marketplace选择加入。在管理员将任何marketplace添加到允许列表之前,没有marketplace的relevance声明会产生建议,包括官方Anthropic marketplace。Claude Code还包括一个独立于此允许列表的内置建议;当spinnerTipsEnabled设置为false时,该提示和所有marketplace声明的提示都会被禁用。 此功能需要Claude Code v2.1.152或更高版本。较旧的客户端会忽略relevance字段。 此页面适用于marketplace运营商和企业管理员。如果您想要安装插件,请参阅发现和安装插件

工作原理

marketplace.json中的每个插件条目都可以包含一个relevance对象。该对象命名一个主题和一个或多个信号。信号是Claude Code针对当前会话测试的模式,例如工作目录或Claude已读取的文件。 信号匹配在用户的机器上本地进行。匹配不会增加网络流量,也不会向Anthropic或marketplace运营商报告哪些信号匹配或其值。 当信号匹配且插件尚未安装时,Claude Code会在三个位置显示该插件:
  • Spinner提示:当Claude正在响应时,spinner下方会显示”使用_topic_?安装_plugin_插件”消息,附带/plugin install命令。
  • 会话启动建议如果cwd信号与工作目录匹配,在第一轮之前会显示一行plugin suggestion: <name>@<marketplace> · /plugin通知。此表面需要Claude Code v2.1.153或更高版本。
  • /plugin Discover标签页插件被固定在Discover列表的顶部,带有”为此目录建议”或”为stripe命令建议”之类的注释。此表面需要Claude Code v2.1.154或更高版本。
Spinner提示和会话启动通知是spinner提示系统的一部分。当用户或项目将spinnerTipsEnabled设置为false,或当配置了带有excludeDefault的自定义spinnerTipsOverride时,两者都会被禁用。Discover标签页的固定独立于提示设置。 Claude Code永远不会自动安装插件。用户始终需要确认。

向插件条目添加relevance

向您的marketplace.json中的插件条目添加relevance对象。以下示例声明当Claude读取.tf文件或运行terraform时,terraform-helpers插件是相关的:
具有relevance块但没有匹配信号的插件的行为与任何其他marketplace条目相同。它在Discover列表中以其正常位置出现,永远不会显示为spinner提示。

字段参考

relevance

relevance.signals

clihostsfilesReadmanifestDeps信号需要会话历史记录,因此它们只能在spinner提示和Discover标签页上匹配。只有cwd可以在会话启动时匹配。filesReadmanifestDeps信号测试会话的记录文件状态,其中还包括Claude已写入或编辑的文件以及自动加载的CLAUDE.md内存文件。 以下示例使用manifestDeps在Claude读取了依赖于stripepackage.json后建议Stripe插件。file模式使用[/\\\\]以匹配正斜杠和反斜杠路径分隔符,使用\\.以使点为字面。在JSON中,正则表达式中的每个反斜杠都写两次。
relevancerelevance.signals下的未知字段在加载时被忽略,因此较旧的Claude Code客户端继续加载您的marketplace。运行claude plugin validate以将它们显示为警告。

在托管设置中启用建议

marketplace.json中声明relevance本身是不够的。管理员必须在托管设置中将marketplace加入允许列表,其建议才会显示给用户。 将marketplace名称添加到pluginSuggestionMarketplaces。对于官方Anthropic marketplace以外的任何marketplace,还要在同一托管设置中声明marketplace源,要么作为该名称在extraKnownMarketplaces中的条目,要么作为strictKnownMarketplaces中的条目。如果在机器上注册的marketplace来自不同的源,则忽略允许列表中的名称。这可以防止无关的源以允许列表中的名称注册,以便在您的组织中建议其插件。 以下managed-settings.json从GitHub存储库注册一个组织marketplace并启用其建议:
官方marketplace免除源声明要求,因为其名称只能从官方Anthropic源注册。仅允许列表中的名称就足够了:
有关pluginSuggestionMarketplacesextraKnownMarketplaces的完整配置详情,请参阅设置参考

用户看到的内容

当会话期间信号匹配时,spinner提示读取:
在会话启动时,匹配的cwd信号会显示一行通知:
给定插件的建议在spinner提示和会话启动通知的组合中最多每三个会话出现一次,一旦插件被安装,两者都不会重复。会话启动通知在建议显示两次后还会停止出现。 /plugin Discover标签页中,插件被固定在其他结果上方,带有命名匹配信号的注释,例如suggested for this directorysuggested for terraform commands。Discover标签页固定给定插件一次;后续访问以正常顺序列出它。Discover标签页固定需要Claude Code v2.1.154或更高版本。在v2.1.152上仅显示spinner提示;会话启动通知在v2.1.153中添加。

验证您的marketplace

针对您的marketplace目录运行claude plugin validate以在发布前检查relevance块:
验证器将relevancerelevance.signals下的未知键报告为警告,标记不是对象的relevance值,并拒绝包含方案、端口或路径的signals.hosts条目。

另请参阅