CLI commands

外掛

管理閘道外掛、鉤子套件與相容套件組合。

命令

bash
openclaw plugins list [--enabled] [--verbose] [--json]openclaw plugins search <query> [--limit <n>] [--json]openclaw plugins install <path-or-spec> [--link] [--force] [--pin] [--marketplace <source>]openclaw plugins inspect <id> [--runtime] [--json]openclaw plugins inspect --all [--runtime] [--json]openclaw plugins info <id>                    # alias for inspectopenclaw plugins enable <id>openclaw plugins disable <id>openclaw plugins uninstall <id> [--dry-run] [--keep-files] [--force]openclaw plugins update <id-or-npm-spec> | --all [--dry-run]openclaw plugins registry [--refresh] [--json]openclaw plugins doctoropenclaw plugins init <id> [--name <name>] [--type tool|provider] [--directory <path>]openclaw plugins build [--entry <path>] [--check]openclaw plugins validate [--entry <path>]openclaw plugins marketplace entries [--offline] [--feed-profile <name>] [--json]openclaw plugins marketplace list <source> [--json]openclaw plugins marketplace refresh [--feed-profile <name>] [--expected-sha256 <sha256>] [--json]

調查緩慢的安裝、檢查、解除安裝或登錄檔重新整理作業時,請使用 OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1 執行命令。追蹤會將各階段耗時 寫入標準錯誤,並讓 JSON 輸出維持可解析狀態。請參閱偵錯

製作

bash
openclaw plugins init stock-quotes --name "Stock Quotes"cd stock-quotesnpm run plugin:buildnpm run plugin:validate

plugins init 預設會建立最基本的 TypeScript 工具外掛。第一個 引數是外掛 ID;--name 用於設定顯示名稱。OpenClaw 會將此 ID 用於預設輸出目錄與套件命名。工具骨架使用 defineToolPlugin,並在 package.json 中產生 plugin:buildplugin:validate 指令碼;這些指令碼會先建置,再呼叫 openclaw plugins buildvalidate

plugins build 會匯入建置後的進入點、讀取其靜態工具中繼資料、寫入 openclaw.plugin.json,並讓 package.json 中的 openclaw.extensions 保持一致。 plugins validate 會檢查產生的資訊清單、套件中繼資料及 目前進入點的匯出內容是否仍然一致。完整的製作工作流程請參閱工具外掛

骨架會寫入 TypeScript 原始碼,但會從建置後的 ./dist/index.js 進入點產生中繼資料,因此此工作流程也適用於已發布的命令列介面。當進入點並非預設套件進入點時,請使用 --entry <path>。在 CI 中使用 plugins build --check,可在產生的中繼資料過期時失敗,而不會 重寫檔案。

供應商骨架

bash
openclaw plugins init acme-models --name "Acme Models" --type providercd acme-modelsnpm installnpm run buildnpm testnpm run validate

供應商骨架會建立一個相容 OpenAI 的通用模型供應商外掛, 其中包含 API 金鑰驗證的連接機制、一個執行 clawhub package validatenpm run validate 指令碼、ClawHub 套件中繼資料,以及可手動 觸發的 GitHub Actions 工作流程,以供日後透過 GitHub OIDC 進行受信任發布。供應商骨架不會產生 Skills,也不會使用 openclaw plugins buildvalidate;這些命令適用於工具 骨架的產生中繼資料流程。

發布前,請以實際供應商的詳細資訊取代預留的 API 基礎 URL、模型目錄、文件 路由、憑證文字與 README 內容。首次發布至 ClawHub 及設定受信任發布者時,請使用 產生的 README。

安裝

