Regional platforms
Yuanbao
Tencent Yuanbao est la plateforme d’assistant IA de Tencent. Le Plugin de canal OpenClaw connecte les bots Yuanbao à OpenClaw via WebSocket afin qu’ils puissent interagir avec les utilisateurs dans des messages directs et des discussions de groupe.
État : prêt pour la production pour les DM de bot et les discussions de groupe. WebSocket est le seul mode de connexion pris en charge.
Démarrage rapide
Nécessite OpenClaw 2026.4.10 ou version ultérieure. Exécutez
openclaw --versionpour vérifier. Mettez à niveau avecopenclaw update.
Ajoutez le canal Yuanbao avec vos identifiants
openclaw channels add --channel yuanbao --token "appKey:appSecret"
La valeur --token utilise le format appKey:appSecret séparé par deux-points. Vous pouvez les obtenir depuis l’app Yuanbao en créant un robot dans les paramètres de votre application.
Une fois la configuration terminée, redémarrez le Gateway pour appliquer les changements
openclaw gateway restart
Configuration interactive (alternative)
Vous pouvez aussi utiliser l’assistant interactif :
openclaw channels login --channel yuanbao
Suivez les invites pour saisir votre ID d’app et votre secret d’app.
Contrôle d’accès
Messages directs
Configurez dmPolicy pour contrôler qui peut envoyer un DM au bot :
"pairing"- les utilisateurs inconnus reçoivent un code d’appairage ; approuvez via la CLI"allowlist"- seuls les utilisateurs listés dansallowFrompeuvent discuter"open"- autorise tous les utilisateurs (par défaut)"disabled"- désactive tous les DM
Approuver une demande d’appairage :
openclaw pairing list yuanbao
openclaw pairing approve yuanbao <CODE>
Discussions de groupe
Exigence de mention (channels.yuanbao.requireMention) :
true- exige une @mention (par défaut)false- répond sans @mention
Répondre au message du bot dans une discussion de groupe est traité comme une mention implicite.
Exemples de configuration
Configuration de base avec une politique de DM ouverte
{
channels: {
yuanbao: {
appKey: "your_app_key",
appSecret: "your_app_secret",
dm: {
policy: "open",
},
},
},
}
Restreindre les DM à des utilisateurs spécifiques
{
channels: {
yuanbao: {
appKey: "your_app_key",
appSecret: "your_app_secret",
dm: {
policy: "allowlist",
allowFrom: ["user_id_1", "user_id_2"],
},
},
},
}
Désactiver l’exigence de @mention dans les groupes
{
channels: {
yuanbao: {
requireMention: false,
},
},
}
Optimiser la livraison des messages sortants
{
channels: {
yuanbao: {
// Send each chunk immediately without buffering
outboundQueueStrategy: "immediate",
},
},
}
Ajuster la stratégie merge-text
{
channels: {
yuanbao: {
outboundQueueStrategy: "merge-text",
minChars: 2800, // buffer until this many chars
maxChars: 3000, // force split above this limit
idleMs: 5000, // auto-flush after idle timeout (ms)
},
},
}
Commandes courantes
| Commande | Description |
|---|---|
/help |
Afficher les commandes disponibles |
/status |
Afficher l’état du bot |
/new |
Démarrer une nouvelle session |
/stop |
Arrêter l’exécution en cours |
/restart |
Redémarrer OpenClaw |
/compact |
Compacter le contexte de la session |
Yuanbao prend en charge les menus natifs de commandes slash. Les commandes sont synchronisées automatiquement avec la plateforme au démarrage du Gateway.
Dépannage
Le bot ne répond pas dans les discussions de groupe
- Vérifiez que le bot est ajouté au groupe
- Vérifiez que vous @mentionnez le bot (requis par défaut)
- Consultez les journaux :
openclaw logs --follow
Le bot ne reçoit pas les messages
- Vérifiez que le bot est créé et approuvé dans l’app Yuanbao
- Vérifiez que
appKeyetappSecretsont correctement configurés - Vérifiez que le Gateway est en cours d’exécution :
openclaw gateway status - Consultez les journaux :
openclaw logs --follow
Le bot envoie des réponses vides ou de secours
- Vérifiez si le modèle d’IA renvoie du contenu valide
- La réponse de secours par défaut est : "暂时无法解答,你可以换个问题问问我哦"
- Personnalisez-la via
channels.yuanbao.fallbackReply
Secret d’app divulgué
- Réinitialisez le secret d’app dans YuanBao APP
- Mettez à jour la valeur dans votre configuration
- Redémarrez le Gateway :
openclaw gateway restart
Configuration avancée
Comptes multiples
{
channels: {
yuanbao: {
defaultAccount: "main",
accounts: {
main: {
appKey: "key_xxx",
appSecret: "secret_xxx",
name: "Primary bot",
},
backup: {
appKey: "key_yyy",
appSecret: "secret_yyy",
name: "Backup bot",
enabled: false,
},
},
},
},
}
defaultAccount contrôle le compte utilisé lorsque les API sortantes ne spécifient pas d’accountId.
Limites de messages
maxChars- nombre maximal de caractères pour un seul message (par défaut :3000caractères)mediaMaxMb- limite d’envoi/téléchargement de médias (par défaut :20Mo)overflowPolicy- comportement lorsque le message dépasse la limite :"split"(par défaut) ou"stop"
Streaming
Yuanbao prend en charge la sortie en Streaming au niveau des blocs. Lorsqu’elle est activée, le bot envoie le texte par segments au fur et à mesure de sa génération.
{
channels: {
yuanbao: {
disableBlockStreaming: false, // block streaming enabled (default)
},
},
}
Définissez disableBlockStreaming: true pour envoyer la réponse complète dans un seul message.
Contexte d’historique des discussions de groupe
Contrôlez le nombre de messages historiques inclus dans le contexte IA pour les discussions de groupe :
{
channels: {
yuanbao: {
historyLimit: 100, // default: 100, set 0 to disable
},
},
}
Mode de réponse à
Contrôlez la façon dont le bot cite les messages lorsqu’il répond dans les discussions de groupe :
{
channels: {
yuanbao: {
replyToMode: "first", // "off" | "first" | "all" (default: "first")
},
},
}
| Valeur | Comportement |
|---|---|
"off" |
Aucune réponse citée |
"first" |
Citer uniquement la première réponse par message entrant (par défaut) |
"all" |
Citer chaque réponse |
Injection d’indice Markdown
Par défaut, le bot injecte des instructions dans l’invite système pour empêcher le modèle d’IA d’envelopper toute la réponse dans des blocs de code markdown.
{
channels: {
yuanbao: {
markdownHintEnabled: true, // default: true
},
},
}
Mode de débogage
Activez la sortie de journal non assainie pour des ID de bots spécifiques :
{
channels: {
yuanbao: {
debugBotIds: ["bot_user_id_1", "bot_user_id_2"],
},
},
}
Routage multi-agent
Utilisez bindings pour router les DM ou groupes Yuanbao vers différents agents.
{
agents: {
list: [
{ id: "main" },
{ id: "agent-a", workspace: "/home/user/agent-a" },
{ id: "agent-b", workspace: "/home/user/agent-b" },
],
},
bindings: [
{
agentId: "agent-a",
match: {
channel: "yuanbao",
peer: { kind: "direct", id: "user_xxx" },
},
},
{
agentId: "agent-b",
match: {
channel: "yuanbao",
peer: { kind: "group", id: "group_zzz" },
},
},
],
}
Champs de routage :
match.channel:"yuanbao"match.peer.kind:"direct"(DM) ou"group"(discussion de groupe)match.peer.id: ID utilisateur ou code de groupe
Référence de configuration
Configuration complète : Configuration du Gateway
| Paramètre | Description | Valeur par défaut |
|---|---|---|
channels.yuanbao.enabled |
Activer/désactiver le canal | true |
channels.yuanbao.defaultAccount |
Compte par défaut pour le routage sortant | default |
channels.yuanbao.accounts.<id>.appKey |
Clé d’app (utilisée pour la signature et la génération de ticket) | - |
channels.yuanbao.accounts.<id>.appSecret |
Secret d’app (utilisé pour la signature) | - |
channels.yuanbao.accounts.<id>.token |
Jeton pré-signé (ignore la signature automatique de ticket) | - |
channels.yuanbao.accounts.<id>.name |
Nom d’affichage du compte | - |
channels.yuanbao.accounts.<id>.enabled |
Activer/désactiver un compte spécifique | true |
channels.yuanbao.dm.policy |
Politique de DM | open |
channels.yuanbao.dm.allowFrom |
Liste d’autorisation DM (liste d’ID utilisateur) | - |
channels.yuanbao.requireMention |
Exiger une @mention dans les groupes | true |
channels.yuanbao.overflowPolicy |
Gestion des messages longs (split ou stop) |
split |
channels.yuanbao.replyToMode |
Stratégie de réponse à en groupe (off, first, all) |
first |
channels.yuanbao.outboundQueueStrategy |
Stratégie sortante (merge-text ou immediate) |
merge-text |
channels.yuanbao.minChars |
Merge-text : caractères min. pour déclencher l’envoi | 2800 |
channels.yuanbao.maxChars |
Merge-text : caractères max. par message | 3000 |
channels.yuanbao.idleMs |
Merge-text : délai d’inactivité avant vidage automatique (ms) | 5000 |
channels.yuanbao.mediaMaxMb |
Limite de taille des médias (Mo) | 20 |
channels.yuanbao.historyLimit |
Entrées de contexte d’historique de discussion de groupe | 100 |
channels.yuanbao.disableBlockStreaming |
Désactiver la sortie en Streaming au niveau des blocs | false |
channels.yuanbao.fallbackReply |
Réponse de secours lorsque l’IA ne renvoie aucun contenu | 暂时无法解答,你可以换个问题问问我哦 |
channels.yuanbao.markdownHintEnabled |
Injecter des instructions anti-enveloppement markdown | true |
channels.yuanbao.debugBotIds |
ID de bots de liste blanche de débogage (journaux non assainis) | [] |
Types de messages pris en charge
Réception
- ✅ Texte
- ✅ Images
- ✅ Fichiers
- ✅ Audio / Voix
- ✅ Vidéo
- ✅ Stickers / Émojis personnalisés
- ✅ Éléments personnalisés (cartes de liens, etc.)
Envoi
- ✅ Texte (avec prise en charge markdown)
- ✅ Images
- ✅ Fichiers
- ✅ Audio
- ✅ Vidéo
- ✅ Stickers
Fils et réponses
- ✅ Réponses citées (configurables via
replyToMode) - ❌ Réponses de fil (non prises en charge par la plateforme)
Liens connexes
- Vue d’ensemble des canaux - tous les canaux pris en charge
- Appairage - authentification DM et flux d’appairage
- Groupes - comportement des discussions de groupe et contrôle par mention
- Routage des canaux - routage de session pour les messages
- Sécurité - modèle d’accès et renforcement