CLI
CLI パッケージ:clawhub、bin: clawhub。
npm または pnpm でグローバルにインストールします。
グローバルフラグ
--workdir <dir>: 作業ディレクトリ(デフォルト: cwd。設定されている場合は Clawdbot ワークスペースにフォールバック)--dir <dir>: workdir 配下のインストール先ディレクトリ(デフォルト:skills)--site <url>: ブラウザログイン用のベース URL(デフォルト:https://clawhub.ai)--registry <url>: API ベース URL(デフォルト: 検出値、なければhttps://clawhub.ai)--no-input: プロンプトを無効化
CLAWHUB_SITE(レガシーCLAWDHUB_SITE)CLAWHUB_REGISTRY(レガシーCLAWDHUB_REGISTRY)CLAWHUB_WORKDIR(レガシーCLAWDHUB_WORKDIR)
HTTP プロキシ
CLI は、企業プロキシや制限されたネットワークの背後にあるシステム向けに、標準の HTTP プロキシ環境変数を尊重します。HTTPS_PROXY/https_proxyHTTP_PROXY/http_proxyNO_PROXY/no_proxy
HTTPS_PROXY は HTTPS リクエストに、HTTP_PROXY は通常の HTTP に使用されます。NO_PROXY / no_proxy は、特定のホストまたはドメインについてプロキシを迂回するために尊重されます。
これは、直接の送信接続がブロックされているシステム(例: Docker コンテナ、プロキシ経由のみのインターネットを持つ Hetzner VPS、企業ファイアウォール)で必要です。
例:
設定ファイル
API トークンとキャッシュ済みレジストリ URL を保存します。- macOS:
~/Library/Application Support/clawhub/config.json - Linux/XDG:
$XDG_CONFIG_HOME/clawhub/config.jsonまたは~/.config/clawhub/config.json - Windows:
%APPDATA%\\clawhub\\config.json - レガシーフォールバック:
clawhub/config.jsonがまだ存在せず、clawdhub/config.jsonが存在する場合、CLI はレガシーパスを再利用します - オーバーライド:
CLAWHUB_CONFIG_PATH(レガシーCLAWDHUB_CONFIG_PATH)
コマンド
login / auth login
- デフォルト: ブラウザで
<site>/cli/authを開き、ループバックコールバック経由で完了します。 - ヘッドレス:
clawhub login --token clh_... - リモート/ヘッドレス対話型:
clawhub login --deviceはコードを表示し、<site>/cli/deviceで認可するまで待機します。
whoami
- 保存されたトークンを
/api/v1/whoami経由で検証します。
token
- 保存された API トークンを stdout に出力します。
- ローカルログイントークンを CI シークレット設定コマンドへパイプするのに便利です。
star <skill> / unstar <skill>
- 自分のハイライトに skill を追加/削除します。
POST /api/v1/stars/<slug>とDELETE /api/v1/stars/<slug>を呼び出します。--yesは確認をスキップします。
search <query...>
/api/v1/search?q=...を呼び出します。- 出力には skill slug、所有者ハンドル、表示名、関連度スコアが含まれます。
- 検索は、ダウンロード人気度よりも完全な slug/name トークン一致を優先します。
mapのような単独の slug トークンは、amap内の部分文字列よりもpersonal-mapに強く一致します。 - 人気度は小さなランキング事前値であり、最上位表示を保証するものではありません。
- 表示されるべき skill が表示されない場合は、メタデータ名を変更する前に、ログインした状態で
clawhub inspect @owner/slugを実行し、所有者に見えるモデレーション診断を確認してください。
explore
/api/v1/skills?limit=...&sort=createdAt経由で最新の Skills を一覧表示します(createdAt降順でソート)。- フラグ:
--limit <n>(1-200、デフォルト: 25)--sort newest|updated|rating|downloads|trending(デフォルト: newest)。互換性のため、レガシーのインストールソートエイリアスも引き続き動作します。--json(機械可読出力)
- 出力:
<slug> v<version> <age> <summary>(summary は 50 文字に切り詰め)。
inspect @owner/slug
- インストールせずに skill メタデータとバージョンファイルを取得します。
--version <version>: 特定のバージョンを検査します(デフォルト: latest)。--tag <tag>: タグ付きバージョンを検査します(例:latest)。--versions: バージョン履歴を一覧表示します(最初のページ)。--limit <n>: 一覧表示する最大バージョン数(1-200)。--files: 選択したバージョンのファイルを一覧表示します。--file <path>: 生のファイル内容を取得します(テキストファイルのみ、200KB 制限)。--json: 機械可読出力。
install @owner/slug
- 指定された所有者と skill の最新バージョンを解決します。
/api/v1/download経由で zip をダウンロードします。<workdir>/<dir>/<slug>に展開します。- pin 済み Skills の上書きを拒否します。先に
clawhub unpin <skill>を実行してください。 - 次を書き込みます。
<workdir>/.clawhub/lock.json(レガシー.clawdhub)<skill>/.clawhub/origin.json(レガシー.clawdhub)
uninstall <skill>
<workdir>/<dir>/<slug>を削除し、lockfile エントリを削除します。- ログイン中はベストエフォートのテレメトリを送信し、現在のインストール数を非アクティブ化できるようにします。
- 対話型: 確認を求めます。
- 非対話型(
--no-input):--yesが必要です。
list
<workdir>/.clawhub/lock.json(レガシー.clawdhub)を読み取ります。clawhub pinで固定された Skills の横に、任意の理由を含めてpinnedを表示します。
pin <skill>
- インストール済み skill を lockfile 内で pin 済みとしてマークします。
--reason <text>は skill が固定されている理由を記録します。- pin 済み Skills は
update --allでスキップされ、直接のupdate <skill>では拒否されます。 - pin 済み Skills は
install --forceも拒否するため、ローカルのバイト列が誤って置き換えられることはありません。
unpin <skill>
- インストール済み skill から lockfile の pin を削除し、今後の更新で変更できるようにします。
update [@owner/slug] / update --all
- ローカルファイルからフィンガープリントを計算します。
- フィンガープリントが既知のバージョンと一致する場合: プロンプトなし。
- フィンガープリントが一致しない場合:
- デフォルトでは拒否します
--forceで上書きします(対話型の場合はプロンプト)
- pin 済み Skills は
--forceでも更新されません。 update <skill>は pin 済み Skills ではすぐに失敗し、先にclawhub unpin <skill>を実行するよう伝えます。update --allは pin 済み slug をスキップし、固定されたままの項目の概要を表示します。
skill publish <path>
- ローカルバンドルのフィンガープリントを ClawHub と比較し、内容がすでに公開済みの場合は正常終了します。
- 新しい Skills はデフォルトで
1.0.0になります。変更された Skills はデフォルトで次のパッチバージョンになります。 --version <version>はバージョンを明示的に選択し、内容が既存バージョンと一致する場合でも公開します。--dry-runはアップロードせずに公開を解決します。--jsonは機械可読な結果を出力します。--owner <handle>は、アクターに公開者アクセスがある場合、組織/ユーザー公開者ハンドルの下で公開します。--migrate-ownerは、新しいバージョンの公開時に既存の skill を--ownerへ移動します。両方の公開者で admin/owner アクセスが必要です。- 所有者とレビューの動作は
docs/publishing.mdで説明されています。 - skill を公開するとは、ClawHub 上で
MIT-0の下でリリースされることを意味します。 - 公開済み Skills は、帰属表示なしで自由に使用、変更、再配布できます。
- ClawHub は有料 Skills や skill ごとの価格設定をサポートしていません。
- レガシーエイリアス:
publish <path>。
GitHub Actions
ClawHub の再利用可能なskill-publish.yml
ワークフローは、1 つの skill_path、または root 配下の直下にある各 skill フォルダー(デフォルト: skills)に対して skill publish を呼び出します。変更のない Skills はスキップし、同じ自動パッチバージョン動作を使用します。
トークンなしでプレビューするには dry_run: true を設定します。実際の公開には clawhub_token シークレットが必要です。
sync
- 現在の workdir、設定された Skills ディレクトリ、および
--root <dir>フォルダーをスキャンし、SKILL.mdまたはskill.mdを含むローカル skill フォルダーを探します。 - 各ローカル skill のフィンガープリントを ClawHub と比較し、新規または変更済みの Skills のみを公開します。
- 新しい Skills は
1.0.0として公開されます。変更された Skills はデフォルトで次のパッチバージョンを公開します。より大きい semver ステップへ進めるべき更新バッチには--bump minor|majorを使用します。 --dry-runはアップロードせずに公開計画を表示します。--jsonは機械可読な計画を出力します。--allは、新規または変更済みのすべての Skills をプロンプトなしで公開します。--allがない場合、対話型ターミナルでは公開する Skills を選択できます。--owner <handle>は、アクターに公開者アクセスがある場合、組織/ユーザー公開者ハンドルの下で公開します。syncは一方向の公開のみです。インストール、更新、ダウンロード、インストール/ダウンロードテレメトリの報告は行いません。
scan --slug <slug>
clawhub loginが必要です。POST /api/v1/skills/-/scan経由で ClawHub ClawScan を実行し、scan が終端状態になるまでポーリングします。- scan は非同期であり、完了まで時間がかかることがあります。キュー内では、ターミナルのスピナーに現在の優先 scan 位置と前にある scan 数が表示されます。
- 公開済み scan には所有権または公開者管理アクセスが必要です。モデレーター/admin は
clawhub-admin経由で同じバックエンドを使用できます。 --updateは--slugと組み合わせた場合のみ有効です。成功した公開済み scan 結果を選択したバージョンへ書き戻します。--output <file.zip>は、manifest.json、clawscan.json、skillspector.json、static-analysis.json、virustotal.json、README.mdを含む完全なレポートアーカイブをダウンロードします。--jsonは自動化向けに完全なポーリングレスポンスを出力します。- ローカルパス scan はサポートされなくなりました。新しいバージョンをアップロードしてから、
scan downloadを使用して、その提出バージョンに保存された scan 結果を取得してください。
scan download <name>
clawhub loginが必要です。- ClawHub セキュリティチェックによってブロックまたは非表示にされたバージョンを含め、提出済み skill または Plugin バージョンの保存済み scan レポート ZIP をダウンロードします。
- Skill のダウンロードでは skill slug を使用し、デフォルトは
--kind skillです。 - Plugin のダウンロードではパッケージ名を使用し、
--kind pluginが必要です。 --versionは必須です。これにより作者は、ClawHub がブロックした正確な提出バージョンを検査できます。--output <file.zip>は保存先パスを選択します。
GitHub Actions
ClawHub は、skill リポジトリとカタログリポジトリ向けに、公式の再利用可能ワークフロー/.github/workflows/skill-publish.yml
を提供しています。
典型的なカタログ設定:
rootはカタログリポジトリではデフォルトでskillsです。- 1 つの skill フォルダーを処理するには
skill_path: skills/review-helperを渡します。 ownerは CLI の--ownerフラグに対応します。認証済みユーザーとして公開する場合は省略します。- V1 skill 公開では
clawhub_tokenを使用します。GitHub OIDC trusted publishing は現時点ではパッケージのみです。
delete <skill>
--versionがない場合、スキルを論理削除します(所有者、モデレーター、または管理者)。DELETE /api/v1/skills/{slug}を呼び出します。- 所有者が開始した論理削除では slug が 30 日間予約され、コマンドは有効期限を出力します。
--version <version>は、所有している最新ではない 1 つのバージョンを、フェイルクローズの バージョン固有ルートを通じて完全に削除します。 削除されたバージョンは復元も再公開もできません。現在の最新バージョンを削除する前に、代替を公開してください。 プラットフォームスタッフは、このバージョン専用フローでは所有権をバイパスしません。--reason <text>は、スキル全体の論理削除と監査ログにモデレーションメモを記録します。--note <text>は--reasonのエイリアスです。--yesは確認をスキップします。
undelete <skill>
- 非表示のスキルを復元します(所有者、モデレーター、または管理者)。
- バージョンの削除取り消しはありません。完全に削除されたバージョンは復元できません。
POST /api/v1/skills/{slug}/undeleteを呼び出します。--reason <text>は、スキルと監査ログにモデレーションメモを記録します。--note <text>は--reasonのエイリアスです。--yesは確認をスキップします。
hide <skill>
- スキルを非表示にします(所有者、モデレーター、または管理者)。
deleteのエイリアスです。
unhide <skill>
- スキルの非表示を解除します(所有者、モデレーター、または管理者)。
undeleteのエイリアスです。
skill rename <skill> <new-name>
- 所有しているスキルの名前を変更し、以前の slug をリダイレクトエイリアスとして保持します。
POST /api/v1/skills/{slug}/renameを呼び出します。--yesは確認をスキップします。
skill merge <source> <target>
- 所有している 1 つのスキルを、所有している別のスキルへマージします。
- ソース slug は公開一覧に表示されなくなり、ターゲットへのリダイレクトエイリアスになります。
POST /api/v1/skills/{sourceSlug}/mergeを呼び出します。--yesは確認をスキップします。
transfer
- 所有権移管ワークフローです。
- ユーザーハンドルへの移管は、受信者が承認する保留中のリクエストを作成します。
- 組織/公開者ハンドルへの移管は、実行者が現在の所有者と移管先公開者の両方に 管理者アクセス権を持つ場合にのみ即時適用されます。
- サブコマンド:
transfer request <skill> <handle> [--message "..."] [--yes]transfer list [--outgoing]transfer accept <skill> [--yes]transfer reject <skill> [--yes]transfer cancel <skill> [--yes]
- エンドポイント:
POST /api/v1/skills/{slug}/transferPOST /api/v1/skills/{slug}/transfer/acceptPOST /api/v1/skills/{slug}/transfer/rejectPOST /api/v1/skills/{slug}/transfer/cancelGET /api/v1/transfers/incomingGET /api/v1/transfers/outgoing
package explore [query...]
GET /api/v1/packagesとGET /api/v1/packages/searchを通じて、統合パッケージカタログを閲覧または検索します。- Plugin やその他のパッケージファミリー項目にはこれを使用してください。トップレベルの
searchは引き続きスキル検索画面です。 - フラグ:
--family skill|code-plugin|bundle-plugin--official--executes-code--target <target>,--os <os>,--arch <arch>,--libc <libc>--requires-browser,--requires-desktop,--requires-native-deps--requires-external-service,--external-service <name>--binary <name>,--os-permission <name>--artifact-kind legacy-zip|npm-pack--npm-mirror--limit <n>(1-100、デフォルト: 25)--json
package inspect <name>
- インストールせずにパッケージメタデータを取得します。
- Plugin メタデータ、互換性、検証、ソース、バージョン/ファイルの調査にはこれを使用してください。
--version <version>: 特定のバージョンを調査します(デフォルト: 最新)。--tag <tag>: タグ付きバージョンを調査します(例:latest)。--versions: バージョン履歴を一覧表示します(最初のページ)。--limit <n>: 一覧表示する最大バージョン数(1-100)。--files: 選択したバージョンのファイルを一覧表示します。--file <path>: 生のファイル内容を取得します(テキストファイルのみ、200KB 制限)。--json: 機械可読出力。
package download <name>
GET /api/v1/packages/{name}/versions/{version}/artifactを通じて パッケージバージョンを解決します。- リゾルバーの
downloadUrlからアーティファクトをダウンロードします。 - すべてのアーティファクトについて ClawHub SHA-256 を検証します。
- ClawPack npm-pack アーティファクトでは、npm
sha512integrity、 npm shasum、tarball のpackage.jsonname/version も検証します。 - レガシー ZIP バージョンは、レガシー ZIP ルートを通じてダウンロードします。
- フラグ:
--version <version>: 特定のバージョンをダウンロードします。--tag <tag>: タグ付きバージョンをダウンロードします(デフォルト:latest)。-o, --output <path>: 出力ファイルまたはディレクトリ。--force: 既存の出力ファイルを上書きします。--json: 機械可読出力。
package verify <file>
- ローカルアーティファクトについて ClawHub SHA-256、npm
sha512integrity、npm shasum を 計算します。 --packageを指定すると、ClawHub から期待されるメタデータを解決し、 ローカルファイルを公開済みアーティファクトメタデータと比較します。- 直接ダイジェストフラグを指定すると、ネットワーク検索なしで検証します。
- フラグ:
--package <name>: 期待されるアーティファクトメタデータを解決するパッケージ名。--version <version>または--tag <tag>: 期待されるパッケージバージョン。--sha256 <hex>: 期待される ClawHub SHA-256。--npm-integrity <sri>: 期待される npm integrity。--npm-shasum <sha1>: 期待される npm shasum。--json: 機械可読出力。
package validate <source>
- ローカル Plugin パッケージフォルダーに対して、ClawHub CLI に同梱された Plugin Inspector を 実行します。
- ローカルの OpenClaw チェックアウトを見つけたり import したりせず、デフォルトではオフライン/静的検証を行います。
- 重大な互換性エラーでは非ゼロで終了します。警告のみの検出事項は出力されますが、 終了コードはゼロです。
- フラグ:
--out <dir>: Plugin Inspector レポートをこのディレクトリに書き込みます。--openclaw <path>: 明示的なローカル OpenClaw チェックアウトに対して調査します。--runtime: ランタイムキャプチャを有効にします。Plugin コードを import します。--allow-execute: 隔離されたワークスペースでのランタイムキャプチャを許可します。--no-mock-sdk: ランタイムキャプチャ中にモックされた OpenClaw SDK を無効にします。--json: 機械可読出力。
package delete <name>
--versionがない場合、パッケージとすべてのリリースを論理削除します。--version <version>は、所有している最新ではない 1 つのリリースを、フェイルクローズの バージョン固有ルートを通じて完全に削除します。 削除されたバージョンは復元も再公開もできません。現在の最新バージョンを削除する前に、代替を公開してください。 このバージョン専用フローには、パッケージ所有者または組織公開者の管理者が必要です。 プラットフォームスタッフはパッケージ所有権をバイパスしません。- パッケージ全体の論理削除には、パッケージ所有者、組織公開者の所有者/管理者、プラットフォーム モデレーター、またはプラットフォーム管理者が必要です。
- フラグ:
--version <version>: 最新ではない 1 つのバージョンを完全に削除します。--yes: 確認をスキップします。--json: 機械可読出力。
package undelete <name>
- 論理削除されたパッケージとリリースを復元します。
- バージョンの削除取り消しはありません。完全に削除されたバージョンは復元できません。
- パッケージ所有者、組織公開者の所有者/管理者、プラットフォームモデレーター、 またはプラットフォーム管理者が必要です。
POST /api/v1/packages/{name}/undeleteを呼び出します。- フラグ:
--yes: 確認をスキップします。--json: 機械可読出力。
package transfer <name>
- パッケージを別の公開者に移管します。
- プラットフォーム管理者が実行する場合を除き、現在のパッケージ所有者と移管先 公開者の両方への管理者アクセス権が必要です。
- スコープ付きパッケージ名は、一致するスコープ所有者へ移管する必要があります。
POST /api/v1/packages/{name}/transferを呼び出します。- フラグ:
--to <owner>: 移管先公開者ハンドル。--reason <text>: 任意の監査理由。--json: 機械可読出力。
package report
- パッケージをモデレーターに報告するための認証済みコマンドです。
POST /api/v1/packages/{name}/reportを呼び出します。- 報告はパッケージレベルで、任意でバージョンに関連付けることができ、レビューのために モデレーターに表示されます。
- 報告自体がパッケージを自動的に非表示にしたり、ダウンロードをブロックしたりすることはありません。
- フラグ:
--version <version>: 報告に添付する任意のパッケージバージョン。--reason <text>: 必須の報告理由。--json: 機械可読出力。
package moderation-status
- パッケージのモデレーション表示状態を確認するための所有者コマンドです。
GET /api/v1/packages/{name}/moderationを呼び出します。- 現在のパッケージスキャン状態、未解決の報告数、最新リリースの手動 モデレーション状態、ダウンロードブロック状態、モデレーション理由を表示します。
- フラグ:
--json: 機械可読出力。
package readiness <name>
- パッケージが将来の OpenClaw 消費に対応できる状態かどうかを確認します。
GET /api/v1/packages/{name}/readinessを呼び出します。- 公式ステータス、ClawPack の可用性、アーティファクトダイジェスト、 ソース来歴、OpenClaw 互換性、ホストターゲット、環境メタデータ、 スキャン状態に関するブロッカーを報告します。
- フラグ:
--json: 機械可読出力。
package migration-status <name>
- 同梱 OpenClaw Plugin を置き換える可能性があるパッケージについて、オペレーター向けの移行状態を 表示します。
package readinessと同じ計算済み readiness エンドポイントを呼び出しますが、 移行に重点を置いた状態、最新バージョン、公式パッケージ状態、チェック、ブロッカーを出力します。- フラグ:
--json: 機械可読出力。
publisher create <handle>
- 認証済みユーザーが所有する組織公開者を作成します。
- ハンドルは小文字に正規化され、
@付きでもなしでも渡せます。 - 新しく作成された組織公開者は、デフォルトでは信頼済み/公式ではありません。
- ハンドルが既存の公開者、ユーザー、または予約済みルートで既に使用されている場合は失敗します。
package publish <source>
POST /api/v1/packagesを介してコード Plugin またはバンドル Plugin を公開します。<source>は次を受け付けます:- ローカルフォルダパス:
./my-plugin - ローカルの ClawPack npm-pack tarball:
./my-plugin-1.2.3.tgz - GitHub リポジトリ:
owner/repoまたはowner/repo@ref - GitHub URL:
https://github.com/owner/repo
- ローカルフォルダパス:
- メタデータは
package.json、openclaw.plugin.json、および.codex-plugin/plugin.json、.claude-plugin/plugin.json、.cursor-plugin/plugin.jsonなどの実際の OpenClaw バンドルマーカーから自動検出されます。 .tgzソースは ClawPack として扱われます。CLI は正確な npm-pack バイト列をアップロードし、展開されたpackage/の内容は検証と メタデータの事前入力にのみ使用します。- コード Plugin フォルダは、アップロード前に ClawPack npm tarball にパックされるため、 OpenClaw のインストールで正確なアーティファクトを検証できます。バンドル Plugin フォルダは引き続き 展開ファイル公開パスを使用します。
- GitHub ソースでは、ソース帰属がリポジトリ、解決済みコミット、ref、サブパスから自動入力されます。
- ローカルフォルダでは、origin remote が GitHub を指している場合、ソース帰属がローカル git から自動検出されます。
- 外部コード Plugin は
openclaw.compat.pluginApiとopenclaw.build.openclawVersionを明示的に宣言する必要があります。 トップレベルのpackage.json.versionは公開検証のフォールバックとして使用されません。 --dry-runは、アップロードせずに解決済み公開ペイロードをプレビューします。--jsonは CI 向けに機械可読な出力を出力します。--owner <handle>は、アクターにパブリッシャーアクセスがある場合に、ユーザーまたは組織のパブリッシャーハンドルで公開します。- スコープ付きパッケージ名は選択したオーナーと一致する必要があります。
docs/publishing.mdを参照してください。 - 既存のフラグ (
--family、--name、--version、--source-repo、--source-commit、--source-ref、--source-path) は引き続き上書きとして機能します。 - 非公開 GitHub リポジトリには
GITHUB_TOKENが必要です。
推奨ローカルフロー
ライブリリースを作成する前に、解決済みパッケージメタデータと ソース帰属を確認できるよう、まず--dry-run を使用します:
ローカルフォルダフロー
コード Plugin では、フォルダ公開によりパッケージフォルダから ClawPack アーティファクトがビルドされ、アップロードされます:--family code-plugin 向けの最小 package.json
外部コード Plugin には、package.json 内に少量の OpenClaw メタデータが必要です。
この最小マニフェストで公開を成功させるには十分です:
openclaw.compat.pluginApiopenclaw.build.openclawVersion
package.json.versionはパッケージのリリースバージョンですが、OpenClaw の互換性/ビルド検証のフォールバックとしては使用されません。openclaw.hostTargetsとopenclaw.environmentは任意のメタデータです。 ClawHub は存在する場合にそれらを表示することがありますが、公開には必須ではありません。openclaw.compat.minGatewayVersionとopenclaw.build.pluginSdkVersionは、より詳細な互換性メタデータを公開したい場合の任意の追加項目です。- 古い
clawhubCLI リリースを使用している場合は、公開前にアップグレードして、 ローカル事前チェックがアップロード前に実行されるようにしてください。 - 検証で修正コードが報告された場合は、 Plugin 検証の修正 を参照してください。
GitHub Actions
ClawHub は Plugin リポジトリ向けに、公式の再利用可能ワークフローも/.github/workflows/package-publish.yml
で提供しています。
典型的な呼び出し元設定:
- 再利用可能ワークフローは、既定で
sourceを呼び出し元リポジトリに設定します。 - monorepo では、ワークフローが Plugin パッケージフォルダを公開するように
source_pathを渡します。 例:source_path: extensions/codex。 - 再利用可能ワークフローは、安定版タグまたは完全なコミット SHA に固定してください。
@mainからリリース公開を実行しないでください。 pull_requestでは、CI を汚染しないようにdry_run: trueを使用してください。- 実際の公開は、
workflow_dispatchやタグ push などの信頼済みイベントに限定してください。 - シークレットなしの信頼済み公開は
workflow_dispatchでのみ機能します。タグ push には引き続きclawhub_tokenが必要です。 - 初回公開、信頼できないパッケージ、または緊急公開のために
clawhub_tokenを利用可能にしておいてください。 - ワークフローは JSON 結果をアーティファクトとしてアップロードし、ワークフロー出力として公開します。
package trusted-publisher get <name>
- パッケージの GitHub Actions 信頼済みパブリッシャー設定を表示します。
- 設定後にこれを使用して、リポジトリ、ワークフローファイル名、 および任意の環境固定を確認します。
- フラグ:
--json: 機械可読な出力。
package trusted-publisher set <name>
- 既存パッケージに GitHub Actions 信頼済みパブリッシャー設定を付与または置換します。
- パッケージは、通常の手動またはトークン認証済みの
clawhub package publishを通じて先に作成されている必要があります。 - 設定後は、今後サポートされる GitHub Actions 公開で、 長期有効な ClawHub トークンなしに OIDC/信頼済み公開を使用できます。
--repository <repo>はowner/repoである必要があります。--workflow-filename <file>は.github/workflows/内のワークフローファイル名と一致する必要があります。--environment <name>は任意です。設定した場合、OIDC クレーム内の GitHub Actions 環境が正確に一致する必要があります。- このコマンドの実行時、ClawHub は設定された GitHub リポジトリを検証します。 公開リポジトリは公開 GitHub メタデータを通じて検証できます。非公開 リポジトリでは、ClawHub がそのリポジトリへの GitHub アクセスを持っている必要があります。 例として、将来の ClawHub GitHub App インストールや別の認可済み GitHub 連携が挙げられます。
- フラグ:
--repository <repo>: GitHub リポジトリ。例:openclaw/example-plugin。--workflow-filename <file>: ワークフローファイル名。例:package-publish.yml。--environment <name>: 任意の完全一致 GitHub Actions 環境。--json: 機械可読な出力。
package trusted-publisher delete <name>
- パッケージから信頼済みパブリッシャー設定を削除します。
- ワークフロー、リポジトリ、または環境固定を無効化または再作成する必要がある場合のロールバックとして使用します。
- 今後の実際の公開では、設定が再度行われるまで通常の認証済み公開を使用する必要があります。
- フラグ:
--json: 機械可読な出力。
インストールテレメトリ
- ログイン中に
clawhub install <slug>の後で送信されます。ただし、CLAWHUB_DISABLE_TELEMETRY=1が設定されている場合を除きます。 - レポートはベストエフォートです。テレメトリが利用できない場合でも、インストールコマンドは失敗しません。
- 詳細:
docs/telemetry.md。