Status: experimenteel. Deze integratie automatiseert een persoonlijk Zalo-account via nativeDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
zca-js binnen OpenClaw.
Gebundelde plugin
Zalo Personal wordt geleverd als gebundelde plugin in huidige OpenClaw-releases, dus normale verpakte builds hebben geen aparte installatie nodig. Als je een oudere build gebruikt of een aangepaste installatie die Zalo Personal uitsluit, installeer dan een huidig npm-pakket zodra er een is gepubliceerd:- Installeren via CLI:
openclaw plugins install @openclaw/zalouser - Of vanuit een source-checkout:
openclaw plugins install ./path/to/local/zalouser-plugin - Details: Plugins
zca/openzca CLI-binary vereist.
Snelle configuratie (beginner)
- Zorg dat de Zalo Personal-plugin beschikbaar is.
- Huidige verpakte OpenClaw-releases bundelen deze al.
- Oudere/aangepaste installaties kunnen deze handmatig toevoegen met de bovenstaande commando’s.
- Log in (QR, op de Gateway-machine):
openclaw channels login --channel zalouser- Scan de QR-code met de mobiele Zalo-app.
- Schakel het kanaal in:
- Herstart de Gateway (of rond de configuratie af).
- DM-toegang gebruikt standaard koppelen; keur de koppelcode goed bij het eerste contact.
Wat het is
- Draait volledig in-process via
zca-js. - Gebruikt native event listeners om inkomende berichten te ontvangen.
- Verstuurt antwoorden rechtstreeks via de JS API (tekst/media/link).
- Ontworpen voor gebruikssituaties met een “persoonlijk account” waarin de Zalo Bot API niet beschikbaar is.
Naamgeving
De kanaal-id iszalouser om expliciet te maken dat dit een persoonlijk Zalo-gebruikersaccount automatiseert (onofficieel). We houden zalo gereserveerd voor een mogelijke toekomstige officiële Zalo API-integratie.
ID’s vinden (directory)
Gebruik de directory-CLI om peers/groepen en hun ID’s te ontdekken:Limieten
- Uitgaande tekst wordt opgesplitst in stukken van ongeveer 2000 tekens (Zalo-clientlimieten).
- Streaming is standaard geblokkeerd.
Toegangsbeheer (DM’s)
channels.zalouser.dmPolicy ondersteunt: pairing | allowlist | open | disabled (standaard: pairing).
channels.zalouser.allowFrom accepteert gebruikers-ID’s of namen. Tijdens de configuratie worden namen omgezet naar ID’s met behulp van de in-process contactlookup van de plugin.
Goedkeuren via:
openclaw pairing list zalouseropenclaw pairing approve zalouser <code>
Groepstoegang (optioneel)
- Standaard:
channels.zalouser.groupPolicy = "open"(groepen toegestaan). Gebruikchannels.defaults.groupPolicyom de standaard te overschrijven wanneer deze niet is ingesteld. - Beperk tot een allowlist met:
channels.zalouser.groupPolicy = "allowlist"channels.zalouser.groups(sleutels moeten stabiele groeps-ID’s zijn; namen worden bij het opstarten waar mogelijk naar ID’s omgezet)channels.zalouser.groupAllowFrom(bepaalt welke afzenders in toegestane groepen de bot kunnen activeren)
- Alle groepen blokkeren:
channels.zalouser.groupPolicy = "disabled". - De configuratiewizard kan om allowlists voor groepen vragen.
- Bij het opstarten zet OpenClaw groeps-/gebruikersnamen in allowlists om naar ID’s en logt de mapping.
- Matching van groeps-allowlists is standaard alleen op ID. Niet-opgeloste namen worden genegeerd voor auth, tenzij
channels.zalouser.dangerouslyAllowNameMatching: trueis ingeschakeld. channels.zalouser.dangerouslyAllowNameMatching: trueis een break-glass-compatibiliteitsmodus die matching op veranderlijke groepsnamen opnieuw inschakelt.- Als
groupAllowFromniet is ingesteld, valt runtime terug opallowFromvoor controles van groepsafzenders. - Afzendercontroles zijn van toepassing op zowel normale groepsberichten als controlecommando’s (bijvoorbeeld
/new,/reset).
Groepsvermeldingsgating
channels.zalouser.groups.<group>.requireMentionbepaalt of groepsantwoorden een vermelding vereisen.- Volgorde van resolving: exacte groeps-id/naam -> genormaliseerde groeps-slug ->
*-> standaard (true). - Dit geldt zowel voor groepen op de allowlist als voor open groepsmodus.
- Het citeren van een botbericht telt als een impliciete vermelding voor groepsactivatie.
- Geautoriseerde controlecommando’s (bijvoorbeeld
/new) kunnen vermeldingsgating omzeilen. - Wanneer een groepsbericht wordt overgeslagen omdat een vermelding vereist is, slaat OpenClaw het op als wachtende groepsgeschiedenis en neemt het mee in het volgende verwerkte groepsbericht.
- De limiet voor groepsgeschiedenis is standaard
messages.groupChat.historyLimit(fallback50). Je kunt dit per account overschrijven metchannels.zalouser.historyLimit.
Meerdere accounts
Accounts worden gemapt naarzalouser-profielen in de OpenClaw-status. Voorbeeld:
Typen, reacties en afleverbevestigingen
- OpenClaw verstuurt een typing-event voordat een antwoord wordt verzonden (best-effort).
- Berichtreactieactie
reactwordt ondersteund voorzalouserin kanaalacties.- Gebruik
remove: trueom een specifieke reactie-emoji van een bericht te verwijderen. - Reactiesemantiek: Reacties
- Gebruik
- Voor inkomende berichten die eventmetadata bevatten, verstuurt OpenClaw delivered- en seen-bevestigingen (best-effort).
Problemen oplossen
Inloggen blijft niet behouden:openclaw channels status --probe- Opnieuw inloggen:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser
- Gebruik numerieke ID’s in
allowFrom/groupAllowFrom/groups, of exacte vriend-/groepsnamen.
- Verwijder aannames over oude externe
zca-processen. - Het kanaal draait nu volledig in OpenClaw zonder externe CLI-binaries.
Gerelateerd
- Kanalenoverzicht — alle ondersteunde kanalen
- Koppelen — DM-authenticatie en koppelingsflow
- Groepen — gedrag van groepschats en vermeldingsgating
- Kanaalroutering — sessieroutering voor berichten
- Beveiliging — toegangsmodel en hardening