bash
openclaw plugins search "calendar"                      # search ClawHub pluginsopenclaw plugins install <package>                       # source auto-detectionopenclaw plugins install clawhub:<package>                # ClawHub onlyopenclaw plugins install npm:<package>                    # npm onlyopenclaw plugins install npm-pack:<path.tgz>               # local npm-pack tarballopenclaw plugins install git:github.com/<owner>/<repo>     # git repoopenclaw plugins install git:github.com/<owner>/<repo>@<ref>openclaw plugins install <path>                            # local path or archiveopenclaw plugins install -l <path>                         # link instead of copyopenclaw plugins install <plugin>@<marketplace>             # marketplace shorthandopenclaw plugins install <plugin> --marketplace <name>      # marketplace (explicit)openclaw plugins install <package> --force                  # overwrite existing installopenclaw plugins install <package> --pin                    # pin resolved npm versionopenclaw plugins install clawhub:<package> --acknowledge-clawhub-riskopenclaw plugins install <package> --dangerously-force-unsafe-install

測試設定階段安裝的維護者可使用受保護的環境變數,覆寫自動外掛安裝 來源。請參閱 外掛安裝覆寫

plugins search 會查詢 ClawHub 中可安裝的 code-pluginbundle-plugin 套件(不包含 Skills;若要搜尋 Skills,請使用 openclaw skills search)。 --limit 預設為 20,上限為 100。此命令只會讀取遠端目錄:不會 檢查本機狀態、修改設定、安裝套件或載入外掛執行階段。 結果包含 ClawHub 套件名稱、系列、頻道、版本、 摘要,以及類似 openclaw plugins install clawhub:<package> 的安裝提示。

設定引入與無效設定修復

如果您的 plugins 區段由單一檔案的 $include 支援,plugins install/update/enable/disable/uninstall 會直接寫入該引入檔案,並保持 openclaw.json 不變。根層級引入、引入陣列,以及帶有同層覆寫內容的引入,都會以拒絕方式失敗,而不會將內容扁平化。支援的形式請參閱設定引入

若安裝期間設定無效,plugins install 通常會以拒絕方式失敗,並要求您先執行 openclaw doctor --fix。在閘道啟動與熱重新載入期間,無效的外掛設定會像其他無效設定一樣以拒絕方式失敗;openclaw doctor --fix 可隔離無效的外掛項目。唯一有文件記載的安裝階段例外,是針對明確選擇加入 openclaw.install.allowInvalidConfigRecovery 的外掛所提供的有限內建外掛復原途徑。

--force、重新安裝與更新的差異

--force 會重複使用現有安裝目標,並在原位置覆寫已安裝的外掛或鉤子套件。若您有意從新的本機路徑、封存檔、ClawHub 套件或 npm 成品重新安裝相同 ID,請使用此選項。對於已追蹤 npm 外掛的例行升級,請優先使用 openclaw plugins update <id-or-npm-spec>

如果您對已安裝的外掛 ID 執行 plugins install,OpenClaw 會停止,並指示您使用 plugins update <id-or-npm-spec> 進行一般升級;若您確實想從不同來源覆寫目前的安裝,則會指示您使用 plugins install <package> --force--force 不支援與 --link 搭配使用。

--pin 適用範圍

--pin 僅適用於 npm 安裝,並會記錄解析後的確切 <name>@<version>。此選項不支援 git: 安裝(請改為在規格中固定參照,例如 git:github.com/acme/plugin@v1.2.3),也不支援 --marketplace(市集安裝會保存市集來源中繼資料,而不是 npm 規格)。

--dangerously-force-unsafe-install

--dangerously-force-unsafe-install 已棄用,目前不執行任何作業。OpenClaw 不再針對外掛安裝執行內建的安裝階段危險程式碼封鎖。

當需要主機特定的安裝政策時,請使用由操作人員管理的 security.installPolicy 介面。外掛的 before_install 鉤子是外掛執行階段的生命週期鉤子,不是命令列介面安裝的主要政策邊界。

如果您發布至 ClawHub 的外掛遭登錄檔掃描隱藏或封鎖,請依照 ClawHub 發布中的發布者步驟操作。--dangerously-force-unsafe-install 不會要求 ClawHub 重新掃描外掛,也不會將遭封鎖的版本公開。

--acknowledge-clawhub-risk

