Community程式設計與開發github.com

plugin-sdk-impact

統計 Plugin SDK 在公開 ClawHub 版本與捆綁 OpenClaw 插件中的使用情況,以利於棄用、移除或行為變更前的決策;支援公開版本日期篩選。

plugin-sdk-impact 是什麼?

此技能旨在量化 Plugin SDK 的影響範圍,透過結合 ClawHub 庫存與完整 OpenClaw 外掛的原始碼掃描(包含未上架 ClawHub 者),為 SDK 的棄用、移除或行為變更提供相容性決策依據。支援 public release-date filters,可限定查詢最近特定月份內的公開版本。 主要支援平台為 ClawHub 與 OpenClaw 插件生態系。運作方式分為五個步驟:首先辨識受影響的公開表面(包括 SDK 模組、匯出、API 方法、運行時成員等);接著使用 Plugin Inspector 進行靜態原始碼分析,掃描綁定插件;然後透過查詢工具合併兩個來源的結果;最後比對證據並做出相容性建議。 此技能重視覆蓋率完整性,會報告覆蓋缺口、失敗分析或空語料庫等情況。結果報告需區分公開、綁定與合併計數,並保留決定權給維護者。不應僅因無觀察到使用者而忽略安全問題。

相容平台~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/plugin-sdk-impact

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Plugin SDK 影響評估

結合當前 ClawHub 庫存與每個綁定 OpenClaw 外掛(包括未上架 ClawHub 者)的原始碼掃描,以輔助相容性決策。靜態用量識別依賴關係,但不證明實際執行或對特定行為的依賴。請遵循 SDK 邊界指南 中的核准與棄用規則,以其為權威依據。

調查

  1. 從原始碼中識別每個受影響的公開表面,包括替代的 SDK 匯出與執行時期路徑。請根據定義與已知呼叫者驗證拼寫;錯誤的鍵可能回傳看似無誤的零。同時追蹤分組的 Facade、SDK 輔助函式與註冊讀取器:一個平面別名可能沒有直接的外掛呼叫,但卻實作了一個受支援的分組方法。

  2. 使用 Plugin Inspector 的靜態原始碼分析,在一個乾淨的 OpenClaw 檢出目錄中掃描每個綁定外掛。請重複使用已安裝的 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 可能遺漏隱含的進入點。中斷的語料庫掃描不能用作完整的庫存。在原始碼不變的前提下,可以重複使用同一個報告進行多次查詢。已變更的提交記錄、外掛清單或未提交的原始碼會使報告失效;請重新掃描,而非編輯收據。

  3. 使用兩個來源查詢每個規範鍵:

    node {baseDir}/scripts/query.mjs 'api-member:api.registerTool' \
      --bundled /tmp/openclaw-bundled-sdk-usage.json
    

    若要查詢「過去三個月內更新」,請加上 --months 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 會記錄本地端點和遍歷限制。

  4. 檢查比對到的證據是否與提議的變更相關。方法呼叫可能並未使用到正在變更的行為。僅有類型的消費者對於類型/匯出的移除仍然重要。請分別查詢相關成員;模組匯入並不能證明使用了每個匯出。外掛中的重複引用計為一個消費者。

  5. 對於用量計數問題,請報告鍵、查詢時間、確切的版本時間範圍(如有要求)、ClawHub 和綁定計數、它們的合併計數、綁定提交記錄,以及兩者的覆蓋缺口。頂層的 distinctPlugins 和 coverage 僅限於 ClawHub;bundled 描述原始碼結果;combined 一次性合併確切的套件身分。有些綁定外掛沒有套件名稱:當它們可能與公開結果重疊時,combined.distinctPlugins 為 null,而 distinctPluginBounds 會報告可能的範圍。observedPluginIdentities 在該不確定重疊之前計算原始碼身分。請報告範圍,而非將其上限當作精確計數。不同名稱保持不同;切勿從顯示名稱猜測別名。缺少綁定證據會導致無法取得合併影響。 對於提議的 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 身分,而非本地別名。api.runtime 成員會標準化為 runtime.*。庫存包含受支援和已棄用的參考;非空的 deprecationCodes 會選取與現有警告相關的條目。每個外掛的檢查可在 https://clawhub.ai/api/v1/sdk-usage/plugin?package=<encoded-name> 取得;請追蹤其 nextCursor 直到 null 以取得完整庫存。

解讀結果

結果報告
有觀察到消費者分別報告公開、綁定和合併計數及其各自的範圍。在判斷行為變更前檢查證據。
無觀察到消費者,覆蓋率完整「在 N 個公開/綁定外掛身分中未檢測到靜態參考。」需要兩次掃描;排除私有非綁定外掛和未綁定的依賴項。不表示沒有人使用該 API。
部分、失敗、缺少、不相容或未解析的分析陳述觀察到的比對、缺口計數和代表性缺口。零比對表示影響未知。
空的語料庫未觀察到符合資格的外掛;這不提供生態系統保證。
端點不可用、結果格式錯誤或遍歷不完整影響未知。請保留錯誤訊息並使用本地證據;切勿用零替代。

覆蓋率與當前的版本/工件和分析版本相關。符合資格的 ClawHub 報告具有 inputKind: "artifact";綁定報告使用 "source"。原始碼檢出基準無法確定已發布的套件包含什麼。僅原始碼的類型參考對於 SDK 類型和匯出移除仍然重要;請保留每個比對的來源。舊的掃描時間戳本身並不能使不可變工件過時。證據是取樣取得;每個掃描都會報告其證據/未知限制。頁面是即時讀取,而非單一快照:如果在調查期間版本或可見性發生變化,請重新執行。輔助函式會標記它觀察到的變化,但無法建立交易範圍的快照。

請不要因為未觀察到消費者就忽視安全問題。請描述使用證據如何影響相容性風險;安全性和 SDK 所有者仍然決定修復方案以及對正常遷移時間範圍的任何例外。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

相關技能