Skip to main content
Il Plugin SDK è esposto come un insieme di sottopercorsi pubblici specifici in openclaw/plugin-sdk/. Questa pagina cataloga i sottopercorsi di uso comune raggruppati per scopo. Tre file definiscono la superficie:
  • scripts/lib/plugin-sdk-entrypoints.json: l’inventario mantenuto degli entrypoint compilati dalla build.
  • scripts/lib/plugin-sdk-private-local-only-subpaths.json: sottopercorsi interni e di test locali al repository. Le esportazioni del pacchetto corrispondono all’inventario meno questo elenco.
  • src/plugin-sdk/entrypoints.ts: metadati di classificazione per i sottopercorsi deprecati, gli helper riservati inclusi nel bundle, le facade incluse nel bundle supportate e le superfici pubbliche di proprietà dei plugin.
I manutentori verificano il conteggio delle esportazioni pubbliche con pnpm plugin-sdk:surface e i sottopercorsi attivi degli helper riservati con pnpm plugins:boundary-report:summary; le esportazioni inutilizzate degli helper riservati causano il fallimento del report CI anziché restare nell’SDK pubblico come debito di compatibilità inattivo. Per la guida alla creazione di plugin, consultare la panoramica del Plugin SDK.

Entry del plugin

Helper deprecati per compatibilità e test

I sottopercorsi deprecati restano esportati per i plugin meno recenti, ma il nuovo codice dovrebbe usare i sottopercorsi specifici dell’SDK riportati di seguito. L’elenco mantenuto è scripts/lib/plugin-sdk-deprecated-public-subpaths.json; la CI rifiuta le importazioni di produzione incluse nel bundle provenienti da tale elenco. I barrel generici, come plugin-sdk/compat, plugin-sdk/config-types, plugin-sdk/infra-runtime e plugin-sdk/text-runtime, servono esclusivamente per la compatibilità, mentre plugin-sdk/zod è una riesportazione di compatibilità: importare zod direttamente da zod. Analogamente, i barrel di dominio generici plugin-sdk/agent-runtime, plugin-sdk/channel-lifecycle, plugin-sdk/channel-runtime, plugin-sdk/cli-runtime, plugin-sdk/conversation-runtime, plugin-sdk/hook-runtime, plugin-sdk/media-runtime, plugin-sdk/plugin-runtime e plugin-sdk/security-runtime sono deprecati in favore di sottopercorsi specifici. I sottopercorsi degli helper di test di OpenClaw basati su Vitest sono esclusivamente locali al repository e non sono più esportazioni del pacchetto: agent-runtime-test-contracts, channel-contract-testing, channel-target-testing, channel-test-helpers, plugin-state-test-runtime, plugin-test-api, plugin-test-contracts, plugin-test-runtime, provider-http-test-mocks, provider-test-contracts, reply-payload-testing, sqlite-runtime-testing, test-env, test-fixtures, test-node-mocks e testing. Anche le superfici private degli helper inclusi nel bundle ssrf-runtime-internal e codex-native-task-runtime sono esclusivamente locali al repository.

Sottopercorsi riservati degli helper dei plugin inclusi nel bundle

plugin-sdk/codex-mcp-projection è l’unico sottopercorso riservato: una superficie di compatibilità di proprietà del plugin per il plugin Codex incluso nel bundle, non un’API generica dell’SDK. Le importazioni tra plugin con proprietari diversi sono bloccate dai vincoli del contratto del pacchetto e la CI non riesce quando un sottopercorso riservato non viene più importato. plugin-sdk/codex-native-task-runtime è esclusivamente locale al repository e non è un’esportazione del pacchetto. src/plugin-sdk/entrypoints.ts tiene inoltre traccia delle facade incluse nel bundle supportate, ovvero entrypoint dell’SDK supportati dal rispettivo plugin incluso nel bundle finché non saranno sostituiti da contratti generici: plugin-sdk/discord, plugin-sdk/lmstudio, plugin-sdk/lmstudio-runtime, plugin-sdk/matrix, plugin-sdk/mattermost, plugin-sdk/memory-core-engine-runtime, plugin-sdk/provider-zai-endpoint, plugin-sdk/qa-runner-runtime, plugin-sdk/telegram-account, plugin-sdk/tts-runtime e plugin-sdk/zalouser. Molti di questi sono inoltre deprecati per il nuovo codice; consultare le note relative a ciascuna riga riportate di seguito.
Le famiglie di helper per i canali deprecate restano disponibili solo per la compatibilità con i plugin pubblicati. Il piano di rimozione è il seguente: mantenerle per l’intera finestra di migrazione dei plugin esterni, mantenere i plugin del repository/inclusi su channel-inbound e channel-outbound, quindi rimuovere i sottopercorsi di compatibilità nella prossima importante revisione dell’SDK. Ciò si applica alle precedenti famiglie di messaggistica/runtime dei canali, streaming dei canali, accesso diretto ai messaggi privati, helper frammentari per i messaggi in ingresso, opzioni di risposta e percorsi di associazione.
Gli snapshot dell’utilizzo dei provider normalmente riportano una o più windows di quota, ciascuna con un’etichetta, la percentuale utilizzata e un’ora di reimpostazione facoltativa. I provider che espongono il saldo o il testo sullo stato dell’account anziché finestre di quota reimpostabili devono restituire summary con un array windows vuoto, anziché inventare percentuali. OpenClaw visualizza tale testo di riepilogo nell’output di stato; usare error solo quando l’endpoint di utilizzo non è riuscito o non ha restituito dati di utilizzo utilizzabili.
I sottopercorsi SDK riservati degli helper inclusi sono superfici mirate e specifiche del proprietario per il codice dei Plugin inclusi. Sono registrati nell’inventario dell’SDK affinché le build dei pacchetti e gli alias rimangano deterministici, ma non sono API generiche per la creazione di Plugin. I nuovi contratti host riutilizzabili devono usare sottopercorsi SDK generici come plugin-sdk/gateway-runtime, plugin-sdk/ssrf-runtime e plugin-sdk/plugin-config-runtime.

Correlati