OpenClaw mantiene i contratti Plugin precedenti collegati tramite adattatori di compatibilità denominati prima di rimuoverli. Questo protegge i plugin integrati ed esterni esistenti mentre evolvono i contratti di SDK, manifest, configurazione, configurazione iniziale e runtime degli agenti.Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Registro di compatibilità
I contratti di compatibilità dei Plugin sono tracciati nel registro core insrc/plugins/compat/registry.ts.
Ogni record contiene:
- un codice di compatibilità stabile
- stato:
active,deprecated,removal-pendingoremoved - proprietario: SDK, configurazione, configurazione iniziale, canale, provider, esecuzione Plugin, runtime agente o core
- date di introduzione e deprecazione quando applicabile
- indicazioni per la sostituzione
- documentazione, diagnostica e test che coprono il comportamento vecchio e nuovo
src/commands/doctor/shared/deprecation-compat.ts. Quei record coprono vecchie
forme di configurazione, layout del registro di installazione e shim di riparazione che potrebbero dover restare
disponibili dopo la rimozione del percorso di compatibilità runtime.
Le verifiche di release dovrebbero controllare entrambi i registri. Non eliminare una migrazione di doctor
solo perché il record di compatibilità runtime o di configurazione corrispondente è scaduto; prima
verifica che non esista un percorso di aggiornamento supportato che richieda ancora la riparazione. Inoltre
riconvalida ogni annotazione di sostituzione durante la pianificazione della release, perché la
proprietà dei Plugin e l’impronta di configurazione possono cambiare quando provider e canali escono dal
core.
Pacchetto ispettore Plugin
L’ispettore Plugin dovrebbe vivere fuori dal repository core di OpenClaw come pacchetto/repository separato, basato sui contratti versionati di compatibilità e manifest. La CLI del primo giorno dovrebbe essere:- validazione manifest/schema
- la versione di compatibilità del contratto controllata
- controlli dei metadati di installazione/origine
- controlli di importazione del percorso freddo
- avvisi di deprecazione e compatibilità
--json per un output stabile leggibile dalle macchine nelle annotazioni CI. Il core di OpenClaw
dovrebbe esporre contratti e fixture che l’ispettore può consumare, ma non dovrebbe
pubblicare il binario dell’ispettore dal pacchetto principale openclaw.
Corsia di accettazione per maintainer
Usa Blacksmith Testbox basato su Crabbox per la corsia di accettazione del pacchetto installabile quando validi l’ispettore esterno rispetto ai pacchetti Plugin di OpenClaw. Eseguilo da un checkout OpenClaw pulito dopo la compilazione del pacchetto:Criterio di deprecazione
OpenClaw non dovrebbe rimuovere un contratto Plugin documentato nella stessa release che introduce il suo sostituto. La sequenza di migrazione è:- Aggiungi il nuovo contratto.
- Mantieni il vecchio comportamento collegato tramite un adattatore di compatibilità denominato.
- Emetti diagnostica o avvisi quando gli autori di Plugin possono agire.
- Documenta la sostituzione e la tempistica.
- Testa sia i percorsi vecchi sia quelli nuovi.
- Attendi per tutta la finestra di migrazione annunciata.
- Rimuovi solo con approvazione esplicita di release con modifiche incompatibili.
active.
Aree di compatibilità attuali
I record di compatibilità attuali includono:- import SDK generici legacy come
openclaw/plugin-sdk/compat - forme Plugin legacy solo con hook e
before_agent_start - entrypoint Plugin legacy
activate(api)mentre i plugin migrano aregister(api) - alias SDK legacy come
openclaw/extension-api,openclaw/plugin-sdk/channel-runtime, builder di statoopenclaw/plugin-sdk/command-auth,openclaw/plugin-sdk/test-utils(sostituiti da sottopercorsi di test focalizzatiopenclaw/plugin-sdk/*) e gli alias di tipoClawdbotConfig/OpenClawSchemaType - allowlist e comportamento di abilitazione dei Plugin integrati
- metadati manifest legacy per variabili d’ambiente di provider/canale
- hook e alias di tipo dei Plugin provider legacy mentre i provider passano a hook espliciti di catalogo, auth, thinking, replay e trasporto
- alias runtime legacy come
api.runtime.taskFlow,api.runtime.subagent.getSession,api.runtime.stte i deprecatiapi.runtime.config.loadConfig()/api.runtime.config.writeConfigFile(...) - registrazione divisa dei Plugin di memoria legacy mentre i Plugin di memoria passano a
registerMemoryCapability - helper SDK canale legacy per schemi di messaggi nativi, gating delle menzioni, formattazione delle buste in ingresso e annidamento della capability di approvazione
- chiave di route canale legacy e alias helper per target comparabili mentre i Plugin
passano a
openclaw/plugin-sdk/channel-route - suggerimenti di attivazione che vengono sostituiti dalla proprietà dei contributi del manifest
- fallback runtime
setup-apimentre i descrittori di configurazione iniziale passano ai metadati freddisetup.requiresRuntime: false - hook
discoverydei provider mentre gli hook catalogo dei provider passano acatalog.run(...) - metadati canale
showConfigured/showInSetupmentre i pacchetti canale passano aopenclaw.channel.exposure - chiavi di configurazione runtime-policy legacy mentre doctor migra gli operatori a
agentRuntime - fallback dei metadati di configurazione dei canali integrati generati mentre arrivano i metadati
channelConfigsregistry-first - flag env di disabilitazione del registro Plugin persistito e migrazione installazioni mentre
i flussi di riparazione migrano gli operatori a
openclaw plugins registry --refresheopenclaw doctor --fix - percorsi di configurazione legacy di proprietà del Plugin per web search, web fetch e x_search mentre
doctor li migra a
plugins.entries.<plugin>.config - configurazione autoriale legacy
plugins.installse alias del percorso di caricamento Plugin integrato mentre i metadati di installazione passano nel registro Plugin gestito dallo stato
Note di release
Le note di release dovrebbero includere le prossime deprecazioni dei Plugin con date target e link alla documentazione di migrazione. Tale avviso deve avvenire prima che un percorso di compatibilità passi aremoval-pending o removed.