CommunityProgramación y desarrollogithub.com

Impacto del SDK de plugins

Cuenta los consumidores del SDK de plugins en versiones públicas activas de ClawHub y plugins empaquetados de OpenClaw antes de decisiones de desaprobación, eliminación o cambios de comportamiento; soporta filtros por fecha de publicación.

¿Qué es Impacto del SDK de plugins?

Esta habilidad permite a los agentes de IA evaluar el impacto de cambios en el SDK de plugins de OpenClaw al analizar el uso estático en dos fuentes principales: los plugins publicados en ClawHub y los plugins empaquetados en el repositorio de OpenClaw. Proporciona un conteo de consumidores únicos y reporta brechas de cobertura, ayudando a tomar decisiones informadas sobre desaprobación, migración o eliminación de APIs. Soporta filtros por ventana de publicación para enfocarse en lanzamientos recientes. La habilidad se basa en herramientas de línea de comandos como `query.mjs` y `scan-bundled.mjs`, que utilizan el Plugin Inspector para análisis estático sin ejecutar código de plugins. Los resultados incluyen conteos separados para ClawHub y plugins empaquetados, así como un conteo combinado, teniendo en cuenta posibles superposiciones cuando los plugins no tienen nombre de paquete definido.

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

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Impacto del SDK de plugins?

Combina los inventarios actuales de ClawHub con un escaneo de código fuente de cada plugin empaquetado de OpenClaw, incluyendo plugins ausentes de ClawHub, para informar decisiones de compatibilidad. El uso estático identifica dependencias; no demuestra ejecución o dependencia de un comportamiento particular. Mantén las reglas de aprobación y desaprobación en la guía de límites del SDK como autoridad.

