10 10
11當您想要讓您選擇的群組(例如您的團隊或組織)安裝您的 plugins 並持續從您控制的目錄接收更新時,請建立您自己的 marketplace。該儲存庫可以是私有的,可以列出任意數量的 plugins,管理員可以[在每台機器上要求它](/docs/zh-TW/plugins/org)。11當您想要讓您選擇的群組(例如您的團隊或組織)安裝您的 plugins 並持續從您控制的目錄接收更新時,請建立您自己的 marketplace。該儲存庫可以是私有的,可以列出任意數量的 plugins,管理員可以[在每台機器上要求它](/docs/zh-TW/plugins/org)。
12 12
13<Note>13> [!NOTE]
14 其他頁面涵蓋了這些情況:14>
15 15> 其他頁面涵蓋了這些情況:
16 * **與少數人分享一個 plugin**:將 plugin 的目錄或其 `.zip` 檔案發送給他們。請參閱[不使用 marketplace 分享 plugin](/docs/zh-TW/plugins/publish#share-a-plugin-without-a-marketplace)。16>
17 * **向所有人提供 plugin**:將其提交到 Anthropic 的社群 marketplace。請參閱[提交到社群 marketplace](/docs/zh-TW/plugins/publish#submit-to-anthropics-directory)。17> * **與少數人分享一個 plugin**:將 plugin 的目錄或其 `.zip` 檔案發送給他們。請參閱[不使用 marketplace 分享 plugin](/docs/zh-TW/plugins/publish#share-a-plugin-without-a-marketplace)。
18 * **自己使用 plugin**:使用 `--plugin-dir` 載入它或將其保存在您的 skills 目錄中。請參閱[不使用 marketplace 開發](/docs/zh-TW/plugins/create#develop-without-a-marketplace)。18> * **向所有人提供 plugin**:將其提交到 Anthropic 的社群 marketplace。請參閱[提交到社群 marketplace](/docs/zh-TW/plugins/publish#submit-to-anthropics-directory)。
19</Note>19> * **自己使用 plugin**:使用 `--plugin-dir` 載入它或將其保存在您的 skills 目錄中。請參閱[不使用 marketplace 開發](/docs/zh-TW/plugins/create#develop-without-a-marketplace)。
20 20
21從[建立 marketplace](#create-a-marketplace) 開始,在您自己的機器上建立一個並從中安裝 plugin,然後[新增更多 plugin 項目](#add-plugin-entries)。21從[建立 marketplace](#create-a-marketplace) 開始,在您自己的機器上建立一個並從中安裝 plugin,然後[新增更多 plugin 項目](#add-plugin-entries)。
22 22
23<h2 id="create-a-marketplace">23## 建立 marketplace
24 建立 marketplace
25</h2>
26 24
27以下步驟在您的機器上建立 marketplace,將 plugin 新增到其中,在 Claude Code 中註冊它,並從中安裝 plugin。這是整個流程,也是您的使用者在您將 marketplace 託管在他們可以存取的地方後所經歷的相同流程。從您想要建立 `my-marketplace/` 的目錄在您的 shell 中執行每個命令。25以下步驟在您的機器上建立 marketplace,將 plugin 新增到其中,在 Claude Code 中註冊它,並從中安裝 plugin。這是整個流程,也是您的使用者在您將 marketplace 託管在他們可以存取的地方後所經歷的相同流程。從您想要建立 `my-marketplace/` 的目錄在您的 shell 中執行每個命令。
28 26
29您需要一個 plugin 來列出。該範例使用來自[建立您的第一個 plugin](/docs/zh-TW/plugins/create#create-your-first-plugin) 的 `my-first-plugin`,這是一個具有一個 skill 的 plugin,您可以將其作為 `/my-first-plugin:hello` 執行;如果您還沒有 plugin,請先建立它。若要改用您自己的 plugin,請在步驟說 `my-first-plugin` 的任何地方替換其目錄和其 `name`。有關 plugin 目錄可以包含的內容,請參閱 [plugin 目錄探索器](/docs/zh-TW/plugins/components#explore-the-plugin-directory)。27您需要一個 plugin 來列出。該範例使用來自[建立您的第一個 plugin](/docs/zh-TW/plugins/create#create-your-first-plugin) 的 `my-first-plugin`,這是一個具有一個 skill 的 plugin,您可以將其作為 `/my-first-plugin:hello` 執行;如果您還沒有 plugin,請先建立它。若要改用您自己的 plugin,請在步驟說 `my-first-plugin` 的任何地方替換其目錄和其 `name`。有關 plugin 目錄可以包含的內容,請參閱 [plugin 目錄探索器](/docs/zh-TW/plugins/components#explore-the-plugin-directory)。
30 28
31<Steps>29**1. 設定 marketplace 目錄**
32 <Step title="設定 marketplace 目錄">
33 marketplace 是一個包含 `.claude-plugin/marketplace.json` 檔案的目錄,加上它列出的 plugins。建立 marketplace 目錄及其 `.claude-plugin/` 資料夾,然後將您的 plugin 複製到 `plugins/` 下:
34 30
35 ```bash theme={null}31marketplace 是一個包含 `.claude-plugin/marketplace.json` 檔案的目錄,加上它列出的 plugins。建立 marketplace 目錄及其 `.claude-plugin/` 資料夾,然後將您的 plugin 複製到 `plugins/` 下:
36 mkdir -p my-marketplace/.claude-plugin my-marketplace/plugins
37 cp -r my-first-plugin my-marketplace/plugins/
38 ```
39 32
40 檢查 plugin 在其現在所在位置是否有效,以便任何後續錯誤都是關於 marketplace 而不是 plugin:33```bash theme={null}
34mkdir -p my-marketplace/.claude-plugin my-marketplace/plugins
35cp -r my-first-plugin my-marketplace/plugins/
36```
41 37
42 ```bash theme={null}38檢查 plugin 在其現在所在位置是否有效,以便任何後續錯誤都是關於 marketplace 而不是 plugin:
43 claude plugin validate ./my-marketplace/plugins/my-first-plugin
44 ```
45 39
46 輸出的最後一行讀作 `✔ Validation passed`。40```bash theme={null}
47 </Step>41claude plugin validate ./my-marketplace/plugins/my-first-plugin
42```
48 43
49 <Step title="建立 marketplace 檔案">44輸出的最後一行讀作 `✔ Validation passed`。
50 將 `marketplace.json` 儲存在 `my-marketplace/.claude-plugin/marketplace.json`。該檔案需要 `name`、`owner` 和 `plugins` 陣列。
51 45
52 `plugins` 中的每個物件都是一個 plugin 項目,需要 `name` 和 `source`。將項目的 `source` 寫成從 marketplace 根目錄的路徑。根目錄是 `my-marketplace/`,即包含 `.claude-plugin/` 的目錄。46**2. 建立 marketplace 檔案**
53 47
54 ```json my-marketplace/.claude-plugin/marketplace.json theme={null}48將 `marketplace.json` 儲存在 `my-marketplace/.claude-plugin/marketplace.json`。該檔案需要 `name`、`owner` 和 `plugins` 陣列。
55 {49
50`plugins` 中的每個物件都是一個 plugin 項目,需要 `name` 和 `source`。將項目的 `source` 寫成從 marketplace 根目錄的路徑。根目錄是 `my-marketplace/`,即包含 `.claude-plugin/` 的目錄。
51
52```json my-marketplace/.claude-plugin/marketplace.json theme={null}
53{
56 "name": "my-marketplace",54 "name": "my-marketplace",
57 "description": "Plugins for my team",55 "description": "Plugins for my team",
58 "owner": {56 "owner": {
65 "description": "A greeting plugin to learn the basics"63 "description": "A greeting plugin to learn the basics"
66 }64 }
67 ]65 ]
68 }66}
69 ```67```
70 </Step>68
69**3. 驗證 marketplace**
70
71在 marketplace 目錄上執行 `claude plugin validate` 以檢查 JSON 語法、必需欄位以及其 `.claude-plugin/marketplace.json` 中的每個 plugin 項目。
72
73```bash theme={null}
74claude plugin validate ./my-marketplace
75```
71 76
72 <Step title="驗證 marketplace">77對於在步驟 2 中編寫的檔案,輸出的最後一行讀作 `✔ Validation passed`。
73 在 marketplace 目錄上執行 `claude plugin validate` 以檢查 JSON 語法、必需欄位以及其 `.claude-plugin/marketplace.json` 中的每個 plugin 項目。
74 78
75 ```bash theme={null}79**4. 新增 marketplace 並安裝 plugin**
76 claude plugin validate ./my-marketplace
77 ```
78 80
79 對於在步驟 2 中編寫的檔案,輸出的最後一行讀作 `✔ Validation passed`。81將目錄註冊為 marketplace。
80 </Step>
81 82
82 <Step title="新增 marketplace 並安裝 plugin">83```bash theme={null}
83 將目錄註冊為 marketplace。84claude plugin marketplace add ./my-marketplace
85```
84 86
85 ```bash theme={null}87該命令列印 `✔ Successfully added marketplace: my-marketplace (declared in user settings)`,這意味著 marketplace 已記錄在您的使用者設定檔中。
86 claude plugin marketplace add ./my-marketplace
87 ```
88 88
89 該命令列印 `✔ Successfully added marketplace: my-marketplace (declared in user settings)`,這意味著 marketplace 已記錄在您的使用者設定檔中。89安裝 plugin。安裝 id 是項目的 `name`、`@` 和 marketplace `name`。
90 90
91 安裝 plugin。安裝 id 是項目的 `name`、`@` 和 marketplace `name`。91```bash theme={null}
92claude plugin install my-first-plugin@my-marketplace
93```
92 94
93 ```bash theme={null}95該命令列印 `✔ Successfully installed plugin: my-first-plugin@my-marketplace (scope: user)`。
94 claude plugin install my-first-plugin@my-marketplace
95 ```
96 96
97 該命令列印 `✔ Successfully installed plugin: my-first-plugin@my-marketplace (scope: user)`。97在工作階段內,`/plugin marketplace add ./my-marketplace` 以相同方式註冊 marketplace。`/plugin install my-first-plugin@my-marketplace` 在 `/plugin` 面板中開啟 plugin 的詳細資訊,您可以在其中安裝它。有關該流程,請參閱[安裝和管理 plugins](/docs/zh-TW/plugins/install)。
98 98
99 在工作階段內,`/plugin marketplace add ./my-marketplace` 以相同方式註冊 marketplace。`/plugin install my-first-plugin@my-marketplace` 在 `/plugin` 面板中開啟 plugin 的詳細資訊,您可以在其中安裝它。有關該流程,請參閱[安裝和管理 plugins](/docs/zh-TW/plugins/install)。99**5. 確認 plugin 已載入**
100 </Step>
101 100
102 <Step title="確認 plugin 已載入">101列出已安裝的 plugins。
103 列出已安裝的 plugins。
104 102
105 ```bash theme={null}103```bash theme={null}
106 claude plugin list104claude plugin list
107 ```105```
108 106
109 輸出列出 `my-first-plugin@my-marketplace`,其中 `Status: ✔ enabled`。107輸出列出 `my-first-plugin@my-marketplace`,其中 `Status: ✔ enabled`。
110 108
111 若要查看 plugin 載入的內容,請顯示其詳細資訊。109若要查看 plugin 載入的內容,請顯示其詳細資訊。
112 110
113 ```bash theme={null}111```bash theme={null}
114 claude plugin details my-first-plugin112claude plugin details my-first-plugin
115 ```113```
116 114
117 `Component inventory` 部分讀作 `Skills (1) hello`。115`Component inventory` 部分讀作 `Skills (1) hello`。
118 116
119 若要執行 skill,請啟動工作階段並輸入 `/my-first-plugin:hello`。Claude 會向您問候。該命令以 plugin 的名稱作為前綴,就像每個 plugin skill 的名稱一樣。117若要執行 skill,請啟動工作階段並輸入 `/my-first-plugin:hello`。Claude 會向您問候。該命令以 plugin 的名稱作為前綴,就像每個 plugin skill 的名稱一樣。
120 </Step>
121</Steps>
122 118
123<h2 id="add-plugin-entries">119## 新增 plugin 項目
124 新增 plugin 項目
125</h2>
126 120
127您分發的每個 plugin 都是 `marketplace.json` 的 `plugins` 陣列中的一個物件。若要新增第二個 plugin,請新增第二個物件。這些欄位涵蓋大多數項目:121您分發的每個 plugin 都是 `marketplace.json` 的 `plugins` 陣列中的一個物件。若要新增第二個 plugin,請新增第二個物件。這些欄位涵蓋大多數項目:
128 122
132 126
133有關完整欄位清單,請參閱 [Plugin 項目](/docs/zh-TW/plugins/marketplace-reference#plugin-entries),其中也說明了項目可以設定的 [`plugin.json`](/docs/zh-TW/plugins/manifest-reference) 欄位及其適用時機。127有關完整欄位清單,請參閱 [Plugin 項目](/docs/zh-TW/plugins/marketplace-reference#plugin-entries),其中也說明了項目可以設定的 [`plugin.json`](/docs/zh-TW/plugins/manifest-reference) 欄位及其適用時機。
134 128
135<h2 id="rules-for-plugin-entries">129## Plugin 項目規則
136 Plugin 項目規則
137</h2>
138 130
139來自新 marketplace 的大多數失敗安裝來自於從錯誤目錄編寫的相對路徑,或來自與 plugin 的 `plugin.json` 中的 `name` 不同的項目名稱。131來自新 marketplace 的大多數失敗安裝來自於從錯誤目錄編寫的相對路徑,或來自與 plugin 的 `plugin.json` 中的 `name` 不同的項目名稱。
140 132
141<h3 id="write-relative-paths-from-the-marketplace-root">133### 從 marketplace 根目錄編寫相對路徑
142 從 marketplace 根目錄編寫相對路徑
143</h3>
144 134
145marketplace 根目錄是包含 `.claude-plugin/` 的目錄。在[逐步解說](#create-a-marketplace)中,那是 `my-marketplace/`,所以項目的 `source` 是 `"./plugins/my-first-plugin"`。該路徑不是從 `.claude-plugin/` 內部開始的,所以不要使用 `..` 來離開它。135marketplace 根目錄是包含 `.claude-plugin/` 的目錄。在[逐步解說](#create-a-marketplace)中,那是 `my-marketplace/`,所以項目的 `source` 是 `"./plugins/my-first-plugin"`。該路徑不是從 `.claude-plugin/` 內部開始的,所以不要使用 `..` 來離開它。
146 136
149* **包含 `..` 的路徑**:`claude plugin validate` 將項目報告為無效。該訊息以 `Path contains "..": ./../plugins/my-first-plugin` 開頭。139* **包含 `..` 的路徑**:`claude plugin validate` 將項目報告為無效。該訊息以 `Path contains "..": ./../plugins/my-first-plugin` 開頭。
150* **指向不存在目錄的路徑**:`claude plugin validate` 通過。`claude plugin install` 失敗,並顯示 `Source path does not exist: <path>`,其中 `<path>` 是 Claude Code 檢查的絕對位置。140* **指向不存在目錄的路徑**:`claude plugin validate` 通過。`claude plugin install` 失敗,並顯示 `Source path does not exist: <path>`,其中 `<path>` 是 Claude Code 檢查的絕對位置。
151 141
152<h3 id="keep-the-entry-name-and-the-manifest-name-the-same">142### 保持項目名稱和清單名稱相同
153 保持項目名稱和清單名稱相同
154</h3>
155 143
156marketplace plugin 在 `marketplace.json` 中有一個項目 `name` 和在其自己的 `plugin.json` 中有一個 `name`,稱為清單名稱。每個名稱出現在不同的地方:144marketplace plugin 在 `marketplace.json` 中有一個項目 `name` 和在其自己的 `plugin.json` 中有一個 `name`,稱為清單名稱。每個名稱出現在不同的地方:
157 145
160 148
161當兩個名稱不同且有人按清單名稱安裝時,Claude Code 報告 `Plugin "<manifest-name>" not found in marketplace "<marketplace>"`。保持兩個名稱相同。有關 Claude Code 如何使用這兩個名稱的更多資訊,請參閱 [Plugin 載入參考](/docs/zh-TW/plugins/loading#find-where-a-plugin-came-from)。149當兩個名稱不同且有人按清單名稱安裝時,Claude Code 報告 `Plugin "<manifest-name>" not found in marketplace "<marketplace>"`。保持兩個名稱相同。有關 Claude Code 如何使用這兩個名稱的更多資訊,請參閱 [Plugin 載入參考](/docs/zh-TW/plugins/loading#find-where-a-plugin-came-from)。
162 150
163<h2 id="choose-a-plugin-source">151## 選擇 plugin 來源
164 選擇 plugin 來源
165</h2>
166 152
167`marketplace.json` 中的每個 plugin 項目都有一個 `source`,告訴 Claude Code 從何處取得該 plugin。根據 plugin 檔案的儲存位置選擇來源。該表列出了大多數 marketplace 擁有者使用的來源。153`marketplace.json` 中的每個 plugin 項目都有一個 `source`,告訴 Claude Code 從何處取得該 plugin。根據 plugin 檔案的儲存位置選擇來源。該表列出了大多數 marketplace 擁有者使用的來源。
168 154
183 169
184有關每種來源類型的欄位,以及將基於 git 的來源固定到 `ref` 或 `sha`,請參閱 [Plugin 來源](/docs/zh-TW/plugins/marketplace-reference#plugin-sources)。170有關每種來源類型的欄位,以及將基於 git 的來源固定到 `ref` 或 `sha`,請參閱 [Plugin 來源](/docs/zh-TW/plugins/marketplace-reference#plugin-sources)。
185 171
186<h2 id="validate-and-test">172## 驗證和測試
187 驗證和測試
188</h2>
189 173
190當您新增 plugins 時,在每次編輯後在您的 shell 中執行 `claude plugin validate ./my-marketplace`,並在分享前從您自己機器上的 marketplace 安裝。驗證和安裝會捕捉不同的問題。174當您新增 plugins 時,在每次編輯後在您的 shell 中執行 `claude plugin validate ./my-marketplace`,並在分享前從您自己機器上的 marketplace 安裝。驗證和安裝會捕捉不同的問題。
191 175
192<h3 id="problems-that-validation-reports">176### 驗證報告的問題
193 驗證報告的問題
194</h3>
195 177
196`claude plugin validate` 只讀取 marketplace 目錄內的檔案。它報告:178`claude plugin validate` 只讀取 marketplace 目錄內的檔案。它報告:
197 179
204 186
205有關 `validate` 可以列印的每條訊息,請參閱[驗證訊息](/docs/zh-TW/plugins/marketplace-reference#validation-messages)。有關其旗標和結束代碼,請參閱 [`plugin validate`](/docs/zh-TW/plugins/cli-reference#plugin-validate)。187有關 `validate` 可以列印的每條訊息,請參閱[驗證訊息](/docs/zh-TW/plugins/marketplace-reference#validation-messages)。有關其旗標和結束代碼,請參閱 [`plugin validate`](/docs/zh-TW/plugins/cli-reference#plugin-validate)。
206 188
207<h3 id="problems-that-surface-when-you-add-or-install">189### 新增或安裝時出現的問題
208 新增或安裝時出現的問題
209</h3>
210 190
211`claude plugin validate` 不報告的問題在您新增 marketplace 或從中安裝時出現:191`claude plugin validate` 不報告的問題在您新增 marketplace 或從中安裝時出現:
212 192
215 * Claude Code 在您安裝 plugin 時首先取得 `github`、`git-subdir` 或其他遠端來源,因此錯誤的 `repo` 或 `path` 會在那時出現。195 * Claude Code 在您安裝 plugin 時首先取得 `github`、`git-subdir` 或其他遠端來源,因此錯誤的 `repo` 或 `path` 會在那時出現。
216 * 相對 `source` 的目錄不存在也會在安裝時失敗,並顯示 `Source path does not exist: <path>`。196 * 相對 `source` 的目錄不存在也會在安裝時失敗,並顯示 `Source path does not exist: <path>`。
217 197
218<h3 id="test-an-edit-to-a-plugin">198### 測試對 plugin 的編輯
219 測試對 plugin 的編輯
220</h3>
221 199
222在[逐步解說](#create-a-marketplace)中,您從具有相對路徑 `source` 的本機目錄新增了 `my-marketplace`。使用該設定,Claude Code 直接從 `my-marketplace/plugins/` 讀取 plugin 的檔案。您的編輯在下一個工作階段開始時或當您在工作階段中執行 `/reload-plugins` 時生效,無需更改 plugin 的 `version`。200在[逐步解說](#create-a-marketplace)中,您從具有相對路徑 `source` 的本機目錄新增了 `my-marketplace`。使用該設定,Claude Code 直接從 `my-marketplace/plugins/` 讀取 plugin 的檔案。您的編輯在下一個工作階段開始時或當您在工作階段中執行 `/reload-plugins` 時生效,無需更改 plugin 的 `version`。
223 201
224從您託管的 marketplace 安裝的人會在 plugin 快取中獲得副本。有關他們如何接收新版本,請參閱[保持使用者最新](/docs/zh-TW/plugins/host-marketplace#keep-users-up-to-date)。202從您託管的 marketplace 安裝的人會在 plugin 快取中獲得副本。有關他們如何接收新版本,請參閱[保持使用者最新](/docs/zh-TW/plugins/host-marketplace#keep-users-up-to-date)。
225 203
226<h3 id="remove-the-marketplace-to-start-over">204### 移除 marketplace 以重新開始
227 移除 marketplace 以重新開始
228</h3>
229 205
230若要移除所有內容並重新開始,請在您的 shell 中執行 `claude plugin marketplace remove my-marketplace`。該命令移除 marketplace 並卸載其 plugins。206若要移除所有內容並重新開始,請在您的 shell 中執行 `claude plugin marketplace remove my-marketplace`。該命令移除 marketplace 並卸載其 plugins。
231 207
232<h2 id="host-your-marketplace">208## 託管您的 marketplace
233 託管您的 marketplace
234</h2>
235 209
236一旦您可以從 marketplace 在您自己的機器上安裝 plugin,如[建立 marketplace](#create-a-marketplace) 中所示,請將 marketplace 目錄推送到 git 主機。210一旦您可以從 marketplace 在您自己的機器上安裝 plugin,如[建立 marketplace](#create-a-marketplace) 中所示,請將 marketplace 目錄推送到 git 主機。
237 211
239 213
240有關私有儲存庫存取、更新、版本控制以及重新命名或移除項目,請參閱[託管和維護 marketplace](/docs/zh-TW/plugins/host-marketplace)。214有關私有儲存庫存取、更新、版本控制以及重新命名或移除項目,請參閱[託管和維護 marketplace](/docs/zh-TW/plugins/host-marketplace)。
241 215
242<h2 id="next-steps">216## 後續步驟
243 後續步驟
244</h2>
245 217
246* [託管和維護 marketplace](/docs/zh-TW/plugins/host-marketplace):選擇主機、保持使用者最新,並安全地重新命名或移除 plugins218* [託管和維護 marketplace](/docs/zh-TW/plugins/host-marketplace):選擇主機、保持使用者最新,並安全地重新命名或移除 plugins
247* [Marketplace 參考](/docs/zh-TW/plugins/marketplace-reference):`marketplace.json` 欄位和來源類型219* [Marketplace 參考](/docs/zh-TW/plugins/marketplace-reference):`marketplace.json` 欄位和來源類型