Plugin SDK 影響度調査 は何をしますか?
現在の ClawHub インベントリと、バンドルされているすべての OpenClaw プラグイン(ClawHub に存在しないものを含む)のソーススキャンを組み合わせ、互換性の判断に役立てます。 静的利用状況は依存関係を特定しますが、実際の実行や特定の動作への依存を証明するものではありません。SDK 境界ガイド にある承認および非推奨ルールを権威あるものとして維持してください。
調査手順
-
ソースから影響を受けるすべての公開サーフェスを特定します。代替 SDK エクスポートやランタイムパスも含みます。定義および既知の呼び出し元に対してスペルを検証してください。誤ったキーは説得力のあるゼロを返す可能性があります。グループ化されたファサード、SDK ヘルパー、登録リーダーもトレースします。フラットなエイリアスは直接のプラグイン呼び出しがゼロでも、サポートされているグループ化されたメソッドを実装している場合があります。
-
クリーンな OpenClaw チェックアウト内のすべてのバンドルプラグインを、Plugin Inspector の静的ソース解析を使用してスキャンします。インストール済みの Inspector 0.4.3 以降を再利用するか、そうでなければ別の一時ディレクトリにライフサイクルスクリプトなしでインストールします。
inspector_dir=$(mktemp -d) npm install --prefix "$inspector_dir" --ignore-scripts @openclaw/[email protected] node {baseDir}/scripts/scan-bundled.mjs \ --inspector "$inspector_dir/node_modules/@openclaw/plugin-inspector" \ --out /tmp/openclaw-bundled-sdk-usage.jsonスキャナはデフォルトでこのスキルのチェックアウトを使用します。
--root <checkout>で別のチェックアウトを選択します。extensions/*/openclaw.plugin.jsonを検出し、プラグインコードを実行することはなく、コミット、入力フィンガープリント、Inspector バージョン、各プラグイン、不完全な解析結果を記録します。失敗またはタイムアウトしたスキャンはギャップのまま残ります。宣言されたエントリポイントがないプラグインもカバレッジギャップとなります(Inspector が暗黙のエントリポイントを見逃す可能性があるため)。中断されたコーパススキャンは完成したインベントリとして使用できません。ソースが変更されていない限り、レポートを複数のクエリに再利用してください。コミット、プラグイン名簿、または未コミットのソースが変更された場合は無効になります。レシートを編集するのではなく再スキャンしてください。 -
各正規キーを両方のソースでクエリします。
node {baseDir}/scripts/query.mjs 'api-member:api.registerTool' \ --bundled /tmp/openclaw-bundled-sdk-usage.json「過去3ヶ月以内に更新された」場合は、
--months 3を追加します。これは、最新の対象となる公開リリースが現在から3暦月以内にアップロードされたことを意味します(UTC で測定、月末は切り詰められます)。リスト編集や再スキャンは更新としてカウントされません。保存されたリリース日は作成/アップロード時間であり、公開承認は後で行われる可能性があります。--since 2026-07-16T12:00:00Zで明示的なカットオフを受け付けます。releaseWindowから正確な包括的カットオフを報告し、推測日を報告しないでください。公開コンシューマとカバレッジはすべてのページで同じウィンドウを使用します。バンドルソースには比較可能なアップロード日がありません。最近のリリースに関する質問でも、バンドルソースはフィルタリングせず個別に報告してください。結合カウントは、その公開リリースウィンドウと現在のバンドルソースの和集合であり、最近のリリースのカウントではありません。ヘルパーはすべての使用状況ページとカバレッジページ(空の中間ページを含む)をたどります。カウントとカバレッジにはすべての結果が含まれます。
items、gaps、warningsには境界のある例が含まれ、output.omittedに省略されたカウントがあります。混合参照はランタイム合計と型合計の両方でカウントされます。すべてのコンシューマまたはギャップを必要とする調査の場合は、--full出力をファイルに保存し、セクションごとに読み取ってください。node {baseDir}/scripts/query.mjs 'api-member:api.registerTool' \ --bundled /tmp/openclaw-bundled-sdk-usage.json --full > sdk-usage.json--helpでローカルエンドポイントとトラバーサル制限を文書化しています。 -
マッチした証拠を提案された変更に対して検査します。メソッド呼び出しが変更される動作を使用していない可能性があります。型のみのコンシューマでも、型/エクスポートの削除には影響します。関連するメンバーは個別にクエリしてください。モジュールインポートはすべてのエクスポートの使用を証明しません。プラグイン内の繰り返し参照は1つのコンシューマとしてカウントされます。
-
使用回数の質問に対しては、キー、クエリ時刻、正確なリリースウィンドウ(要求された場合)、ClawHub カウントとバンドルカウント、それらの結合カウント、バンドルコミット、および両方のカバレッジギャップを報告します。トップレベルの
distinctPluginsとcoverageは ClawHub のみのままです。bundledはソース結果を記述します。combinedは一度だけ正確なパッケージ ID をマージします。一部のバンドルプラグインにはパッケージ名がありません。それらが公開マッチと重複する可能性がある場合、combined.distinctPluginsは null になり、distinctPluginBoundsが可能な範囲を報告します。observedPluginIdentitiesはその不確実な重複の前のソース ID をカウントします。範囲を報告し、その上限を正確なカウントとして報告しないでください。異なる名前は区別したままにし、表示名からエイリアスを推測しないでください。バンドルの証拠がない場合、結合影響は利用できません。 SDK 変更の提案に対しては、マッチした証拠、間接呼び出し元、および互換性に関する推奨事項も報告します。変更調査はメンテナの決定で終了します。動作を維持する、移行とともに非推奨にする、または既存のポリシーに従って進める、のいずれかです。カウントから許可を推測しないでください。
正規キー
| サーフェス | 例 |
|---|---|
| SDK モジュール | sdk-module:openclaw/plugin-sdk/core |
| 名前付き SDK エクスポート | sdk-export:openclaw/plugin-sdk/core#OpenClawPluginApi |
| プラグイン API メソッド | api-member:api.registerTool |
| ホストランタイムメンバー | runtime-member:runtime.channel.reply.dispatchReplyFromConfig |
| 名前付きフック | hook:hook.before_agent_start |
| マニフェスト契約 | manifest-contract:manifest.contracts.tools:example_tool |
キーは SDK の ID を記述し、ローカルエイリアスではありません。api.runtime メンバーは runtime.* に正規化されます。インベントリにはサポート対象および非推奨の参照が含まれます。空でない deprecationCodes は、既存の警告に関連付けられたエントリを選択します。プラグインごとの検査は https://clawhub.ai/api/v1/sdk-usage/plugin?package=<encoded-name> で利用可能です。完全なインベントリを取得するには、nextCursor が null になるまでたどってください。
結果の解釈
| 結果 | レポート |
|---|---|
| 観測されたコンシューマあり | 公開、バンドル、結合カウントをそれぞれのスコープとともに報告します。動作変更を判断する前に証拠を検査してください。 |
| 観測されたコンシューマなし、完全なカバレッジ | 「N個の公開/バンドルプラグイン ID にわたって静的参照は検出されませんでした」と報告します。両方のスキャンが必要です。プライベートな非バンドルプラグインとバンドルされていない依存関係を除外します。誰も API を使用していないことの証明にはなりません。 |
| 部分的、失敗、欠落、非互換、未解決の解析 | 観測されたマッチ、ギャップ数、代表的なギャップを記載します。マッチがゼロの場合、影響は不明です。 |
| 空のコーパス | 対象となるプラグインは観測されませんでした。これはエコシステムの保証を提供しません。 |
| 利用不可のエンドポイント、不正な結果、不完全なトラバーサル | 影響は不明です。エラーを保持し、ローカルの証拠を使用します。決してゼロを代入しないでください。 |
カバレッジは現在のリリース/アーティファクトおよび解析バージョンに結びついています。対象となる ClawHub レポートは inputKind: "artifact" を持ちます。バンドルレポートは "source" を使用します。ソースチェックアウトのベンチマークは、公開されたパッケージの内容を確立できません。ソースのみの型参照は SDK の型およびエクスポートの削除に依然として重要です。各マッチのソースを保持してください。古いスキャンタイムスタンプだけでは不変のアーティファクトが古くなるわけではありません。証拠はサンプリングされます。各スキャンは証拠/不明の制限を報告します。ページはライブ読み取りであり、1つのスナップショットではありません。調査中にリリースや可視性が変更された場合は再実行してください。ヘルパーは観測された変更をフラグしますが、トランザクション全体のスナップショットを確立することはできません。
コンシューマが観測されなかったという理由だけでセキュリティ問題を却下しないでください。使用状況の証拠が互換性リスクにどのように影響するかを説明します。セキュリティおよび SDK 所有者が、修正および通常の移行ウィンドウに対する例外を引き続き決定します。