Investigar

  1. Identifica cada superficie pública afectada desde el código fuente, incluyendo exportaciones alternativas del SDK y rutas de ejecución. Verifica la ortografía contra la definición y los llamadores conocidos; una clave incorrecta puede devolver un cero convincente. También rastrea fachadas agrupadas, ayudas del SDK, y lectores de registro: un alias plano puede tener cero llamadas directas de plugins mientras implementa un método agrupado soportado.

  2. Escanea cada plugin empaquetado en una copia limpia de OpenClaw usando el análisis de código fuente estático de Plugin Inspector. Reutiliza un Inspector 0.4.3 o más reciente instalado; de lo contrario, instálalo en un directorio temporal separado, sin scripts de ciclo de vida:

    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
    

    El escáner usa por defecto el checkout de esta habilidad; --root <checkout> selecciona otro. Descubre extensions/*/openclaw.plugin.json, nunca ejecuta código de plugins, y registra el commit, la huella de entrada, la versión del Inspector, cada plugin, y análisis incompletos. Un escaneo fallido o con tiempo de espera agotado sigue siendo una brecha. Los plugins sin puntos de entrada declarados también son brechas de cobertura, porque Inspector puede perder puntos de entrada implícitos. Un escaneo interrumpido del corpus no puede usarse como inventario terminado. Reutiliza el informe para múltiples consultas mientras su fuente permanezca sin cambios. Un commit cambiado, un roster de plugins modificado, o código fuente sin commit lo invalida; vuelve a escanear en lugar de editar el recibo.

  3. Consulta cada clave canónica con ambas fuentes:

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

    Para "actualizado en los últimos tres meses", añade --months 3. Esto significa que la última versión pública elegible fue subida dentro de los tres meses calendario desde ahora, medido en UTC (los fines de mes se recortan). Las ediciones de listados y los nuevos escaneos no cuentan como actualizaciones. La fecha de publicación almacenada es su hora de creación/subida; la aprobación pública puede ocurrir después. --since 2026-07-16T12:00:00Z acepta un corte explícito. Reporta el corte inclusivo exacto de releaseWindow, no una fecha adivinada. Los consumidores públicos y la cobertura usan la misma ventana en cada página. El código fuente empaquetado no tiene fecha de subida comparable: repórtalo por separado, sin filtrar, incluso para una pregunta sobre versiones recientes. El conteo combinado es la unión de esa ventana de publicación pública y el código fuente empaquetado actual, no un conteo de versiones recientes.

    El ayudante sigue todas las páginas de uso y cobertura, incluyendo páginas intermedias vacías. Los conteos y la cobertura incluyen cada resultado; items, gaps y warnings contienen ejemplos acotados con conteos omitidos en output.omitted. Las referencias mixtas cuentan tanto en totales de tiempo de ejecución como de tipo. Para una investigación que necesite cada consumidor o brecha, guarda la salida --full en un archivo y léelo en secciones:

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

    --help documenta el endpoint local y los límites de recorrido.

  4. Inspecciona la evidencia coincidente contra el cambio propuesto. Una llamada a método puede no usar el comportamiento que se está cambiando. Los consumidores solo de tipo aún importan para la eliminación de tipos/exportaciones. Consulta miembros relacionados por separado; una importación de módulo no demuestra uso de cada exportación. Las referencias repetidas en un plugin cuentan como un consumidor.

  5. Para una pregunta de conteo de uso, reporta la clave, la hora de consulta, la ventana exacta de publicación (si se solicitó), los conteos de ClawHub y empaquetados, su conteo combinado, el commit empaquetado, y ambas brechas de cobertura. Los distinctPlugins y coverage de nivel superior siguen siendo solo de ClawHub; bundled describe los resultados de código fuente; combined fusiona identidades exactas de paquetes una vez. Algunos plugins empaquetados no tienen nombre de paquete: cuando podrían superponerse con coincidencias públicas, combined.distinctPlugins es nulo y distinctPluginBounds reporta el rango posible. observedPluginIdentities cuenta identidades de código fuente antes de esa superposición incierta. Reporta el rango, no su límite superior como un conteo exacto. Nombres diferentes siguen siendo distintos; nunca adivines alias a partir de nombres mostrados. La evidencia empaquetada faltante hace que el impacto combinado no esté disponible. Para un cambio propuesto en el SDK, también reporta la evidencia coincidente, los llamadores indirectos, y tu recomendación de compatibilidad. Termina las investigaciones de cambios con la decisión del mantenedor: preservar comportamiento, desaprobar con migración, o proceder bajo política existente. Nunca infieras permiso a partir del conteo.

Claves canónicas

SuperficieEjemplo
Módulo del SDKsdk-module:openclaw/plugin-sdk/core
Exportación nombrada del SDKsdk-export:openclaw/plugin-sdk/core#OpenClawPluginApi
Método de API de pluginapi-member:api.registerTool
Miembro de runtime hostruntime-member:runtime.channel.reply.dispatchReplyFromConfig
Hook nombradohook:hook.before_agent_start
Contrato de manifiestomanifest-contract:manifest.contracts.tools:example_tool

Las claves describen identidades del SDK, no alias locales. Los miembros de api.runtime se normalizan a runtime.*. El inventario incluye referencias soportadas y desaprobadas; deprecationCodes no vacío selecciona entradas asociadas con advertencias existentes. La inspección por plugin está disponible en https://clawhub.ai/api/v1/sdk-usage/plugin?package=<encoded-name>; sigue su nextCursor hasta null para obtener el inventario completo.

Interpretar el resultado

ResultadoInforme
Consumidores observadosReporta conteos públicos, empaquetados y combinados con sus alcances separados. Inspecciona la evidencia antes de juzgar un cambio de comportamiento.
Sin consumidores observados, cobertura completa"No se detectaron referencias estáticas en N identidades de plugins públicos/empaquetados." Requiere ambos escaneos; excluye plugins privados no empaquetados y dependencias no empaquetadas. No es prueba de que nadie use la API.
Análisis parcial, fallido, faltante, incompatible o no resueltoIndica coincidencias observadas, conteos de brechas y brechas representativas. Cero coincidencias deja el impacto desconocido.
Corpus vacíoNo se observaron plugins elegibles; esto no proporciona seguridad sobre el ecosistema.
Endpoint no disponible, resultado malformado o recorrido incompletoEl impacto es desconocido. Preserva el error y usa evidencia local; nunca sustituyas con cero.

La cobertura está vinculada a la versión actual de publicación/artefacto y las versiones de análisis. Los informes elegibles de ClawHub tienen inputKind: "artifact"; los informes empaquetados usan "source". Una referencia de código fuente no puede establecer lo que contiene un paquete publicado. Las referencias de tipo solo de código fuente aún importan para la eliminación de tipos y exportaciones del SDK; preserva la fuente de cada coincidencia. Una marca de tiempo de escaneo antigua por sí sola no hace que un artefacto inmutable esté desactualizado. La evidencia es muestreada; cada escaneo reporta sus límites de evidencia/desconocido. Las páginas son lecturas en vivo, no una instantánea: vuelve a ejecutar si las publicaciones o la visibilidad cambian durante la investigación. El ayudante marca los cambios que observa pero no puede establecer una instantánea transaccional completa.

No descartes un problema de seguridad solo porque no se observaron consumidores. Describe cómo la evidencia de uso afecta el riesgo de compatibilidad; los propietarios de seguridad y SDK aún deciden la corrección y cualquier excepción a la ventana de migración normal.

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.

Skills relacionados