SSD Nodes Learn 🎉 VPS $5.50/月起
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-13

Claude Code plugin 是什麼?安裝方式與費用

了解 Claude Code plugin 的定義、存放位置與安裝方式,並釐清實際費用:plugin 機制本身免費,但載入的內容會消耗 tokens。

Claude Code plugin 是什麼

Claude Code plugin 是一個元件目錄,Claude Code 會將其中內容作為單一單位載入及管理。這些元件包括 skills、agents、hooks、MCP servers、LSP servers 及 background monitors。安裝 plugin 會一次加入全部元件,並以同一個名稱管理;停用 plugin 也會以相同方式移除這些元件。

plugin 不會賦予 agent 原本沒有的能力。plugin 中的每個元件,都能由你手動寫入 .claude/ 目錄。plugin 是封裝層,用來替這些元件建立版本、交付給十五位使用者,並在日後更新,而不必要求每個人自行複製檔案。這就是 plugin 的完整概念。多數對 plugin 的誤解,源自將其視為新類型的功能。

選用的 manifest 位於 .claude-plugin/plugin.json,可指定 plugin 名稱,而該名稱會成為 namespace。名為 commit-commands 的 plugin 中,skill 的呼叫方式是 /commit-commands:commit。因此,兩個 plugin 都可以提供名為 commit 的 skill,彼此不會互相遮蔽。plugin agents 在 @-mention 清單中也使用相同的範圍規則,例如 plugin-name:agent-name

Plugin、skill、MCP server 或 rules file

這4個詞常被當成彼此競爭的選項使用,但實際上並非如此。以下一次說明它們之間的界線。

  • skill 是 Claude 在任務需要時載入的一個指示單位。請參閱 Agent Skill 的實際定義
  • MCP server 是透過通訊協定向 agent 暴露工具的獨立程序,通常是由你自行執行的網路服務。
  • 例如 CLAUDE.md 這類 rules file 是在工作階段開始時讀取的專案內容,並套用至所有操作。
  • plugin 是可將 skills、agents、hooks 及 MCP server 定義集中納入的容器,另外包含版本號碼與散布管道。

因此,plugin 要回答的問題不是「agent 能做什麼」,而是「如何將這些內容發布給團隊,並在下個月更新」。如果你正在前3者之間做選擇,skills、MCP servers 與 rules files 的比較會詳細說明這項決策。如果你關注的是 MCP 部分,在 VPS 上執行自有 MCP servers會說明託管方式。

外掛的存放位置與內容

從 marketplace 安裝的外掛會複製到 ~/.claude/plugins/cache 的本機快取,而不是從複製來源的目錄直接執行。每個已安裝版本都有自己的目錄。更新或解除安裝時,舊版本目錄會標記為孤立目錄,約兩週後刪除。因此,已載入舊版本的工作階段仍可繼續執行,不會在工作中途失敗。

由於每次更新都會變更路徑,外掛不得將自身位置寫死。外掛內的 hooks 與 MCP 設定使用 ${CLAUDE_PLUGIN_ROOT};這會解析為目前的安裝目錄。需要在更新後保留的狀態,應放在 ${CLAUDE_PLUGIN_DATA};這會解析為 ~/.claude/plugins/data/ 下的穩定目錄。

只有外掛自身的目錄會複製到快取。這會造成一個常在開發後期才遇到的問題。指向外掛根目錄外部的路徑,例如 ../shared-utils,在使用本機路徑開發時可以運作,但安裝後會失效,因為這些檔案根本沒有被複製。

目錄結構如下。

my-plugin/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   └── code-review/
│       └── SKILL.md
├── agents/
├── hooks/
│   └── hooks.json
├── .mcp.json
└── bin/

只有 plugin.json 應放在 .claude-plugin/ 內。其他內容都位於外掛根目錄。將 skills/hooks/ 放在 .claude-plugin/ 內,是外掛能順利安裝卻完全沒有作用的最常見原因:Claude Code 會在根目錄尋找這些目錄,但找不到任何目錄,因此載入沒有元件的外掛。

manifest 本身很小。

{
  "name": "my-first-plugin",
  "description": "A greeting plugin to learn the basics",
  "version": "1.0.0"
}

如何安裝 Claude Code 外掛程式

安裝分為兩個步驟,而且第一個步驟不會安裝任何內容。先加入 marketplace,也就是外掛程式目錄,再從中安裝個別外掛程式。Anthropic 的官方 marketplace claude-plugins-official 會在你首次以互動方式啟動 Claude Code 時自動註冊。其他 marketplace 則需自行加入。

/plugin marketplace add anthropics/claude-code
/plugin install commit-commands@claude-code-plugins

請注意,repository 是 anthropics/claude-code,但 marketplace 名稱是 claude-code-plugins。名稱來自 repository 內的 catalog 檔案,而不是 repository 路徑。因此,輸入安裝命令前,請先從 /pluginMarketplaces 分頁確認 marketplace 名稱。

