chore(i18n): refresh fr translations
This commit is contained in:
parent
19e77a80f4
commit
f744e6b2cb
@ -1,23 +1,23 @@
|
||||
---
|
||||
read_when:
|
||||
- Extension de qa-lab ou qa-channel
|
||||
- Extension de qa-lab ou de qa-channel
|
||||
- Ajout de scénarios QA adossés au dépôt
|
||||
- Création d’une automatisation QA plus réaliste autour du tableau de bord Gateway
|
||||
summary: Forme de l’automatisation QA privée pour qa-lab, qa-channel, les scénarios initialisés et les rapports de protocole
|
||||
title: Automatisation E2E de la QA
|
||||
title: Automatisation QA E2E
|
||||
x-i18n:
|
||||
generated_at: "2026-04-16T21:51:24Z"
|
||||
generated_at: "2026-04-17T06:57:31Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 7deefda1c90a0d2e21e2155ffd8b585fb999e7416bdbaf0ff57eb33ccc063afc
|
||||
source_hash: 51f97293c184d7c04c95d9858305668fbc0f93273f587ec7e54896ad5d603ab0
|
||||
source_path: concepts/qa-e2e-automation.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Automatisation E2E de la QA
|
||||
# Automatisation QA E2E
|
||||
|
||||
La pile QA privée est conçue pour tester OpenClaw d’une manière plus réaliste,
|
||||
façonnée par les canaux, qu’un simple test unitaire ne peut le faire.
|
||||
La pile QA privée a pour but d’exercer OpenClaw d’une manière plus réaliste,
|
||||
structurée comme un canal, qu’un simple test unitaire ne peut le faire.
|
||||
|
||||
Éléments actuels :
|
||||
|
||||
@ -25,26 +25,26 @@ façonnée par les canaux, qu’un simple test unitaire ne peut le faire.
|
||||
les réactions, les modifications et les suppressions.
|
||||
- `extensions/qa-lab` : interface de débogage et bus QA pour observer la transcription,
|
||||
injecter des messages entrants et exporter un rapport Markdown.
|
||||
- `qa/` : ressources de départ adossées au dépôt pour la tâche de lancement et les
|
||||
- `qa/` : ressources initiales adossées au dépôt pour la tâche de démarrage et les
|
||||
scénarios QA de référence.
|
||||
|
||||
Le flux opérateur QA actuel est un site QA à deux volets :
|
||||
|
||||
- Gauche : tableau de bord Gateway (Control UI) avec l’agent.
|
||||
- Droite : QA Lab, affichant une transcription de type Slack et le plan du scénario.
|
||||
- Gauche : tableau de bord Gateway (UI de contrôle) avec l’agent.
|
||||
- Droite : QA Lab, affichant la transcription de type Slack et le plan du scénario.
|
||||
|
||||
Lancez-le avec :
|
||||
Exécutez-le avec :
|
||||
|
||||
```bash
|
||||
pnpm qa:lab:up
|
||||
```
|
||||
|
||||
Cela construit le site QA, démarre la voie Gateway adossée à Docker et expose la
|
||||
page QA Lab où un opérateur ou une boucle d’automatisation peut confier à l’agent une
|
||||
mission QA, observer le comportement réel du canal et consigner ce qui a
|
||||
fonctionné, échoué ou est resté bloqué.
|
||||
page QA Lab où un opérateur ou une boucle d’automatisation peut confier à l’agent une mission QA,
|
||||
observer le comportement réel du canal et consigner ce qui a fonctionné, échoué ou
|
||||
est resté bloqué.
|
||||
|
||||
Pour des itérations plus rapides sur l’interface QA Lab sans reconstruire l’image Docker à chaque fois,
|
||||
Pour itérer plus rapidement sur l’interface QA Lab sans reconstruire l’image Docker à chaque fois,
|
||||
démarrez la pile avec un bundle QA Lab monté par liaison :
|
||||
|
||||
```bash
|
||||
@ -54,81 +54,81 @@ pnpm qa:lab:up:fast
|
||||
pnpm qa:lab:watch
|
||||
```
|
||||
|
||||
`qa:lab:up:fast` maintient les services Docker sur une image préconstruite et monte par liaison
|
||||
`qa:lab:up:fast` conserve les services Docker sur une image préconstruite et monte par liaison
|
||||
`extensions/qa-lab/web/dist` dans le conteneur `qa-lab`. `qa:lab:watch`
|
||||
reconstruit ce bundle à chaque modification, et le navigateur se recharge automatiquement lorsque le hachage
|
||||
des ressources QA Lab change.
|
||||
|
||||
Pour une voie de validation Matrix avec transport réel, exécutez :
|
||||
Pour une voie de smoke test Matrix sur transport réel, exécutez :
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa matrix
|
||||
```
|
||||
|
||||
Cette voie provisionne un homeserver Tuwunel jetable dans Docker, enregistre
|
||||
des utilisateurs temporaires pour le pilote, le SUT et l’observateur, crée une salle privée,
|
||||
puis exécute le véritable plugin Matrix dans un enfant Gateway QA. La voie de transport en direct conserve
|
||||
la configuration enfant limitée au transport testé, de sorte que Matrix s’exécute sans
|
||||
des utilisateurs temporaires pilote, SUT et observateur, crée une salle privée, puis exécute
|
||||
le vrai Plugin Matrix dans un enfant Gateway QA. La voie sur transport réel conserve
|
||||
la configuration enfant limitée au transport testé, afin que Matrix s’exécute sans
|
||||
`qa-channel` dans la configuration enfant. Elle écrit les artefacts de rapport structurés ainsi
|
||||
qu’un journal combiné stdout/stderr dans le répertoire de sortie Matrix QA sélectionné. Pour
|
||||
capturer également la sortie de construction/lancement externe de `scripts/run-node.mjs`, définissez
|
||||
capturer également la sortie externe de build/lancement de `scripts/run-node.mjs`, définissez
|
||||
`OPENCLAW_RUN_NODE_OUTPUT_LOG=<path>` vers un fichier journal local au dépôt.
|
||||
|
||||
Pour une voie de validation Telegram avec transport réel, exécutez :
|
||||
Pour une voie de smoke test Telegram sur transport réel, exécutez :
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa telegram
|
||||
```
|
||||
|
||||
Cette voie cible un groupe Telegram privé réel au lieu de provisionner un
|
||||
Cette voie cible un vrai groupe Telegram privé au lieu de provisionner un
|
||||
serveur jetable. Elle nécessite `OPENCLAW_QA_TELEGRAM_GROUP_ID`,
|
||||
`OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN` et
|
||||
`OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN`, ainsi que deux bots distincts dans le même
|
||||
groupe privé. Le bot SUT doit avoir un nom d’utilisateur Telegram, et l’observation
|
||||
bot-à-bot fonctionne mieux lorsque les deux bots ont le mode de communication bot-à-bot
|
||||
bot à bot fonctionne mieux lorsque les deux bots ont le mode de communication Bot-to-Bot
|
||||
activé dans `@BotFather`.
|
||||
|
||||
Les voies de transport en direct partagent désormais un contrat plus petit au lieu que chacune
|
||||
invente sa propre forme de liste de scénarios.
|
||||
Les voies sur transport réel partagent désormais un contrat plus réduit au lieu que chacune
|
||||
invente sa propre structure de liste de scénarios.
|
||||
|
||||
`qa-channel` reste la suite large de comportements synthétiques du produit et ne fait pas partie
|
||||
de la matrice de couverture des transports en direct.
|
||||
`qa-channel` reste la suite large de comportements produit synthétiques et ne fait pas partie
|
||||
de la matrice de couverture des transports réels.
|
||||
|
||||
| Voie | Canary | Filtrage des mentions | Blocage par liste d’autorisation | Réponse de niveau supérieur | Reprise après redémarrage | Suivi dans un fil | Isolation des fils | Observation des réactions | Commande d’aide |
|
||||
| -------- | ------ | --------------------- | -------------------------------- | --------------------------- | ------------------------- | ----------------- | ------------------ | ------------------------- | --------------- |
|
||||
| Matrix | x | x | x | x | x | x | x | x | |
|
||||
| Telegram | x | | | | | | | | x |
|
||||
| Voie | Canary | Gating par mention | Blocage par allowlist | Réponse de niveau supérieur | Reprise après redémarrage | Suivi dans le fil | Isolation du fil | Observation des réactions | Commande d’aide |
|
||||
| -------- | ------ | ------------------ | --------------------- | --------------------------- | ------------------------- | ----------------- | ---------------- | ------------------------- | --------------- |
|
||||
| Matrix | x | x | x | x | x | x | x | x | |
|
||||
| Telegram | x | | | | | | | | x |
|
||||
|
||||
Cela conserve `qa-channel` comme la suite large de comportements du produit, tandis que Matrix,
|
||||
Telegram et les futurs transports en direct partagent une checklist explicite de contrat de transport.
|
||||
Cela permet à `qa-channel` de rester la suite large de comportements produit, tandis que Matrix,
|
||||
Telegram et les futurs transports réels partagent une checklist explicite unique du contrat de transport.
|
||||
|
||||
Pour une voie sur VM Linux jetable sans intégrer Docker dans le parcours QA, exécutez :
|
||||
Pour une voie de VM Linux jetable sans intégrer Docker dans le chemin QA, exécutez :
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline
|
||||
```
|
||||
|
||||
Cela démarre un invité Multipass neuf, installe les dépendances, construit OpenClaw
|
||||
Cela démarre un nouvel invité Multipass, installe les dépendances, construit OpenClaw
|
||||
dans l’invité, exécute `qa suite`, puis copie le rapport QA normal et le
|
||||
résumé dans `.artifacts/qa-e2e/...` sur l’hôte.
|
||||
Elle réutilise le même comportement de sélection de scénarios que `qa suite` sur l’hôte.
|
||||
Les exécutions sur l’hôte et sur Multipass exécutent par défaut plusieurs scénarios sélectionnés en parallèle
|
||||
Cela réutilise le même comportement de sélection de scénarios que `qa suite` sur l’hôte.
|
||||
Les exécutions de suite sur l’hôte et dans Multipass exécutent par défaut plusieurs scénarios sélectionnés en parallèle
|
||||
avec des workers Gateway isolés, jusqu’à 64 workers ou au nombre de scénarios sélectionnés.
|
||||
Utilisez `--concurrency <count>` pour ajuster le nombre de workers, ou
|
||||
`--concurrency 1` pour une exécution en série.
|
||||
Les exécutions en direct transmettent les entrées d’authentification QA prises en charge qui sont pratiques pour
|
||||
l’invité : les clés de fournisseur basées sur l’environnement, le chemin de configuration du fournisseur QA live, et
|
||||
`CODEX_HOME` lorsqu’il est présent. Gardez `--output-dir` sous la racine du dépôt afin que l’invité
|
||||
Les exécutions live transmettent les entrées d’auth QA prises en charge qui sont pratiques pour
|
||||
l’invité : clés de fournisseur basées sur l’environnement, chemin de configuration du fournisseur QA live, et
|
||||
`CODEX_HOME` lorsqu’il est présent. Conservez `--output-dir` sous la racine du dépôt afin que l’invité
|
||||
puisse écrire en retour via l’espace de travail monté.
|
||||
|
||||
## Ressources de départ adossées au dépôt
|
||||
## Ressources initiales adossées au dépôt
|
||||
|
||||
Les ressources de départ se trouvent dans `qa/` :
|
||||
Les ressources initiales se trouvent dans `qa/` :
|
||||
|
||||
- `qa/scenarios/index.md`
|
||||
- `qa/scenarios/*.md`
|
||||
|
||||
Elles sont volontairement conservées dans git afin que le plan QA soit visible à la fois pour les humains et pour
|
||||
Elles sont volontairement dans git afin que le plan QA soit visible à la fois pour les humains et pour
|
||||
l’agent.
|
||||
|
||||
`qa-lab` doit rester un exécuteur Markdown générique. Chaque fichier Markdown de scénario est
|
||||
@ -136,41 +136,57 @@ la source de vérité pour une exécution de test et doit définir :
|
||||
|
||||
- les métadonnées du scénario
|
||||
- les références de documentation et de code
|
||||
- les exigences de plugin facultatives
|
||||
- le correctif de configuration Gateway facultatif
|
||||
- les exigences facultatives en matière de Plugin
|
||||
- le correctif facultatif de configuration Gateway
|
||||
- le `qa-flow` exécutable
|
||||
|
||||
La surface d’exécution réutilisable qui sous-tend `qa-flow` peut rester générique
|
||||
et transversale. Par exemple, les scénarios Markdown peuvent combiner des
|
||||
helpers côté transport avec des helpers côté navigateur qui pilotent la Control UI intégrée via la
|
||||
surface Gateway `browser.request` sans ajouter d’exécuteur spécialisé.
|
||||
et transverse. Par exemple, des scénarios Markdown peuvent combiner des helpers côté transport
|
||||
avec des helpers côté navigateur qui pilotent l’UI de contrôle intégrée via le
|
||||
point d’intégration Gateway `browser.request` sans ajouter d’exécuteur spécialisé.
|
||||
|
||||
La liste de référence doit rester suffisamment large pour couvrir :
|
||||
|
||||
- les conversations en MP et en canal
|
||||
- les MP et les conversations en canal
|
||||
- le comportement des fils
|
||||
- le cycle de vie des actions sur les messages
|
||||
- les rappels Cron
|
||||
- le rappel de mémoire
|
||||
- le changement de modèle
|
||||
- le transfert à un sous-agent
|
||||
- le transfert vers un sous-agent
|
||||
- la lecture du dépôt et de la documentation
|
||||
- une petite tâche de build comme Lobster Invaders
|
||||
|
||||
## Voies avec fournisseur simulé
|
||||
|
||||
`qa suite` dispose de deux voies locales avec fournisseur simulé :
|
||||
|
||||
- `mock-openai` est le mock OpenClaw sensible aux scénarios. Il reste la
|
||||
voie simulée déterministe par défaut pour la QA adossée au dépôt et les gates de parité.
|
||||
- `aimock` démarre un serveur fournisseur adossé à AIMock pour une couverture expérimentale
|
||||
de protocole, de fixtures, d’enregistrement/relecture et de chaos. Il est additionnel et ne
|
||||
remplace pas le répartiteur de scénarios `mock-openai`.
|
||||
|
||||
L’implémentation des voies fournisseur se trouve sous `extensions/qa-lab/src/providers/`.
|
||||
Chaque fournisseur possède ses valeurs par défaut, le démarrage de serveur local, la configuration
|
||||
du modèle Gateway, les besoins de préparation du profil d’auth, et les indicateurs de capacités live/simulées.
|
||||
Le code partagé de suite et Gateway doit passer par le registre des fournisseurs plutôt que de
|
||||
se brancher selon les noms de fournisseurs.
|
||||
|
||||
## Adaptateurs de transport
|
||||
|
||||
`qa-lab` possède une interface de transport générique pour les scénarios QA Markdown.
|
||||
`qa-channel` est le premier adaptateur sur cette interface, mais l’objectif de conception est plus large :
|
||||
les futurs canaux réels ou synthétiques devraient s’intégrer au même exécuteur de suite
|
||||
`qa-lab` possède un point d’intégration de transport générique pour les scénarios QA Markdown.
|
||||
`qa-channel` est le premier adaptateur sur ce point d’intégration, mais l’objectif de conception est plus large :
|
||||
les futurs canaux réels ou synthétiques doivent pouvoir se brancher sur le même exécuteur de suite
|
||||
au lieu d’ajouter un exécuteur QA spécifique au transport.
|
||||
|
||||
Au niveau de l’architecture, la séparation est la suivante :
|
||||
|
||||
- `qa-lab` gère l’exécution générique des scénarios, la concurrence des workers, l’écriture des artefacts et le reporting.
|
||||
- l’adaptateur de transport gère la configuration Gateway, l’état de préparation, l’observation des entrées et sorties, les actions de transport et l’état de transport normalisé.
|
||||
- les fichiers de scénarios Markdown sous `qa/scenarios/` définissent l’exécution du test ; `qa-lab` fournit la surface d’exécution réutilisable qui les exécute.
|
||||
- `qa-lab` possède l’exécution générique des scénarios, la concurrence des workers, l’écriture des artefacts et les rapports.
|
||||
- l’adaptateur de transport possède la configuration Gateway, l’état prêt, l’observation entrante et sortante, les actions de transport et l’état de transport normalisé.
|
||||
- les fichiers de scénarios Markdown sous `qa/scenarios/` définissent l’exécution de test ; `qa-lab` fournit la surface d’exécution réutilisable qui les exécute.
|
||||
|
||||
Les consignes d’adoption destinées aux mainteneurs pour les nouveaux adaptateurs de canal se trouvent dans
|
||||
Les directives d’adoption destinées aux mainteneurs pour les nouveaux adaptateurs de canal se trouvent dans
|
||||
[Testing](/fr/help/testing#adding-a-channel-to-qa).
|
||||
|
||||
## Rapports
|
||||
@ -181,10 +197,10 @@ Le rapport doit répondre aux questions suivantes :
|
||||
- Ce qui a fonctionné
|
||||
- Ce qui a échoué
|
||||
- Ce qui est resté bloqué
|
||||
- Quels scénarios de suivi valent la peine d’être ajoutés
|
||||
- Quels scénarios de suivi méritent d’être ajoutés
|
||||
|
||||
Pour les vérifications de caractère et de style, exécutez le même scénario sur plusieurs
|
||||
références de modèles en direct et écrivez un rapport Markdown évalué :
|
||||
Pour les vérifications de caractère et de style, exécutez le même scénario sur plusieurs références de modèles live
|
||||
et écrivez un rapport Markdown évalué :
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa character-eval \
|
||||
@ -203,36 +219,36 @@ pnpm openclaw qa character-eval \
|
||||
--judge-concurrency 16
|
||||
```
|
||||
|
||||
La commande exécute des processus enfants Gateway QA locaux, pas Docker. Les scénarios d’évaluation de caractère
|
||||
doivent définir la persona via `SOUL.md`, puis exécuter des tours utilisateur ordinaires
|
||||
comme la discussion, l’aide sur l’espace de travail et de petites tâches sur des fichiers. Le
|
||||
modèle candidat ne doit pas être informé qu’il est en cours d’évaluation. La commande préserve chaque
|
||||
transcription complète, enregistre des statistiques d’exécution de base, puis demande aux modèles juges en mode rapide avec
|
||||
un raisonnement `xhigh` de classer les exécutions selon leur naturel, leur ambiance et leur humour.
|
||||
Utilisez `--blind-judge-models` lors de la comparaison de fournisseurs : l’invite du juge reçoit toujours
|
||||
chaque transcription et le statut d’exécution, mais les références candidates sont remplacées par des
|
||||
étiquettes neutres telles que `candidate-01` ; le rapport réassocie les classements aux références réelles après
|
||||
La commande exécute des processus enfants Gateway QA locaux, pas Docker. Les
|
||||
scénarios d’évaluation de caractère doivent définir la persona via `SOUL.md`, puis exécuter des tours utilisateur
|
||||
ordinaires tels que la conversation, l’aide sur l’espace de travail et de petites tâches sur des fichiers. Le modèle
|
||||
candidat ne doit pas être informé qu’il est en cours d’évaluation. La commande conserve chaque
|
||||
transcription complète, enregistre les statistiques d’exécution de base, puis demande aux modèles juges en mode rapide avec
|
||||
un raisonnement `xhigh` de classer les exécutions selon le naturel, l’ambiance et l’humour.
|
||||
Utilisez `--blind-judge-models` lors de la comparaison entre fournisseurs : l’invite du juge reçoit toujours
|
||||
chaque transcription et l’état d’exécution, mais les références candidates sont remplacées par des
|
||||
étiquettes neutres telles que `candidate-01` ; le rapport réassocie les classements aux vraies références après
|
||||
l’analyse.
|
||||
Les exécutions candidates utilisent par défaut le niveau de réflexion `high`, avec `xhigh` pour les modèles OpenAI qui
|
||||
Les exécutions candidates utilisent par défaut un niveau de réflexion `high`, avec `xhigh` pour les modèles OpenAI qui
|
||||
le prennent en charge. Remplacez un candidat spécifique en ligne avec
|
||||
`--model provider/model,thinking=<level>`. `--thinking <level>` définit toujours un
|
||||
repli global, et l’ancienne forme `--model-thinking <provider/model=level>` est
|
||||
`--model provider/model,thinking=<level>`. `--thinking <level>` définit toujours une
|
||||
valeur de repli globale, et l’ancienne forme `--model-thinking <provider/model=level>` est
|
||||
conservée pour compatibilité.
|
||||
Les références candidates OpenAI utilisent par défaut le mode rapide afin que le traitement prioritaire soit utilisé lorsque
|
||||
le fournisseur le prend en charge. Ajoutez `,fast`, `,no-fast` ou `,fast=false` en ligne lorsqu’un
|
||||
candidat ou juge unique nécessite un remplacement. Passez `--fast` uniquement si vous souhaitez
|
||||
forcer le mode rapide pour chaque modèle candidat. Les durées des candidats et des juges sont
|
||||
enregistrées dans le rapport pour l’analyse comparative, mais les invites des juges indiquent explicitement
|
||||
de ne pas classer en fonction de la vitesse.
|
||||
Les références candidates OpenAI utilisent par défaut le mode rapide afin que le traitement prioritaire soit utilisé là
|
||||
où le fournisseur le prend en charge. Ajoutez `,fast`, `,no-fast` ou `,fast=false` en ligne lorsqu’un
|
||||
candidat ou juge particulier a besoin d’un remplacement. Passez `--fast` uniquement lorsque vous souhaitez
|
||||
forcer le mode rapide pour tous les modèles candidats. Les durées des candidats et des juges sont
|
||||
enregistrées dans le rapport pour l’analyse de benchmark, mais les invites des juges indiquent explicitement
|
||||
de ne pas classer selon la vitesse.
|
||||
Les exécutions des modèles candidats et juges utilisent toutes deux par défaut une concurrence de 16. Réduisez
|
||||
`--concurrency` ou `--judge-concurrency` lorsque les limites des fournisseurs ou la pression locale sur Gateway
|
||||
rendent une exécution trop bruyante.
|
||||
Lorsqu’aucun `--model` candidat n’est transmis, l’évaluation de caractère utilise par défaut
|
||||
`--concurrency` ou `--judge-concurrency` lorsque les limites du fournisseur ou la pression sur le Gateway local
|
||||
rendent une exécution trop bruitée.
|
||||
Lorsqu’aucun `--model` candidat n’est fourni, l’évaluation de caractère utilise par défaut
|
||||
`openai/gpt-5.4`, `openai/gpt-5.2`, `openai/gpt-5`, `anthropic/claude-opus-4-6`,
|
||||
`anthropic/claude-sonnet-4-6`, `zai/glm-5.1`,
|
||||
`moonshot/kimi-k2.5` et
|
||||
`google/gemini-3.1-pro-preview` lorsqu’aucun `--model` n’est transmis.
|
||||
Lorsqu’aucun `--judge-model` n’est transmis, les juges utilisent par défaut
|
||||
`moonshot/kimi-k2.5`, et
|
||||
`google/gemini-3.1-pro-preview` lorsqu’aucun `--model` n’est fourni.
|
||||
Lorsqu’aucun `--judge-model` n’est fourni, les juges utilisent par défaut
|
||||
`openai/gpt-5.4,thinking=xhigh,fast` et
|
||||
`anthropic/claude-opus-4-6,thinking=high`.
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,130 +1,122 @@
|
||||
---
|
||||
read_when:
|
||||
- Vous voyez l'avertissement OPENCLAW_PLUGIN_SDK_COMPAT_DEPRECATED
|
||||
- Vous voyez l'avertissement OPENCLAW_EXTENSION_API_DEPRECATED
|
||||
- Vous mettez à jour un plugin vers l'architecture de plugin moderne
|
||||
- Vous maintenez un plugin OpenClaw externe
|
||||
- Vous voyez l’avertissement `OPENCLAW_PLUGIN_SDK_COMPAT_DEPRECATED`
|
||||
- Vous voyez l’avertissement `OPENCLAW_EXTENSION_API_DEPRECATED`
|
||||
- Vous mettez à jour un Plugin vers l’architecture de Plugin moderne
|
||||
- Vous maintenez un Plugin OpenClaw externe
|
||||
sidebarTitle: Migrate to SDK
|
||||
summary: Migrez depuis la couche héritée de rétrocompatibilité vers le Plugin SDK moderne
|
||||
summary: Migrez de la couche de compatibilité descendante héritée vers le Plugin SDK moderne
|
||||
title: Migration du Plugin SDK
|
||||
x-i18n:
|
||||
generated_at: "2026-04-09T01:29:23Z"
|
||||
generated_at: "2026-04-17T06:57:32Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 60cbb6c8be30d17770887d490c14e3a4538563339a5206fb419e51e0558bbc07
|
||||
source_hash: f0283f949eec358a12a0709db846cde2a1509f28e5c60db6e563cb8a540b979d
|
||||
source_path: plugins/sdk-migration.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Migration du Plugin SDK
|
||||
|
||||
OpenClaw est passé d'une large couche de rétrocompatibilité à une architecture de plugin
|
||||
moderne avec des imports ciblés et documentés. Si votre plugin a été créé avant
|
||||
la nouvelle architecture, ce guide vous aidera à migrer.
|
||||
OpenClaw est passé d’une large couche de compatibilité descendante à une architecture de Plugin moderne avec des imports ciblés et documentés. Si votre Plugin a été conçu avant la nouvelle architecture, ce guide vous aide à le migrer.
|
||||
|
||||
## Ce qui change
|
||||
|
||||
L'ancien système de plugins fournissait deux surfaces très ouvertes qui permettaient aux plugins d'importer
|
||||
tout ce dont ils avaient besoin depuis un seul point d'entrée :
|
||||
L’ancien système de Plugin fournissait deux surfaces très ouvertes qui permettaient aux Plugins d’importer tout ce dont ils avaient besoin depuis un seul point d’entrée :
|
||||
|
||||
- **`openclaw/plugin-sdk/compat`** — un import unique qui réexportait des dizaines de
|
||||
helpers. Il a été introduit pour maintenir le fonctionnement des anciens plugins basés sur des hooks pendant que la
|
||||
nouvelle architecture de plugin était en cours de construction.
|
||||
- **`openclaw/extension-api`** — un pont qui donnait aux plugins un accès direct à
|
||||
des helpers côté hôte comme l'exécuteur d'agent embarqué.
|
||||
- **`openclaw/plugin-sdk/compat`** — un import unique qui réexportait des dizaines de helpers. Il a été introduit pour permettre aux anciens Plugins basés sur des hooks de continuer à fonctionner pendant la construction de la nouvelle architecture de Plugin.
|
||||
- **`openclaw/extension-api`** — un pont qui donnait aux Plugins un accès direct à des helpers côté hôte, comme l’exécuteur d’agent embarqué.
|
||||
|
||||
Ces deux surfaces sont maintenant **obsolètes**. Elles fonctionnent toujours à l'exécution, mais les nouveaux
|
||||
plugins ne doivent pas les utiliser, et les plugins existants doivent migrer avant que la prochaine
|
||||
version majeure ne les supprime.
|
||||
Ces deux surfaces sont désormais **dépréciées**. Elles fonctionnent toujours à l’exécution, mais les nouveaux Plugins ne doivent pas les utiliser, et les Plugins existants doivent migrer avant que la prochaine version majeure ne les supprime.
|
||||
|
||||
<Warning>
|
||||
La couche de rétrocompatibilité sera supprimée dans une future version majeure.
|
||||
Les plugins qui importent encore depuis ces surfaces ne fonctionneront plus lorsque cela arrivera.
|
||||
La couche de compatibilité descendante sera supprimée dans une future version majeure.
|
||||
Les Plugins qui importent encore depuis ces surfaces cesseront de fonctionner à ce moment-là.
|
||||
</Warning>
|
||||
|
||||
## Pourquoi cela a changé
|
||||
|
||||
L'ancienne approche causait des problèmes :
|
||||
L’ancienne approche causait des problèmes :
|
||||
|
||||
- **Démarrage lent** — importer un helper chargeait des dizaines de modules sans rapport
|
||||
- **Dépendances circulaires** — les réexportations larges facilitaient la création de cycles d'import
|
||||
- **Surface d'API floue** — il n'y avait aucun moyen de distinguer quels exports étaient stables et lesquels étaient internes
|
||||
- **Démarrage lent** — l’import d’un helper chargeait des dizaines de modules sans lien
|
||||
- **Dépendances circulaires** — de larges réexportations facilitaient la création de cycles d’import
|
||||
- **Surface d’API peu claire** — il n’y avait aucun moyen de savoir quelles exportations étaient stables ou internes
|
||||
|
||||
Le Plugin SDK moderne corrige cela : chaque chemin d'import (`openclaw/plugin-sdk/\<subpath\>`)
|
||||
est un petit module autonome avec une finalité claire et un contrat documenté.
|
||||
Le Plugin SDK moderne corrige cela : chaque chemin d’import (`openclaw/plugin-sdk/\<subpath\>`)
|
||||
est un petit module autonome avec un objectif clair et un contrat documenté.
|
||||
|
||||
Les interfaces de commodité provider héritées pour les canaux intégrés ont également disparu. Les imports
|
||||
Les couches de commodité héritées pour les providers des canaux groupés ont également disparu. Les imports
|
||||
tels que `openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
|
||||
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`,
|
||||
les interfaces helpers de marque de canal, ainsi que
|
||||
`openclaw/plugin-sdk/telegram-core` étaient des raccourcis privés du mono-repo, pas
|
||||
des contrats de plugin stables. Utilisez plutôt des sous-chemins SDK génériques et étroits. À l'intérieur de l'
|
||||
espace de travail du plugin intégré, conservez les helpers détenus par le provider dans l'
|
||||
`api.ts` ou `runtime-api.ts` de ce plugin.
|
||||
les couches de helpers associées à une marque de canal, et
|
||||
`openclaw/plugin-sdk/telegram-core` étaient des raccourcis privés du mono-repo, et non
|
||||
des contrats de Plugin stables. Utilisez à la place des sous-chemins génériques étroits du SDK. Dans l’espace de travail
|
||||
des Plugins groupés, conservez les helpers appartenant au provider dans le
|
||||
`api.ts` ou le `runtime-api.ts` propre à ce Plugin.
|
||||
|
||||
Exemples actuels de providers intégrés :
|
||||
Exemples actuels de providers groupés :
|
||||
|
||||
- Anthropic conserve les helpers de flux spécifiques à Claude dans sa propre interface `api.ts` /
|
||||
- Anthropic conserve les helpers de flux spécifiques à Claude dans sa propre couche `api.ts` /
|
||||
`contract-api.ts`
|
||||
- OpenAI conserve les builders de provider, les helpers de modèle par défaut et les builders de provider temps réel
|
||||
dans son propre `api.ts`
|
||||
- OpenRouter conserve le builder de provider ainsi que les helpers d'onboarding/configuration dans son propre
|
||||
- OpenAI conserve les builders de provider, les helpers de modèle par défaut et les builders de provider
|
||||
temps réel dans son propre `api.ts`
|
||||
- OpenRouter conserve le builder de provider et les helpers d’onboarding/configuration dans son propre
|
||||
`api.ts`
|
||||
|
||||
## Comment migrer
|
||||
|
||||
<Steps>
|
||||
<Step title="Migrer les gestionnaires approval-native vers les faits de capacité">
|
||||
Les plugins de canal capables d'approbation exposent désormais le comportement d'approbation natif via
|
||||
`approvalCapability.nativeRuntime` ainsi que le registre partagé de contexte d'exécution.
|
||||
<Step title="Migrer les gestionnaires natifs d’approbation vers des faits de capacité">
|
||||
Les Plugins de canal capables de gérer les approbations exposent désormais le comportement d’approbation natif via
|
||||
`approvalCapability.nativeRuntime` ainsi que le registre partagé de contexte d’exécution.
|
||||
|
||||
Changements clés :
|
||||
Principaux changements :
|
||||
|
||||
- Remplacez `approvalCapability.handler.loadRuntime(...)` par
|
||||
`approvalCapability.nativeRuntime`
|
||||
- Déplacez l'authentification/la livraison spécifiques aux approbations hors du câblage hérité `plugin.auth` /
|
||||
- Déplacez l’authentification/la distribution spécifiques aux approbations hors de l’ancien câblage `plugin.auth` /
|
||||
`plugin.approvals` vers `approvalCapability`
|
||||
- `ChannelPlugin.approvals` a été supprimé du contrat public du plugin de canal ;
|
||||
- `ChannelPlugin.approvals` a été supprimé du contrat public du Plugin de canal ;
|
||||
déplacez les champs delivery/native/render vers `approvalCapability`
|
||||
- `plugin.auth` reste réservé aux flux de connexion/déconnexion du canal ; les hooks d'authentification
|
||||
d'approbation qui s'y trouvent ne sont plus lus par le cœur
|
||||
- Enregistrez les objets d'exécution détenus par le canal tels que clients, jetons ou applications Bolt
|
||||
via `openclaw/plugin-sdk/channel-runtime-context`
|
||||
- N'envoyez pas d'avis de reroutage détenus par le plugin depuis des gestionnaires d'approbation natifs ;
|
||||
le cœur gère désormais les avis « routé ailleurs » à partir des résultats de livraison réels
|
||||
- Lors du passage de `channelRuntime` à `createChannelManager(...)`, fournissez une
|
||||
vraie surface `createPluginRuntime().channel`. Les stubs partiels sont rejetés.
|
||||
- `plugin.auth` reste utilisé uniquement pour les flux de connexion/déconnexion des canaux ; les hooks
|
||||
d’authentification des approbations qui s’y trouvent ne sont plus lus par le core
|
||||
- Enregistrez les objets d’exécution appartenant au canal, comme les clients, jetons ou applications
|
||||
Bolt, via `openclaw/plugin-sdk/channel-runtime-context`
|
||||
- N’envoyez pas d’avis de réacheminement appartenant au Plugin depuis les gestionnaires d’approbation natifs ;
|
||||
le core gère désormais les avis « acheminé ailleurs » à partir des résultats réels de distribution
|
||||
- Lors du passage de `channelRuntime` à `createChannelManager(...)`, fournissez une vraie
|
||||
surface `createPluginRuntime().channel`. Les stubs partiels sont rejetés.
|
||||
|
||||
Voir `/plugins/sdk-channel-plugins` pour la disposition actuelle de la
|
||||
capacité d'approbation.
|
||||
capacité d’approbation.
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Auditer le comportement de repli du wrapper Windows">
|
||||
Si votre plugin utilise `openclaw/plugin-sdk/windows-spawn`, les wrappers Windows
|
||||
`.cmd`/`.bat` non résolus échouent désormais de manière fermée sauf si vous passez explicitement
|
||||
Si votre Plugin utilise `openclaw/plugin-sdk/windows-spawn`, les wrappers Windows
|
||||
`.cmd`/`.bat` non résolus échouent désormais de manière stricte, sauf si vous transmettez explicitement
|
||||
`allowShellFallback: true`.
|
||||
|
||||
```typescript
|
||||
// Avant
|
||||
// Before
|
||||
const program = applyWindowsSpawnProgramPolicy({ candidate });
|
||||
|
||||
// Après
|
||||
// After
|
||||
const program = applyWindowsSpawnProgramPolicy({
|
||||
candidate,
|
||||
// Définissez ceci uniquement pour les appelants de compatibilité de confiance qui
|
||||
// acceptent intentionnellement le repli via le shell.
|
||||
// Only set this for trusted compatibility callers that intentionally
|
||||
// accept shell-mediated fallback.
|
||||
allowShellFallback: true,
|
||||
});
|
||||
```
|
||||
|
||||
Si votre appelant ne repose pas intentionnellement sur un repli shell, ne définissez pas
|
||||
`allowShellFallback` et gérez plutôt l'erreur levée.
|
||||
Si votre appelant ne dépend pas intentionnellement du repli via shell, ne définissez pas
|
||||
`allowShellFallback` et gérez plutôt l’erreur levée.
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Trouver les imports obsolètes">
|
||||
Recherchez dans votre plugin les imports depuis l'une ou l'autre des surfaces obsolètes :
|
||||
<Step title="Trouver les imports dépréciés">
|
||||
Recherchez dans votre Plugin les imports provenant de l’une ou l’autre surface dépréciée :
|
||||
|
||||
```bash
|
||||
grep -r "plugin-sdk/compat" my-plugin/
|
||||
@ -134,35 +126,35 @@ Exemples actuels de providers intégrés :
|
||||
</Step>
|
||||
|
||||
<Step title="Remplacer par des imports ciblés">
|
||||
Chaque export de l'ancienne surface correspond à un chemin d'import moderne spécifique :
|
||||
Chaque export de l’ancienne surface correspond à un chemin d’import moderne spécifique :
|
||||
|
||||
```typescript
|
||||
// Avant (couche de rétrocompatibilité obsolète)
|
||||
// Before (deprecated backwards-compatibility layer)
|
||||
import {
|
||||
createChannelReplyPipeline,
|
||||
createPluginRuntimeStore,
|
||||
resolveControlCommandGate,
|
||||
} from "openclaw/plugin-sdk/compat";
|
||||
|
||||
// Après (imports modernes ciblés)
|
||||
// After (modern focused imports)
|
||||
import { createChannelReplyPipeline } from "openclaw/plugin-sdk/channel-reply-pipeline";
|
||||
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
|
||||
import { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth";
|
||||
```
|
||||
|
||||
Pour les helpers côté hôte, utilisez le runtime de plugin injecté au lieu d'importer
|
||||
Pour les helpers côté hôte, utilisez le runtime de Plugin injecté au lieu d’importer
|
||||
directement :
|
||||
|
||||
```typescript
|
||||
// Avant (pont extension-api obsolète)
|
||||
// Before (deprecated extension-api bridge)
|
||||
import { runEmbeddedPiAgent } from "openclaw/extension-api";
|
||||
const result = await runEmbeddedPiAgent({ sessionId, prompt });
|
||||
|
||||
// Après (runtime injecté)
|
||||
// After (injected runtime)
|
||||
const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt });
|
||||
```
|
||||
|
||||
Le même modèle s'applique aux autres helpers de pont hérités :
|
||||
Le même modèle s’applique aux autres helpers hérités du pont :
|
||||
|
||||
| Ancien import | Équivalent moderne |
|
||||
| --- | --- |
|
||||
@ -172,7 +164,7 @@ Exemples actuels de providers intégrés :
|
||||
| `resolveThinkingDefault` | `api.runtime.agent.resolveThinkingDefault` |
|
||||
| `resolveAgentTimeoutMs` | `api.runtime.agent.resolveAgentTimeoutMs` |
|
||||
| `ensureAgentWorkspace` | `api.runtime.agent.ensureAgentWorkspace` |
|
||||
| helpers de magasin de session | `api.runtime.agent.session.*` |
|
||||
| helpers du stockage de session | `api.runtime.agent.session.*` |
|
||||
|
||||
</Step>
|
||||
|
||||
@ -184,227 +176,227 @@ Exemples actuels de providers intégrés :
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Référence des chemins d'import
|
||||
## Référence des chemins d’import
|
||||
|
||||
<Accordion title="Tableau des chemins d'import courants">
|
||||
| Chemin d'import | Finalité | Exports clés |
|
||||
<Accordion title="Tableau des chemins d’import courants">
|
||||
| Chemin d’import | Objectif | Exportations clés |
|
||||
| --- | --- | --- |
|
||||
| `plugin-sdk/plugin-entry` | Helper canonique de point d'entrée de plugin | `definePluginEntry` |
|
||||
| `plugin-sdk/core` | Réexportation parapluie héritée pour les définitions/builders d'entrée de canal | `defineChannelPluginEntry`, `createChatChannelPlugin` |
|
||||
| `plugin-sdk/config-schema` | Export du schéma de configuration racine | `OpenClawSchema` |
|
||||
| `plugin-sdk/provider-entry` | Helper de point d'entrée de provider unique | `defineSingleProviderPluginEntry` |
|
||||
| `plugin-sdk/channel-core` | Définitions et builders ciblés de point d'entrée de canal | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
|
||||
| `plugin-sdk/setup` | Helpers partagés pour l'assistant de configuration | Prompts de liste d'autorisation, builders d'état de configuration |
|
||||
| `plugin-sdk/setup-runtime` | Helpers d'exécution au moment de la configuration | Adaptateurs de patch de configuration sûrs à importer, helpers de notes de recherche, `promptResolvedAllowFrom`, `splitSetupEntries`, proxys de configuration déléguée |
|
||||
| `plugin-sdk/setup-adapter-runtime` | Helpers d'adaptateur de configuration | `createEnvPatchedAccountSetupAdapter` |
|
||||
| `plugin-sdk/setup-tools` | Helpers d'outillage de configuration | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
|
||||
| `plugin-sdk/account-core` | Helpers multi-comptes | Helpers de liste/configuration/contrôle d'action de compte |
|
||||
| `plugin-sdk/account-id` | Helpers d'ID de compte | `DEFAULT_ACCOUNT_ID`, normalisation d'ID de compte |
|
||||
| `plugin-sdk/plugin-entry` | Helper d’entrée de Plugin canonique | `definePluginEntry` |
|
||||
| `plugin-sdk/core` | Réexportation parapluie héritée pour les définitions/builders d’entrée de canal | `defineChannelPluginEntry`, `createChatChannelPlugin` |
|
||||
| `plugin-sdk/config-schema` | Exportation du schéma de configuration racine | `OpenClawSchema` |
|
||||
| `plugin-sdk/provider-entry` | Helper d’entrée à provider unique | `defineSingleProviderPluginEntry` |
|
||||
| `plugin-sdk/channel-core` | Définitions et builders d’entrée de canal ciblés | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
|
||||
| `plugin-sdk/setup` | Helpers partagés de l’assistant de configuration | Prompts de liste d’autorisation, builders d’état de configuration |
|
||||
| `plugin-sdk/setup-runtime` | Helpers d’exécution au moment de la configuration | Adaptateurs de patch de configuration sûrs à l’import, helpers de notes de recherche, `promptResolvedAllowFrom`, `splitSetupEntries`, proxys de configuration déléguée |
|
||||
| `plugin-sdk/setup-adapter-runtime` | Helpers d’adaptateur de configuration | `createEnvPatchedAccountSetupAdapter` |
|
||||
| `plugin-sdk/setup-tools` | Helpers d’outillage de configuration | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
|
||||
| `plugin-sdk/account-core` | Helpers multi-comptes | Helpers de liste/configuration/action gate de compte |
|
||||
| `plugin-sdk/account-id` | Helpers d’identifiant de compte | `DEFAULT_ACCOUNT_ID`, normalisation de l’identifiant de compte |
|
||||
| `plugin-sdk/account-resolution` | Helpers de recherche de compte | Helpers de recherche de compte + repli par défaut |
|
||||
| `plugin-sdk/account-helpers` | Helpers de compte étroits | Helpers de liste de compte/action de compte |
|
||||
| `plugin-sdk/channel-setup` | Adaptateurs d'assistant de configuration | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, ainsi que `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
|
||||
| `plugin-sdk/channel-pairing` | Primitives de pairage DM | `createChannelPairingController` |
|
||||
| `plugin-sdk/channel-reply-pipeline` | Câblage de préfixe de réponse + frappe | `createChannelReplyPipeline` |
|
||||
| `plugin-sdk/channel-config-helpers` | Fabriques d'adaptateurs de configuration | `createHybridChannelConfigAdapter` |
|
||||
| `plugin-sdk/account-helpers` | Helpers de compte ciblés | Helpers de liste de comptes/action de compte |
|
||||
| `plugin-sdk/channel-setup` | Adaptateurs d’assistant de configuration | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, plus `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
|
||||
| `plugin-sdk/channel-pairing` | Primitives d’appairage DM | `createChannelPairingController` |
|
||||
| `plugin-sdk/channel-reply-pipeline` | Câblage du préfixe de réponse + saisie | `createChannelReplyPipeline` |
|
||||
| `plugin-sdk/channel-config-helpers` | Fabriques d’adaptateurs de configuration | `createHybridChannelConfigAdapter` |
|
||||
| `plugin-sdk/channel-config-schema` | Builders de schéma de configuration | Types de schéma de configuration de canal |
|
||||
| `plugin-sdk/telegram-command-config` | Helpers de configuration de commande Telegram | Normalisation de nom de commande, réduction de description, validation des doublons/conflits |
|
||||
| `plugin-sdk/telegram-command-config` | Helpers de configuration des commandes Telegram | Normalisation des noms de commandes, réduction des descriptions, validation des doublons/conflits |
|
||||
| `plugin-sdk/channel-policy` | Résolution de politique groupe/DM | `resolveChannelGroupRequireMention` |
|
||||
| `plugin-sdk/channel-lifecycle` | Suivi d'état de compte | `createAccountStatusSink` |
|
||||
| `plugin-sdk/inbound-envelope` | Helpers d'enveloppe entrante | Helpers partagés de route + construction d'enveloppe |
|
||||
| `plugin-sdk/inbound-reply-dispatch` | Helpers de réponse entrante | Helpers partagés d'enregistrement et de distribution |
|
||||
| `plugin-sdk/messaging-targets` | Analyse des cibles de messagerie | Helpers d'analyse/correspondance de cible |
|
||||
| `plugin-sdk/outbound-media` | Helpers de média sortant | Chargement partagé de média sortant |
|
||||
| `plugin-sdk/outbound-runtime` | Helpers d'exécution sortante | Helpers de délégation d'identité/d'envoi sortants |
|
||||
| `plugin-sdk/thread-bindings-runtime` | Helpers de liaison de thread | Helpers de cycle de vie de liaison de thread et d'adaptateur |
|
||||
| `plugin-sdk/agent-media-payload` | Helpers hérités de charge utile média | Builder de charge utile média d'agent pour des dispositions de champs héritées |
|
||||
| `plugin-sdk/channel-runtime` | Shim de compatibilité obsolète | Utilitaires d'exécution de canal hérités uniquement |
|
||||
| `plugin-sdk/channel-send-result` | Types de résultat d'envoi | Types de résultat de réponse |
|
||||
| `plugin-sdk/runtime-store` | Stockage persistant de plugin | `createPluginRuntimeStore` |
|
||||
| `plugin-sdk/runtime` | Helpers d'exécution étendus | Helpers d'exécution/journalisation/sauvegarde/installation de plugin |
|
||||
| `plugin-sdk/runtime-env` | Helpers d'environnement d'exécution étroits | Helpers de logger/environnement d'exécution, délai, retry et backoff |
|
||||
| `plugin-sdk/plugin-runtime` | Helpers partagés d'exécution de plugin | Helpers de commandes/hooks/http/interactifs de plugin |
|
||||
| `plugin-sdk/hook-runtime` | Helpers de pipeline de hook | Helpers partagés de pipeline de hooks webhook/internes |
|
||||
| `plugin-sdk/lazy-runtime` | Helpers d'exécution différée | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` |
|
||||
| `plugin-sdk/process-runtime` | Helpers de processus | Helpers partagés d'exécution de commande |
|
||||
| `plugin-sdk/cli-runtime` | Helpers d'exécution CLI | Formatage de commandes, attentes, helpers de version |
|
||||
| `plugin-sdk/gateway-runtime` | Helpers de passerelle | Client de passerelle et helpers de patch d'état de canal |
|
||||
| `plugin-sdk/channel-lifecycle` | Suivi de l’état du compte | `createAccountStatusSink` |
|
||||
| `plugin-sdk/inbound-envelope` | Helpers d’enveloppe entrante | Helpers partagés de route + construction d’enveloppe |
|
||||
| `plugin-sdk/inbound-reply-dispatch` | Helpers de réponse entrante | Helpers partagés d’enregistrement et de répartition |
|
||||
| `plugin-sdk/messaging-targets` | Analyse des cibles de messagerie | Helpers d’analyse/correspondance de cibles |
|
||||
| `plugin-sdk/outbound-media` | Helpers de médias sortants | Chargement partagé des médias sortants |
|
||||
| `plugin-sdk/outbound-runtime` | Helpers d’exécution sortante | Helpers de délégation d’identité/d’envoi sortants |
|
||||
| `plugin-sdk/thread-bindings-runtime` | Helpers de liaison de fil | Helpers de cycle de vie et d’adaptateur de liaison de fil |
|
||||
| `plugin-sdk/agent-media-payload` | Helpers hérités de payload média | Builder de payload média d’agent pour les dispositions de champs héritées |
|
||||
| `plugin-sdk/channel-runtime` | Shim de compatibilité déprécié | Utilitaires hérités d’exécution de canal uniquement |
|
||||
| `plugin-sdk/channel-send-result` | Types de résultat d’envoi | Types de résultat de réponse |
|
||||
| `plugin-sdk/runtime-store` | Stockage persistant de Plugin | `createPluginRuntimeStore` |
|
||||
| `plugin-sdk/runtime` | Helpers d’exécution étendus | Helpers d’exécution/journalisation/sauvegarde/installation de Plugin |
|
||||
| `plugin-sdk/runtime-env` | Helpers ciblés d’environnement d’exécution | Logger/runtime env, helpers de délai d’expiration, de retry et de backoff |
|
||||
| `plugin-sdk/plugin-runtime` | Helpers partagés d’exécution de Plugin | Helpers de commandes/hooks/http/interactifs de Plugin |
|
||||
| `plugin-sdk/hook-runtime` | Helpers de pipeline de hook | Helpers partagés de pipeline de Webhook/hook interne |
|
||||
| `plugin-sdk/lazy-runtime` | Helpers d’exécution paresseuse | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` |
|
||||
| `plugin-sdk/process-runtime` | Helpers de processus | Helpers partagés d’exécution |
|
||||
| `plugin-sdk/cli-runtime` | Helpers d’exécution CLI | Formatage des commandes, attentes, helpers de version |
|
||||
| `plugin-sdk/gateway-runtime` | Helpers Gateway | Client Gateway et helpers de patch d’état de canal |
|
||||
| `plugin-sdk/config-runtime` | Helpers de configuration | Helpers de chargement/écriture de configuration |
|
||||
| `plugin-sdk/telegram-command-config` | Helpers de commande Telegram | Helpers de validation de commande Telegram stables en repli lorsque la surface de contrat Telegram intégrée n'est pas disponible |
|
||||
| `plugin-sdk/approval-runtime` | Helpers de prompt d'approbation | Charge utile d'approbation exec/plugin, helpers de capacité/profil d'approbation, helpers natifs de routage/runtime d'approbation |
|
||||
| `plugin-sdk/approval-auth-runtime` | Helpers d'authentification d'approbation | Résolution d'approbateur, authentification d'action dans le même chat |
|
||||
| `plugin-sdk/approval-client-runtime` | Helpers client d'approbation | Helpers natifs de profil/filtre d'approbation exec |
|
||||
| `plugin-sdk/approval-delivery-runtime` | Helpers de livraison d'approbation | Adaptateurs natifs de capacité/livraison d'approbation |
|
||||
| `plugin-sdk/approval-gateway-runtime` | Helpers de passerelle d'approbation | Helper partagé de résolution de passerelle d'approbation |
|
||||
| `plugin-sdk/approval-handler-adapter-runtime` | Helpers d'adaptateur d'approbation | Helpers légers de chargement d'adaptateur d'approbation natif pour points d'entrée de canal à chaud |
|
||||
| `plugin-sdk/approval-handler-runtime` | Helpers de gestionnaire d'approbation | Helpers d'exécution plus larges pour gestionnaire d'approbation ; préférez les interfaces plus étroites d'adaptateur/passerelle lorsqu'elles suffisent |
|
||||
| `plugin-sdk/approval-native-runtime` | Helpers de cible d'approbation | Helpers natifs de liaison cible/compte d'approbation |
|
||||
| `plugin-sdk/approval-reply-runtime` | Helpers de réponse d'approbation | Helpers de charge utile de réponse d'approbation exec/plugin |
|
||||
| `plugin-sdk/channel-runtime-context` | Helpers de contexte d'exécution de canal | Helpers génériques d'enregistrement/obtention/surveillance de contexte d'exécution de canal |
|
||||
| `plugin-sdk/security-runtime` | Helpers de sécurité | Helpers partagés de confiance, contrôle DM, contenu externe et collecte de secrets |
|
||||
| `plugin-sdk/ssrf-policy` | Helpers de politique SSRF | Helpers de liste d'autorisation d'hôte et de politique de réseau privé |
|
||||
| `plugin-sdk/ssrf-runtime` | Helpers d'exécution SSRF | Helpers de pinned-dispatcher, fetch protégé et politique SSRF |
|
||||
| `plugin-sdk/telegram-command-config` | Helpers de commandes Telegram | Helpers de validation de commandes Telegram stables en repli lorsque la surface de contrat Telegram groupée n’est pas disponible |
|
||||
| `plugin-sdk/approval-runtime` | Helpers de prompt d’approbation | Helpers de payload d’approbation exec/Plugin, de capacité/profil d’approbation, de routage/exécution d’approbation native |
|
||||
| `plugin-sdk/approval-auth-runtime` | Helpers d’authentification d’approbation | Résolution de l’approbateur, autorisation d’action dans le même chat |
|
||||
| `plugin-sdk/approval-client-runtime` | Helpers de client d’approbation | Helpers de profil/filtre d’approbation exec native |
|
||||
| `plugin-sdk/approval-delivery-runtime` | Helpers de distribution d’approbation | Adaptateurs de capacité/distribution d’approbation native |
|
||||
| `plugin-sdk/approval-gateway-runtime` | Helpers Gateway d’approbation | Helper partagé de résolution de Gateway d’approbation |
|
||||
| `plugin-sdk/approval-handler-adapter-runtime` | Helpers d’adaptateur d’approbation | Helpers légers de chargement d’adaptateur d’approbation native pour les points d’entrée de canal à chaud |
|
||||
| `plugin-sdk/approval-handler-runtime` | Helpers de gestionnaire d’approbation | Helpers plus étendus d’exécution de gestionnaire d’approbation ; préférez les couches adaptateur/Gateway plus ciblées lorsqu’elles suffisent |
|
||||
| `plugin-sdk/approval-native-runtime` | Helpers de cible d’approbation | Helpers natifs de cible d’approbation/liaison de compte |
|
||||
| `plugin-sdk/approval-reply-runtime` | Helpers de réponse d’approbation | Helpers de payload de réponse d’approbation exec/Plugin |
|
||||
| `plugin-sdk/channel-runtime-context` | Helpers de contexte d’exécution de canal | Helpers génériques d’enregistrement/lecture/surveillance du contexte d’exécution de canal |
|
||||
| `plugin-sdk/security-runtime` | Helpers de sécurité | Helpers partagés de confiance, de filtrage DM, de contenu externe et de collecte de secrets |
|
||||
| `plugin-sdk/ssrf-policy` | Helpers de politique SSRF | Helpers de liste d’autorisation d’hôte et de politique réseau privé |
|
||||
| `plugin-sdk/ssrf-runtime` | Helpers d’exécution SSRF | Répartiteur épinglé, fetch protégé, helpers de politique SSRF |
|
||||
| `plugin-sdk/collection-runtime` | Helpers de cache borné | `pruneMapToMaxSize` |
|
||||
| `plugin-sdk/diagnostic-runtime` | Helpers de contrôle diagnostic | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` |
|
||||
| `plugin-sdk/error-runtime` | Helpers de formatage d'erreur | `formatUncaughtError`, `isApprovalNotFoundError`, helpers de graphe d'erreur |
|
||||
| `plugin-sdk/fetch-runtime` | Helpers fetch/proxy encapsulés | `resolveFetch`, helpers de proxy |
|
||||
| `plugin-sdk/host-runtime` | Helpers de normalisation d'hôte | `normalizeHostname`, `normalizeScpRemoteHost` |
|
||||
| `plugin-sdk/diagnostic-runtime` | Helpers de filtrage diagnostique | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` |
|
||||
| `plugin-sdk/error-runtime` | Helpers de formatage des erreurs | `formatUncaughtError`, `isApprovalNotFoundError`, helpers de graphe d’erreurs |
|
||||
| `plugin-sdk/fetch-runtime` | Helpers de fetch/proxy encapsulés | `resolveFetch`, helpers de proxy |
|
||||
| `plugin-sdk/host-runtime` | Helpers de normalisation d’hôte | `normalizeHostname`, `normalizeScpRemoteHost` |
|
||||
| `plugin-sdk/retry-runtime` | Helpers de retry | `RetryConfig`, `retryAsync`, exécuteurs de politique |
|
||||
| `plugin-sdk/allow-from` | Formatage de liste d'autorisation | `formatAllowFromLowercase` |
|
||||
| `plugin-sdk/allowlist-resolution` | Mappage d'entrée de liste d'autorisation | `mapAllowlistResolutionInputs` |
|
||||
| `plugin-sdk/command-auth` | Contrôle de commande et helpers de surface de commande | `resolveControlCommandGate`, helpers d'autorisation d'expéditeur, helpers de registre de commandes |
|
||||
| `plugin-sdk/command-status` | Rendu d'état/d'aide des commandes | `buildCommandsMessage`, `buildCommandsMessagePaginated`, `buildHelpMessage` |
|
||||
| `plugin-sdk/secret-input` | Analyse d'entrée de secret | Helpers d'entrée de secret |
|
||||
| `plugin-sdk/webhook-ingress` | Helpers de requête webhook | Utilitaires de cible webhook |
|
||||
| `plugin-sdk/webhook-request-guards` | Helpers de protection du corps webhook | Helpers de lecture/limite de corps de requête |
|
||||
| `plugin-sdk/reply-runtime` | Runtime de réponse partagé | Distribution entrante, heartbeat, planificateur de réponse, découpage |
|
||||
| `plugin-sdk/reply-dispatch-runtime` | Helpers étroits de distribution de réponse | Helpers de finalisation + distribution provider |
|
||||
| `plugin-sdk/reply-history` | Helpers d'historique de réponse | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` |
|
||||
| `plugin-sdk/allow-from` | Formatage de liste d’autorisation | `formatAllowFromLowercase` |
|
||||
| `plugin-sdk/allowlist-resolution` | Mappage d’entrée de liste d’autorisation | `mapAllowlistResolutionInputs` |
|
||||
| `plugin-sdk/command-auth` | Filtrage des commandes et helpers de surface de commande | `resolveControlCommandGate`, helpers d’autorisation de l’expéditeur, helpers de registre de commandes |
|
||||
| `plugin-sdk/command-status` | Moteurs de rendu d’état/aide des commandes | `buildCommandsMessage`, `buildCommandsMessagePaginated`, `buildHelpMessage` |
|
||||
| `plugin-sdk/secret-input` | Analyse des entrées secrètes | Helpers d’entrée secrète |
|
||||
| `plugin-sdk/webhook-ingress` | Helpers de requête Webhook | Utilitaires de cible Webhook |
|
||||
| `plugin-sdk/webhook-request-guards` | Helpers de garde du corps de requête Webhook | Helpers de lecture/limitation du corps de requête |
|
||||
| `plugin-sdk/reply-runtime` | Exécution partagée des réponses | Répartition entrante, Heartbeat, planificateur de réponse, découpage |
|
||||
| `plugin-sdk/reply-dispatch-runtime` | Helpers ciblés de répartition des réponses | Helpers de finalisation + répartition provider |
|
||||
| `plugin-sdk/reply-history` | Helpers d’historique des réponses | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` |
|
||||
| `plugin-sdk/reply-reference` | Planification de référence de réponse | `createReplyReferencePlanner` |
|
||||
| `plugin-sdk/reply-chunking` | Helpers de découpage de réponse | Helpers de découpage texte/markdown |
|
||||
| `plugin-sdk/session-store-runtime` | Helpers de magasin de session | Helpers de chemin de magasin + updated-at |
|
||||
| `plugin-sdk/state-paths` | Helpers de chemins d'état | Helpers de répertoires d'état et OAuth |
|
||||
| `plugin-sdk/reply-chunking` | Helpers de découpage des réponses | Helpers de découpage texte/Markdown |
|
||||
| `plugin-sdk/session-store-runtime` | Helpers de stockage de session | Helpers de chemin de stockage + `updated-at` |
|
||||
| `plugin-sdk/state-paths` | Helpers de chemins d’état | Helpers de répertoire d’état et OAuth |
|
||||
| `plugin-sdk/routing` | Helpers de routage/clé de session | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`, helpers de normalisation de clé de session |
|
||||
| `plugin-sdk/status-helpers` | Helpers d'état de canal | Builders de résumé d'état de canal/compte, valeurs par défaut d'état runtime, helpers de métadonnées de problème |
|
||||
| `plugin-sdk/status-helpers` | Helpers d’état de canal | Builders de résumé d’état de canal/compte, valeurs par défaut d’état d’exécution, helpers de métadonnées d’incident |
|
||||
| `plugin-sdk/target-resolver-runtime` | Helpers de résolution de cible | Helpers partagés de résolution de cible |
|
||||
| `plugin-sdk/string-normalization-runtime` | Helpers de normalisation de chaîne | Helpers de normalisation slug/chaîne |
|
||||
| `plugin-sdk/request-url` | Helpers d'URL de requête | Extraction d'URL chaîne depuis des entrées de type requête |
|
||||
| `plugin-sdk/run-command` | Helpers de commande temporisée | Exécuteur de commande temporisée avec stdout/stderr normalisés |
|
||||
| `plugin-sdk/param-readers` | Lecteurs de paramètres | Lecteurs communs de paramètres d'outil/CLI |
|
||||
| `plugin-sdk/tool-payload` | Extraction de charge utile d'outil | Extraction de charges utiles normalisées depuis des objets de résultat d'outil |
|
||||
| `plugin-sdk/tool-send` | Extraction d'envoi d'outil | Extraction des champs de cible d'envoi canoniques depuis les arguments d'outil |
|
||||
| `plugin-sdk/temp-path` | Helpers de chemins temporaires | Helpers partagés de chemin de téléchargement temporaire |
|
||||
| `plugin-sdk/logging-core` | Helpers de journalisation | Logger de sous-système et helpers de masquage |
|
||||
| `plugin-sdk/markdown-table-runtime` | Helpers de tableau Markdown | Helpers de mode tableau Markdown |
|
||||
| `plugin-sdk/reply-payload` | Types de réponse de message | Types de charge utile de réponse |
|
||||
| `plugin-sdk/provider-setup` | Helpers de configuration sélectionnés pour providers locaux/autohébergés | Helpers de découverte/configuration de provider autohébergé |
|
||||
| `plugin-sdk/self-hosted-provider-setup` | Helpers ciblés de configuration de provider autohébergé compatible OpenAI | Les mêmes helpers de découverte/configuration de provider autohébergé |
|
||||
| `plugin-sdk/provider-auth-runtime` | Helpers d'authentification runtime de provider | Helpers de résolution runtime de clé API |
|
||||
| `plugin-sdk/provider-auth-api-key` | Helpers de configuration de clé API provider | Helpers d'onboarding/écriture de profil de clé API |
|
||||
| `plugin-sdk/provider-auth-result` | Helpers de résultat d'authentification provider | Builder standard de résultat d'authentification OAuth |
|
||||
| `plugin-sdk/provider-auth-login` | Helpers de connexion interactive provider | Helpers partagés de connexion interactive |
|
||||
| `plugin-sdk/provider-env-vars` | Helpers de variables d'environnement provider | Helpers de recherche de variables d'environnement d'authentification provider |
|
||||
| `plugin-sdk/provider-model-shared` | Helpers partagés de modèle/relecture provider | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, builders partagés de politique de relecture, helpers de point d'accès provider et helpers de normalisation d'ID de modèle |
|
||||
| `plugin-sdk/provider-catalog-shared` | Helpers partagés de catalogue provider | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
|
||||
| `plugin-sdk/provider-onboard` | Patches d'onboarding provider | Helpers de configuration d'onboarding |
|
||||
| `plugin-sdk/provider-http` | Helpers HTTP provider | Helpers génériques HTTP/capacités de point d'accès provider |
|
||||
| `plugin-sdk/provider-web-fetch` | Helpers web-fetch provider | Helpers d'enregistrement/cache de provider web-fetch |
|
||||
| `plugin-sdk/provider-web-search-config-contract` | Helpers de configuration de recherche web provider | Helpers étroits de configuration/identifiants de recherche web pour les providers qui n'ont pas besoin de câblage d'activation de plugin |
|
||||
| `plugin-sdk/provider-web-search-contract` | Helpers de contrat de recherche web provider | Helpers étroits de contrat de configuration/identifiants de recherche web tels que `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig`, et setters/getters d'identifiants à portée limitée |
|
||||
| `plugin-sdk/provider-web-search` | Helpers de recherche web provider | Helpers d'enregistrement/cache/runtime de provider de recherche web |
|
||||
| `plugin-sdk/provider-tools` | Helpers de compatibilité provider outil/schéma | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, nettoyage de schéma Gemini + diagnostics, et helpers de compatibilité xAI tels que `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
|
||||
| `plugin-sdk/provider-usage` | Helpers d'usage provider | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage`, et autres helpers d'usage provider |
|
||||
| `plugin-sdk/provider-stream` | Helpers d'encapsulation de flux provider | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, types d'encapsulation de flux, et helpers partagés d'encapsulation Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
|
||||
| `plugin-sdk/keyed-async-queue` | File async ordonnée | `KeyedAsyncQueue` |
|
||||
| `plugin-sdk/media-runtime` | Helpers média partagés | Helpers de récupération/transformation/stockage de média ainsi que builders de charge utile média |
|
||||
| `plugin-sdk/media-generation-runtime` | Helpers partagés de génération média | Helpers partagés de basculement, sélection de candidat, et messages de modèle manquant pour la génération d'image/vidéo/musique |
|
||||
| `plugin-sdk/media-understanding` | Helpers de compréhension média | Types de provider de compréhension média ainsi que exports de helpers image/audio côté provider |
|
||||
| `plugin-sdk/text-runtime` | Helpers texte partagés | Suppression de texte visible par l'assistant, helpers de rendu/découpage/tableau markdown, helpers de masquage, helpers de balises de directive, utilitaires de texte sûr, et helpers associés de texte/journalisation |
|
||||
| `plugin-sdk/string-normalization-runtime` | Helpers de normalisation de chaîne | Helpers de normalisation de slug/chaîne |
|
||||
| `plugin-sdk/request-url` | Helpers d’URL de requête | Extraire des URL sous forme de chaîne à partir d’entrées de type requête |
|
||||
| `plugin-sdk/run-command` | Helpers de commande chronométrée | Exécuteur de commande chronométrée avec stdout/stderr normalisés |
|
||||
| `plugin-sdk/param-readers` | Lecteurs de paramètres | Lecteurs courants de paramètres d’outil/CLI |
|
||||
| `plugin-sdk/tool-payload` | Extraction de payload d’outil | Extraire des payloads normalisés à partir d’objets de résultat d’outil |
|
||||
| `plugin-sdk/tool-send` | Extraction d’envoi d’outil | Extraire les champs canoniques de cible d’envoi à partir des arguments d’outil |
|
||||
| `plugin-sdk/temp-path` | Helpers de chemin temporaire | Helpers partagés de chemin de téléchargement temporaire |
|
||||
| `plugin-sdk/logging-core` | Helpers de journalisation | Logger de sous-système et helpers de rédaction |
|
||||
| `plugin-sdk/markdown-table-runtime` | Helpers de tableau Markdown | Helpers de mode de tableau Markdown |
|
||||
| `plugin-sdk/reply-payload` | Types de réponse de message | Types de payload de réponse |
|
||||
| `plugin-sdk/provider-setup` | Helpers de configuration local/self-hosted de provider organisés | Helpers de découverte/configuration de provider auto-hébergé |
|
||||
| `plugin-sdk/self-hosted-provider-setup` | Helpers ciblés de configuration de provider auto-hébergé compatible OpenAI | Les mêmes helpers de découverte/configuration de provider auto-hébergé |
|
||||
| `plugin-sdk/provider-auth-runtime` | Helpers d’authentification d’exécution du provider | Helpers de résolution de clé API à l’exécution |
|
||||
| `plugin-sdk/provider-auth-api-key` | Helpers de configuration de clé API du provider | Helpers d’onboarding/écriture de profil de clé API |
|
||||
| `plugin-sdk/provider-auth-result` | Helpers de résultat d’authentification du provider | Builder standard de résultat d’authentification OAuth |
|
||||
| `plugin-sdk/provider-auth-login` | Helpers de connexion interactive du provider | Helpers partagés de connexion interactive |
|
||||
| `plugin-sdk/provider-env-vars` | Helpers de variables d’environnement du provider | Helpers de recherche de variables d’environnement d’authentification du provider |
|
||||
| `plugin-sdk/provider-model-shared` | Helpers partagés de modèle/relecture du provider | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, builders partagés de politique de relecture, helpers de point de terminaison du provider et helpers de normalisation d’identifiant de modèle |
|
||||
| `plugin-sdk/provider-catalog-shared` | Helpers partagés du catalogue de providers | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
|
||||
| `plugin-sdk/provider-onboard` | Correctifs d’onboarding des providers | Helpers de configuration d’onboarding |
|
||||
| `plugin-sdk/provider-http` | Helpers HTTP des providers | Helpers génériques HTTP/capacités de point de terminaison des providers |
|
||||
| `plugin-sdk/provider-web-fetch` | Helpers de web-fetch des providers | Helpers d’enregistrement/de cache des providers de web-fetch |
|
||||
| `plugin-sdk/provider-web-search-config-contract` | Helpers de configuration de recherche web des providers | Helpers ciblés de configuration/d’identifiants de recherche web pour les providers qui n’ont pas besoin de câblage d’activation de Plugin |
|
||||
| `plugin-sdk/provider-web-search-contract` | Helpers de contrat de recherche web des providers | Helpers ciblés de contrat de configuration/d’identifiants de recherche web tels que `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` et setters/getters d’identifiants à portée limitée |
|
||||
| `plugin-sdk/provider-web-search` | Helpers de recherche web des providers | Helpers d’enregistrement/de cache/d’exécution des providers de recherche web |
|
||||
| `plugin-sdk/provider-tools` | Helpers de compatibilité outil/schéma des providers | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, nettoyage de schéma Gemini + diagnostics, et helpers de compatibilité xAI tels que `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
|
||||
| `plugin-sdk/provider-usage` | Helpers d’usage des providers | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage` et autres helpers d’usage des providers |
|
||||
| `plugin-sdk/provider-stream` | Helpers d’encapsulation de flux des providers | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, types d’encapsulation de flux, et helpers partagés d’encapsulation Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
|
||||
| `plugin-sdk/keyed-async-queue` | File asynchrone ordonnée | `KeyedAsyncQueue` |
|
||||
| `plugin-sdk/media-runtime` | Helpers média partagés | Helpers de récupération/transformation/stockage de média ainsi que builders de payload média |
|
||||
| `plugin-sdk/media-generation-runtime` | Helpers partagés de génération de média | Helpers partagés de basculement, sélection de candidats et messages de modèle manquant pour la génération d’image/vidéo/musique |
|
||||
| `plugin-sdk/media-understanding` | Helpers de compréhension des médias | Types de providers de compréhension des médias ainsi qu’exports de helpers image/audio destinés aux providers |
|
||||
| `plugin-sdk/text-runtime` | Helpers texte partagés | Suppression du texte visible par l’assistant, helpers de rendu/découpage/tableau Markdown, helpers de rédaction, helpers de balises de directive, utilitaires de texte sûr et helpers associés de texte/journalisation |
|
||||
| `plugin-sdk/text-chunking` | Helpers de découpage de texte | Helper de découpage de texte sortant |
|
||||
| `plugin-sdk/speech` | Helpers de parole | Types de provider speech ainsi que helpers côté provider de directive, registre et validation |
|
||||
| `plugin-sdk/speech-core` | Cœur speech partagé | Types de provider speech, registre, directives, normalisation |
|
||||
| `plugin-sdk/realtime-transcription` | Helpers de transcription temps réel | Helpers de types provider et de registre |
|
||||
| `plugin-sdk/realtime-voice` | Helpers de voix temps réel | Helpers de types provider et de registre |
|
||||
| `plugin-sdk/image-generation-core` | Cœur partagé de génération d'image | Helpers de types, basculement, authentification et registre pour génération d'image |
|
||||
| `plugin-sdk/music-generation` | Helpers de génération musicale | Types de provider/requête/résultat pour génération musicale |
|
||||
| `plugin-sdk/music-generation-core` | Cœur partagé de génération musicale | Types de génération musicale, helpers de basculement, recherche de provider et analyse de référence de modèle |
|
||||
| `plugin-sdk/video-generation` | Helpers de génération vidéo | Types de provider/requête/résultat pour génération vidéo |
|
||||
| `plugin-sdk/video-generation-core` | Cœur partagé de génération vidéo | Types de génération vidéo, helpers de basculement, recherche de provider et analyse de référence de modèle |
|
||||
| `plugin-sdk/interactive-runtime` | Helpers de réponse interactive | Normalisation/réduction de charge utile de réponse interactive |
|
||||
| `plugin-sdk/channel-config-primitives` | Primitives de configuration de canal | Primitives étroites de schéma de configuration de canal |
|
||||
| `plugin-sdk/channel-config-writes` | Helpers d'écriture de configuration de canal | Helpers d'autorisation d'écriture de configuration de canal |
|
||||
| `plugin-sdk/channel-plugin-common` | Prélude de canal partagé | Exports partagés de prélude de plugin de canal |
|
||||
| `plugin-sdk/channel-status` | Helpers d'état de canal | Helpers partagés d'instantané/résumé d'état de canal |
|
||||
| `plugin-sdk/allowlist-config-edit` | Helpers de configuration de liste d'autorisation | Helpers de lecture/édition de configuration de liste d'autorisation |
|
||||
| `plugin-sdk/group-access` | Helpers d'accès de groupe | Helpers partagés de décision d'accès de groupe |
|
||||
| `plugin-sdk/direct-dm` | Helpers de DM direct | Helpers partagés d'authentification/protection de DM direct |
|
||||
| `plugin-sdk/extension-shared` | Helpers d'extension partagés | Primitives helpers de canal passif/état et proxy ambiant |
|
||||
| `plugin-sdk/webhook-targets` | Helpers de cibles webhook | Registre de cibles webhook et helpers d'installation de route |
|
||||
| `plugin-sdk/webhook-path` | Helpers de chemin webhook | Helpers de normalisation de chemin webhook |
|
||||
| `plugin-sdk/speech` | Helpers Speech | Types de providers Speech ainsi qu’helpers de directive, de registre et de validation destinés aux providers |
|
||||
| `plugin-sdk/speech-core` | Noyau Speech partagé | Types de providers Speech, registre, directives, normalisation |
|
||||
| `plugin-sdk/realtime-transcription` | Helpers de transcription en temps réel | Types de providers et helpers de registre |
|
||||
| `plugin-sdk/realtime-voice` | Helpers de voix en temps réel | Types de providers et helpers de registre |
|
||||
| `plugin-sdk/image-generation-core` | Noyau partagé de génération d’images | Types, helpers de basculement, d’authentification et de registre pour la génération d’images |
|
||||
| `plugin-sdk/music-generation` | Helpers de génération de musique | Types de provider/requête/résultat pour la génération de musique |
|
||||
| `plugin-sdk/music-generation-core` | Noyau partagé de génération de musique | Types de génération de musique, helpers de basculement, recherche de provider et analyse de model-ref |
|
||||
| `plugin-sdk/video-generation` | Helpers de génération de vidéo | Types de provider/requête/résultat pour la génération de vidéo |
|
||||
| `plugin-sdk/video-generation-core` | Noyau partagé de génération de vidéo | Types de génération de vidéo, helpers de basculement, recherche de provider et analyse de model-ref |
|
||||
| `plugin-sdk/interactive-runtime` | Helpers de réponse interactive | Normalisation/réduction du payload de réponse interactive |
|
||||
| `plugin-sdk/channel-config-primitives` | Primitives de configuration de canal | Primitives ciblées de schéma de configuration de canal |
|
||||
| `plugin-sdk/channel-config-writes` | Helpers d’écriture de configuration de canal | Helpers d’autorisation d’écriture de configuration de canal |
|
||||
| `plugin-sdk/channel-plugin-common` | Prélude de canal partagé | Exports partagés du prélude de Plugin de canal |
|
||||
| `plugin-sdk/channel-status` | Helpers d’état de canal | Helpers partagés d’instantané/de résumé de l’état du canal |
|
||||
| `plugin-sdk/allowlist-config-edit` | Helpers de configuration de liste d’autorisation | Helpers d’édition/de lecture de configuration de liste d’autorisation |
|
||||
| `plugin-sdk/group-access` | Helpers d’accès de groupe | Helpers partagés de décision d’accès de groupe |
|
||||
| `plugin-sdk/direct-dm` | Helpers de DM direct | Helpers partagés d’authentification/de garde pour DM direct |
|
||||
| `plugin-sdk/extension-shared` | Helpers d’extension partagés | Primitives de helper pour canal passif/état et proxy ambiant |
|
||||
| `plugin-sdk/webhook-targets` | Helpers de cible Webhook | Helpers de registre de cible Webhook et d’installation de route |
|
||||
| `plugin-sdk/webhook-path` | Helpers de chemin Webhook | Helpers de normalisation de chemin Webhook |
|
||||
| `plugin-sdk/web-media` | Helpers média web partagés | Helpers de chargement de média distant/local |
|
||||
| `plugin-sdk/zod` | Réexportation Zod | `zod` réexporté pour les consommateurs du Plugin SDK |
|
||||
| `plugin-sdk/memory-core` | Helpers memory-core intégrés | Surface helper de gestionnaire/configuration/fichier/CLI mémoire |
|
||||
| `plugin-sdk/memory-core-engine-runtime` | Façade runtime du moteur mémoire | Façade runtime d'indexation/recherche mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-foundation` | Moteur foundation hôte mémoire | Exports du moteur foundation hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-embeddings` | Moteur d'embeddings hôte mémoire | Exports du moteur d'embeddings hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-qmd` | Moteur QMD hôte mémoire | Exports du moteur QMD hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-storage` | Moteur de stockage hôte mémoire | Exports du moteur de stockage hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-multimodal` | Helpers multimodaux hôte mémoire | Helpers multimodaux hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-query` | Helpers de requête hôte mémoire | Helpers de requête hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-secret` | Helpers de secret hôte mémoire | Helpers de secret hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-events` | Helpers de journal d'événements hôte mémoire | Helpers de journal d'événements hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-status` | Helpers d'état hôte mémoire | Helpers d'état hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-cli` | Runtime CLI hôte mémoire | Helpers runtime CLI hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-core` | Runtime cœur hôte mémoire | Helpers runtime cœur hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-files` | Helpers fichier/runtime hôte mémoire | Helpers fichier/runtime hôte mémoire |
|
||||
| `plugin-sdk/memory-host-core` | Alias runtime cœur hôte mémoire | Alias neutre vis-à-vis du fournisseur pour les helpers runtime cœur hôte mémoire |
|
||||
| `plugin-sdk/memory-host-events` | Alias journal d'événements hôte mémoire | Alias neutre vis-à-vis du fournisseur pour les helpers de journal d'événements hôte mémoire |
|
||||
| `plugin-sdk/memory-host-files` | Alias fichier/runtime hôte mémoire | Alias neutre vis-à-vis du fournisseur pour les helpers fichier/runtime hôte mémoire |
|
||||
| `plugin-sdk/memory-host-markdown` | Helpers markdown géré | Helpers partagés de markdown géré pour les plugins adjacents à la mémoire |
|
||||
| `plugin-sdk/memory-host-search` | Façade de recherche de mémoire active | Façade runtime différée du gestionnaire de recherche de mémoire active |
|
||||
| `plugin-sdk/memory-host-status` | Alias d'état hôte mémoire | Alias neutre vis-à-vis du fournisseur pour les helpers d'état hôte mémoire |
|
||||
| `plugin-sdk/memory-lancedb` | Helpers memory-lancedb intégrés | Surface helper memory-lancedb |
|
||||
| `plugin-sdk/testing` | Utilitaires de test | Helpers et mocks de test |
|
||||
| `plugin-sdk/zod` | Réexportation de Zod | `zod` réexporté pour les consommateurs du Plugin SDK |
|
||||
| `plugin-sdk/memory-core` | Helpers groupés memory-core | Surface de helpers pour le gestionnaire/configuration/fichier/CLI de la mémoire |
|
||||
| `plugin-sdk/memory-core-engine-runtime` | Façade d’exécution du moteur mémoire | Façade d’exécution d’indexation/recherche mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-foundation` | Moteur de fondation hôte de la mémoire | Exports du moteur de fondation hôte de la mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-embeddings` | Moteur d’embeddings hôte de la mémoire | Contrats d’embeddings mémoire, accès au registre, provider local et helpers génériques de lot/distant ; les providers distants concrets résident dans leurs Plugins propriétaires |
|
||||
| `plugin-sdk/memory-core-host-engine-qmd` | Moteur QMD hôte de la mémoire | Exports du moteur QMD hôte de la mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-storage` | Moteur de stockage hôte de la mémoire | Exports du moteur de stockage hôte de la mémoire |
|
||||
| `plugin-sdk/memory-core-host-multimodal` | Helpers multimodaux hôte de la mémoire | Helpers multimodaux hôte de la mémoire |
|
||||
| `plugin-sdk/memory-core-host-query` | Helpers de requête hôte de la mémoire | Helpers de requête hôte de la mémoire |
|
||||
| `plugin-sdk/memory-core-host-secret` | Helpers de secret hôte de la mémoire | Helpers de secret hôte de la mémoire |
|
||||
| `plugin-sdk/memory-core-host-events` | Helpers de journal d’événements hôte de la mémoire | Helpers de journal d’événements hôte de la mémoire |
|
||||
| `plugin-sdk/memory-core-host-status` | Helpers d’état hôte de la mémoire | Helpers d’état hôte de la mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-cli` | Exécution CLI hôte de la mémoire | Helpers d’exécution CLI hôte de la mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-core` | Exécution core hôte de la mémoire | Helpers d’exécution core hôte de la mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-files` | Helpers de fichier/d’exécution hôte de la mémoire | Helpers de fichier/d’exécution hôte de la mémoire |
|
||||
| `plugin-sdk/memory-host-core` | Alias d’exécution core hôte de la mémoire | Alias neutre vis-à-vis du fournisseur pour les helpers d’exécution core hôte de la mémoire |
|
||||
| `plugin-sdk/memory-host-events` | Alias de journal d’événements hôte de la mémoire | Alias neutre vis-à-vis du fournisseur pour les helpers de journal d’événements hôte de la mémoire |
|
||||
| `plugin-sdk/memory-host-files` | Alias de fichier/d’exécution hôte de la mémoire | Alias neutre vis-à-vis du fournisseur pour les helpers de fichier/d’exécution hôte de la mémoire |
|
||||
| `plugin-sdk/memory-host-markdown` | Helpers de Markdown géré | Helpers partagés de Markdown géré pour les Plugins adjacents à la mémoire |
|
||||
| `plugin-sdk/memory-host-search` | Façade de recherche Active Memory | Façade d’exécution paresseuse du gestionnaire de recherche Active Memory |
|
||||
| `plugin-sdk/memory-host-status` | Alias d’état hôte de la mémoire | Alias neutre vis-à-vis du fournisseur pour les helpers d’état hôte de la mémoire |
|
||||
| `plugin-sdk/memory-lancedb` | Helpers groupés memory-lancedb | Surface de helpers memory-lancedb |
|
||||
| `plugin-sdk/testing` | Utilitaires de test | Helpers de test et mocks |
|
||||
</Accordion>
|
||||
|
||||
Ce tableau est volontairement le sous-ensemble courant de migration, et non la surface complète du SDK.
|
||||
La liste complète des plus de 200 points d'entrée se trouve dans
|
||||
Ce tableau correspond intentionnellement au sous-ensemble commun de migration, et non à la surface complète
|
||||
du SDK. La liste complète des plus de 200 points d’entrée se trouve dans
|
||||
`scripts/lib/plugin-sdk-entrypoints.json`.
|
||||
|
||||
Cette liste inclut encore certaines interfaces helpers de plugins intégrés telles que
|
||||
Cette liste inclut encore certaines couches de helpers de Plugins groupés telles que
|
||||
`plugin-sdk/feishu`, `plugin-sdk/feishu-setup`, `plugin-sdk/zalo`,
|
||||
`plugin-sdk/zalo-setup` et `plugin-sdk/matrix*`. Elles restent exportées pour
|
||||
la maintenance et la compatibilité des plugins intégrés, mais elles sont intentionnellement
|
||||
omises du tableau de migration courant et ne sont pas la cible recommandée pour
|
||||
du nouveau code de plugin.
|
||||
`plugin-sdk/zalo-setup`, et `plugin-sdk/matrix*`. Elles restent exportées pour la
|
||||
maintenance et la compatibilité des Plugins groupés, mais elles sont volontairement
|
||||
omises du tableau de migration commun et ne constituent pas la cible recommandée pour
|
||||
le nouveau code de Plugin.
|
||||
|
||||
La même règle s'applique aux autres familles de helpers intégrés telles que :
|
||||
La même règle s’applique aux autres familles de helpers groupés telles que :
|
||||
|
||||
- helpers de prise en charge du navigateur : `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support`
|
||||
- Matrix : `plugin-sdk/matrix*`
|
||||
- LINE : `plugin-sdk/line*`
|
||||
- IRC : `plugin-sdk/irc*`
|
||||
- surfaces de helper/plugin intégrées comme `plugin-sdk/googlechat`,
|
||||
- surfaces de helper/Plugin groupées comme `plugin-sdk/googlechat`,
|
||||
`plugin-sdk/zalouser`, `plugin-sdk/bluebubbles*`,
|
||||
`plugin-sdk/mattermost*`, `plugin-sdk/msteams`,
|
||||
`plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`,
|
||||
`plugin-sdk/twitch`,
|
||||
`plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`,
|
||||
`plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`,
|
||||
`plugin-sdk/thread-ownership` et `plugin-sdk/voice-call`
|
||||
`plugin-sdk/thread-ownership`, et `plugin-sdk/voice-call`
|
||||
|
||||
`plugin-sdk/github-copilot-token` expose actuellement la surface étroite de helper de jeton
|
||||
`plugin-sdk/github-copilot-token` expose actuellement la surface ciblée de helper de jeton
|
||||
`DEFAULT_COPILOT_API_BASE_URL`,
|
||||
`deriveCopilotApiBaseUrlFromToken` et `resolveCopilotApiToken`.
|
||||
`deriveCopilotApiBaseUrlFromToken`, et `resolveCopilotApiToken`.
|
||||
|
||||
Utilisez l'import le plus étroit correspondant au besoin. Si vous ne trouvez pas un export,
|
||||
consultez la source dans `src/plugin-sdk/` ou demandez sur Discord.
|
||||
Utilisez l’import le plus ciblé qui correspond à la tâche. Si vous ne trouvez pas une exportation,
|
||||
consultez la source dans `src/plugin-sdk/` ou demandez dans Discord.
|
||||
|
||||
## Calendrier de suppression
|
||||
|
||||
| Quand | Ce qui se passe |
|
||||
| ---------------------- | ----------------------------------------------------------------------- |
|
||||
| **Maintenant** | Les surfaces obsolètes émettent des avertissements à l'exécution |
|
||||
| **Prochaine version majeure** | Les surfaces obsolètes seront supprimées ; les plugins qui les utilisent encore échoueront |
|
||||
| **Maintenant** | Les surfaces dépréciées émettent des avertissements à l’exécution |
|
||||
| **Prochaine version majeure** | Les surfaces dépréciées seront supprimées ; les Plugins qui les utilisent encore échoueront |
|
||||
|
||||
Tous les plugins du cœur ont déjà été migrés. Les plugins externes doivent migrer
|
||||
Tous les Plugins du core ont déjà été migrés. Les Plugins externes doivent migrer
|
||||
avant la prochaine version majeure.
|
||||
|
||||
## Supprimer temporairement les avertissements
|
||||
|
||||
Définissez ces variables d'environnement pendant que vous travaillez à la migration :
|
||||
Définissez ces variables d’environnement pendant que vous travaillez à la migration :
|
||||
|
||||
```bash
|
||||
OPENCLAW_SUPPRESS_PLUGIN_SDK_COMPAT_WARNING=1 openclaw gateway run
|
||||
OPENCLAW_SUPPRESS_EXTENSION_API_WARNING=1 openclaw gateway run
|
||||
```
|
||||
|
||||
Il s'agit d'une échappatoire temporaire, pas d'une solution permanente.
|
||||
Il s’agit d’une échappatoire temporaire, et non d’une solution permanente.
|
||||
|
||||
## Liens associés
|
||||
|
||||
- [Premiers pas](/fr/plugins/building-plugins) — créez votre premier plugin
|
||||
- [Vue d'ensemble du SDK](/fr/plugins/sdk-overview) — référence complète des imports par sous-chemin
|
||||
- [Plugins de canal](/fr/plugins/sdk-channel-plugins) — création de plugins de canal
|
||||
- [Plugins de provider](/fr/plugins/sdk-provider-plugins) — création de plugins de provider
|
||||
- [Internes des plugins](/fr/plugins/architecture) — analyse détaillée de l'architecture
|
||||
- [Manifeste de plugin](/fr/plugins/manifest) — référence du schéma de manifeste
|
||||
- [Bien démarrer](/fr/plugins/building-plugins) — créez votre premier Plugin
|
||||
- [Vue d’ensemble du SDK](/fr/plugins/sdk-overview) — référence complète des imports par sous-chemin
|
||||
- [Plugins de canal](/fr/plugins/sdk-channel-plugins) — créer des Plugins de canal
|
||||
- [Plugins de provider](/fr/plugins/sdk-provider-plugins) — créer des Plugins de provider
|
||||
- [Internes des Plugins](/fr/plugins/architecture) — analyse approfondie de l’architecture
|
||||
- [Manifest de Plugin](/fr/plugins/manifest) — référence du schéma du manifest
|
||||
|
||||
@ -1,33 +1,33 @@
|
||||
---
|
||||
read_when:
|
||||
- Vous devez savoir depuis quel sous-chemin du SDK importer
|
||||
- Vous voulez une référence pour toutes les méthodes d'enregistrement sur OpenClawPluginApi
|
||||
- Vous recherchez un export spécifique du SDK
|
||||
- Vous voulez une référence pour toutes les méthodes d’enregistrement sur `OpenClawPluginApi`
|
||||
- Vous recherchez une exportation SDK spécifique
|
||||
sidebarTitle: SDK Overview
|
||||
summary: Import map, référence de l'API d'enregistrement et architecture du SDK
|
||||
title: Vue d'ensemble du SDK de plugin
|
||||
summary: Map d’importation, référence de l’API d’enregistrement et architecture du SDK
|
||||
title: Vue d’ensemble du SDK Plugin
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T02:46:28Z"
|
||||
generated_at: "2026-04-17T06:57:33Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 4bfeb5896f68e3e4ee8cf434d43a019e0d1fe5af57f5bf7a5172847c476def0c
|
||||
source_hash: b177fdb6830f415d998a24812bc2c7db8124d3ba77b0174c9a67ac7d747f7e5a
|
||||
source_path: plugins/sdk-overview.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Vue d'ensemble du SDK de plugin
|
||||
# Vue d’ensemble du SDK Plugin
|
||||
|
||||
Le SDK de plugin est le contrat typé entre les plugins et le cœur. Cette page est la
|
||||
Le SDK Plugin est le contrat typé entre les plugins et le cœur. Cette page est la
|
||||
référence pour **quoi importer** et **ce que vous pouvez enregistrer**.
|
||||
|
||||
<Tip>
|
||||
**Vous cherchez un guide pratique ?**
|
||||
- Premier plugin ? Commencez par [Getting Started](/fr/plugins/building-plugins)
|
||||
- Plugin de channel ? Voir [Channel Plugins](/fr/plugins/sdk-channel-plugins)
|
||||
- Plugin de provider ? Voir [Provider Plugins](/fr/plugins/sdk-provider-plugins)
|
||||
- Premier plugin ? Commencez par [Premiers pas](/fr/plugins/building-plugins)
|
||||
- Plugin de canal ? Voir [Plugins de canal](/fr/plugins/sdk-channel-plugins)
|
||||
- Plugin de fournisseur ? Voir [Plugins de fournisseur](/fr/plugins/sdk-provider-plugins)
|
||||
</Tip>
|
||||
|
||||
## Convention d'import
|
||||
## Convention d’importation
|
||||
|
||||
Importez toujours depuis un sous-chemin spécifique :
|
||||
|
||||
@ -36,331 +36,333 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
||||
import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
|
||||
```
|
||||
|
||||
Chaque sous-chemin est un petit module autonome. Cela permet de conserver un démarrage rapide et
|
||||
d'éviter les problèmes de dépendances circulaires. Pour les helpers d'entrée/build spécifiques aux channels,
|
||||
préférez `openclaw/plugin-sdk/channel-core` ; gardez `openclaw/plugin-sdk/core` pour
|
||||
la surface ombrelle plus large et les helpers partagés tels que
|
||||
Chaque sous-chemin est un module petit et autonome. Cela permet de garder un
|
||||
démarrage rapide et d’éviter les problèmes de dépendances circulaires. Pour les
|
||||
helpers d’entrée/de build spécifiques aux canaux, préférez
|
||||
`openclaw/plugin-sdk/channel-core` ; gardez `openclaw/plugin-sdk/core` pour
|
||||
la surface parapluie plus large et les helpers partagés tels que
|
||||
`buildChannelConfigSchema`.
|
||||
|
||||
N'ajoutez pas et ne dépendez pas de surfaces de commodité nommées d'après des providers telles que
|
||||
N’ajoutez pas et ne dépendez pas de surfaces de commodité nommées d’après des fournisseurs comme
|
||||
`openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
|
||||
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`, ou
|
||||
de surfaces helper associées à une marque de channel. Les plugins intégrés doivent composer des sous-chemins
|
||||
SDK génériques dans leurs propres barils `api.ts` ou `runtime-api.ts`, et le cœur
|
||||
doit soit utiliser ces barils locaux au plugin, soit ajouter un contrat SDK générique étroit
|
||||
lorsque le besoin est réellement inter-channel.
|
||||
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`, ni de
|
||||
surfaces helper associées à une marque de canal. Les plugins intégrés doivent
|
||||
composer des sous-chemins SDK génériques dans leurs propres barrels `api.ts` ou `runtime-api.ts`, et le cœur
|
||||
doit soit utiliser ces barrels locaux au plugin, soit ajouter un contrat SDK
|
||||
générique étroit lorsque le besoin est réellement transversal aux canaux.
|
||||
|
||||
La map d'exports générée contient encore un petit ensemble de
|
||||
surfaces helper de plugins intégrés telles que `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
|
||||
La map d’exportation générée contient encore un petit ensemble de surfaces helper
|
||||
pour les plugins intégrés, comme `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
|
||||
`plugin-sdk/zalo`, `plugin-sdk/zalo-setup` et `plugin-sdk/matrix*`. Ces
|
||||
sous-chemins n'existent que pour la maintenance et la compatibilité des plugins intégrés ; ils sont
|
||||
volontairement omis du tableau courant ci-dessous et ne constituent pas le
|
||||
chemin d'import recommandé pour les nouveaux plugins tiers.
|
||||
sous-chemins n’existent que pour la maintenance et la compatibilité des plugins intégrés ;
|
||||
ils sont volontairement omis du tableau courant ci-dessous et ne constituent pas
|
||||
le chemin d’importation recommandé pour les nouveaux plugins tiers.
|
||||
|
||||
## Référence des sous-chemins
|
||||
|
||||
Les sous-chemins les plus couramment utilisés, regroupés par objectif. La liste complète générée de
|
||||
plus de 200 sous-chemins se trouve dans `scripts/lib/plugin-sdk-entrypoints.json`.
|
||||
Les sous-chemins les plus couramment utilisés, regroupés par usage. La liste
|
||||
complète générée de plus de 200 sous-chemins se trouve dans
|
||||
`scripts/lib/plugin-sdk-entrypoints.json`.
|
||||
|
||||
Les sous-chemins helper réservés aux plugins intégrés apparaissent toujours dans cette liste générée.
|
||||
Traitez-les comme des surfaces de détail d'implémentation/de compatibilité, sauf si une page de documentation
|
||||
Les sous-chemins helper réservés aux plugins intégrés figurent toujours dans cette
|
||||
liste générée. Traitez-les comme des surfaces de détail d’implémentation/de compatibilité, sauf si une page de documentation
|
||||
en promeut explicitement une comme publique.
|
||||
|
||||
### Entrée de plugin
|
||||
|
||||
| Sous-chemin | Exports clés |
|
||||
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
|
||||
| Sous-chemin | Exportations clés |
|
||||
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
|
||||
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
|
||||
| `plugin-sdk/config-schema` | `OpenClawSchema` |
|
||||
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
|
||||
| `plugin-sdk/config-schema` | `OpenClawSchema` |
|
||||
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Sous-chemins de channel">
|
||||
| Sous-chemin | Exports clés |
|
||||
<Accordion title="Sous-chemins de canal">
|
||||
| Sous-chemin | Exportations clés |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/channel-core` | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
|
||||
| `plugin-sdk/config-schema` | Export du schéma Zod racine de `openclaw.json` (`OpenClawSchema`) |
|
||||
| `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, plus `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
|
||||
| `plugin-sdk/setup` | Helpers partagés d'assistant de configuration, invites de liste d'autorisation, constructeurs d'état de configuration |
|
||||
| `plugin-sdk/config-schema` | Exportation du schéma Zod racine `openclaw.json` (`OpenClawSchema`) |
|
||||
| `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, ainsi que `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
|
||||
| `plugin-sdk/setup` | Helpers partagés d’assistant de configuration, invites d’allowlist, constructeurs d’état de configuration |
|
||||
| `plugin-sdk/setup-runtime` | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` |
|
||||
| `plugin-sdk/setup-adapter-runtime` | `createEnvPatchedAccountSetupAdapter` |
|
||||
| `plugin-sdk/setup-tools` | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
|
||||
| `plugin-sdk/account-core` | Helpers de configuration/action-gate multi-comptes, helpers de fallback de compte par défaut |
|
||||
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, helpers de normalisation d'identifiant de compte |
|
||||
| `plugin-sdk/account-resolution` | Recherche de compte + helpers de fallback par défaut |
|
||||
| `plugin-sdk/account-core` | Helpers de config/mécanisme de contrôle d’action multi-compte, helpers de repli pour compte par défaut |
|
||||
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, helpers de normalisation d’identifiant de compte |
|
||||
| `plugin-sdk/account-resolution` | Helpers de recherche de compte + repli par défaut |
|
||||
| `plugin-sdk/account-helpers` | Helpers étroits de liste de comptes/action sur compte |
|
||||
| `plugin-sdk/channel-pairing` | `createChannelPairingController` |
|
||||
| `plugin-sdk/channel-reply-pipeline` | `createChannelReplyPipeline` |
|
||||
| `plugin-sdk/channel-config-helpers` | `createHybridChannelConfigAdapter` |
|
||||
| `plugin-sdk/channel-config-schema` | Types de schéma de configuration de channel |
|
||||
| `plugin-sdk/telegram-command-config` | Helpers de normalisation/validation de commandes personnalisées Telegram avec fallback de contrat intégré |
|
||||
| `plugin-sdk/channel-config-schema` | Types de schéma de config de canal |
|
||||
| `plugin-sdk/telegram-command-config` | Helpers de normalisation/validation de commandes personnalisées Telegram avec repli sur contrat intégré |
|
||||
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
|
||||
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink` |
|
||||
| `plugin-sdk/inbound-envelope` | Helpers partagés de route entrante + construction d'enveloppe |
|
||||
| `plugin-sdk/inbound-reply-dispatch` | Helpers partagés d'enregistrement et de répartition entrante |
|
||||
| `plugin-sdk/messaging-targets` | Helpers d'analyse/correspondance des cibles |
|
||||
| `plugin-sdk/outbound-media` | Helpers partagés de chargement des médias sortants |
|
||||
| `plugin-sdk/outbound-runtime` | Helpers de délégué d'identité/envoi sortants |
|
||||
| `plugin-sdk/thread-bindings-runtime` | Helpers de cycle de vie et d'adaptateur pour les liaisons de fil |
|
||||
| `plugin-sdk/agent-media-payload` | Constructeur historique de charge utile média d'agent |
|
||||
| `plugin-sdk/conversation-runtime` | Helpers de conversation/liaison de fil, appairage et liaison configurée |
|
||||
| `plugin-sdk/runtime-config-snapshot` | Helper d'instantané de configuration d'exécution |
|
||||
| `plugin-sdk/runtime-group-policy` | Helpers de résolution de politique de groupe à l'exécution |
|
||||
| `plugin-sdk/channel-status` | Helpers partagés d'instantané/résumé d'état de channel |
|
||||
| `plugin-sdk/channel-config-primitives` | Primitives étroites de schéma de configuration de channel |
|
||||
| `plugin-sdk/channel-config-writes` | Helpers d'autorisation d'écriture de configuration de channel |
|
||||
| `plugin-sdk/channel-plugin-common` | Exports de prélude partagés pour plugin de channel |
|
||||
| `plugin-sdk/allowlist-config-edit` | Helpers de lecture/modification de configuration de liste d'autorisation |
|
||||
| `plugin-sdk/group-access` | Helpers partagés de décision d'accès de groupe |
|
||||
| `plugin-sdk/direct-dm` | Helpers partagés d'authentification/garde de DM direct |
|
||||
| `plugin-sdk/interactive-runtime` | Helpers de normalisation/réduction de charges utiles de réponse interactive |
|
||||
| `plugin-sdk/channel-inbound` | Helpers d'anti-rebond entrant, de correspondance de mentions, d'aide de politique de mention et d'enveloppe |
|
||||
| `plugin-sdk/inbound-envelope` | Helpers partagés de route entrante + construction d’enveloppe |
|
||||
| `plugin-sdk/inbound-reply-dispatch` | Helpers partagés d’enregistrement et de répartition entrante |
|
||||
| `plugin-sdk/messaging-targets` | Helpers d’analyse/de correspondance de cibles |
|
||||
| `plugin-sdk/outbound-media` | Helpers partagés de chargement de médias sortants |
|
||||
| `plugin-sdk/outbound-runtime` | Helpers de délégation d’envoi/d’identité sortante |
|
||||
| `plugin-sdk/thread-bindings-runtime` | Helpers de cycle de vie et d’adaptateur pour liaisons de fils |
|
||||
| `plugin-sdk/agent-media-payload` | Constructeur historique de charge utile média d’agent |
|
||||
| `plugin-sdk/conversation-runtime` | Helpers de liaison conversation/fil, appairage et liaison configurée |
|
||||
| `plugin-sdk/runtime-config-snapshot` | Helper d’instantané de config d’exécution |
|
||||
| `plugin-sdk/runtime-group-policy` | Helpers de résolution de politique de groupe à l’exécution |
|
||||
| `plugin-sdk/channel-status` | Helpers partagés d’instantané/résumé de statut de canal |
|
||||
| `plugin-sdk/channel-config-primitives` | Primitives étroites de schéma de config de canal |
|
||||
| `plugin-sdk/channel-config-writes` | Helpers d’autorisation d’écriture de config de canal |
|
||||
| `plugin-sdk/channel-plugin-common` | Exportations de prélude partagées pour plugin de canal |
|
||||
| `plugin-sdk/allowlist-config-edit` | Helpers de lecture/modification de config d’allowlist |
|
||||
| `plugin-sdk/group-access` | Helpers partagés de décision d’accès de groupe |
|
||||
| `plugin-sdk/direct-dm` | Helpers partagés d’authentification/de garde pour messages directs |
|
||||
| `plugin-sdk/interactive-runtime` | Helpers de normalisation/réduction de charge utile de réponse interactive |
|
||||
| `plugin-sdk/channel-inbound` | Helpers d’anti-rebond entrant, de correspondance de mention, de politique de mention et d’enveloppe |
|
||||
| `plugin-sdk/channel-send-result` | Types de résultat de réponse |
|
||||
| `plugin-sdk/channel-actions` | `createMessageToolButtonsSchema`, `createMessageToolCardSchema` |
|
||||
| `plugin-sdk/channel-targets` | Helpers d'analyse/correspondance des cibles |
|
||||
| `plugin-sdk/channel-contract` | Types de contrat de channel |
|
||||
| `plugin-sdk/channel-feedback` | Câblage des retours/réactions |
|
||||
| `plugin-sdk/channel-secret-runtime` | Helpers étroits de contrat de secret tels que `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, et types de cible de secret |
|
||||
| `plugin-sdk/channel-targets` | Helpers d’analyse/de correspondance de cibles |
|
||||
| `plugin-sdk/channel-contract` | Types de contrat de canal |
|
||||
| `plugin-sdk/channel-feedback` | Câblage de feedback/réaction |
|
||||
| `plugin-sdk/channel-secret-runtime` | Helpers étroits de contrat de secret comme `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, ainsi que les types de cible de secret |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Sous-chemins de provider">
|
||||
| Sous-chemin | Exports clés |
|
||||
<Accordion title="Sous-chemins de fournisseur">
|
||||
| Sous-chemin | Exportations clés |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
|
||||
| `plugin-sdk/provider-setup` | Helpers sélectionnés de configuration de provider local/autohébergé |
|
||||
| `plugin-sdk/self-hosted-provider-setup` | Helpers ciblés de configuration de provider autohébergé compatible OpenAI |
|
||||
| `plugin-sdk/provider-setup` | Helpers de configuration organisés pour fournisseurs locaux/autohébergés |
|
||||
| `plugin-sdk/self-hosted-provider-setup` | Helpers ciblés de configuration de fournisseur autohébergé compatible OpenAI |
|
||||
| `plugin-sdk/cli-backend` | Valeurs par défaut du backend CLI + constantes watchdog |
|
||||
| `plugin-sdk/provider-auth-runtime` | Helpers d'exécution de résolution de clé API pour les plugins de provider |
|
||||
| `plugin-sdk/provider-auth-api-key` | Helpers d'onboarding/écriture de profil de clé API tels que `upsertApiKeyProfile` |
|
||||
| `plugin-sdk/provider-auth-result` | Constructeur standard de résultat d'authentification OAuth |
|
||||
| `plugin-sdk/provider-auth-login` | Helpers interactifs partagés de connexion pour les plugins de provider |
|
||||
| `plugin-sdk/provider-env-vars` | Helpers de recherche de variables d'environnement d'authentification provider |
|
||||
| `plugin-sdk/provider-auth-runtime` | Helpers d’exécution de résolution de clé API pour plugins de fournisseur |
|
||||
| `plugin-sdk/provider-auth-api-key` | Helpers d’intégration/écriture de profil de clé API comme `upsertApiKeyProfile` |
|
||||
| `plugin-sdk/provider-auth-result` | Constructeur standard de résultat d’authentification OAuth |
|
||||
| `plugin-sdk/provider-auth-login` | Helpers partagés de connexion interactive pour plugins de fournisseur |
|
||||
| `plugin-sdk/provider-env-vars` | Helpers de recherche de variables d’environnement d’authentification de fournisseur |
|
||||
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
|
||||
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, constructeurs partagés de politique de replay, helpers de point de terminaison provider et helpers de normalisation d'identifiant de modèle tels que `normalizeNativeXaiModelId` |
|
||||
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, constructeurs partagés de politique de relecture, helpers de point de terminaison de fournisseur, et helpers de normalisation d’identifiant de modèle tels que `normalizeNativeXaiModelId` |
|
||||
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
|
||||
| `plugin-sdk/provider-http` | Helpers génériques de capacités HTTP/point de terminaison provider |
|
||||
| `plugin-sdk/provider-web-fetch-contract` | Helpers étroits de contrat de configuration/sélection web-fetch tels que `enablePluginInConfig` et `WebFetchProviderPlugin` |
|
||||
| `plugin-sdk/provider-web-fetch` | Helpers d'enregistrement/cache de provider web-fetch |
|
||||
| `plugin-sdk/provider-web-search-config-contract` | Helpers étroits de configuration/identifiants web-search pour les providers qui n'ont pas besoin de câblage d'activation de plugin |
|
||||
| `plugin-sdk/provider-web-search-contract` | Helpers étroits de contrat de configuration/identifiants web-search tels que `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig`, et setters/getters d'identifiants limités par portée |
|
||||
| `plugin-sdk/provider-web-search` | Helpers d'enregistrement/cache/exécution de provider web-search |
|
||||
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, nettoyage + diagnostics de schéma Gemini, et helpers de compatibilité xAI tels que `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
|
||||
| `plugin-sdk/provider-http` | Helpers génériques de capacité HTTP/point de terminaison de fournisseur |
|
||||
| `plugin-sdk/provider-web-fetch-contract` | Helpers étroits de contrat de config/sélection web-fetch comme `enablePluginInConfig` et `WebFetchProviderPlugin` |
|
||||
| `plugin-sdk/provider-web-fetch` | Helpers d’enregistrement/cache de fournisseur web-fetch |
|
||||
| `plugin-sdk/provider-web-search-config-contract` | Helpers étroits de config/identifiants web-search pour les fournisseurs qui n’ont pas besoin du câblage d’activation du plugin |
|
||||
| `plugin-sdk/provider-web-search-contract` | Helpers étroits de contrat de config/identifiants web-search comme `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig`, et les setters/getters d’identifiants à portée limitée |
|
||||
| `plugin-sdk/provider-web-search` | Helpers d’exécution/cache/enregistrement de fournisseur web-search |
|
||||
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, nettoyage de schéma Gemini + diagnostics, et helpers de compatibilité xAI comme `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
|
||||
| `plugin-sdk/provider-usage` | `fetchClaudeUsage` et similaires |
|
||||
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, types de wrapper de flux, et helpers partagés de wrapper Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
|
||||
| `plugin-sdk/provider-onboard` | Helpers de patch de configuration d'onboarding |
|
||||
| `plugin-sdk/provider-onboard` | Helpers de correctif de config d’intégration |
|
||||
| `plugin-sdk/global-singleton` | Helpers de singleton/map/cache locaux au processus |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Sous-chemins d'authentification et de sécurité">
|
||||
| Sous-chemin | Exports clés |
|
||||
<Accordion title="Sous-chemins d’authentification et de sécurité">
|
||||
| Sous-chemin | Exportations clés |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, helpers de registre de commandes, helpers d'autorisation d'expéditeur |
|
||||
| `plugin-sdk/command-status` | Constructeurs de messages de commande/d'aide tels que `buildCommandsMessagePaginated` et `buildHelpMessage` |
|
||||
| `plugin-sdk/approval-auth-runtime` | Helpers de résolution d'approbateur et d'authentification d'action dans le même chat |
|
||||
| `plugin-sdk/approval-client-runtime` | Helpers de profil/filtre d'approbation native d'exécution |
|
||||
| `plugin-sdk/approval-delivery-runtime` | Adaptateurs de capacité/livraison d'approbation native |
|
||||
| `plugin-sdk/approval-gateway-runtime` | Helper partagé de résolution de gateway d'approbation |
|
||||
| `plugin-sdk/approval-handler-adapter-runtime` | Helpers légers de chargement d'adaptateur d'approbation native pour les points d'entrée de channel à chaud |
|
||||
| `plugin-sdk/approval-handler-runtime` | Helpers d'exécution plus larges du gestionnaire d'approbation ; préférez les surfaces adaptateur/gateway plus étroites lorsqu'elles suffisent |
|
||||
| `plugin-sdk/approval-native-runtime` | Helpers de cible d'approbation native + liaison de compte |
|
||||
| `plugin-sdk/approval-reply-runtime` | Helpers de charge utile de réponse d'approbation d'exécution/plugin |
|
||||
| `plugin-sdk/command-auth-native` | Helpers d'authentification de commande native + helpers de cible de session native |
|
||||
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, helpers de registre de commandes, helpers d’autorisation d’expéditeur |
|
||||
| `plugin-sdk/command-status` | Constructeurs de messages de commande/d’aide tels que `buildCommandsMessagePaginated` et `buildHelpMessage` |
|
||||
| `plugin-sdk/approval-auth-runtime` | Helpers de résolution d’approbateur et d’authentification d’action dans la même discussion |
|
||||
| `plugin-sdk/approval-client-runtime` | Helpers de profil/filtre d’approbation d’exécution native |
|
||||
| `plugin-sdk/approval-delivery-runtime` | Adaptateurs natifs de capacité/livraison d’approbation |
|
||||
| `plugin-sdk/approval-gateway-runtime` | Helper partagé de résolution de Gateway d’approbation |
|
||||
| `plugin-sdk/approval-handler-adapter-runtime` | Helpers légers de chargement d’adaptateur d’approbation native pour les points d’entrée de canal critiques |
|
||||
| `plugin-sdk/approval-handler-runtime` | Helpers plus larges du runtime de gestionnaire d’approbation ; préférez les surfaces adaptateur/Gateway plus étroites lorsqu’elles suffisent |
|
||||
| `plugin-sdk/approval-native-runtime` | Helpers natifs de cible d’approbation + liaison de compte |
|
||||
| `plugin-sdk/approval-reply-runtime` | Helpers de charge utile de réponse d’approbation exec/plugin |
|
||||
| `plugin-sdk/command-auth-native` | Helpers natifs d’authentification de commande + helpers natifs de cible de session |
|
||||
| `plugin-sdk/command-detection` | Helpers partagés de détection de commande |
|
||||
| `plugin-sdk/command-surface` | Normalisation du corps de commande et helpers de surface de commande |
|
||||
| `plugin-sdk/command-surface` | Helpers de normalisation de corps de commande et de surface de commande |
|
||||
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
|
||||
| `plugin-sdk/channel-secret-runtime` | Helpers étroits de collecte de contrat de secret pour les surfaces de secret de channel/plugin |
|
||||
| `plugin-sdk/secret-ref-runtime` | Helpers étroits `coerceSecretRef` et de typage SecretRef pour l'analyse de contrat de secret/configuration |
|
||||
| `plugin-sdk/security-runtime` | Helpers partagés de confiance, filtrage DM, contenu externe et collecte de secrets |
|
||||
| `plugin-sdk/ssrf-policy` | Helpers de liste d'autorisation d'hôte et de politique SSRF réseau privé |
|
||||
| `plugin-sdk/ssrf-runtime` | Helpers de dispatcher épinglé, fetch protégé par SSRF et politique SSRF |
|
||||
| `plugin-sdk/secret-input` | Helpers d'analyse d'entrée secrète |
|
||||
| `plugin-sdk/webhook-ingress` | Helpers de requête/cible webhook |
|
||||
| `plugin-sdk/webhook-request-guards` | Helpers de taille de corps de requête/délai d'expiration |
|
||||
| `plugin-sdk/channel-secret-runtime` | Helpers étroits de collecte de contrat de secret pour les surfaces de secret de canal/plugin |
|
||||
| `plugin-sdk/secret-ref-runtime` | Helpers étroits `coerceSecretRef` et de typage SecretRef pour l’analyse de contrat de secret/config |
|
||||
| `plugin-sdk/security-runtime` | Helpers partagés de confiance, contrôle DM, contenu externe et collecte de secrets |
|
||||
| `plugin-sdk/ssrf-policy` | Helpers de politique SSRF d’allowlist d’hôtes et de réseau privé |
|
||||
| `plugin-sdk/ssrf-runtime` | Helpers de répartiteur épinglé, fetch protégé par SSRF et politique SSRF |
|
||||
| `plugin-sdk/secret-input` | Helpers d’analyse d’entrée de secret |
|
||||
| `plugin-sdk/webhook-ingress` | Helpers de requête/cible Webhook |
|
||||
| `plugin-sdk/webhook-request-guards` | Helpers de taille du corps de requête/délai d’attente |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Sous-chemins d'exécution et de stockage">
|
||||
| Sous-chemin | Exports clés |
|
||||
<Accordion title="Sous-chemins de runtime et de stockage">
|
||||
| Sous-chemin | Exportations clés |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/runtime` | Helpers larges d'exécution/journalisation/sauvegarde/installation de plugin |
|
||||
| `plugin-sdk/runtime-env` | Helpers étroits d'environnement d'exécution, logger, délai d'expiration, retry et backoff |
|
||||
| `plugin-sdk/channel-runtime-context` | Helpers génériques d'enregistrement et de recherche de contexte d'exécution de channel |
|
||||
| `plugin-sdk/runtime` | Helpers larges de runtime/journalisation/sauvegarde/installation de plugin |
|
||||
| `plugin-sdk/runtime-env` | Helpers étroits d’environnement de runtime, logger, délai d’attente, retry et backoff |
|
||||
| `plugin-sdk/channel-runtime-context` | Helpers génériques d’enregistrement et de recherche du contexte d’exécution de canal |
|
||||
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
|
||||
| `plugin-sdk/plugin-runtime` | Helpers partagés de commande/hook/http/interaction de plugin |
|
||||
| `plugin-sdk/hook-runtime` | Helpers partagés de pipeline de webhook/hook interne |
|
||||
| `plugin-sdk/lazy-runtime` | Helpers d'import/binding d'exécution paresseux tels que `createLazyRuntimeModule`, `createLazyRuntimeMethod` et `createLazyRuntimeSurface` |
|
||||
| `plugin-sdk/process-runtime` | Helpers d'exécution de processus |
|
||||
| `plugin-sdk/cli-runtime` | Helpers CLI de formatage, d'attente et de version |
|
||||
| `plugin-sdk/gateway-runtime` | Helpers de client gateway et de patch d'état de channel |
|
||||
| `plugin-sdk/config-runtime` | Helpers de chargement/écriture de configuration |
|
||||
| `plugin-sdk/telegram-command-config` | Normalisation du nom/de la description des commandes Telegram et vérifications de doublons/conflits, même lorsque la surface de contrat Telegram intégrée n'est pas disponible |
|
||||
| `plugin-sdk/approval-runtime` | Helpers d'approbation d'exécution/plugin, constructeurs de capacité d'approbation, helpers d'authentification/profil, helpers de routage/exécution natifs |
|
||||
| `plugin-sdk/reply-runtime` | Helpers partagés d'exécution entrante/réponse, fragmentation, répartition, heartbeat, planificateur de réponse |
|
||||
| `plugin-sdk/hook-runtime` | Helpers partagés de pipeline de Webhook/hook interne |
|
||||
| `plugin-sdk/lazy-runtime` | Helpers d’importation/de liaison de runtime paresseux tels que `createLazyRuntimeModule`, `createLazyRuntimeMethod` et `createLazyRuntimeSurface` |
|
||||
| `plugin-sdk/process-runtime` | Helpers d’exécution de processus |
|
||||
| `plugin-sdk/cli-runtime` | Helpers de formatage, d’attente et de version pour CLI |
|
||||
| `plugin-sdk/gateway-runtime` | Helpers de client Gateway et de correctif de statut de canal |
|
||||
| `plugin-sdk/config-runtime` | Helpers de chargement/écriture de config |
|
||||
| `plugin-sdk/telegram-command-config` | Normalisation du nom/de la description de commande Telegram et vérifications de doublon/conflit, même lorsque la surface de contrat Telegram intégrée n’est pas disponible |
|
||||
| `plugin-sdk/approval-runtime` | Helpers d’approbation exec/plugin, constructeurs de capacité d’approbation, helpers d’authentification/profil, helpers natifs de routage/runtime |
|
||||
| `plugin-sdk/reply-runtime` | Helpers partagés du runtime entrant/de réponse, segmentation, répartition, Heartbeat, planificateur de réponse |
|
||||
| `plugin-sdk/reply-dispatch-runtime` | Helpers étroits de répartition/finalisation de réponse |
|
||||
| `plugin-sdk/reply-history` | Helpers partagés d'historique de réponse sur fenêtre courte tels que `buildHistoryContext`, `recordPendingHistoryEntry` et `clearHistoryEntriesIfEnabled` |
|
||||
| `plugin-sdk/reply-history` | Helpers partagés d’historique de réponse sur fenêtre courte tels que `buildHistoryContext`, `recordPendingHistoryEntry` et `clearHistoryEntriesIfEnabled` |
|
||||
| `plugin-sdk/reply-reference` | `createReplyReferencePlanner` |
|
||||
| `plugin-sdk/reply-chunking` | Helpers étroits de fragmentation texte/Markdown |
|
||||
| `plugin-sdk/session-store-runtime` | Helpers de chemin de magasin de session + date de mise à jour |
|
||||
| `plugin-sdk/state-paths` | Helpers de chemin de répertoire d'état/OAuth |
|
||||
| `plugin-sdk/routing` | Helpers de route/clé de session/liaison de compte tels que `resolveAgentRoute`, `buildAgentSessionKey` et `resolveDefaultAgentBoundAccountId` |
|
||||
| `plugin-sdk/status-helpers` | Helpers partagés de résumé d'état de channel/compte, valeurs par défaut d'état d'exécution et helpers de métadonnées de problème |
|
||||
| `plugin-sdk/reply-chunking` | Helpers étroits de segmentation de texte/Markdown |
|
||||
| `plugin-sdk/session-store-runtime` | Helpers de chemin du magasin de session + date de mise à jour |
|
||||
| `plugin-sdk/state-paths` | Helpers de chemin de répertoire pour état/OAuth |
|
||||
| `plugin-sdk/routing` | Helpers de routage/clé de session/liaison de compte tels que `resolveAgentRoute`, `buildAgentSessionKey` et `resolveDefaultAgentBoundAccountId` |
|
||||
| `plugin-sdk/status-helpers` | Helpers partagés de résumé de statut de canal/compte, valeurs par défaut de l’état d’exécution et helpers de métadonnées de problème |
|
||||
| `plugin-sdk/target-resolver-runtime` | Helpers partagés de résolution de cible |
|
||||
| `plugin-sdk/string-normalization-runtime` | Helpers de normalisation de slug/chaîne |
|
||||
| `plugin-sdk/request-url` | Extraire des URL chaîne depuis des entrées de type fetch/request |
|
||||
| `plugin-sdk/request-url` | Extraire des URL de chaîne à partir d’entrées de type fetch/request |
|
||||
| `plugin-sdk/run-command` | Exécuteur de commande temporisé avec résultats stdout/stderr normalisés |
|
||||
| `plugin-sdk/param-readers` | Lecteurs de paramètres communs d'outil/CLI |
|
||||
| `plugin-sdk/tool-payload` | Extraire des charges utiles normalisées depuis des objets de résultat d'outil |
|
||||
| `plugin-sdk/tool-send` | Extraire des champs cibles d'envoi canoniques depuis des arguments d'outil |
|
||||
| `plugin-sdk/param-readers` | Lecteurs courants de paramètres d’outil/CLI |
|
||||
| `plugin-sdk/tool-payload` | Extraire des charges utiles normalisées à partir d’objets résultat d’outil |
|
||||
| `plugin-sdk/tool-send` | Extraire les champs de cible d’envoi canoniques à partir des arguments d’outil |
|
||||
| `plugin-sdk/temp-path` | Helpers partagés de chemin de téléchargement temporaire |
|
||||
| `plugin-sdk/logging-core` | Logger de sous-système et helpers de masquage |
|
||||
| `plugin-sdk/markdown-table-runtime` | Helpers de mode tableau Markdown |
|
||||
| `plugin-sdk/json-store` | Petits helpers de lecture/écriture d'état JSON |
|
||||
| `plugin-sdk/logging-core` | Helpers de logger de sous-système et de masquage |
|
||||
| `plugin-sdk/markdown-table-runtime` | Helpers de mode de tableau Markdown |
|
||||
| `plugin-sdk/json-store` | Petits helpers de lecture/écriture d’état JSON |
|
||||
| `plugin-sdk/file-lock` | Helpers de verrouillage de fichier réentrant |
|
||||
| `plugin-sdk/persistent-dedupe` | Helpers de cache de déduplication adossé au disque |
|
||||
| `plugin-sdk/acp-runtime` | Helpers ACP d'exécution/session et de répartition de réponse |
|
||||
| `plugin-sdk/agent-config-primitives` | Primitives étroites de schéma de configuration d'exécution d'agent |
|
||||
| `plugin-sdk/boolean-param` | Lecteur permissif de paramètre booléen |
|
||||
| `plugin-sdk/persistent-dedupe` | Helpers de cache de déduplication sauvegardé sur disque |
|
||||
| `plugin-sdk/acp-runtime` | Helpers ACP de runtime/session et de répartition de réponse |
|
||||
| `plugin-sdk/agent-config-primitives` | Primitives étroites de schéma de config du runtime d’agent |
|
||||
| `plugin-sdk/boolean-param` | Lecteur souple de paramètre booléen |
|
||||
| `plugin-sdk/dangerous-name-runtime` | Helpers de résolution de correspondance de nom dangereux |
|
||||
| `plugin-sdk/device-bootstrap` | Helpers d'initialisation d'appareil et de jeton d'appairage |
|
||||
| `plugin-sdk/extension-shared` | Primitives helper partagées de channel passif, d'état et de proxy ambiant |
|
||||
| `plugin-sdk/models-provider-runtime` | Helpers de réponse de commande `/models`/provider |
|
||||
| `plugin-sdk/skill-commands-runtime` | Helpers de listage des commandes de Skills |
|
||||
| `plugin-sdk/native-command-registry` | Helpers de registre/build/sérialisation de commandes natives |
|
||||
| `plugin-sdk/agent-harness` | Surface expérimentale de plugin de confiance pour les harnais d'agent bas niveau : types de harnais, helpers de pilotage/abandon d'exécution active, helpers de pont d'outils OpenClaw et utilitaires de résultat de tentative |
|
||||
| `plugin-sdk/provider-zai-endpoint` | Helpers de détection de point de terminaison Z.AI |
|
||||
| `plugin-sdk/infra-runtime` | Helpers d'événement système/heartbeat |
|
||||
| `plugin-sdk/device-bootstrap` | Helpers d’initialisation d’appareil et de jeton d’appairage |
|
||||
| `plugin-sdk/extension-shared` | Primitives helper partagées pour canal passif, statut et proxy ambiant |
|
||||
| `plugin-sdk/models-provider-runtime` | Helpers de réponse de fournisseur/commande `/models` |
|
||||
| `plugin-sdk/skill-commands-runtime` | Helpers de liste de commandes Skills |
|
||||
| `plugin-sdk/native-command-registry` | Helpers natifs de registre/construction/sérialisation de commande |
|
||||
| `plugin-sdk/agent-harness` | Surface expérimentale de plugin approuvé pour des harnais d’agent bas niveau : types de harnais, helpers de pilotage/abandon d’exécution active, helpers de pont d’outil OpenClaw et utilitaires de résultat de tentative |
|
||||
| `plugin-sdk/provider-zai-endpoint` | Helpers de détection de point de terminaison Z.A.I |
|
||||
| `plugin-sdk/infra-runtime` | Helpers d’événement système/Heartbeat |
|
||||
| `plugin-sdk/collection-runtime` | Petits helpers de cache borné |
|
||||
| `plugin-sdk/diagnostic-runtime` | Helpers d'indicateur et d'événement de diagnostic |
|
||||
| `plugin-sdk/error-runtime` | Graphe d'erreurs, formatage, helpers partagés de classification d'erreurs, `isApprovalNotFoundError` |
|
||||
| `plugin-sdk/fetch-runtime` | Helpers de fetch encapsulé, proxy et recherche épinglée |
|
||||
| `plugin-sdk/host-runtime` | Helpers de normalisation de nom d'hôte et d'hôte SCP |
|
||||
| `plugin-sdk/retry-runtime` | Helpers de configuration et d'exécuteur de retry |
|
||||
| `plugin-sdk/agent-runtime` | Helpers de répertoire/identité/espace de travail d'agent |
|
||||
| `plugin-sdk/directory-runtime` | Requête/déduplication de répertoire adossée à la configuration |
|
||||
| `plugin-sdk/diagnostic-runtime` | Helpers de drapeau et d’événement de diagnostic |
|
||||
| `plugin-sdk/error-runtime` | Helpers de graphe d’erreur, formatage, classification d’erreur partagée, `isApprovalNotFoundError` |
|
||||
| `plugin-sdk/fetch-runtime` | Helpers de fetch enveloppé, proxy et recherche épinglée |
|
||||
| `plugin-sdk/host-runtime` | Helpers de normalisation de nom d’hôte et d’hôte SCP |
|
||||
| `plugin-sdk/retry-runtime` | Helpers de config de retry et d’exécuteur de retry |
|
||||
| `plugin-sdk/agent-runtime` | Helpers de répertoire/identité/espace de travail d’agent |
|
||||
| `plugin-sdk/directory-runtime` | Requête/déduplication de répertoire basée sur la config |
|
||||
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Sous-chemins de capacités et de tests">
|
||||
| Sous-chemin | Exports clés |
|
||||
<Accordion title="Sous-chemins de capacité et de test">
|
||||
| Sous-chemin | Exportations clés |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/media-runtime` | Helpers partagés de récupération/transformation/stockage de médias plus constructeurs de charges utiles média |
|
||||
| `plugin-sdk/media-generation-runtime` | Helpers partagés de fallback de génération de médias, sélection de candidats et messagerie de modèle manquant |
|
||||
| `plugin-sdk/media-understanding` | Types de provider de compréhension des médias plus exports helper orientés provider pour image/audio |
|
||||
| `plugin-sdk/text-runtime` | Helpers partagés de texte/Markdown/journalisation tels que suppression du texte visible par l'assistant, helpers de rendu/fragmentation/tableau Markdown, helpers de masquage, helpers de balises de directive et utilitaires de texte sûr |
|
||||
| `plugin-sdk/text-chunking` | Helper de fragmentation de texte sortant |
|
||||
| `plugin-sdk/speech` | Types de provider de parole plus helpers orientés provider de directive, registre et validation |
|
||||
| `plugin-sdk/speech-core` | Helpers partagés de types de provider de parole, registre, directive et normalisation |
|
||||
| `plugin-sdk/realtime-transcription` | Types de provider de transcription en temps réel et helpers de registre |
|
||||
| `plugin-sdk/realtime-voice` | Types de provider de voix en temps réel et helpers de registre |
|
||||
| `plugin-sdk/image-generation` | Types de provider de génération d'image |
|
||||
| `plugin-sdk/image-generation-core` | Helpers partagés de types de génération d'image, fallback, authentification et registre |
|
||||
| `plugin-sdk/music-generation` | Types de provider/requête/résultat de génération musicale |
|
||||
| `plugin-sdk/music-generation-core` | Types partagés de génération musicale, helpers de fallback, recherche de provider et analyse de référence de modèle |
|
||||
| `plugin-sdk/video-generation` | Types de provider/requête/résultat de génération vidéo |
|
||||
| `plugin-sdk/video-generation-core` | Types partagés de génération vidéo, helpers de fallback, recherche de provider et analyse de référence de modèle |
|
||||
| `plugin-sdk/webhook-targets` | Registre de cibles webhook et helpers d'installation de route |
|
||||
| `plugin-sdk/webhook-path` | Helpers de normalisation de chemin webhook |
|
||||
| `plugin-sdk/media-runtime` | Helpers partagés de récupération/transformation/stockage de médias ainsi que constructeurs de charge utile média |
|
||||
| `plugin-sdk/media-generation-runtime` | Helpers partagés de basculement en cas d’échec pour la génération de médias, sélection de candidats et messagerie de modèle manquant |
|
||||
| `plugin-sdk/media-understanding` | Types de fournisseur de compréhension des médias ainsi qu’exportations helper orientées fournisseur pour image/audio |
|
||||
| `plugin-sdk/text-runtime` | Helpers partagés de texte/Markdown/journalisation tels que suppression du texte visible par l’assistant, helpers de rendu/segmentation/tableau Markdown, helpers de masquage, helpers de balise de directive et utilitaires de texte sûr |
|
||||
| `plugin-sdk/text-chunking` | Helper de segmentation de texte sortant |
|
||||
| `plugin-sdk/speech` | Types de fournisseur Speech ainsi qu’helpers orientés fournisseur pour directives, registre et validation |
|
||||
| `plugin-sdk/speech-core` | Helpers partagés de types, registre, directive et normalisation pour fournisseur Speech |
|
||||
| `plugin-sdk/realtime-transcription` | Types de fournisseur de transcription en temps réel et helpers de registre |
|
||||
| `plugin-sdk/realtime-voice` | Types de fournisseur de voix en temps réel et helpers de registre |
|
||||
| `plugin-sdk/image-generation` | Types de fournisseur de génération d’image |
|
||||
| `plugin-sdk/image-generation-core` | Helpers partagés de types, basculement en cas d’échec, authentification et registre pour la génération d’image |
|
||||
| `plugin-sdk/music-generation` | Types de fournisseur/de requête/de résultat pour la génération musicale |
|
||||
| `plugin-sdk/music-generation-core` | Helpers partagés de types, basculement en cas d’échec, recherche de fournisseur et analyse de référence de modèle pour la génération musicale |
|
||||
| `plugin-sdk/video-generation` | Types de fournisseur/de requête/de résultat pour la génération vidéo |
|
||||
| `plugin-sdk/video-generation-core` | Helpers partagés de types, basculement en cas d’échec, recherche de fournisseur et analyse de référence de modèle pour la génération vidéo |
|
||||
| `plugin-sdk/webhook-targets` | Helpers de registre de cible Webhook et d’installation de route |
|
||||
| `plugin-sdk/webhook-path` | Helpers de normalisation de chemin Webhook |
|
||||
| `plugin-sdk/web-media` | Helpers partagés de chargement de médias distants/locaux |
|
||||
| `plugin-sdk/zod` | `zod` réexporté pour les consommateurs du SDK de plugin |
|
||||
| `plugin-sdk/zod` | `zod` réexporté pour les consommateurs du SDK Plugin |
|
||||
| `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Sous-chemins de mémoire">
|
||||
| Sous-chemin | Exports clés |
|
||||
<Accordion title="Sous-chemins mémoire">
|
||||
| Sous-chemin | Exportations clés |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/memory-core` | Surface helper memory-core intégrée pour les helpers de gestionnaire/configuration/fichier/CLI |
|
||||
| `plugin-sdk/memory-core-engine-runtime` | Façade d'exécution d'indexation/recherche de mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-foundation` | Exports du moteur de fondation de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-embeddings` | Exports du moteur d'embeddings de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-qmd` | Exports du moteur QMD de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-storage` | Exports du moteur de stockage de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-multimodal` | Helpers multimodaux de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-query` | Helpers de requête de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-secret` | Helpers de secret de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-events` | Helpers de journal d'événements de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-status` | Helpers d'état de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-cli` | Helpers d'exécution CLI de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-core` | Helpers d'exécution cœur de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-files` | Helpers de fichier/exécution de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-host-core` | Alias neutre vis-à-vis du fournisseur pour les helpers d'exécution cœur de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-host-events` | Alias neutre vis-à-vis du fournisseur pour les helpers de journal d'événements de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-host-files` | Alias neutre vis-à-vis du fournisseur pour les helpers de fichier/exécution de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-host-markdown` | Helpers partagés de Markdown géré pour les plugins proches de la mémoire |
|
||||
| `plugin-sdk/memory-host-search` | Façade d'exécution de mémoire active pour l'accès au gestionnaire de recherche |
|
||||
| `plugin-sdk/memory-host-status` | Alias neutre vis-à-vis du fournisseur pour les helpers d'état de l'hôte mémoire |
|
||||
| `plugin-sdk/memory-lancedb` | Surface helper memory-lancedb intégrée |
|
||||
| `plugin-sdk/memory-core` | Surface helper `memory-core` intégrée pour les helpers de gestionnaire/config/fichier/CLI |
|
||||
| `plugin-sdk/memory-core-engine-runtime` | Façade de runtime pour l’indexation/la recherche mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-foundation` | Exportations du moteur de fondation hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-embeddings` | Contrats d’embedding hôte mémoire, accès au registre, fournisseur local et helpers génériques de lot/distant |
|
||||
| `plugin-sdk/memory-core-host-engine-qmd` | Exportations du moteur QMD hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-engine-storage` | Exportations du moteur de stockage hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-multimodal` | Helpers multimodaux hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-query` | Helpers de requête hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-secret` | Helpers de secret hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-events` | Helpers de journal d’événements hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-status` | Helpers de statut hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-cli` | Helpers de runtime CLI hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-core` | Helpers de runtime central hôte mémoire |
|
||||
| `plugin-sdk/memory-core-host-runtime-files` | Helpers de fichier/runtime hôte mémoire |
|
||||
| `plugin-sdk/memory-host-core` | Alias neutre vis-à-vis du fournisseur pour les helpers de runtime central hôte mémoire |
|
||||
| `plugin-sdk/memory-host-events` | Alias neutre vis-à-vis du fournisseur pour les helpers de journal d’événements hôte mémoire |
|
||||
| `plugin-sdk/memory-host-files` | Alias neutre vis-à-vis du fournisseur pour les helpers de fichier/runtime hôte mémoire |
|
||||
| `plugin-sdk/memory-host-markdown` | Helpers partagés de Markdown géré pour les plugins adjacents à la mémoire |
|
||||
| `plugin-sdk/memory-host-search` | Façade de runtime Active Memory pour l’accès au gestionnaire de recherche |
|
||||
| `plugin-sdk/memory-host-status` | Alias neutre vis-à-vis du fournisseur pour les helpers de statut hôte mémoire |
|
||||
| `plugin-sdk/memory-lancedb` | Surface helper `memory-lancedb` intégrée |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Sous-chemins helper intégrés réservés">
|
||||
| Famille | Sous-chemins actuels | Utilisation prévue |
|
||||
| --- | --- | --- |
|
||||
| Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Helpers de prise en charge du plugin browser intégré (`browser-support` reste le baril de compatibilité) |
|
||||
| Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | Surface helper/d'exécution Matrix intégrée |
|
||||
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Surface helper/d'exécution LINE intégrée |
|
||||
| Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Helpers de support pour le plugin Browser intégré (`browser-support` reste le barrel de compatibilité) |
|
||||
| Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | Surface helper/runtime Matrix intégrée |
|
||||
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Surface helper/runtime LINE intégrée |
|
||||
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Surface helper IRC intégrée |
|
||||
| Helpers spécifiques au channel | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | Surfaces de compatibilité/helper de channel intégrées |
|
||||
| Helpers spécifiques à auth/plugin | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Surfaces helper de fonctionnalité/plugin intégrées ; `plugin-sdk/github-copilot-token` exporte actuellement `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` et `resolveCopilotApiToken` |
|
||||
| Helpers spécifiques à un canal | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | Surfaces de compatibilité/helper de canaux intégrés |
|
||||
| Helpers spécifiques à l’authentification/au plugin | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Surfaces helper de fonctionnalités/plugins intégrés ; `plugin-sdk/github-copilot-token` exporte actuellement `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` et `resolveCopilotApiToken` |
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## API d'enregistrement
|
||||
## API d’enregistrement
|
||||
|
||||
Le callback `register(api)` reçoit un objet `OpenClawPluginApi` avec ces
|
||||
méthodes :
|
||||
|
||||
### Enregistrement de capacités
|
||||
|
||||
| Méthode | Ce qu'elle enregistre |
|
||||
| ------------------------------------------------ | ------------------------------------- |
|
||||
| `api.registerProvider(...)` | Inférence de texte (LLM) |
|
||||
| `api.registerAgentHarness(...)` | Exécuteur d'agent bas niveau expérimental |
|
||||
| `api.registerCliBackend(...)` | Backend CLI d'inférence locale |
|
||||
| `api.registerChannel(...)` | Channel de messagerie |
|
||||
| `api.registerSpeechProvider(...)` | Synthèse texte-vers-parole / STT |
|
||||
| `api.registerRealtimeTranscriptionProvider(...)` | Transcription temps réel en streaming |
|
||||
| `api.registerRealtimeVoiceProvider(...)` | Sessions vocales temps réel duplex |
|
||||
| `api.registerMediaUnderstandingProvider(...)` | Analyse d'image/audio/vidéo |
|
||||
| `api.registerImageGenerationProvider(...)` | Génération d'image |
|
||||
| `api.registerMusicGenerationProvider(...)` | Génération musicale |
|
||||
| `api.registerVideoGenerationProvider(...)` | Génération vidéo |
|
||||
| `api.registerWebFetchProvider(...)` | Fournisseur de récupération / scraping web |
|
||||
| `api.registerWebSearchProvider(...)` | Recherche web |
|
||||
| Méthode | Ce qu’elle enregistre |
|
||||
| ----------------------------------------------- | -------------------------------------- |
|
||||
| `api.registerProvider(...)` | Inférence de texte (LLM) |
|
||||
| `api.registerAgentHarness(...)` | Exécuteur d’agent bas niveau expérimental |
|
||||
| `api.registerCliBackend(...)` | Backend local d’inférence CLI |
|
||||
| `api.registerChannel(...)` | Canal de messagerie |
|
||||
| `api.registerSpeechProvider(...)` | Synthèse texte-parole / STT |
|
||||
| `api.registerRealtimeTranscriptionProvider(...)` | Transcription en temps réel en streaming |
|
||||
| `api.registerRealtimeVoiceProvider(...)` | Sessions vocales duplex en temps réel |
|
||||
| `api.registerMediaUnderstandingProvider(...)` | Analyse d’image/audio/vidéo |
|
||||
| `api.registerImageGenerationProvider(...)` | Génération d’image |
|
||||
| `api.registerMusicGenerationProvider(...)` | Génération musicale |
|
||||
| `api.registerVideoGenerationProvider(...)` | Génération vidéo |
|
||||
| `api.registerWebFetchProvider(...)` | Fournisseur de récupération / scraping web |
|
||||
| `api.registerWebSearchProvider(...)` | Recherche web |
|
||||
|
||||
### Outils et commandes
|
||||
|
||||
| Méthode | Ce qu'elle enregistre |
|
||||
| ------------------------------- | --------------------------------------------- |
|
||||
| `api.registerTool(tool, opts?)` | Outil d'agent (obligatoire ou `{ optional: true }`) |
|
||||
| `api.registerCommand(def)` | Commande personnalisée (contourne le LLM) |
|
||||
| Méthode | Ce qu’elle enregistre |
|
||||
| ----------------------------- | ------------------------------------------- |
|
||||
| `api.registerTool(tool, opts?)` | Outil d’agent (obligatoire ou `{ optional: true }`) |
|
||||
| `api.registerCommand(def)` | Commande personnalisée (contourne le LLM) |
|
||||
|
||||
### Infrastructure
|
||||
|
||||
| Méthode | Ce qu'elle enregistre |
|
||||
| ---------------------------------------------- | ------------------------------------ |
|
||||
| `api.registerHook(events, handler, opts?)` | Hook d'événement |
|
||||
| `api.registerHttpRoute(params)` | Point de terminaison HTTP de Gateway |
|
||||
| `api.registerGatewayMethod(name, handler)` | Méthode RPC de Gateway |
|
||||
| `api.registerCli(registrar, opts?)` | Sous-commande CLI |
|
||||
| `api.registerService(service)` | Service d'arrière-plan |
|
||||
| Méthode | Ce qu’elle enregistre |
|
||||
| --------------------------------------------- | ------------------------------------- |
|
||||
| `api.registerHook(events, handler, opts?)` | Hook d’événement |
|
||||
| `api.registerHttpRoute(params)` | Point de terminaison HTTP Gateway |
|
||||
| `api.registerGatewayMethod(name, handler)` | Méthode RPC Gateway |
|
||||
| `api.registerCli(registrar, opts?)` | Sous-commande CLI |
|
||||
| `api.registerService(service)` | Service en arrière-plan |
|
||||
| `api.registerInteractiveHandler(registration)` | Gestionnaire interactif |
|
||||
| `api.registerMemoryPromptSupplement(builder)` | Section additive d'invite proche de la mémoire |
|
||||
| `api.registerMemoryCorpusSupplement(adapter)` | Corpus additif de recherche/lecture mémoire |
|
||||
| `api.registerMemoryPromptSupplement(builder)` | Section additive de prompt adjacente à la mémoire |
|
||||
| `api.registerMemoryCorpusSupplement(adapter)` | Corpus additif de recherche/lecture mémoire |
|
||||
|
||||
Les espaces de noms d'administration du cœur réservés (`config.*`, `exec.approvals.*`, `wizard.*`,
|
||||
`update.*`) restent toujours `operator.admin`, même si un plugin essaie d'assigner une
|
||||
portée de méthode gateway plus étroite. Préférez des préfixes spécifiques au plugin pour
|
||||
Les espaces de noms d’administration du cœur réservés (`config.*`, `exec.approvals.*`, `wizard.*`,
|
||||
`update.*`) restent toujours `operator.admin`, même si un plugin essaie d’assigner une
|
||||
portée de méthode Gateway plus étroite. Préférez des préfixes spécifiques au plugin pour
|
||||
les méthodes appartenant au plugin.
|
||||
|
||||
### Métadonnées d'enregistrement CLI
|
||||
### Métadonnées d’enregistrement CLI
|
||||
|
||||
`api.registerCli(registrar, opts?)` accepte deux types de métadonnées de niveau supérieur :
|
||||
`api.registerCli(registrar, opts?)` accepte deux types de métadonnées de premier niveau :
|
||||
|
||||
- `commands` : racines de commandes explicites appartenant au registrar
|
||||
- `descriptors` : descripteurs de commande à l'analyse utilisés pour l'aide de la CLI racine,
|
||||
le routage et l'enregistrement paresseux de la CLI du plugin
|
||||
- `commands` : racines de commande explicites appartenant au registrar
|
||||
- `descriptors` : descripteurs de commande au moment de l’analyse utilisés pour l’aide de la CLI racine,
|
||||
le routage et l’enregistrement paresseux de la CLI du plugin
|
||||
|
||||
Si vous voulez qu'une commande de plugin reste chargée paresseusement dans le chemin CLI racine normal,
|
||||
fournissez des `descriptors` qui couvrent chaque racine de commande de niveau supérieur exposée par ce
|
||||
Si vous voulez qu’une commande de plugin reste chargée paresseusement dans le chemin CLI racine normal,
|
||||
fournissez des `descriptors` qui couvrent chaque racine de commande de premier niveau exposée par ce
|
||||
registrar.
|
||||
|
||||
```typescript
|
||||
@ -373,7 +375,7 @@ api.registerCli(
|
||||
descriptors: [
|
||||
{
|
||||
name: "matrix",
|
||||
description: "Gérer les comptes Matrix, la vérification, les appareils et l'état du profil",
|
||||
description: "Gérer les comptes Matrix, la vérification, les appareils et l’état du profil",
|
||||
hasSubcommands: true,
|
||||
},
|
||||
],
|
||||
@ -381,134 +383,135 @@ api.registerCli(
|
||||
);
|
||||
```
|
||||
|
||||
Utilisez `commands` seul uniquement lorsque vous n'avez pas besoin d'un enregistrement CLI racine paresseux.
|
||||
Ce chemin de compatibilité eager reste pris en charge, mais il n'installe pas de
|
||||
placeholders soutenus par des descripteurs pour le chargement paresseux au moment de l'analyse.
|
||||
Utilisez `commands` seul uniquement lorsque vous n’avez pas besoin d’un enregistrement CLI racine paresseux.
|
||||
Ce chemin de compatibilité eager reste pris en charge, mais il n’installe pas
|
||||
d’emplacements réservés adossés à des descripteurs pour le chargement paresseux au moment de l’analyse.
|
||||
|
||||
### Enregistrement de backend CLI
|
||||
### Enregistrement du backend CLI
|
||||
|
||||
`api.registerCliBackend(...)` permet à un plugin de posséder la configuration par défaut d'un backend CLI
|
||||
d'IA local tel que `codex-cli`.
|
||||
`api.registerCliBackend(...)` permet à un plugin de posséder la config par défaut d’un backend CLI
|
||||
d’IA local tel que `codex-cli`.
|
||||
|
||||
- Le `id` du backend devient le préfixe provider dans des références de modèle comme `codex-cli/gpt-5`.
|
||||
- La `config` du backend utilise la même structure que `agents.defaults.cliBackends.<id>`.
|
||||
- La configuration utilisateur garde la priorité. OpenClaw fusionne `agents.defaults.cliBackends.<id>` au-dessus de la
|
||||
valeur par défaut du plugin avant d'exécuter la CLI.
|
||||
- Utilisez `normalizeConfig` lorsqu'un backend a besoin de réécritures de compatibilité après fusion
|
||||
(par exemple normaliser d'anciennes formes de drapeaux).
|
||||
- L’`id` du backend devient le préfixe de fournisseur dans des références de modèle comme `codex-cli/gpt-5`.
|
||||
- La `config` du backend utilise la même forme que `agents.defaults.cliBackends.<id>`.
|
||||
- La config utilisateur garde la priorité. OpenClaw fusionne `agents.defaults.cliBackends.<id>` sur la
|
||||
valeur par défaut du plugin avant d’exécuter la CLI.
|
||||
- Utilisez `normalizeConfig` lorsqu’un backend a besoin de réécritures de compatibilité après fusion
|
||||
(par exemple pour normaliser d’anciennes formes de drapeaux).
|
||||
|
||||
### Emplacements exclusifs
|
||||
|
||||
| Méthode | Ce qu'elle enregistre |
|
||||
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `api.registerContextEngine(id, factory)` | Moteur de contexte (un seul actif à la fois). Le callback `assemble()` reçoit `availableTools` et `citationsMode` afin que le moteur puisse adapter les ajouts à l'invite. |
|
||||
| `api.registerMemoryCapability(capability)` | Capacité mémoire unifiée |
|
||||
| `api.registerMemoryPromptSection(builder)` | Constructeur de section d'invite mémoire |
|
||||
| Méthode | Ce qu’elle enregistre |
|
||||
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `api.registerContextEngine(id, factory)` | Moteur de contexte (un seul actif à la fois). Le callback `assemble()` reçoit `availableTools` et `citationsMode` afin que le moteur puisse adapter les ajouts au prompt. |
|
||||
| `api.registerMemoryCapability(capability)` | Capacité mémoire unifiée |
|
||||
| `api.registerMemoryPromptSection(builder)` | Constructeur de section de prompt mémoire |
|
||||
| `api.registerMemoryFlushPlan(resolver)` | Résolveur de plan de vidage mémoire |
|
||||
| `api.registerMemoryRuntime(runtime)` | Adaptateur d'exécution mémoire |
|
||||
| `api.registerMemoryRuntime(runtime)` | Adaptateur de runtime mémoire |
|
||||
|
||||
### Adaptateurs d'embeddings mémoire
|
||||
### Adaptateurs d’embedding mémoire
|
||||
|
||||
| Méthode | Ce qu'elle enregistre |
|
||||
| ---------------------------------------------- | --------------------------------------------- |
|
||||
| `api.registerMemoryEmbeddingProvider(adapter)` | Adaptateur d'embeddings mémoire pour le plugin actif |
|
||||
| Méthode | Ce qu’elle enregistre |
|
||||
| --------------------------------------------- | -------------------------------------------- |
|
||||
| `api.registerMemoryEmbeddingProvider(adapter)` | Adaptateur d’embedding mémoire pour le plugin actif |
|
||||
|
||||
- `registerMemoryCapability` est l'API exclusive préférée pour les plugins mémoire.
|
||||
- `registerMemoryCapability` est l’API de plugin mémoire exclusive préférée.
|
||||
- `registerMemoryCapability` peut aussi exposer `publicArtifacts.listArtifacts(...)`
|
||||
afin que les plugins compagnons puissent consommer les artefacts mémoire exportés via
|
||||
`openclaw/plugin-sdk/memory-host-core` au lieu d'accéder à la disposition privée d'un
|
||||
afin que des plugins compagnons puissent consommer les artefacts mémoire exportés via
|
||||
`openclaw/plugin-sdk/memory-host-core` au lieu d’atteindre la disposition privée d’un
|
||||
plugin mémoire spécifique.
|
||||
- `registerMemoryPromptSection`, `registerMemoryFlushPlan` et
|
||||
`registerMemoryRuntime` sont des API exclusives de plugin mémoire compatibles avec l'historique.
|
||||
- `registerMemoryEmbeddingProvider` permet au plugin mémoire actif d'enregistrer un
|
||||
ou plusieurs identifiants d'adaptateur d'embeddings (par exemple `openai`, `gemini`, ou un identifiant défini par un plugin personnalisé).
|
||||
- La configuration utilisateur telle que `agents.defaults.memorySearch.provider` et
|
||||
`registerMemoryRuntime` sont des API exclusives de plugin mémoire compatibles avec les versions historiques.
|
||||
- `registerMemoryEmbeddingProvider` permet au plugin mémoire actif d’enregistrer un
|
||||
ou plusieurs identifiants d’adaptateur d’embedding (par exemple `openai`, `gemini` ou un identifiant
|
||||
personnalisé défini par le plugin).
|
||||
- La config utilisateur comme `agents.defaults.memorySearch.provider` et
|
||||
`agents.defaults.memorySearch.fallback` se résout par rapport à ces identifiants
|
||||
d'adaptateur enregistrés.
|
||||
d’adaptateur enregistrés.
|
||||
|
||||
### Événements et cycle de vie
|
||||
|
||||
| Méthode | Ce qu'elle fait |
|
||||
| -------------------------------------------- | ------------------------------ |
|
||||
| `api.on(hookName, handler, opts?)` | Hook de cycle de vie typé |
|
||||
| Méthode | Ce qu’elle fait |
|
||||
| ------------------------------------------- | ----------------------------- |
|
||||
| `api.on(hookName, handler, opts?)` | Hook de cycle de vie typé |
|
||||
| `api.onConversationBindingResolved(handler)` | Callback de liaison de conversation |
|
||||
|
||||
### Sémantique de décision des hooks
|
||||
|
||||
- `before_tool_call` : renvoyer `{ block: true }` est terminal. Dès qu'un gestionnaire le définit, les gestionnaires de priorité inférieure sont ignorés.
|
||||
- `before_tool_call` : renvoyer `{ block: false }` est traité comme aucune décision (comme si `block` était omis), pas comme une surcharge.
|
||||
- `before_install` : renvoyer `{ block: true }` est terminal. Dès qu'un gestionnaire le définit, les gestionnaires de priorité inférieure sont ignorés.
|
||||
- `before_install` : renvoyer `{ block: false }` est traité comme aucune décision (comme si `block` était omis), pas comme une surcharge.
|
||||
- `reply_dispatch` : renvoyer `{ handled: true, ... }` est terminal. Dès qu'un gestionnaire revendique la répartition, les gestionnaires de priorité inférieure et le chemin de répartition de modèle par défaut sont ignorés.
|
||||
- `message_sending` : renvoyer `{ cancel: true }` est terminal. Dès qu'un gestionnaire le définit, les gestionnaires de priorité inférieure sont ignorés.
|
||||
- `message_sending` : renvoyer `{ cancel: false }` est traité comme aucune décision (comme si `cancel` était omis), pas comme une surcharge.
|
||||
- `before_tool_call` : retourner `{ block: true }` est terminal. Dès qu’un gestionnaire le définit, les gestionnaires de priorité inférieure sont ignorés.
|
||||
- `before_tool_call` : retourner `{ block: false }` est traité comme aucune décision (comme si `block` était omis), et non comme une surcharge.
|
||||
- `before_install` : retourner `{ block: true }` est terminal. Dès qu’un gestionnaire le définit, les gestionnaires de priorité inférieure sont ignorés.
|
||||
- `before_install` : retourner `{ block: false }` est traité comme aucune décision (comme si `block` était omis), et non comme une surcharge.
|
||||
- `reply_dispatch` : retourner `{ handled: true, ... }` est terminal. Dès qu’un gestionnaire revendique la répartition, les gestionnaires de priorité inférieure et le chemin par défaut de répartition du modèle sont ignorés.
|
||||
- `message_sending` : retourner `{ cancel: true }` est terminal. Dès qu’un gestionnaire le définit, les gestionnaires de priorité inférieure sont ignorés.
|
||||
- `message_sending` : retourner `{ cancel: false }` est traité comme aucune décision (comme si `cancel` était omis), et non comme une surcharge.
|
||||
|
||||
### Champs de l'objet API
|
||||
### Champs de l’objet API
|
||||
|
||||
| Champ | Type | Description |
|
||||
| ----------------------- | ------------------------- | ------------------------------------------------------------------------------------------ |
|
||||
| `api.id` | `string` | Identifiant du plugin |
|
||||
| `api.name` | `string` | Nom d'affichage |
|
||||
| `api.version` | `string?` | Version du plugin (facultatif) |
|
||||
| `api.description` | `string?` | Description du plugin (facultatif) |
|
||||
| `api.source` | `string` | Chemin source du plugin |
|
||||
| `api.rootDir` | `string?` | Répertoire racine du plugin (facultatif) |
|
||||
| `api.config` | `OpenClawConfig` | Instantané de configuration actuel (instantané d'exécution actif en mémoire lorsqu'il est disponible) |
|
||||
| `api.pluginConfig` | `Record<string, unknown>` | Configuration spécifique au plugin depuis `plugins.entries.<id>.config` |
|
||||
| `api.runtime` | `PluginRuntime` | [Helpers d'exécution](/fr/plugins/sdk-runtime) |
|
||||
| `api.logger` | `PluginLogger` | Logger limité par portée (`debug`, `info`, `warn`, `error`) |
|
||||
| `api.registrationMode` | `PluginRegistrationMode` | Mode de chargement actuel ; `"setup-runtime"` est la fenêtre légère de démarrage/configuration avant l'entrée complète |
|
||||
| `api.resolvePath(input)` | `(string) => string` | Résoudre un chemin relatif à la racine du plugin |
|
||||
| Champ | Type | Description |
|
||||
| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `api.id` | `string` | Identifiant du plugin |
|
||||
| `api.name` | `string` | Nom d’affichage |
|
||||
| `api.version` | `string?` | Version du plugin (facultatif) |
|
||||
| `api.description` | `string?` | Description du plugin (facultatif) |
|
||||
| `api.source` | `string` | Chemin source du plugin |
|
||||
| `api.rootDir` | `string?` | Répertoire racine du plugin (facultatif) |
|
||||
| `api.config` | `OpenClawConfig` | Instantané de config actuel (instantané actif en mémoire à l’exécution lorsqu’il est disponible) |
|
||||
| `api.pluginConfig` | `Record<string, unknown>` | Config spécifique au plugin depuis `plugins.entries.<id>.config` |
|
||||
| `api.runtime` | `PluginRuntime` | [Helpers de runtime](/fr/plugins/sdk-runtime) |
|
||||
| `api.logger` | `PluginLogger` | Logger à portée limitée (`debug`, `info`, `warn`, `error`) |
|
||||
| `api.registrationMode` | `PluginRegistrationMode` | Mode de chargement actuel ; `"setup-runtime"` est la fenêtre légère de démarrage/configuration avant le chargement complet |
|
||||
| `api.resolvePath(input)` | `(string) => string` | Résoudre un chemin relatif à la racine du plugin |
|
||||
|
||||
## Convention de module interne
|
||||
|
||||
Dans votre plugin, utilisez des fichiers barils locaux pour les imports internes :
|
||||
Dans votre plugin, utilisez des fichiers barrel locaux pour les importations internes :
|
||||
|
||||
```
|
||||
my-plugin/
|
||||
api.ts # Exports publics pour les consommateurs externes
|
||||
runtime-api.ts # Exports d'exécution internes uniquement
|
||||
index.ts # Point d'entrée du plugin
|
||||
setup-entry.ts # Entrée légère réservée à la configuration (facultative)
|
||||
api.ts # Exportations publiques pour les consommateurs externes
|
||||
runtime-api.ts # Exportations de runtime réservées à l’interne
|
||||
index.ts # Point d’entrée du plugin
|
||||
setup-entry.ts # Entrée légère réservée à la configuration (facultatif)
|
||||
```
|
||||
|
||||
<Warning>
|
||||
N'importez jamais votre propre plugin via `openclaw/plugin-sdk/<your-plugin>`
|
||||
depuis le code de production. Faites passer les imports internes via `./api.ts` ou
|
||||
`./runtime-api.ts`. Le chemin SDK est uniquement le contrat externe.
|
||||
N’importez jamais votre propre plugin via `openclaw/plugin-sdk/<your-plugin>`
|
||||
depuis le code de production. Faites passer les importations internes par `./api.ts` ou
|
||||
`./runtime-api.ts`. Le chemin du SDK est uniquement le contrat externe.
|
||||
</Warning>
|
||||
|
||||
Les surfaces publiques de plugin intégré chargées via façade (`api.ts`, `runtime-api.ts`,
|
||||
`index.ts`, `setup-entry.ts` et autres fichiers d'entrée publics similaires) préfèrent désormais l'instantané
|
||||
de configuration d'exécution actif lorsque OpenClaw est déjà en cours d'exécution. Si aucun instantané d'exécution
|
||||
n'existe encore, elles se replient sur le fichier de configuration résolu sur le disque.
|
||||
Les surfaces publiques des plugins intégrés chargées via façade (`api.ts`, `runtime-api.ts`,
|
||||
`index.ts`, `setup-entry.ts` et fichiers d’entrée publics similaires) préfèrent désormais
|
||||
l’instantané actif de config d’exécution lorsque OpenClaw est déjà en cours d’exécution. Si aucun instantané
|
||||
d’exécution n’existe encore, elles reviennent au fichier de config résolu sur le disque.
|
||||
|
||||
Les plugins de provider peuvent aussi exposer un baril de contrat local au plugin et étroit lorsqu'un
|
||||
helper est intentionnellement spécifique au provider et n'a pas encore sa place dans un
|
||||
sous-chemin SDK générique. Exemple intégré actuel : le provider Anthropic conserve ses helpers de flux Claude
|
||||
dans sa propre surface publique `api.ts` / `contract-api.ts` au lieu de promouvoir la logique
|
||||
d'en-tête bêta Anthropic et `service_tier` dans un contrat générique
|
||||
`plugin-sdk/*`.
|
||||
Les plugins de fournisseur peuvent aussi exposer un barrel de contrat local au plugin et étroit lorsqu’un
|
||||
helper est intentionnellement spécifique à un fournisseur et n’a pas encore sa place dans un sous-chemin SDK
|
||||
générique. Exemple intégré actuel : le fournisseur Anthropic conserve ses helpers de flux Claude
|
||||
dans sa propre surface publique `api.ts` / `contract-api.ts` au lieu de
|
||||
promouvoir la logique d’en-tête bêta Anthropic et `service_tier` dans un contrat
|
||||
générique `plugin-sdk/*`.
|
||||
|
||||
Autres exemples intégrés actuels :
|
||||
|
||||
- `@openclaw/openai-provider` : `api.ts` exporte des constructeurs de provider,
|
||||
des helpers de modèle par défaut et des constructeurs de provider temps réel
|
||||
- `@openclaw/openrouter-provider` : `api.ts` exporte le constructeur de provider ainsi que
|
||||
des helpers d'onboarding/configuration
|
||||
- `@openclaw/openai-provider` : `api.ts` exporte des constructeurs de fournisseur,
|
||||
des helpers de modèle par défaut et des constructeurs de fournisseur temps réel
|
||||
- `@openclaw/openrouter-provider` : `api.ts` exporte le constructeur de fournisseur ainsi que
|
||||
des helpers d’intégration/de config
|
||||
|
||||
<Warning>
|
||||
Le code de production d'extension doit aussi éviter les imports `openclaw/plugin-sdk/<other-plugin>`.
|
||||
Le code de production des extensions doit également éviter les importations `openclaw/plugin-sdk/<other-plugin>`.
|
||||
Si un helper est réellement partagé, promouvez-le vers un sous-chemin SDK neutre
|
||||
tel que `openclaw/plugin-sdk/speech`, `.../provider-model-shared`, ou une autre
|
||||
surface orientée capacité au lieu de coupler deux plugins ensemble.
|
||||
tel que `openclaw/plugin-sdk/speech`, `.../provider-model-shared` ou une autre
|
||||
surface orientée capacité au lieu de coupler deux plugins entre eux.
|
||||
</Warning>
|
||||
|
||||
## Voir aussi
|
||||
## Liens connexes
|
||||
|
||||
- [Points d'entrée](/fr/plugins/sdk-entrypoints) — options `definePluginEntry` et `defineChannelPluginEntry`
|
||||
- [Helpers d'exécution](/fr/plugins/sdk-runtime) — référence complète de l'espace de noms `api.runtime`
|
||||
- [Configuration et config](/fr/plugins/sdk-setup) — packaging, manifestes, schémas de configuration
|
||||
- [Points d’entrée](/fr/plugins/sdk-entrypoints) — options de `definePluginEntry` et `defineChannelPluginEntry`
|
||||
- [Helpers de runtime](/fr/plugins/sdk-runtime) — référence complète de l’espace de noms `api.runtime`
|
||||
- [Configuration et config](/fr/plugins/sdk-setup) — empaquetage, manifestes, schémas de config
|
||||
- [Tests](/fr/plugins/sdk-testing) — utilitaires de test et règles de lint
|
||||
- [Migration du SDK](/fr/plugins/sdk-migration) — migration depuis les surfaces obsolètes
|
||||
- [Internes des plugins](/fr/plugins/architecture) — architecture approfondie et modèle de capacité
|
||||
- [Migration du SDK](/fr/plugins/sdk-migration) — migration depuis des surfaces obsolètes
|
||||
- [Internes des plugins](/fr/plugins/architecture) — architecture détaillée et modèle de capacités
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
---
|
||||
read_when:
|
||||
- Ajuster l'analyse ou les valeurs par défaut des directives de réflexion, du mode rapide ou du mode verbeux
|
||||
summary: Syntaxe des directives pour `/think`, `/fast`, `/verbose`, `/trace` et la visibilité du raisonnement
|
||||
- Ajustement de l’analyse des directives ou des valeurs par défaut pour le niveau de réflexion, le mode rapide ou le mode verbeux
|
||||
summary: Syntaxe des directives pour /think, /fast, /verbose, /trace et la visibilité du raisonnement
|
||||
title: Niveaux de réflexion
|
||||
x-i18n:
|
||||
generated_at: "2026-04-12T23:33:32Z"
|
||||
generated_at: "2026-04-17T06:57:28Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 4f3b1341281f07ba4e9061e3355845dca234be04cc0d358594312beeb7676e68
|
||||
source_hash: 1cb44a7bf75546e5a8c3204e12f3297221449b881161d173dea4983da3921649
|
||||
source_path: tools/thinking.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -16,103 +16,106 @@ x-i18n:
|
||||
|
||||
## Ce que cela fait
|
||||
|
||||
- Directive inline dans tout corps entrant : `/t <level>`, `/think:<level>`, ou `/thinking <level>`.
|
||||
- Directive en ligne dans tout corps de message entrant : `/t <level>`, `/think:<level>` ou `/thinking <level>`.
|
||||
- Niveaux (alias) : `off | minimal | low | medium | high | xhigh | adaptive`
|
||||
- minimal → « réfléchir »
|
||||
- low → « réfléchir sérieusement »
|
||||
- medium → « réfléchir davantage »
|
||||
- high → « ultrathink » (budget maximal)
|
||||
- xhigh → « ultrathink+ » (modèles GPT-5.2 + Codex uniquement)
|
||||
- adaptive → budget de raisonnement adaptatif géré par le fournisseur (pris en charge pour la famille de modèles Anthropic Claude 4.6)
|
||||
- `x-high`, `x_high`, `extra-high`, `extra high`, et `extra_high` sont mappés vers `xhigh`.
|
||||
- `highest`, `max` sont mappés vers `high`.
|
||||
- Notes sur les fournisseurs :
|
||||
- Les modèles Anthropic Claude 4.6 utilisent `adaptive` par défaut lorsqu'aucun niveau de réflexion explicite n'est défini.
|
||||
- MiniMax (`minimax/*`) sur le chemin de streaming compatible Anthropic utilise par défaut `thinking: { type: "disabled" }` sauf si vous définissez explicitement thinking dans les paramètres du modèle ou de la requête. Cela évite les deltas `reasoning_content` divulgués par le format de flux Anthropic non natif de MiniMax.
|
||||
- Z.AI (`zai/*`) ne prend en charge qu'un thinking binaire (`on`/`off`). Tout niveau autre que `off` est traité comme `on` (mappé vers `low`).
|
||||
- Moonshot (`moonshot/*`) mappe `/think off` vers `thinking: { type: "disabled" }` et tout niveau autre que `off` vers `thinking: { type: "enabled" }`. Lorsque thinking est activé, Moonshot n'accepte que `tool_choice` `auto|none` ; OpenClaw normalise les valeurs incompatibles vers `auto`.
|
||||
- xhigh → « ultrathink+ » (GPT-5.2 + modèles Codex et effort Anthropic Claude Opus 4.7)
|
||||
- adaptive → réflexion adaptative gérée par le fournisseur (prise en charge pour Anthropic Claude 4.6 et Opus 4.7)
|
||||
- `x-high`, `x_high`, `extra-high`, `extra high` et `extra_high` correspondent à `xhigh`.
|
||||
- `highest`, `max` correspondent à `high`.
|
||||
- Remarques sur les fournisseurs :
|
||||
- Les modèles Anthropic Claude 4.6 utilisent `adaptive` par défaut lorsqu’aucun niveau de réflexion explicite n’est défini.
|
||||
- Anthropic Claude Opus 4.7 n’utilise pas la réflexion adaptative par défaut. Sa valeur d’effort par défaut de l’API reste gérée par le fournisseur, sauf si vous définissez explicitement un niveau de réflexion.
|
||||
- Anthropic Claude Opus 4.7 mappe `/think xhigh` vers une réflexion adaptative plus `output_config.effort: "xhigh"`, car `/think` est une directive de réflexion et `xhigh` est le paramètre d’effort d’Opus 4.7.
|
||||
- MiniMax (`minimax/*`) sur le chemin de streaming compatible Anthropic utilise par défaut `thinking: { type: "disabled" }`, sauf si vous définissez explicitement la réflexion dans les paramètres du modèle ou de la requête. Cela évite les deltas `reasoning_content` divulgués par le format de flux Anthropic non natif de MiniMax.
|
||||
- Z.AI (`zai/*`) prend uniquement en charge une réflexion binaire (`on`/`off`). Tout niveau autre que `off` est traité comme `on` (mappé vers `low`).
|
||||
- Moonshot (`moonshot/*`) mappe `/think off` vers `thinking: { type: "disabled" }` et tout niveau autre que `off` vers `thinking: { type: "enabled" }`. Lorsque la réflexion est activée, Moonshot n’accepte que `tool_choice` `auto|none` ; OpenClaw normalise les valeurs incompatibles en `auto`.
|
||||
|
||||
## Ordre de résolution
|
||||
|
||||
1. Directive inline sur le message (s'applique uniquement à ce message).
|
||||
2. Remplacement de session (défini en envoyant un message contenant uniquement une directive).
|
||||
3. Valeur par défaut par agent (`agents.list[].thinkingDefault` dans la configuration).
|
||||
4. Valeur par défaut globale (`agents.defaults.thinkingDefault` dans la configuration).
|
||||
5. Repli : `adaptive` pour les modèles Anthropic Claude 4.6, `low` pour les autres modèles compatibles avec le raisonnement, `off` sinon.
|
||||
1. Directive en ligne sur le message (s’applique uniquement à ce message).
|
||||
2. Surcharge de session (définie en envoyant un message contenant uniquement une directive).
|
||||
3. Valeur par défaut par agent (`agents.list[].thinkingDefault` dans la config).
|
||||
4. Valeur par défaut globale (`agents.defaults.thinkingDefault` dans la config).
|
||||
5. Repli : `adaptive` pour les modèles Anthropic Claude 4.6, `off` pour Anthropic Claude Opus 4.7 sauf configuration explicite, `low` pour les autres modèles prenant en charge la réflexion, `off` sinon.
|
||||
|
||||
## Définir une valeur par défaut de session
|
||||
|
||||
- Envoyez un message qui contient **uniquement** la directive (espaces autorisés), par exemple `/think:medium` ou `/t high`.
|
||||
- Cela reste appliqué à la session actuelle (par expéditeur par défaut) ; effacé par `/think:off` ou une réinitialisation après inactivité de session.
|
||||
- Une réponse de confirmation est envoyée (`Thinking level set to high.` / `Thinking disabled.`). Si le niveau est invalide (par exemple `/thinking big`), la commande est rejetée avec une indication et l'état de la session reste inchangé.
|
||||
- Cela reste actif pour la session en cours (par expéditeur par défaut) ; effacé par `/think:off` ou par la réinitialisation après inactivité de la session.
|
||||
- Une réponse de confirmation est envoyée (`Thinking level set to high.` / `Thinking disabled.`). Si le niveau est invalide (par exemple `/thinking big`), la commande est rejetée avec une indication et l’état de la session reste inchangé.
|
||||
- Envoyez `/think` (ou `/think:`) sans argument pour voir le niveau de réflexion actuel.
|
||||
|
||||
## Application par agent
|
||||
|
||||
- **Pi embarqué** : le niveau résolu est transmis au runtime d'agent Pi en processus.
|
||||
- **Pi intégré** : le niveau résolu est transmis au runtime de l’agent Pi en cours de processus.
|
||||
|
||||
## Mode rapide (/fast)
|
||||
|
||||
- Niveaux : `on|off`.
|
||||
- Un message contenant uniquement la directive active/désactive un remplacement de session du mode rapide et répond `Fast mode enabled.` / `Fast mode disabled.`.
|
||||
- Envoyez `/fast` (ou `/fast status`) sans mode pour voir l'état effectif actuel du mode rapide.
|
||||
- Un message contenant uniquement une directive active ou désactive une surcharge de session du mode rapide et répond `Fast mode enabled.` / `Fast mode disabled.`.
|
||||
- Envoyez `/fast` (ou `/fast status`) sans mode pour voir l’état effectif actuel du mode rapide.
|
||||
- OpenClaw résout le mode rapide dans cet ordre :
|
||||
1. `/fast on|off` inline/contenant uniquement la directive
|
||||
2. Remplacement de session
|
||||
1. `/fast on|off` en ligne / sous forme de directive seule
|
||||
2. Surcharge de session
|
||||
3. Valeur par défaut par agent (`agents.list[].fastModeDefault`)
|
||||
4. Configuration par modèle : `agents.defaults.models["<provider>/<model>"].params.fastMode`
|
||||
4. Config par modèle : `agents.defaults.models["<provider>/<model>"].params.fastMode`
|
||||
5. Repli : `off`
|
||||
- Pour `openai/*`, le mode rapide correspond au traitement prioritaire OpenAI en envoyant `service_tier=priority` sur les requêtes Responses prises en charge.
|
||||
- Pour `openai-codex/*`, le mode rapide envoie le même indicateur `service_tier=priority` sur Codex Responses. OpenClaw conserve un seul basculement `/fast` partagé entre les deux chemins d'authentification.
|
||||
- Pour les requêtes directes publiques `anthropic/*`, y compris le trafic authentifié par OAuth envoyé à `api.anthropic.com`, le mode rapide correspond aux niveaux de service Anthropic : `/fast on` définit `service_tier=auto`, `/fast off` définit `service_tier=standard_only`.
|
||||
- Pour `openai-codex/*`, le mode rapide envoie le même indicateur `service_tier=priority` sur les réponses Codex. OpenClaw conserve un seul basculement `/fast` partagé entre les deux chemins d’authentification.
|
||||
- Pour les requêtes directes publiques `anthropic/*`, y compris le trafic authentifié par OAuth envoyé vers `api.anthropic.com`, le mode rapide correspond aux niveaux de service Anthropic : `/fast on` définit `service_tier=auto`, `/fast off` définit `service_tier=standard_only`.
|
||||
- Pour `minimax/*` sur le chemin compatible Anthropic, `/fast on` (ou `params.fastMode: true`) réécrit `MiniMax-M2.7` en `MiniMax-M2.7-highspeed`.
|
||||
- Les paramètres explicites de modèle Anthropic `serviceTier` / `service_tier` remplacent la valeur par défaut du mode rapide lorsque les deux sont définis. OpenClaw continue à ignorer l'injection du niveau de service Anthropic pour les URL de base proxy non Anthropic.
|
||||
- Les paramètres explicites du modèle Anthropic `serviceTier` / `service_tier` remplacent la valeur par défaut du mode rapide lorsque les deux sont définis. OpenClaw continue toutefois à ignorer l’injection du niveau de service Anthropic pour les URL de base proxy non Anthropic.
|
||||
|
||||
## Directives verbeuses (/verbose ou /v)
|
||||
|
||||
- Niveaux : `on` (minimal) | `full` | `off` (par défaut).
|
||||
- Un message contenant uniquement la directive active le mode verbeux de session et répond `Verbose logging enabled.` / `Verbose logging disabled.` ; les niveaux invalides renvoient une indication sans modifier l'état.
|
||||
- `/verbose off` stocke un remplacement explicite de session ; effacez-le via l'interface Sessions en choisissant `inherit`.
|
||||
- La directive inline n'affecte que ce message ; les valeurs par défaut de session/globales s'appliquent sinon.
|
||||
- Envoyez `/verbose` (ou `/verbose:`) sans argument pour voir le niveau verbeux actuel.
|
||||
- Lorsque le mode verbeux est activé, les agents qui émettent des résultats d'outils structurés (Pi, autres agents JSON) renvoient chaque appel d'outil dans son propre message contenant uniquement des métadonnées, préfixé par `<emoji> <tool-name>: <arg>` lorsque disponible (chemin/commande). Ces résumés d'outils sont envoyés dès le démarrage de chaque outil (bulles séparées), et non comme deltas de streaming.
|
||||
- Les résumés d'échec d'outil restent visibles en mode normal, mais les suffixes détaillés d'erreur brute sont masqués sauf si verbose vaut `on` ou `full`.
|
||||
- Lorsque verbose vaut `full`, les sorties d'outils sont également transmises après leur achèvement (bulle séparée, tronquée à une longueur sûre). Si vous basculez `/verbose on|full|off` pendant qu'une exécution est en cours, les bulles d'outils suivantes respectent le nouveau réglage.
|
||||
- Un message contenant uniquement une directive active la verbosité de session et répond `Verbose logging enabled.` / `Verbose logging disabled.` ; les niveaux invalides renvoient une indication sans modifier l’état.
|
||||
- `/verbose off` enregistre une surcharge explicite de session ; effacez-la via l’interface Sessions en choisissant `inherit`.
|
||||
- La directive en ligne n’affecte que ce message ; sinon, les valeurs par défaut de session/globales s’appliquent.
|
||||
- Envoyez `/verbose` (ou `/verbose:`) sans argument pour voir le niveau de verbosité actuel.
|
||||
- Lorsque le mode verbeux est activé, les agents qui émettent des résultats d’outils structurés (Pi, autres agents JSON) renvoient chaque appel d’outil comme son propre message de métadonnées uniquement, préfixé par `<emoji> <tool-name>: <arg>` lorsque disponible (chemin/commande). Ces résumés d’outils sont envoyés dès le démarrage de chaque outil (bulles séparées), et non comme deltas de streaming.
|
||||
- Les résumés d’échec des outils restent visibles en mode normal, mais les suffixes détaillant les erreurs brutes sont masqués sauf si verbose vaut `on` ou `full`.
|
||||
- Lorsque verbose vaut `full`, les sorties des outils sont également transmises après leur fin (bulle séparée, tronquée à une longueur sûre). Si vous basculez `/verbose on|full|off` pendant qu’une exécution est en cours, les bulles d’outils suivantes respecteront le nouveau paramètre.
|
||||
|
||||
## Directives de trace du Plugin (/trace)
|
||||
## Directives de trace de Plugin (/trace)
|
||||
|
||||
- Niveaux : `on` | `off` (par défaut).
|
||||
- Un message contenant uniquement la directive active la sortie de trace du Plugin pour la session et répond `Plugin trace enabled.` / `Plugin trace disabled.`.
|
||||
- La directive inline n'affecte que ce message ; les valeurs par défaut de session/globales s'appliquent sinon.
|
||||
- Un message contenant uniquement une directive active la sortie de trace des plugins pour la session et répond `Plugin trace enabled.` / `Plugin trace disabled.`.
|
||||
- La directive en ligne n’affecte que ce message ; sinon, les valeurs par défaut de session/globales s’appliquent.
|
||||
- Envoyez `/trace` (ou `/trace:`) sans argument pour voir le niveau de trace actuel.
|
||||
- `/trace` est plus étroit que `/verbose` : il n'expose que les lignes de trace/de débogage appartenant au Plugin, comme les résumés de débogage Active Memory.
|
||||
- Les lignes de trace peuvent apparaître dans `/status` et comme message de diagnostic de suivi après la réponse normale de l'assistant.
|
||||
- `/trace` est plus ciblé que `/verbose` : il n’expose que les lignes de trace/debug appartenant aux plugins, comme les résumés de débogage Active Memory.
|
||||
- Les lignes de trace peuvent apparaître dans `/status` et sous forme de message de diagnostic de suivi après la réponse normale de l’assistant.
|
||||
|
||||
## Visibilité du raisonnement (/reasoning)
|
||||
|
||||
- Niveaux : `on|off|stream`.
|
||||
- Un message contenant uniquement la directive active/désactive l'affichage des blocs de réflexion dans les réponses.
|
||||
- Lorsqu'il est activé, le raisonnement est envoyé comme **message séparé** préfixé par `Reasoning:`.
|
||||
- `stream` (Telegram uniquement) : diffuse le raisonnement dans la bulle de brouillon Telegram pendant la génération de la réponse, puis envoie la réponse finale sans le raisonnement.
|
||||
- Un message contenant uniquement une directive active ou désactive l’affichage des blocs de réflexion dans les réponses.
|
||||
- Lorsqu’elle est activée, la réflexion est envoyée comme **message séparé** préfixé par `Reasoning:`.
|
||||
- `stream` (Telegram uniquement) : diffuse la réflexion dans la bulle de brouillon Telegram pendant la génération de la réponse, puis envoie la réponse finale sans la réflexion.
|
||||
- Alias : `/reason`.
|
||||
- Envoyez `/reasoning` (ou `/reasoning:`) sans argument pour voir le niveau de raisonnement actuel.
|
||||
- Ordre de résolution : directive inline, puis remplacement de session, puis valeur par défaut par agent (`agents.list[].reasoningDefault`), puis repli (`off`).
|
||||
- Envoyez `/reasoning` (ou `/reasoning:`) sans argument pour voir le niveau actuel de raisonnement.
|
||||
- Ordre de résolution : directive en ligne, puis surcharge de session, puis valeur par défaut par agent (`agents.list[].reasoningDefault`), puis repli (`off`).
|
||||
|
||||
## Voir aussi
|
||||
## Lié
|
||||
|
||||
- La documentation du mode élevé se trouve dans [Elevated mode](/fr/tools/elevated).
|
||||
- La documentation du mode élevé se trouve dans [Mode élevé](/fr/tools/elevated).
|
||||
|
||||
## Heartbeats
|
||||
|
||||
- Le corps de la sonde Heartbeat est l'invite Heartbeat configurée (par défaut : `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`). Les directives inline dans un message Heartbeat s'appliquent comme d'habitude (mais évitez de modifier les valeurs par défaut de session à partir des Heartbeats).
|
||||
- L'envoi Heartbeat transmet par défaut uniquement la charge utile finale. Pour envoyer aussi le message séparé `Reasoning:` (lorsqu'il est disponible), définissez `agents.defaults.heartbeat.includeReasoning: true` ou, par agent, `agents.list[].heartbeat.includeReasoning: true`.
|
||||
- Le corps de la sonde Heartbeat est le prompt Heartbeat configuré (par défaut : `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`). Les directives en ligne dans un message Heartbeat s’appliquent normalement (mais évitez de modifier les valeurs par défaut de session à partir des Heartbeats).
|
||||
- La livraison Heartbeat envoie par défaut uniquement la charge utile finale. Pour envoyer aussi le message séparé `Reasoning:` (lorsqu’il est disponible), définissez `agents.defaults.heartbeat.includeReasoning: true` ou, par agent, `agents.list[].heartbeat.includeReasoning: true`.
|
||||
|
||||
## Interface de chat web
|
||||
|
||||
- Le sélecteur de réflexion du chat web reflète le niveau stocké de la session depuis le magasin de sessions/configuration entrante au chargement de la page.
|
||||
- Choisir un autre niveau écrit immédiatement le remplacement de session via `sessions.patch` ; il n'attend pas l'envoi suivant et ce n'est pas un remplacement ponctuel `thinkingOnce`.
|
||||
- La première option est toujours `Default (<resolved level>)`, où la valeur par défaut résolue provient du modèle actif de la session : `adaptive` pour Claude 4.6 sur Anthropic/Bedrock, `low` pour les autres modèles compatibles avec le raisonnement, `off` sinon.
|
||||
- Le sélecteur reste conscient du fournisseur :
|
||||
- Le sélecteur de réflexion du chat web reflète le niveau stocké de la session à partir du magasin de session entrant/de la config au chargement de la page.
|
||||
- Choisir un autre niveau écrit immédiatement la surcharge de session via `sessions.patch` ; cela n’attend pas le prochain envoi et ce n’est pas une surcharge ponctuelle `thinkingOnce`.
|
||||
- La première option est toujours `Default (<resolved level>)`, où la valeur par défaut résolue provient du modèle actif de la session : `adaptive` pour Claude 4.6 sur Anthropic, `off` pour Anthropic Claude Opus 4.7 sauf configuration, `low` pour les autres modèles prenant en charge la réflexion, `off` sinon.
|
||||
- Le sélecteur reste adapté au fournisseur :
|
||||
- la plupart des fournisseurs affichent `off | minimal | low | medium | high | adaptive`
|
||||
- Anthropic Claude Opus 4.7 affiche `off | minimal | low | medium | high | xhigh | adaptive`
|
||||
- Z.AI affiche le binaire `off | on`
|
||||
- `/think:<level>` fonctionne toujours et met à jour le même niveau de session stocké, de sorte que les directives de chat et le sélecteur restent synchronisés.
|
||||
- `/think:<level>` fonctionne toujours et met à jour le même niveau de session stocké, afin que les directives du chat et le sélecteur restent synchronisés.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user