Regional platforms
Yuanbao
Tencent Yuanbao to platforma asystenta AI firmy Tencent. Plugin kanału OpenClaw łączy boty Yuanbao z OpenClaw przez WebSocket, aby mogły komunikować się z użytkownikami przez wiadomości bezpośrednie i czaty grupowe.
Status: gotowe do użycia produkcyjnego dla DM botów + czatów grupowych. WebSocket jest jedynym obsługiwanym trybem połączenia.
Szybki start
Wymaga OpenClaw 2026.4.10 lub nowszej wersji. Uruchom
openclaw --version, aby sprawdzić wersję. Zaktualizuj za pomocąopenclaw update.
Dodaj kanał Yuanbao ze swoimi poświadczeniami
openclaw channels add --channel yuanbao --token "appKey:appSecret"Wartość --token używa formatu appKey:appSecret rozdzielonego dwukropkiem. Możesz uzyskać te dane z aplikacji Yuanbao, tworząc robota w ustawieniach swojej aplikacji.
Po zakończeniu konfiguracji uruchom ponownie Gateway, aby zastosować zmiany
openclaw gateway restartKonfiguracja interaktywna (alternatywa)
Możesz też użyć interaktywnego kreatora:
openclaw channels login --channel yuanbaoPostępuj zgodnie z monitami, aby wprowadzić App ID i App Secret.
Kontrola dostępu
Wiadomości bezpośrednie
Skonfiguruj dmPolicy, aby kontrolować, kto może wysyłać DM do bota:
"pairing"- nieznani użytkownicy otrzymują kod parowania; zatwierdź przez CLI"allowlist"- czatować mogą tylko użytkownicy wymienieni wallowFrom"open"- zezwól wszystkim użytkownikom (domyślnie)"disabled"- wyłącz wszystkie DM
Zatwierdzanie prośby o parowanie:
openclaw pairing list yuanbaoopenclaw pairing approve yuanbao <CODE>Czaty grupowe
Wymaganie wzmianki (channels.yuanbao.requireMention):
true- wymagaj @wzmianki (domyślnie)false- odpowiadaj bez @wzmianki
Odpowiedź na wiadomość bota w czacie grupowym jest traktowana jako niejawna wzmianka.
Przykłady konfiguracji
Podstawowa konfiguracja z otwartą zasadą DM
{ channels: { yuanbao: { appKey: "your_app_key", appSecret: "your_app_secret", dm: { policy: "open", }, }, },}Ogranicz DM do konkretnych użytkowników
{ channels: { yuanbao: { appKey: "your_app_key", appSecret: "your_app_secret", dm: { policy: "allowlist", allowFrom: ["user_id_1", "user_id_2"], }, }, },}Wyłącz wymaganie @wzmianki w grupach
{ channels: { yuanbao: { requireMention: false, }, },}Optymalizuj dostarczanie wiadomości wychodzących
{ channels: { yuanbao: { // Send each chunk immediately without buffering outboundQueueStrategy: "immediate", }, },}Dostrój strategię 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) }, },}Typowe polecenia
| Polecenie | Opis |
|---|---|
/help |
Pokaż dostępne polecenia |
/status |
Pokaż status bota |
/new |
Rozpocznij nową sesję |
/stop |
Zatrzymaj bieżące uruchomienie |
/restart |
Uruchom ponownie OpenClaw |
/compact |
Skompaktuj kontekst sesji |
Yuanbao obsługuje natywne menu poleceń ukośnikowych. Polecenia są automatycznie synchronizowane z platformą po uruchomieniu Gateway.
Rozwiązywanie problemów
Bot nie odpowiada w czatach grupowych
- Upewnij się, że bot został dodany do grupy
- Upewnij się, że używasz @wzmianki o bocie (domyślnie wymagane)
- Sprawdź logi:
openclaw logs --follow
Bot nie odbiera wiadomości
- Upewnij się, że bot został utworzony i zatwierdzony w aplikacji Yuanbao
- Upewnij się, że
appKeyiappSecretsą poprawnie skonfigurowane - Upewnij się, że Gateway działa:
openclaw gateway status - Sprawdź logi:
openclaw logs --follow
Bot wysyła puste lub zastępcze odpowiedzi
- Sprawdź, czy model AI zwraca poprawną treść
- Domyślna odpowiedź zastępcza to: "暂时无法解答,你可以换个问题问问我哦"
- Dostosuj ją przez
channels.yuanbao.fallbackReply
Wyciekł App Secret
- Zresetuj App Secret w YuanBao APP
- Zaktualizuj wartość w swojej konfiguracji
- Uruchom ponownie Gateway:
openclaw gateway restart
Konfiguracja zaawansowana
Wiele kont
{ 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 kontroluje, które konto jest używane, gdy wychodzące API nie określają accountId.
Limity wiadomości
maxChars- maksymalna liczba znaków w pojedynczej wiadomości (domyślnie:3000znaków)mediaMaxMb- limit przesyłania/pobierania multimediów (domyślnie:20MB)overflowPolicy- zachowanie, gdy wiadomość przekracza limit:"split"(domyślnie) lub"stop"
Streaming
Yuanbao obsługuje wyjście przesyłane strumieniowo na poziomie bloków. Po włączeniu bot wysyła tekst we fragmentach w miarę jego generowania.
{ channels: { yuanbao: { disableBlockStreaming: false, // block streaming enabled (default) }, },}Ustaw disableBlockStreaming: true, aby wysłać pełną odpowiedź w jednej wiadomości.
Kontekst historii czatu grupowego
Kontroluj, ile historycznych wiadomości jest uwzględnianych w kontekście AI dla czatów grupowych:
{ channels: { yuanbao: { historyLimit: 100, // default: 100, set 0 to disable }, },}Tryb odpowiedzi do wiadomości
Kontroluj, jak bot cytuje wiadomości podczas odpowiadania w czatach grupowych:
{ channels: { yuanbao: { replyToMode: "first", // "off" | "first" | "all" (default: "first") }, },}| Wartość | Zachowanie |
|---|---|
"off" |
Bez odpowiedzi z cytatem |
"first" |
Cytuj tylko pierwszą odpowiedź na wiadomość przychodzącą (domyślnie) |
"all" |
Cytuj każdą odpowiedź |
Wstrzykiwanie podpowiedzi Markdown
Domyślnie bot wstrzykuje instrukcje do promptu systemowego, aby zapobiec opakowywaniu całej odpowiedzi przez model AI w bloki kodu markdown.
{ channels: { yuanbao: { markdownHintEnabled: true, // default: true }, },}Tryb debugowania
Włącz niezredagowane wyjście logów dla konkretnych identyfikatorów botów:
{ channels: { yuanbao: { debugBotIds: ["bot_user_id_1", "bot_user_id_2"], }, },}Routing wielu agentów
Użyj bindings, aby kierować DM lub grupy Yuanbao do różnych agentów.
{ 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" }, }, }, ],}Pola routingu:
match.channel:"yuanbao"match.peer.kind:"direct"(DM) lub"group"(czat grupowy)match.peer.id: identyfikator użytkownika lub kod grupy
Dokumentacja konfiguracji
Pełna konfiguracja: Konfiguracja Gateway
| Ustawienie | Opis | Domyślnie |
|---|---|---|
channels.yuanbao.enabled |
Włącz/wyłącz kanał | true |
channels.yuanbao.defaultAccount |
Domyślne konto dla routingu wychodzącego | default |
channels.yuanbao.accounts.<id>.appKey |
App Key (używany do podpisywania i generowania biletu) | - |
channels.yuanbao.accounts.<id>.appSecret |
App Secret (używany do podpisywania) | - |
channels.yuanbao.accounts.<id>.token |
Wstępnie podpisany token (pomija automatyczne podpisywanie biletu) | - |
channels.yuanbao.accounts.<id>.name |
Nazwa wyświetlana konta | - |
channels.yuanbao.accounts.<id>.enabled |
Włącz/wyłącz konkretne konto | true |
channels.yuanbao.dm.policy |
Zasada DM | open |
channels.yuanbao.dm.allowFrom |
Lista dozwolonych DM (lista identyfikatorów użytkowników) | - |
channels.yuanbao.requireMention |
Wymagaj @wzmianki w grupach | true |
channels.yuanbao.overflowPolicy |
Obsługa długich wiadomości (split lub stop) |
split |
channels.yuanbao.replyToMode |
Strategia odpowiedzi do wiadomości w grupach (off, first, all) |
first |
channels.yuanbao.outboundQueueStrategy |
Strategia wychodząca (merge-text lub immediate) |
merge-text |
channels.yuanbao.minChars |
Merge-text: minimalna liczba znaków wyzwalająca wysłanie | 2800 |
channels.yuanbao.maxChars |
Merge-text: maksymalna liczba znaków na wiadomość | 3000 |
channels.yuanbao.idleMs |
Merge-text: limit bezczynności przed automatycznym opróżnieniem (ms) | 5000 |
channels.yuanbao.mediaMaxMb |
Limit rozmiaru multimediów (MB) | 20 |
channels.yuanbao.historyLimit |
Wpisy kontekstu historii czatu grupowego | 100 |
channels.yuanbao.disableBlockStreaming |
Wyłącz wyjście strumieniowe na poziomie bloków | false |
channels.yuanbao.fallbackReply |
Odpowiedź zastępcza, gdy AI nie zwraca treści | 暂时无法解答,你可以换个问题问问我哦 |
channels.yuanbao.markdownHintEnabled |
Wstrzykuj instrukcje zapobiegające opakowywaniu markdown | true |
channels.yuanbao.debugBotIds |
Lista dozwolonych identyfikatorów botów do debugowania (niezredagowane logi) | [] |
Obsługiwane typy wiadomości
Odbieranie
- ✅ Tekst
- ✅ Obrazy
- ✅ Pliki
- ✅ Audio / głos
- ✅ Wideo
- ✅ Naklejki / niestandardowe emoji
- ✅ Elementy niestandardowe (karty linków itp.)
Wysyłanie
- ✅ Tekst (z obsługą markdown)
- ✅ Obrazy
- ✅ Pliki
- ✅ Audio
- ✅ Wideo
- ✅ Naklejki
Wątki i odpowiedzi
- ✅ Odpowiedzi z cytatem (konfigurowalne przez
replyToMode) - ❌ Odpowiedzi w wątkach (nieobsługiwane przez platformę)
Powiązane
- Przegląd kanałów - wszystkie obsługiwane kanały
- Parowanie - uwierzytelnianie DM i przepływ parowania
- Grupy - zachowanie czatu grupowego i bramkowanie wzmianek
- Routing kanałów - routing sesji dla wiadomości
- Bezpieczeństwo - model dostępu i wzmacnianie zabezpieczeń