安裝後,請查看摘要列。Plugin is now active. 表示元件已在目前工作階段載入。Run /reload-plugins to activate. 表示尚未載入,你需要執行該命令。如果 /reload-plugins 警告會重新讀取對話內容,請改以 /reload-plugins --force 重新執行。接著確認外掛程式確實存在:/plugin 會在 Installed 分頁中顯示該外掛程式,/help 會在 Custom commands 分頁中列出其 skills,而任何載入失敗的項目都會出現在 Errors 分頁,並附上原因。

安裝時會要求選擇 scope,而 scope 決定哪些人能使用外掛程式。User scope 僅套用於你本人,且適用於每個 project。Project scope 會將外掛程式寫入 repository 的 .claude/settings.json 下方之 enabledPlugins,因此所有 clone 該 repository 的人都會收到安裝提示。Local scope 僅套用於你本人,且只在此 repository 中生效。

如果是在 script、Dockerfile,或無法使用互動面板的工作階段中操作,請改用 shell 形式。除非傳入 --scope,否則它會安裝至 user scope。

claude plugin install commit-commands@claude-code-plugins --scope project
claude plugin list

claude plugin install 會在工作階段外執行,因此已開啟的工作階段在執行 /reload-plugins 或啟動新的工作階段前,不會看到新外掛程式。

在這兩種介面中,管理既有外掛程式的方式相同。/plugin list 會列出已安裝項目,並接受 --enabled--disabled/plugin disable name@marketplace 會停用外掛程式但不移除它,/plugin enable 會重新啟用,/plugin uninstall 則會移除它。斜線命令形式會開啟外掛程式面板以套用變更,因此在 script 中應使用 claude plugin ... shell 等效命令。

若要讓整個團隊使用某個 marketplace,請將它放入 project 的 .claude/settings.json。成員信任該 repository 資料夾後,系統會提示他們安裝一次。

{
  "extraKnownMarketplaces": {
    "my-team-tools": {
      "source": {
        "source": "github",
        "repo": "your-org/claude-plugins"
      }
    }
  }
}

建立自己的外掛程式時,請完全略過 marketplace。claude --plugin-dir ./my-plugin 會為該工作階段載入目錄,/reload-plugins 會在不重新啟動的情況下套用你的修改,而 claude plugin validate ./my-plugin 會在其他人使用前檢查 manifest、skill 與 agent frontmatter,以及 hooks/hooks.json

Claude Code plugin 的成本是多少?

此機制免費。截至 August 2026,新增 marketplace、安裝 plugin 或讓 plugin 保持啟用都不會收費。官方與社群 marketplace 都是公開的 git repository,而 plugin 則是一個由文字檔案組成的目錄。

plugin 的成本在於 tokens,而 tokens 才是訂閱方案用量或 API 帳單實際計算的項目。這項成本有 3 種不同形式,計算方式也各不相同。

常駐 context 成本。 plugin 提供的內容會納入 context,並在工作階段的每一輪重新讀取。安裝前,/plugin detail view 會顯示以 tokens 計算的 Context cost 估算值,以及 Will install 區段;其中列出即將新增的 commands、skills、agents、hooks、MCP 和 LSP servers。請同時查看這兩項資訊。Local 或 custom marketplace 中的 plugin 可能不提供這些資料,此時必須自行估算。包含 MCP server 的 plugin 通常最耗用 tokens,因為 tool definitions 很大;不過,在支援 MCP tool search 的 model 上,這些 definitions 會延後到需要使用工具時才載入。

呼叫成本。 執行 plugin 的 skill 時,其 instructions 會附加到對話中,因此只有使用該 skill 時才會支付 skill body 的成本。agent 則不同。subagent 會使用自己的 system prompt 和自己的 cache 執行獨立對話,而且開始時沒有任何 cache hits。因此,會產生 agents 的 plugin,其成本可能遠高於 context estimate 所顯示的數值。

Cache 成本。 在工作階段中途啟用或停用 plugin,可能導致下一個 request 重新處理整段對話。Skills、commands、agents、hooks、LSP servers、monitors 和 themes 都不會造成這種情況:它們新增的內容會附加在既有 history 之後,因此下一個 request 只需支付新內容的成本,先前內容仍會從 cache 讀取。例外是提供 MCP server 的 plugin。如果其 tools 由 tool search 延後載入,cache 會保留;如果 tools 載入 prompt prefix,下一個 request 就會將整段對話重新視為未快取的 input 讀取。這正是 /reload-plugins 會發出警告並拒絕執行的原因;除非傳入 --force,否則會維持拒絕。

你可以直接監看這些數值,不必猜測。每個 API response 都會回報 cache_read_input_tokenscache_creation_input_tokens,而 顯示即時 token 用量的自訂 statusline 會將兩者都呈現在眼前。健康的工作階段通常讀取的內容遠多於建立的內容。如果每一輪的建立量都持續偏高,表示 prefix 中有內容在每一輪變更。如需瞭解哪些內容正在填滿視窗,請參閱 如何管理 Claude Code context window這些 token 計數實際代表的意義

