Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Questa è una guida per contributor per gli sviluppatori core di OpenClaw. Se stai
creando un plugin esterno, consulta invece Creare plugin.
Per il riferimento approfondito sull’architettura (modello delle capacità, proprietà,
pipeline di caricamento, helper di runtime), consulta Interni dei plugin.
- plugin = confine di proprietà
- capability = contratto core condiviso
Quando creare una capacità
Crea una nuova capacità quando tutte queste condizioni sono vere:- Più di un fornitore potrebbe plausibilmente implementarla.
- Canali, strumenti o plugin di funzionalità dovrebbero consumarla senza preoccuparsi del fornitore.
- Il core deve possedere fallback, policy, configurazione o comportamento di consegna.
La sequenza standard
- Definisci il contratto core tipizzato.
- Aggiungi la registrazione dei plugin per quel contratto.
- Aggiungi un helper di runtime condiviso.
- Collega un vero plugin di fornitore come prova.
- Sposta i consumer di funzionalità/canali sull’helper di runtime.
- Aggiungi test del contratto.
- Documenta la configurazione rivolta all’operatore e il modello di proprietà.
Cosa va dove
Core:- Tipi di richiesta/risposta.
- Registro dei provider + risoluzione.
- Comportamento di fallback.
- Schema di configurazione con metadati documentali
title/descriptionpropagati su nodi oggetto annidati, wildcard, elementi di array e composizione. - Superficie dell’helper di runtime.
- Chiamate API del fornitore.
- Gestione dell’autenticazione del fornitore.
- Normalizzazione delle richieste specifica del fornitore.
- Registrazione dell’implementazione della capacità.
- Chiama
api.runtime.*o l’helper corrispondenteplugin-sdk/*-runtime. - Non chiama mai direttamente un’implementazione del fornitore.
Giunzioni di provider e harness
Usa gli hook del provider quando il comportamento appartiene al contratto del provider del modello invece che al ciclo agente generico. Gli esempi includono parametri di richiesta specifici del provider dopo la selezione del trasporto, preferenza del profilo di autenticazione, overlay dei prompt e instradamento di fallback di follow-up dopo failover di modello/profilo. Usa gli hook dell’harness dell’agente quando il comportamento appartiene al runtime che esegue un turno. Gli harness possono classificare risultati di tentativi riusciti ma inutilizzabili, come risposte vuote, solo di ragionamento o solo di pianificazione, così la policy di fallback del modello esterno può prendere la decisione di riprovare. Mantieni entrambe le giunzioni ristrette:- Il core possiede la policy di retry/fallback.
- I plugin provider possiedono suggerimenti specifici del provider per richiesta/autenticazione/instradamento.
- I plugin harness possiedono la classificazione dei tentativi specifica del runtime.
- I plugin di terze parti restituiscono suggerimenti, non mutazioni dirette dello stato del core.
Checklist dei file
Per una nuova capacità, aspettati di toccare queste aree:src/<capability>/types.tssrc/<capability>/...registry/runtime.tssrc/plugins/types.tssrc/plugins/registry.tssrc/plugins/captured-registration.tssrc/plugins/contracts/registry.tssrc/plugins/runtime/types-core.tssrc/plugins/runtime/index.tssrc/plugin-sdk/<capability>.tssrc/plugin-sdk/<capability>-runtime.ts- Uno o più pacchetti di plugin inclusi.
- Configurazione, documentazione, test.
Esempio pratico: generazione di immagini
La generazione di immagini segue la forma standard:- Il core definisce
ImageGenerationProvider. - Il core espone
registerImageGenerationProvider(...). - Il core espone
runtime.imageGeneration.generate(...). - I plugin
openai,google,faleminimaxregistrano implementazioni supportate da fornitori. - I fornitori futuri registrano lo stesso contratto senza modificare canali/strumenti.
agents.defaults.imageModelanalizza immagini.agents.defaults.imageGenerationModelgenera immagini.
Checklist di revisione
Prima di distribuire una nuova capacità, verifica:- Nessun canale/strumento importa direttamente codice del fornitore.
- L’helper di runtime è il percorso condiviso.
- Almeno un test del contratto asserisce la proprietà inclusa.
- La documentazione di configurazione nomina il nuovo modello/la nuova chiave di configurazione.
- La documentazione dei plugin spiega il confine di proprietà.
Correlati
- Interni dei plugin — modello delle capacità, proprietà, pipeline di caricamento, helper di runtime.
- Creare plugin — tutorial per il primo plugin.
- Panoramica dell’SDK — mappa di importazione e riferimento dell’API di registrazione.
- Creare Skills — superficie contributor complementare.