Registre de compatibilité
Les contrats de compatibilité des Plugin sont suivis dans le registre central àsrc/plugins/compat/registry.ts.
Chaque enregistrement comporte :
- un code de compatibilité stable
- un statut :
active,deprecated,removal-pendingouremoved - un propriétaire : SDK, config, setup, canal, fournisseur, exécution du Plugin, runtime agent ou core
- des dates d’introduction et de dépréciation, le cas échéant
- des indications de remplacement
- la documentation, les diagnostics et les tests qui couvrent l’ancien et le nouveau comportement
Package d’inspecteur de Plugin
L’inspecteur de Plugin doit vivre en dehors du dépôt central OpenClaw comme package/dépôt séparé soutenu par les contrats versionnés de compatibilité et de manifeste. La CLI du premier jour doit être :- une validation du manifeste/schéma
- la version de compatibilité du contrat en cours de vérification
- des vérifications des métadonnées d’installation/source
- des vérifications d’import sur le chemin à froid
- des avertissements de dépréciation et de compatibilité
--json pour une sortie stable lisible par machine dans les annotations CI. Le core OpenClaw doit exposer des contrats et des fixtures que l’inspecteur peut consommer, mais ne doit pas publier le binaire de l’inspecteur depuis le package principal openclaw.
Politique de dépréciation
OpenClaw ne doit pas supprimer un contrat de Plugin documenté dans la même publication que celle qui introduit son remplacement. La séquence de migration est la suivante :- Ajouter le nouveau contrat.
- Conserver l’ancien comportement branché via un adaptateur de compatibilité nommé.
- Émettre des diagnostics ou des avertissements lorsque les auteurs de Plugin peuvent agir.
- Documenter le remplacement et le calendrier.
- Tester à la fois l’ancien et le nouveau chemin.
- Attendre pendant la fenêtre de migration annoncée.
- Supprimer uniquement avec une approbation explicite de publication avec rupture.
Zones de compatibilité actuelles
Les enregistrements de compatibilité actuels incluent :- les anciens imports larges du SDK tels que
openclaw/plugin-sdk/compat - les anciennes formes de Plugin fondées uniquement sur des hooks et
before_agent_start - le comportement de liste d’autorisation et d’activation des Plugins intégrés
- les anciennes métadonnées de manifeste des variables d’environnement fournisseur/canal
- les indices d’activation en cours de remplacement par la propriété de contribution du manifeste
- les alias de nommage
embeddedHarnessetagent-harnesspendant que le nommage public évolue versagentRuntime - le fallback des métadonnées de configuration de canal intégré générées pendant que les métadonnées
channelConfigsorientées registre sont mises en place - la variable d’environnement de désactivation du registre de Plugin persisté pendant que les flux de réparation font migrer les opérateurs vers
openclaw plugins registry --refreshetopenclaw doctor --fix
Notes de publication
Les notes de publication doivent inclure les dépréciations de Plugin à venir avec les dates cibles et des liens vers la documentation de migration. Cet avertissement doit intervenir avant qu’un chemin de compatibilité passe àremoval-pending ou removed.