安裝社群 ClawHub 套件時,下載前會檢查所選版本的信任記錄。如果 ClawHub 停用該版本的下載、回報惡意掃描結果,或將該版本置於會阻止安裝的審核狀態(已隔離、已撤銷),無論是否使用此旗標,OpenClaw 都會直接拒絕。對於不會阻止安裝的高風險掃描狀態或審核狀態,OpenClaw 會顯示信任詳細資訊,並在繼續前要求確認。

只有在檢閱 ClawHub 警告並決定不經互動式提示繼續後,才可使用 --acknowledge-clawhub-risk。待處理或過期(尚未確認為乾淨)的掃描結果會顯示警告,但不要求確認。官方 ClawHub 套件及內建 OpenClaw 外掛來源會完全略過此版本信任檢查。

鉤子套件與 npm 規格

plugins install 也是安裝在 package.json 中公開 openclaw.hooks 之鉤子套件的介面。請使用 openclaw hooks 進行篩選後的鉤子檢視及個別鉤子啟用,而不是用於安裝套件。

Npm 規格僅限登錄檔(套件名稱加上選用的確切版本dist-tag)。Git/URL/檔案規格與 semver 範圍會遭拒絕。為了安全,即使您的 shell 設有全域 npm 安裝設定,依賴項安裝仍會在每個外掛各自的受管理 npm 專案中使用 --ignore-scripts 執行。受管理的外掛 npm 專案會繼承 OpenClaw 套件層級的 npm overrides,因此主機的安全性版本鎖定也會套用至提升安裝的外掛依賴項。

使用 npm:<package> 明確指定由 npm 解析。啟動切換期間,裸套件規格也會直接從 npm 安裝,除非其符合官方外掛 ID。

