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.
Ceci est un guide de contribution pour les développeurs du cœur d’OpenClaw. Si vous
créez un plugin externe, consultez plutôt Créer des plugins.
Pour la référence d’architecture détaillée (modèle de capacités, propriété,
pipeline de chargement, helpers d’exécution), consultez Internes des plugins.
- plugin = frontière de propriété
- capacité = contrat partagé du cœur
Quand créer une capacité
Créez une nouvelle capacité lorsque toutes les conditions suivantes sont vraies :- Plusieurs fournisseurs pourraient plausiblement l’implémenter.
- Les canaux, outils ou plugins de fonctionnalités devraient la consommer sans se soucier du fournisseur.
- Le cœur doit posséder le comportement de secours, de politique, de configuration ou de livraison.
La séquence standard
- Définissez le contrat typé du cœur.
- Ajoutez l’enregistrement de plugin pour ce contrat.
- Ajoutez un helper d’exécution partagé.
- Câblez un vrai plugin fournisseur comme preuve.
- Déplacez les consommateurs de fonctionnalités/canaux vers le helper d’exécution.
- Ajoutez des tests de contrat.
- Documentez la configuration visible par l’opérateur et le modèle de propriété.
Ce qui va où
Cœur :- Types de requête/réponse.
- Registre de fournisseurs + résolution.
- Comportement de secours.
- Schéma de configuration avec métadonnées de documentation
title/descriptionpropagées sur les nœuds d’objet imbriqué, de joker, d’élément de tableau et de composition. - Surface du helper d’exécution.
- Appels à l’API du fournisseur.
- Gestion de l’authentification du fournisseur.
- Normalisation des requêtes spécifique au fournisseur.
- Enregistrement de l’implémentation de la capacité.
- Appelle
api.runtime.*ou le helper correspondantplugin-sdk/*-runtime. - N’appelle jamais directement une implémentation fournisseur.
Interfaces entre fournisseurs et harnais
Utilisez les hooks de fournisseur lorsque le comportement appartient au contrat du fournisseur de modèles plutôt qu’à la boucle d’agent générique. Les exemples incluent les paramètres de requête spécifiques au fournisseur après la sélection du transport, la préférence de profil d’authentification, les superpositions de prompt et le routage de secours de suivi après un basculement de modèle/profil. Utilisez les hooks de harnais d’agent lorsque le comportement appartient au runtime qui exécute un tour. Les harnais peuvent classer les résultats de tentative réussis mais inutilisables, comme les réponses vides, uniquement de raisonnement ou uniquement de planification, afin que la politique externe de secours du modèle puisse prendre la décision de réessayer. Gardez ces deux interfaces étroites :- Le cœur possède la politique de nouvelle tentative/secours.
- Les plugins fournisseurs possèdent les indications de requête/authentification/routage spécifiques au fournisseur.
- Les plugins de harnais possèdent la classification des tentatives spécifique au runtime.
- Les plugins tiers renvoient des indications, pas des mutations directes de l’état du cœur.
Liste de vérification des fichiers
Pour une nouvelle capacité, attendez-vous à toucher ces zones :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- Un ou plusieurs packages de plugins groupés.
- Configuration, documentation, tests.
Exemple détaillé : génération d’images
La génération d’images suit la forme standard :- Le cœur définit
ImageGenerationProvider. - Le cœur expose
registerImageGenerationProvider(...). - Le cœur expose
runtime.imageGeneration.generate(...). - Les plugins
openai,google,faletminimaxenregistrent des implémentations adossées à des fournisseurs. - Les futurs fournisseurs enregistrent le même contrat sans modifier les canaux/outils.
agents.defaults.imageModelanalyse les images.agents.defaults.imageGenerationModelgénère des images.
Liste de vérification de revue
Avant de livrer une nouvelle capacité, vérifiez :- Aucun canal/outil n’importe directement du code fournisseur.
- Le helper d’exécution est le chemin partagé.
- Au moins un test de contrat affirme la propriété groupée.
- La documentation de configuration nomme la nouvelle clé de modèle/configuration.
- La documentation des plugins explique la frontière de propriété.
Connexe
- Internes des plugins — modèle de capacités, propriété, pipeline de chargement, helpers d’exécution.
- Créer des plugins — tutoriel pour le premier plugin.
- Vue d’ensemble du SDK — carte d’importation et référence de l’API d’enregistrement.
- Créer des Skills — surface contributrice complémentaire.