marketplace.json 中的 plugin 項目新增 relevance 區塊來定義這些訊號。
marketplace 操作員會撰寫 relevance 項目。管理員隨後在受管設定中將 marketplace 加入允許清單。在 marketplace 被加入允許清單之前,使用者看不到來自該 marketplace 的任何建議。
這些情況涵蓋在其他頁面上:
- 您想要安裝 plugins:請參閱 安裝和管理 plugins
- 您想要關閉建議:請參閱 了解 plugin 相關性的運作方式
- Marketplace 操作員:閱讀 建議的運作方式,然後 將相關性新增至 plugin 項目 並 驗證您的 marketplace
- 管理員:在受管設定中啟用建議
了解 plugin 相關性的運作方式
marketplace.json 中的每個 plugin 項目都可以包含 relevance 物件。該物件命名一個主題和一個或多個訊號。訊號是 Claude Code 針對目前工作階段測試的模式,例如工作目錄或 Claude 已讀取的檔案。
訊號比對在使用者的機器上本地進行,不會增加任何網路流量。Claude Code 不會向 Anthropic 或 marketplace 操作員報告哪些訊號相符或其值。
當訊號相符且 plugin 尚未安裝時,Claude Code 會在以下位置建議該 plugin:
- Spinner 提示:當 Claude 正在回應時,包含
/plugin install命令的訊息會出現在 spinner 下方。 - 工作階段開始通知:如果
cwd訊號符合工作目錄,在使用者傳送第一則訊息之前會出現一行通知。 /pluginDiscover 標籤:plugin 會釘選在 Discover 清單的頂部。
spinnerTipsEnabled 設定為 false,或當 spinnerTipsOverride 搭配 excludeDefault 取代內建提示時,spinner 提示和工作階段開始通知都會停止出現。Discover 標籤釘選不受任一設定影響。
將相關性新增至 plugin 項目
將relevance 物件新增至您 marketplace.json 中的 plugin 項目。下列範例宣告當 Claude 讀取 .tf 檔案或執行 terraform 時,terraform-helpers plugin 是相關的:
欄位參考
relevance 物件及其巢狀 signals 物件接受下列表格中的欄位。
較舊的用戶端仍會載入使用它們無法識別的 relevance 欄位的 marketplace,因為在載入時會忽略 relevance 和 relevance.signals 下的未知欄位。已識別的欄位其值超過 欄位參考 中的限制會使整個 plugin 項目失效,使用者無法從 marketplace 安裝該 plugin,直到您修復它;claude plugin validate 會報告相同的限制。
relevance
topic 通常是產品名稱,例如 Terraform。當 plugin 名稱作為主題聽起來不自然時,使用 design 之類的領域。
relevance.signals
signals 物件接受下列欄位。
filesRead 和 manifestDeps 訊號也會比對 Claude 在此工作階段中寫入或編輯的檔案,以及專案的自動載入 CLAUDE.md 記憶體檔案。
工作目錄比對
cwd 是唯一可以在工作階段開始時比對的訊號,在使用者傳送第一則訊息之前。
Claude Code 比對每個 cwd 模式如下:
- 模式會針對工作目錄作為絕對路徑進行比對。當工作階段在 git 儲存庫內時,它也會針對相對於儲存庫根目錄的工作目錄路徑進行比對。
- 比對是正斜線正規化且不區分大小寫的。
- 每個模式都會比對目錄本身及其下的所有內容,因此
infra、infra/和infra/**的行為相同。
命令名稱比對
Claude Code 為 Claude 執行的每個 shell 命令記錄一個命令名稱:任何前導環境變數指派和sudo 之後的第一個權杖。複合命令只貢獻其前導命令,因此 cd infra && terraform plan 記錄 cd,而不是 terraform。
資訊清單相依性比對
每個manifestDeps 項目配對兩個 JavaScript RegExp 來源字串:
file:不區分大小寫地針對資訊清單檔案的路徑進行比對。路徑通常是絕對的,因此請在結尾而不是開頭錨定模式。路徑不會針對此訊號進行分隔符號正規化,因此 Windows 路徑使用反斜線。pattern:區分大小寫地針對該檔案的內容進行比對。
manifestDeps 在 Claude 讀取了依賴您 SDK npm 套件(此處名為 your-sdk)的 package.json 後建議您的 plugin。
file 模式使用 [/\\\\] 以便同時比對正斜線和反斜線路徑分隔符號,以及 \\. 使點是字面意思。在 JSON 中,正規表達式中的每個反斜線都寫兩次。
驗證您的 marketplace
在您的 shell 中,針對您的 marketplace 目錄執行claude plugin validate 以在發佈前檢查 relevance 區塊:
relevance 區塊上的錯誤和警告,包括這些:
- 將
relevance和relevance.signals下的未知鍵報告為警告 - 標記不是物件的
relevance值 - 拒絕包含配置、連接埠或路徑的
signals.hosts項目
Validation passed、Validation passed with warnings 或 Validation failed 結尾。
在受管設定中啟用建議
使用者看不到來自 marketplace 的任何建議,直到管理員在 受管設定 中將其加入允許清單,即使其marketplace.json 宣告了 relevance。
若要將 marketplace 加入允許清單,請編輯您的受管設定如下:
- 將 marketplace 名稱新增至
pluginSuggestionMarketplaces。 - 對於官方 Anthropic marketplace 以外的任何 marketplace,也請宣告 marketplace 來源,可以是
extraKnownMarketplaces中該名稱的項目,或strictKnownMarketplaces中的項目。
managed-settings.json 從 GitHub 儲存庫註冊組織 marketplace 並啟用其建議:
預覽使用者看到的內容
當 plugin 的relevance 訊號在工作階段期間相符時,spinner 下方的提示讀取:
cwd 訊號在工作階段開始時相符時,一行通知讀取:
/plugin Discover 標籤中,plugin 會釘選在其他結果上方,並帶有命名相符訊號的註釋,例如 suggested for this directory 或 suggested for terraform commands。
Claude Code 限制建議給定 plugin 的頻率:
- 建議在 spinner 提示和工作階段開始通知的組合中最多每三個工作階段出現一次。
- 一旦 spinner 提示和通知已組合顯示該 plugin 兩次,工作階段開始通知就會停止出現。
- 一旦安裝了 plugin,spinner 提示和工作階段開始通知都不會重複。
- Discover 標籤會在使用者在 plugin 訊號相符時首次開啟標籤時釘選該 plugin。Claude Code 會在
~/.claude.json中記錄這一點,因此每次使用者稍後在該機器上開啟/plugin時,該 plugin 都會以正常順序出現。
另請參閱
- 託管 marketplace:執行託管您的 plugins 的 marketplace
- Marketplace 參考:plugin 項目接受的每個欄位
- 從您的 CLI 推薦您的 plugin:從您自己的 CLI 而不是從 Claude Code 的工作階段訊號提示使用者
- 為您的組織管理 plugins:
extraKnownMarketplaces、strictKnownMarketplaces和其餘 plugin 原則鍵