有一項例行清理工作很值得執行。Installed tab 會將至少兩週未使用的 plugin 歸入 Not used recently 標題下,detail view 中則會顯示 Last used 行。這些 plugin 仍會在每個工作階段消耗啟動時間和 context。請停用或解除安裝它們。

插件會以你的權限執行

Anthropic 的官方文件對此說得很直接:插件與 marketplace 是高度信任的元件,能以你的使用者權限在電腦上執行任意程式碼。這不是假設情境。插件的 hooks 會在工作階段事件發生時執行 shell 命令,包括工具呼叫前後。插件啟用期間,其 bin/ 目錄會加入 Bash 工具的 PATH。插件啟動的 MCP servers 也是由插件建立的程序。這些元件都不會與你的使用者帳戶隔離。

在筆電上,這項風險通常受限於桌面使用者可存取的範圍。在伺服器上通常不是如此。執行 agent 的帳戶通常持有 SSH keys、部署 token、cloud CLI 工作階段,以及 Docker socket 的存取權,因此「以你的使用者身分執行任意程式碼」實際上就等同於控制整台機器。如果 Claude Code 執行於 VPS,請先閱讀如何在 VPS 上安全執行 Claude Code,再安裝任何元件;如果要安裝會與外部服務通訊的插件,請先閱讀如何避免讓 agent 存取憑證

確實存在一些防護機制,了解其範圍很有幫助。project-scope 插件來自 repository,而不是你的使用者環境,因此只有在你信任該 workspace 後才會載入;其 MCP servers 仍須逐一核准,LSP servers 也會等到取得該信任,而背景監視器則完全不會載入。插件提供的 agents 不得宣告 hooks、MCP servers 或 permission mode。Marketplace 插件會複製到 cache;指向 marketplace 外部的 symlinks 會被略過,因此插件無法載入主機上的任意檔案。

這些機制都不能取代你檢查要安裝的內容。查看 Will install 清單,優先選擇能開啟並閱讀原始碼的插件,將團隊使用的插件放在由你控制的 marketplace repository 中,並對你自行撰寫的內容執行 claude plugin validate

FAQ

Claude Code 外掛需要額外付費嗎?

不需要。外掛系統、加入 marketplace,以及安裝外掛都不收費。費用來自 token 使用量,會如同其他 context 一樣,計入你的方案或 API 支出。外掛會在每一輪加入常駐 context;呼叫其中一項 skill 或 agent 時,還會加入更多內容。如果外掛提供 MCP server,且其工具會載入 prompt prefix,還可能強制產生一次昂貴且未快取的回合。安裝前,/plugin 詳細檢視畫面會顯示 Context cost 預估值。

外掛和 skill 有什麼差異?

skill 是單一指令單位。外掛則是套件,可以包含 skill、agent、hook、MCP server、LSP server 和 monitor,並具備名稱、版本,以及用來安裝它的 marketplace。若某項功能只供你和這個專案使用,請在 .claude/ 中撰寫獨立 skill。像 Ponytail,會引導 agent 採用能運作的最小變更 這類單一用途 skill,就是最明確的例子:一個檔案只包含一項規則,直到團隊也需要使用它為止。當其他人也需要使用,而且需要持續更新時,請將它轉成外掛。外掛中的 skill 會使用命名空間,因此必須以 /plugin-name:skill-name 而非 /skill-name 呼叫。

我的外掛已安裝,但其中的 skill 沒有出現。問題在哪裡?

先查看安裝摘要。如果摘要顯示 Run /reload-plugins to activate.,表示元件尚未載入;如果重新載入時警告會重新讀取對話,請以 /reload-plugins --force 重新執行。如果元件已載入但沒有顯示內容,請開啟 /plugin 並查看 Errors 分頁。最常見的結構錯誤,是將 skills/agents/hooks/ 放在 .claude-plugin/ 內,Claude Code 不會從該位置尋找它們。請記住,外掛中的 skill 使用命名空間,因此你要在 /helpCustom commands 分頁中尋找 /plugin-name:skill-name。最後可以執行 rm -rf ~/.claude/plugins/cache、重新啟動,再重新安裝。

不使用互動面板也能安裝外掛嗎?

可以。使用 shell 指令 claude plugin install name@marketplace;除非傳入 --scope project--scope local,否則會安裝到使用者範圍。這個指令可用於 script、image 和無法使用 /plugin 面板的非互動環境。由於它會在工作階段外執行,已開啟的工作階段必須先執行 /reload-plugins,外掛才會生效。

從 GitHub 找到的 marketplace 安裝外掛安全嗎?

請將其視為以自己的身分執行該 repository 的安裝 script,因為實際情況大致如此。外掛可以透過 hook 執行 shell 指令、將可執行檔加入 Bash 工具的 PATH,以及啟動 MCP server,而且都會使用你的使用者權限。Anthropic 不會控管或驗證第三方外掛的內容。請從你能閱讀的來源安裝,確認前先檢視 Will install 清單。對 server 的要求應比對 laptop 更嚴格,因為 server 上的帳號通常持有值得竊取的 key 和 token。