發布
發布會將 Skills 資料夾或外掛套件傳送至 ClawHub,並歸屬於你選擇的擁有者。ClawHub 會檢查你的權杖是否可代表該擁有者發布,驗證中繼資料、名稱、版本、檔案及原始碼資訊,接著儲存該版本並啟動自動化安全性檢查。 如果驗證失敗,將不會發布任何內容。新版本在審查完成前,也可能不會出現在一般的安裝及下載介面中。Skills
最簡單的發布方式是使用命令列介面。登入後,發布本機 Skills 資料夾:--owner <handle>。省略此項即可用已驗證身分的使用者身分發布。發布時會略過未變更的內容。新的 Skills 會從 1.0.0 開始,之後的變更會自動發布下一個修補版本。只有需要明確指定版本時,才傳入 --version。
對於目錄存放庫,請使用 ClawHub 的可重複使用
skill-publish.yml 工作流程。
它會針對 root 下的每個直屬 Skills 資料夾(預設值:
skills)呼叫 skill publish,或只處理以 skill_path 提供的資料夾。
dry_run: true 可預覽新增及已變更的 Skills,而不實際發布。
外掛
外掛使用 npm 樣式的套件名稱。具命名空間的套件名稱會在名稱的第一部分包含擁有者:@openclaw/dronzer,則只能以 @openclaw 發布。如果你以
@vintageayu 發布,請將套件重新命名為 @vintageayu/dronzer。
這可防止套件宣稱發布者無權控制的組織命名空間。
如果你是 ClawHub 上已被宣稱或保留之組織、品牌、套件命名空間、擁有者帳號或命名空間的合法擁有者,請提出
組織/命名空間認領問題,
並附上公開且非敏感的證明。請參閱
組織與命名空間認領,了解應包含哪些內容,以及哪些內容不應放入公開問題中。
發布外掛前
- 選擇與套件命名空間相符的擁有者。
- 包含
openclaw.plugin.json。程式碼外掛還需要包含package.json,以及openclaw.compat.pluginApi和openclaw.build.openclawVersion。 - 若要在首頁及外掛清單頁面顯示自訂外掛目錄圖示,
請將
icon加入openclaw.plugin.json,並使用任何 HTTPS 圖片 URL。 - 包含原始碼存放庫及確切的提交中繼資料,或從 GitHub 支援的簽出目錄使用命令列介面,以便其自動偵測這些資訊。
- 發布前執行
clawhub package validate <source>。若遇到套件、 資訊清單、SDK 匯入或成品相關問題,請參閱 外掛驗證修正。 - 建立版本前執行
clawhub package publish <source> --dry-run。 - 在自動化安全性檢查與驗證完成前,新版本預期不會出現在公開安裝介面中。
套件的受信任發布
套件的受信任發布需要兩個設定步驟:- 先透過一般手動方式或使用權杖驗證的
clawhub package publish發布套件一次。這會建立套件資料列,並確立可變更其受信任發布者設定的套件管理員。 - 由套件管理員設定 GitHub Actions 受信任發布者組態:
--environment <name>,GitHub Actions 的環境宣告必須與該名稱完全相符。
設定受信任發布者組態時,ClawHub 會驗證所設定的 GitHub 存放庫。公開存放庫可透過公開的 GitHub 中繼資料進行驗證。私有存放庫則需要 ClawHub 具備該存放庫的 GitHub 存取權,例如透過未來安裝的 ClawHub GitHub App,或其他已授權的 GitHub 整合。
目前的可重複使用套件發布工作流程,在 id-token: write 可用時,支援對 workflow_dispatch 發布進行無密鑰的受信任發布。透過推送標籤進行的實際發布仍需要 clawhub_token,因此請保留 CLAWHUB_TOKEN,以供標籤版本、首次發布、不受信任的套件或緊急發布使用。
使用下列命令檢查或移除組態:
常見問題
套件命名空間必須與所選擁有者相符
如果套件命名空間與所選擁有者不相符,ClawHub 會拒絕發布:@openclaw/dronzer 的套件會宣稱
@openclaw 命名空間,因此只有能存取 @openclaw 擁有者的發布者才能發布該套件。