符合內建外掛的原始 @openclaw/* 規格,會先解析至映像檔所擁有的內建副本,之後才退回 npm。例如,openclaw plugins install @openclaw/discord@2026.5.20 --pin 會使用目前 OpenClaw 組建中的內建 Discord 外掛,而不是建立受管理的 npm 覆寫。若要強制使用外部 npm 套件,請使用 openclaw plugins install npm:@openclaw/discord@2026.5.20 --pin

裸規格與 @latest 會維持在穩定版本軌。OpenClaw 的日期戳記修正版(例如 2026.5.3-1)在此檢查中視為穩定版本。如果 npm 將任一形式解析為預發行版本,OpenClaw 會停止並要求您使用預發行標籤(@beta/@rc)或確切的預發行版本(@1.2.3-beta.4)明確選擇加入。

對於未指定確切版本的 npm 安裝(npm:<package>npm:<package>@latest),OpenClaw 會在安裝前檢查解析後的套件中繼資料。如果最新穩定套件需要較新的 OpenClaw 外掛 API 或更高的最低主機版本,OpenClaw 會檢查較舊的穩定版本,並改為安裝最新的相容版本。確切版本與明確的 dist-tag 仍會嚴格處理:不相容的選擇將失敗,並要求您升級 OpenClaw 或選擇相容版本。

如果裸安裝規格符合官方外掛 ID(例如 diffs),OpenClaw 會直接安裝目錄項目。若要安裝同名 npm 套件,請使用明確的作用域規格(例如 @scope/diffs)。

Git 儲存庫

使用 git:<repo> 直接從 Git 儲存庫安裝。支援的形式包括:git:github.com/owner/repogit:owner/repo、完整的 https://ssh://git://file://,以及 git@host:owner/repo.git 複製 URL。加入 @<ref>#<ref>,即可在安裝前簽出分支、標籤或提交。

Git 安裝會將儲存庫複製到暫存目錄,在指定參照時簽出該參照,然後使用一般的外掛目錄安裝程式,因此資訊清單驗證、操作員安裝政策、套件管理器安裝工作與安裝記錄的行為都與 npm 安裝相同。記錄的 Git 安裝會包含來源 URL/參照及解析後的提交,讓 openclaw plugins update 日後可以重新解析來源。

從 Git 安裝後,請使用 openclaw plugins inspect <id> --runtime --json 驗證執行階段註冊項目,例如閘道方法與命令列介面命令。如果外掛透過 api.registerCli 註冊了命令列介面根命令,請直接經由 OpenClaw 根命令列介面執行該命令,例如 openclaw demo-plugin ping

封存檔

支援的封存檔:.zip.tgz.tar.gz.tar。原生 OpenClaw 外掛封存檔必須在解壓縮後的外掛根目錄包含有效的 openclaw.plugin.json;僅包含 package.json 的封存檔,會在 OpenClaw 寫入安裝記錄前遭拒絕。

當檔案是 npm-pack tarball,且您希望使用與登錄檔安裝相同的 每個外掛受管理 npm 專案路徑時,請使用 npm-pack:<path.tgz>; 這包括 package-lock.json 驗證、提升安裝的依賴項掃描, 以及 npm 安裝記錄。一般封存檔路徑仍會以本機 封存檔形式安裝到外掛擴充功能根目錄下。

也支援 Claude 市集安裝。

ClawHub 安裝使用明確的 clawhub:<package> 定位器:

bash
openclaw plugins install clawhub:openclaw-codex-app-serveropenclaw plugins install clawhub:openclaw-codex-app-server@1.2.3

啟動切換期間,符合 npm 安全命名規則的裸外掛規格預設會從 npm 安裝,除非其符合官方外掛 ID:

bash
openclaw plugins install openclaw-codex-app-server

使用 npm: 明確指定僅由 npm 解析:

bash
openclaw plugins install npm:openclaw-codex-app-serveropenclaw plugins install npm:@openclaw/discord@2026.5.20openclaw plugins install npm:@scope/plugin-name@1.0.1

OpenClaw 會在安裝前檢查宣告的外掛 API/最低閘道相容性。當選取的 ClawHub 版本發布 ClawPack 成品時,OpenClaw 會下載具版本的 npm-pack .tgz、驗證 ClawHub 摘要標頭與成品摘要,然後透過一般封存檔路徑進行安裝。沒有 ClawPack 中繼資料的較舊 ClawHub 版本,仍會透過舊版套件封存檔驗證路徑安裝。記錄的安裝會保留其 ClawHub 來源中繼資料、成品種類、npm 完整性值、npm shasum、tarball 名稱與 ClawPack 摘要資訊,以供日後更新使用。 未指定版本的 ClawHub 安裝會保留未指定版本的記錄規格,使 openclaw plugins update 可以追蹤較新的 ClawHub 發行版本;明確的版本或標籤選擇器(例如 clawhub:pkg@1.2.3clawhub:pkg@beta)則會維持鎖定至該選擇器。

市集簡寫

當市集名稱存在於 Claude 的本機登錄快取 ~/.claude/plugins/known_marketplaces.json 中時,使用 plugin@marketplace 簡寫:

bash
openclaw plugins marketplace list <marketplace-name>openclaw plugins install <plugin-name>@<marketplace-name>

使用 --marketplace 明確傳入市集來源:

bash
openclaw plugins install <plugin-name> --marketplace <marketplace-name>openclaw plugins install <plugin-name> --marketplace <owner/repo>openclaw plugins install <plugin-name> --marketplace https://github.com/<owner>/<repo>openclaw plugins install <plugin-name> --marketplace ./my-marketplace

市集來源

  • 來自 ~/.claude/plugins/known_marketplaces.json 的 Claude 已知市集名稱
  • 本機市集根目錄或 marketplace.json 路徑
  • GitHub 儲存庫簡寫,例如 owner/repo
  • GitHub 儲存庫 URL,例如 https://github.com/owner/repo
  • Git URL

遠端市集規則

對於從 GitHub 或 Git 載入的遠端市集,外掛項目必須位於複製的市集儲存庫內。OpenClaw 接受來自該儲存庫的相對路徑來源,並拒絕遠端資訊清單中的 HTTP(S)、絕對路徑、Git、GitHub,以及其他非路徑外掛來源。

對於本機路徑與封存檔,OpenClaw 會自動偵測:

  • 原生 OpenClaw 外掛(openclaw.plugin.json
  • 與 Codex 相容的套件組合(.codex-plugin/plugin.json
  • 與 Claude 相容的套件組合(.claude-plugin/plugin.json,或在缺少該資訊清單檔案時使用預設 Claude 元件配置)
  • 與 Cursor 相容的套件組合(.cursor-plugin/plugin.json

受管理的本機安裝必須是外掛目錄或封存檔。獨立的 .js.mjs.cjs.ts 外掛檔案不會由 plugins install 複製到受管理的外掛 根目錄,也不會因直接放置於 ~/.openclaw/extensions<workspace>/.openclaw/extensions 而載入;這些 自動探索的根目錄會載入外掛套件或套件組合目錄,並略過作為本機輔助工具的 頂層指令碼檔案。請改在 plugins.load.paths 中明確列出獨立檔案。

使用 -l/--link 指向本機外掛目錄而不進行複製(會加入 plugins.load.paths):

bash
openclaw plugins install -l ./my-plugin

--link 不支援搭配 --force(連結的外掛會直接指向來源 路徑,因此沒有可就地覆寫的內容)、--marketplacegit: 安裝,且需要已存在的本機路徑。

列出

bash
openclaw plugins listopenclaw plugins list --enabledopenclaw plugins list --verboseopenclaw plugins list --json
--enabledboolean

僅顯示已啟用的外掛。

--verboseboolean

從表格檢視切換為每個外掛的詳細資料行,其中包含格式/來源/出處/版本/啟用中繼資料。

--jsonboolean

機器可讀的清單,以及登錄檔診斷與套件依賴項安裝狀態。

如果啟動記錄顯示 plugins.allow is empty; discovered non-bundled plugins may auto-load: ..., 請執行 openclaw plugins list --enabled --verbose,或使用列出的外掛 ID 執行 openclaw plugins inspect <id>,以確認外掛 ID,並將受信任的 ID 複製到 openclaw.jsonplugins.allow 中。當 警告能列出所有探索到的外掛時,它會印出可直接貼上的 plugins.allow 程式碼片段,其中已包含這些 ID。如果外掛在沒有 安裝/載入路徑來源資訊的情況下載入,請檢查該外掛 ID,然後將 受信任的 ID 鎖定於 plugins.allow,或從受信任的來源重新安裝外掛, 讓 OpenClaw 記錄安裝來源資訊。

在封裝的 Docker 映像檔中處理內建外掛時,請將外掛 來源目錄繫結掛載到相符的封裝來源路徑,例如 /app/extensions/synology-chat。OpenClaw 會優先於 /app/dist/extensions/synology-chat 探索該掛載的來源覆蓋層;單純複製的來源目錄 仍不會生效,因此一般封裝安裝仍會使用已編譯的 dist。

對執行階段掛鉤進行偵錯時:

  • openclaw plugins inspect <id> --runtime --json 會顯示透過模組載入檢查流程所註冊的鉤子與診斷資訊。執行階段檢查絕不會安裝相依套件;請使用 openclaw doctor --fix 清理舊版相依套件狀態,或復原設定中所引用但缺少且可下載的外掛。
  • openclaw gateway status --deep --require-rpc 會確認可連線的閘道 URL/設定檔、服務/程序提示、設定路徑與 RPC 健康狀態。
  • 非內建的對話鉤子(llm_inputllm_outputbefore_model_resolvebefore_agent_replybefore_agent_runbefore_agent_finalizeagent_end)需要設定 plugins.entries.<id>.hooks.allowConversationAccess=true

外掛索引

外掛安裝中繼資料是由系統管理的狀態,而非使用者設定。安裝與更新會將其寫入有效 OpenClaw 狀態目錄下的共用 SQLite 狀態資料庫。installed_plugin_index 資料列會儲存持久性的 installRecords 中繼資料,包括外掛資訊清單損壞或遺失時的記錄,以及從資訊清單衍生的冷啟動登錄快取;此快取供 openclaw plugins update、解除安裝、診斷及冷啟動外掛登錄使用。

當 OpenClaw 在設定中發現已發布的舊版 plugins.installs 記錄時,執行階段會將其視為相容性輸入讀取,而不改寫 openclaw.json。明確的外掛寫入操作與 openclaw doctor --fix 會將這些記錄移入外掛索引,並在允許寫入設定時移除該設定鍵;若任一寫入失敗,則會保留設定記錄,以免遺失安裝中繼資料。

解除安裝

bash
openclaw plugins uninstall <id>openclaw plugins uninstall <id> --dry-runopenclaw plugins uninstall <id> --keep-filesopenclaw plugins uninstall <id> --force

uninstall 會從 plugins.entries、持久化外掛索引、外掛允許/拒絕清單項目,以及適用時已連結的 plugins.load.paths 項目中移除外掛記錄。除非設定 --keep-files,解除安裝也會移除受追蹤的託管安裝目錄,但僅限該目錄解析後位於 OpenClaw 的外掛擴充功能根目錄內。如果此外掛目前占用 memorycontextEngine 插槽,該插槽會重設為其預設值(記憶體為 memory-core,上下文引擎為 legacy)。

uninstall 會先列印即將移除內容的預覽,接著在變更前提示「要解除安裝外掛「」嗎?」。傳入 --force 可跳過確認提示(適用於指令碼與非互動式執行);若未傳入,解除安裝需要互動式 TTY。--dry-run 會列印相同預覽,然後直接結束,不顯示提示也不進行任何變更。

更新

bash
openclaw plugins update <id-or-npm-spec>openclaw plugins update --allopenclaw plugins update <id-or-npm-spec> --dry-runopenclaw plugins update @openclaw/voice-callopenclaw plugins update openclaw-codex-app-server --acknowledge-clawhub-riskopenclaw plugins update openclaw-codex-app-server --dangerously-force-unsafe-install

更新會套用至託管外掛索引中受追蹤的外掛安裝項目,以及 hooks.internal.installs 中受追蹤的鉤子套件安裝項目。

解析外掛 ID 與 npm 規格

傳入外掛 ID 時,OpenClaw 會重複使用為該外掛記錄的安裝規格。這表示先前儲存的 @beta 等發行標籤及精確鎖定版本,在後續執行 update <id> 時仍會繼續使用。

執行 update <id> --dry-run 時,精確鎖定的 npm 安裝項目會維持鎖定。如果 OpenClaw 也能解析套件的登錄預設版本線,且該預設版本線比已安裝的鎖定版本更新,試執行會回報此版本鎖定,並列印明確的 @latest 套件更新命令,以改為跟隨登錄的預設版本線。

這項定向更新規則與批次 openclaw plugins update --all 維護路徑不同。批次更新仍會遵循一般受追蹤的安裝規格,但受信任的官方 OpenClaw 外掛記錄可同步至目前官方目錄中的目標版本,而非停留在過時的精確官方套件版本。若您刻意希望精確或帶標籤的官方規格保持不變,請使用定向的 update <id>

對於 npm 安裝,您也可以傳入含有發行標籤或精確版本的明確 npm 套件規格。OpenClaw 會將該套件名稱解析回受追蹤的外掛記錄、更新該已安裝外掛,並記錄新的 npm 規格,供未來透過 ID 更新時使用。

傳入未包含版本或標籤的 npm 套件名稱,也會解析回受追蹤的外掛記錄。若外掛已鎖定至精確版本,而您想將其移回登錄的預設發行版本線,請使用此方式。

Beta 頻道更新

定向的 openclaw plugins update <id-or-npm-spec> 會重複使用受追蹤的外掛規格,除非您傳入新規格。批次 openclaw plugins update --all 在將受信任的官方外掛記錄同步至官方目錄目標時,會使用已設定的 update.channel,因此 Beta 頻道安裝可維持在 Beta 發行版本線,而不會在未告知的情況下正規化為穩定版/最新版。

openclaw update 也會識別目前有效的 OpenClaw 更新頻道:在 Beta 頻道上,採用預設版本線的 npm 與 ClawHub 外掛記錄會先嘗試 @beta。如果不存在外掛的 Beta 版本,則會回退至已記錄的預設/最新規格;若 Beta 套件存在但未通過安裝驗證,npm 外掛也會回退。這項回退會以警告回報,且不會導致核心更新失敗。對於定向更新,精確版本及明確標籤會持續鎖定至該選擇器。

版本檢查與完整性偏移

在實際執行 npm 更新前,OpenClaw 會對照 npm 登錄中繼資料檢查已安裝的套件版本。如果已安裝版本及已記錄的成品識別資訊已與解析出的目標相符,便會跳過更新,不進行下載、重新安裝或改寫 openclaw.json

若存在已儲存的完整性雜湊,而擷取到的成品雜湊有所變更,OpenClaw 會將其視為 npm 成品偏移。互動式 openclaw plugins update 命令會列印預期與實際雜湊,並在繼續前要求確認。非互動式更新輔助工具預設會採取封閉式失敗,除非呼叫端提供明確的繼續執行政策。

更新時使用 --dangerously-force-unsafe-install

為了相容性,plugins update 也接受 --dangerously-force-unsafe-install,但此旗標已棄用,且不再變更外掛更新行為。操作者的 security.installPolicy 仍可封鎖更新;外掛的 before_install 鉤子僅會在已載入外掛鉤子的程序中套用。

更新時使用 --acknowledge-clawhub-risk

由社群 ClawHub 支援的外掛在更新時,會先執行與安裝相同的精確發行版本信任檢查,再下載替代套件。若經過審查的自動化作業應在選定 ClawHub 發行版本出現高風險信任警告時繼續執行,請使用 --acknowledge-clawhub-risk。官方 ClawHub 套件與內建 OpenClaw 外掛來源會略過此發行版本信任提示。

檢查

bash
openclaw plugins inspect <id>openclaw plugins inspect <id> --runtimeopenclaw plugins inspect <id> --jsonopenclaw plugins inspect --all

預設情況下,檢查功能無須匯入外掛執行階段,即可顯示識別資訊、載入狀態、來源、資訊清單能力、政策旗標、診斷資訊、安裝中繼資料、套件能力,以及偵測到的任何 MCP 或 LSP 伺服器支援。JSON 輸出包含外掛資訊清單合約,例如 contracts.agentToolResultMiddlewarecontracts.trustedToolPolicies,讓操作者能在啟用或重新啟動外掛前稽核受信任介面的宣告。加入 --runtime 可載入外掛模組,並包含已註冊的鉤子、工具、命令、服務、閘道方法及 HTTP 路由。執行階段檢查會直接回報缺少的外掛相依套件;安裝與修復仍由 openclaw plugins installopenclaw plugins updateopenclaw doctor --fix 負責。

外掛擁有的命令列介面命令通常會安裝為根層級的 openclaw 命令群組,但外掛也可以在 openclaw nodes 等核心父命令下註冊巢狀命令。當 inspect --runtimecliCommands 下顯示命令後,請依列出的路徑執行;例如,註冊 demo-git 的外掛可透過 openclaw demo-git ping 驗證。

系統會依各外掛在執行階段實際註冊的內容進行分類:

形態 含義
plain-capability 恰好一種能力類型(例如僅提供供應商功能的外掛)
hybrid-capability 超過一種能力類型(例如文字 + 語音 + 圖像)
hook-only 僅有鉤子,沒有能力、工具、命令、服務或路由
non-capability 具有工具/命令/服務,但沒有能力

如需進一步瞭解能力模型,請參閱外掛形態

診斷

bash
openclaw plugins doctor

doctor 會回報外掛載入錯誤、資訊清單/探索診斷、相容性通知,以及外掛插槽缺失等過時的外掛設定參照。當安裝樹與外掛設定均無問題時,會列印「未偵測到外掛問題。」如果仍有過時設定,但安裝樹在其他方面運作正常,摘要會明確指出此狀況,而不會暗示外掛完全健康。

如果設定的外掛存在於磁碟上,但遭載入器的路徑安全檢查封鎖,設定驗證會保留外掛項目,並將其回報為「存在但遭封鎖」。請修正前面的外掛封鎖診斷,例如路徑擁有權或所有人皆可寫入的權限,而非移除 plugins.entries.<id>plugins.allow 設定。

若發生缺少 registeractivate 匯出等模組形態失敗,請設定 OPENCLAW_PLUGIN_LOAD_DEBUG=1 後重新執行,以在診斷輸出中包含精簡的匯出形態摘要。

登錄

bash
openclaw plugins registryopenclaw plugins registry --refreshopenclaw plugins registry --json

本機外掛登錄是 OpenClaw 的持久化冷讀取模型,用於保存已安裝外掛的識別資訊、啟用狀態、來源中繼資料及貢獻內容擁有權。一般啟動、供應商擁有者查詢、頻道設定分類及外掛清查均可讀取該登錄,而無須匯入外掛執行階段模組。

使用 plugins registry 檢查持久化登錄是否存在、是否為最新或是否已過時。使用 --refresh 可根據持久化外掛索引、設定政策及資訊清單/套件中繼資料重建登錄。這是修復路徑,而非執行階段啟用路徑。

openclaw doctor --fix 也會修復登錄鄰近的託管 npm 偏移:如果託管外掛 npm 專案下,或舊版扁平託管 npm 根目錄下的孤立或已復原 @openclaw/* 套件遮蔽了內建外掛,診斷工具會移除該過時套件並重建登錄,讓啟動流程依據內建資訊清單進行驗證。診斷工具也會將主機的 openclaw 套件重新連結至宣告 peerDependencies.openclaw 的託管 npm 外掛,使 openclaw/plugin-sdk/* 等套件本機執行階段匯入可在更新或 npm 修復後正常解析。

市集

bash
openclaw plugins marketplace entriesopenclaw plugins marketplace entries --offlineopenclaw plugins marketplace entries --jsonopenclaw plugins marketplace entries --feed-profile <name>openclaw plugins marketplace entries --feed-url <url>openclaw plugins marketplace list <source>openclaw plugins marketplace list <source> --jsonopenclaw plugins marketplace refreshopenclaw plugins marketplace refresh --feed-profile <name>openclaw plugins marketplace refresh --feed-url <url>openclaw plugins marketplace refresh --expected-sha256 <sha256> --json

plugins marketplace entries 會列出已設定的 OpenClaw 市集摘要來源中的項目。預設會嘗試使用託管摘要來源,若無法使用,則改用最新已接受的快照或內建資料。使用 --feed-profile <name> 可讀取特定的已設定設定檔,使用 --feed-url <url> 可讀取明確指定的託管摘要來源 URL,而使用 --offline 則可在不擷取摘要來源的情況下讀取最新已接受的快照。

plugins marketplace refresh 會重新整理已設定的託管摘要來源快照,並回報 OpenClaw 接受的是託管資料、託管快照,還是內建的備援資料。當呼叫端要求除非最新的託管承載內容符合固定的總和檢查碼,否則命令必須失敗時,請使用 --expected-sha256

市集的 list 接受本機市集路徑、marketplace.json 路徑、如 owner/repo 的 GitHub 簡寫、GitHub 儲存庫 URL 或 Git URL。--json 會輸出解析後的來源標籤,以及剖析完成的市集資訊清單與外掛項目。

市集重新整理會載入託管的 OpenClaw 市集摘要來源,並將經驗證的回應持久化為本機託管摘要來源快照。若未指定選項,則使用已設定的預設摘要來源設定檔。使用 --feed-profile <name> 可重新整理特定的已設定設定檔,使用 --feed-url <url> 可重新整理明確指定的託管摘要來源 URL,使用 --expected-sha256 <sha256> 可要求承載內容的總和檢查碼相符(sha256:<hex> 或不含前綴的 64 字元十六進位摘要),而使用 --json 則可取得機器可讀的輸出。明確指定的託管摘要來源 URL 不得包含認證資訊、查詢字串或片段。未固定總和檢查碼的重新整理可以回報託管快照或內建備援結果,而不會使命令失敗。固定總和檢查碼的重新整理,除非接受最新的託管承載內容,否則會失敗;若 OpenClaw 無法持久化經驗證的快照,成功取得託管資料的重新整理也會失敗。

相關內容

Was this useful?
On this page

On this page