Configuratiesleutels per kanaal onderDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
channels.*. Behandelt DM- en groepstoegang,
set-ups met meerdere accounts, mention-gating en sleutels per kanaal voor Slack, Discord,
Telegram, WhatsApp, Matrix, iMessage en de andere meegeleverde kanaalplugins.
Voor agents, tools, gateway-runtime en andere sleutels op topniveau, zie
Configuratiereferentie.
Kanalen
Elk kanaal start automatisch wanneer de configuratiesectie bestaat (tenzijenabled: false).
DM- en groepstoegang
Alle kanalen ondersteunen DM-beleid en groepsbeleid:| DM-beleid | Gedrag |
|---|---|
pairing (standaard) | Onbekende afzenders krijgen een eenmalige koppelcode; eigenaar moet goedkeuren |
allowlist | Alleen afzenders in allowFrom (of gekoppelde toestemmingsopslag) |
open | Alle inkomende DM’s toestaan (vereist allowFrom: ["*"]) |
disabled | Alle inkomende DM’s negeren |
| Groepsbeleid | Gedrag |
|---|---|
allowlist (standaard) | Alleen groepen die overeenkomen met de geconfigureerde allowlist |
open | Groepsallowlists omzeilen (mention-gating blijft van toepassing) |
disabled | Alle groeps-/ruimberichten blokkeren |
channels.defaults.groupPolicy stelt de standaard in wanneer groupPolicy van een provider niet is ingesteld.
Koppelcodes verlopen na 1 uur. Openstaande DM-koppelverzoeken zijn beperkt tot 3 per kanaal.
Als een providerblok volledig ontbreekt (channels.<provider> afwezig), valt het runtime-groepsbeleid terug op allowlist (fail-closed) met een opstartwaarschuwing.Kanaalmodeloverschrijvingen
Gebruikchannels.modelByChannel om specifieke kanaal-ID’s vast te zetten op een model. Waarden accepteren provider/model of geconfigureerde modelaliassen. De kanaaltoewijzing wordt toegepast wanneer een sessie nog geen modeloverschrijving heeft (bijvoorbeeld ingesteld via /model).
Kanaalstandaarden en Heartbeat
Gebruikchannels.defaults voor gedeeld groepsbeleid en Heartbeat-gedrag tussen providers:
channels.defaults.groupPolicy: fallback-groepsbeleid wanneer eengroupPolicyop providerniveau niet is ingesteld.channels.defaults.contextVisibility: standaard zichtbaarheidsmodus voor aanvullende context voor alle kanalen. Waarden:all(standaard, neem alle geciteerde/thread-/geschiedeniscontext op),allowlist(neem alleen context op van afzenders op de allowlist),allowlist_quote(hetzelfde als allowlist maar behoud expliciete citaat-/antwoordcontext). Overschrijving per kanaal:channels.<channel>.contextVisibility.channels.defaults.heartbeat.showOk: gezonde kanaalstatussen opnemen in Heartbeat-uitvoer.channels.defaults.heartbeat.showAlerts: gedegradeerde/foutstatussen opnemen in Heartbeat-uitvoer.channels.defaults.heartbeat.useIndicator: compacte indicatorstijl-Heartbeat-uitvoer renderen.
WhatsApp met meerdere accounts
WhatsApp met meerdere accounts
- Uitgaande opdrachten gebruiken standaard account
defaultals dat bestaat; anders de eerste geconfigureerde account-id (gesorteerd). - Optioneel
channels.whatsapp.defaultAccountoverschrijft die fallbackselectie van het standaardaccount wanneer deze overeenkomt met een geconfigureerde account-id. - Verouderde Baileys-authenticatiemap voor één account wordt door
openclaw doctorgemigreerd naarwhatsapp/default. - Overschrijvingen per account:
channels.whatsapp.accounts.<id>.sendReadReceipts,channels.whatsapp.accounts.<id>.dmPolicy,channels.whatsapp.accounts.<id>.allowFrom.
Telegram
- Bottoken:
channels.telegram.botTokenofchannels.telegram.tokenFile(alleen regulier bestand; symlinks geweigerd), metTELEGRAM_BOT_TOKENals fallback voor het standaardaccount. apiRootis alleen de root van de Telegram Bot API. Gebruikhttps://api.telegram.orgof je zelf-gehoste/proxy-root, niethttps://api.telegram.org/bot<TOKEN>;openclaw doctor --fixverwijdert een per ongeluk toegevoegde afsluitende/bot<TOKEN>-suffix.- Optioneel
channels.telegram.defaultAccountoverschrijft de standaardaccountselectie wanneer deze overeenkomt met een geconfigureerde account-id. - Stel in set-ups met meerdere accounts (2+ account-id’s) een expliciete standaard in (
channels.telegram.defaultAccountofchannels.telegram.accounts.default) om fallback-routering te vermijden;openclaw doctorwaarschuwt wanneer dit ontbreekt of ongeldig is. configWrites: falseblokkeert door Telegram geïnitieerde configuratieschrijfacties (supergroep-ID-migraties,/config set|unset).- Topniveau-
bindings[]-items mettype: "acp"configureren persistente ACP-bindingen voor forumonderwerpen (gebruik canoniekechatId:topic:topicIdinmatch.peer.id). Veldsemantiek wordt gedeeld in ACP Agents. - Telegram-streamvoorbeelden gebruiken
sendMessage+editMessageText(werkt in directe en groepschats). - Retrybeleid: zie Retrybeleid.
Discord
- Token:
channels.discord.token, metDISCORD_BOT_TOKENals fallback voor het standaardaccount. - Directe uitgaande oproepen die een expliciet Discord-
tokenopgeven, gebruiken dat token voor de oproep; instellingen voor accountretry/beleid komen nog steeds uit het geselecteerde account in de actieve runtime-snapshot. - Optionele
channels.discord.defaultAccountoverschrijft de selectie van het standaardaccount wanneer deze overeenkomt met een geconfigureerde account-id. - Gebruik
user:<id>(DM) ofchannel:<id>(guildkanaal) voor afleverdoelen; kale numerieke ID’s worden geweigerd. - Guild-slugs zijn kleine letters waarbij spaties door
-zijn vervangen; kanaalsleutels gebruiken de geslugde naam (geen#). Geef de voorkeur aan guild-ID’s. - Berichten die door bots zijn geschreven, worden standaard genegeerd.
allowBots: trueschakelt ze in; gebruikallowBots: "mentions"om alleen botberichten te accepteren die de bot vermelden (eigen berichten worden nog steeds gefilterd). channels.discord.guilds.<id>.ignoreOtherMentions(en kanaaloverschrijvingen) laat berichten vallen die een andere gebruiker of rol vermelden, maar niet de bot (met uitzondering van @everyone/@here).channels.discord.mentionAliaseskoppelt stabiele uitgaande@handle-tekst aan Discord-gebruikers-ID’s voordat wordt verzonden, zodat bekende teamgenoten deterministisch kunnen worden vermeld, zelfs wanneer de tijdelijke directorycache leeg is. Overschrijvingen per account staan onderchannels.discord.accounts.<accountId>.mentionAliases.maxLinesPerMessage(standaard 17) splitst hoge berichten, zelfs wanneer ze minder dan 2000 tekens bevatten.channels.discord.threadBindingsbeheert Discord-routering gebonden aan threads:enabled: Discord-overschrijving voor sessiefuncties gebonden aan threads (/focus,/unfocus,/agents,/session idle,/session max-age, en gebonden aflevering/routering)idleHours: Discord-overschrijving voor automatisch unfocusen bij inactiviteit in uren (0schakelt uit)maxAgeHours: Discord-overschrijving voor harde maximale leeftijd in uren (0schakelt uit)spawnSessions: schakelaar voorsessions_spawn({ thread: true })en automatische threadaanmaak/-binding bij ACP-thread-spawn (standaard:true)defaultSpawnContext: native subagentcontext voor thread-gebonden spawns (standaard"fork")
- Top-level
bindings[]-items mettype: "acp"configureren permanente ACP-bindingen voor kanalen en threads (gebruik kanaal-/thread-id inmatch.peer.id). Veldsemantiek wordt gedeeld in ACP-agenten. channels.discord.ui.components.accentColorstelt de accentkleur in voor Discord components v2-containers.channels.discord.voiceschakelt Discord-spraakkanaalgesprekken en optionele auto-join + LLM + TTS-overschrijvingen in. Tekst-only Discord-configuraties laten spraak standaard uit; stelchannels.discord.voice.enabled=truein om ervoor te kiezen.channels.discord.voice.modeloverschrijft optioneel het LLM-model dat wordt gebruikt voor antwoorden in Discord-spraakkanalen.channels.discord.voice.daveEncryptionenchannels.discord.voice.decryptionFailureToleranceworden doorgegeven aan DAVE-opties van@discordjs/voice(standaardtrueen24).channels.discord.voice.connectTimeoutMsbeheert de initiële@discordjs/voiceReady-wachttijd voor/vc joinen auto-joinpogingen (standaard30000).channels.discord.voice.reconnectGraceMsbeheert hoe lang een verbroken spraaksessie mag doen over het bereiken van reconnect-signalering voordat OpenClaw deze vernietigt (standaard15000).- Discord-spraakweergave wordt niet onderbroken door een speaking-start-gebeurtenis van een andere gebruiker. Om feedbacklussen te voorkomen, negeert OpenClaw nieuwe spraakopname terwijl TTS wordt afgespeeld.
- OpenClaw probeert daarnaast spraakontvangst te herstellen door een spraaksessie te verlaten en opnieuw te joinen na herhaalde decryptiefouten.
channels.discord.streamingis de canonieke streammodussleutel. Discord gebruikt standaardstreaming.mode: "progress"zodat tool-/werkvoortgang verschijnt in één bewerkt voorbeeldbericht; stelstreaming.mode: "off"in om dit uit te schakelen. LegacystreamMode- en booleaansestreaming-waarden blijven runtime-aliassen; voeropenclaw doctor --fixuit om opgeslagen configuratie te herschrijven.channels.discord.autoPresencekoppelt runtime-beschikbaarheid aan botaanwezigheid (healthy => online, degraded => idle, exhausted => dnd) en staat optionele overschrijvingen van statustekst toe.channels.discord.dangerouslyAllowNameMatchingschakelt veranderlijke naam-/tagmatching opnieuw in (compatibiliteitsmodus voor noodgevallen).channels.discord.execApprovals: Discord-native aflevering van exec-goedkeuringen en autorisatie van goedkeurders.enabled:true,falseof"auto"(standaard). In automatische modus worden exec-goedkeuringen geactiveerd wanneer goedkeurders kunnen worden bepaald uitapproversofcommands.ownerAllowFrom.approvers: Discord-gebruikers-ID’s die exec-aanvragen mogen goedkeuren. Valt terug opcommands.ownerAllowFromwanneer weggelaten.agentFilter: optionele allowlist met agent-ID’s. Laat weg om goedkeuringen voor alle agenten door te sturen.sessionFilter: optionele sessiesleutelpatronen (substring of regex).target: waar goedkeuringsprompts naartoe worden gestuurd."dm"(standaard) stuurt naar DM’s van goedkeurders,"channel"stuurt naar het oorspronkelijke kanaal,"both"stuurt naar beide. Wanneer target"channel"bevat, zijn knoppen alleen bruikbaar door bepaalde goedkeurders.cleanupAfterResolve: wanneertrue, verwijdert goedkeurings-DM’s na goedkeuring, weigering of timeout.
off (geen), own (berichten van de bot, standaard), all (alle berichten), allowlist (uit guilds.<id>.users voor alle berichten).
Google Chat
- Serviceaccount-JSON: inline (
serviceAccount) of op bestanden gebaseerd (serviceAccountFile). - Serviceaccount-SecretRef wordt ook ondersteund (
serviceAccountRef). - Env-fallbacks:
GOOGLE_CHAT_SERVICE_ACCOUNTofGOOGLE_CHAT_SERVICE_ACCOUNT_FILE. - Gebruik
spaces/<spaceId>ofusers/<userId>voor afleverdoelen. channels.googlechat.dangerouslyAllowNameMatchingschakelt veranderlijke matching van e-mailprincipals opnieuw in (compatibiliteitsmodus voor noodgevallen).
Slack
- Socket mode vereist zowel
botTokenalsappToken(SLACK_BOT_TOKEN+SLACK_APP_TOKENvoor env-fallback van het standaardaccount). - HTTP-modus vereist
botTokenplussigningSecret(op rootniveau of per account). socketModegeeft transportafstemming voor Slack SDK Socket Mode door aan de openbare Bolt receiver-API. Gebruik dit alleen bij onderzoek naar ping-/pong-timeouts of verouderd websocketgedrag.botToken,appToken,signingSecretenuserTokenaccepteren plaintext strings of SecretRef-objecten.- Slack-accountsnapshots tonen bron-/statusvelden per credential, zoals
botTokenSource,botTokenStatus,appTokenStatusen, in HTTP-modus,signingSecretStatus.configured_unavailablebetekent dat het account is geconfigureerd via SecretRef, maar dat het huidige command-/runtimepad de secretwaarde niet kon oplossen. configWrites: falseblokkeert configuratieschrijfbewerkingen die door Slack zijn gestart.- Optionele
channels.slack.defaultAccountoverschrijft de selectie van het standaardaccount wanneer deze overeenkomt met een geconfigureerde account-id. channels.slack.streaming.modeis de canonieke Slack-streammodussleutel.channels.slack.streaming.nativeTransportbeheert het native streamingtransport van Slack. LegacystreamMode-, booleaansestreaming- ennativeStreaming-waarden blijven runtime-aliassen; voeropenclaw doctor --fixuit om opgeslagen configuratie te herschrijven.unfurlLinksenunfurlMediageven Slack’s booleans voor het uitvouwen van links en media inchat.postMessagedoor voor botantwoorden. Laat ze weg om Slack’s standaardgedrag te behouden; stel ze in opchannels.slack.accounts.<accountId>om de top-level standaard voor één account te overschrijven.- Gebruik
user:<id>(DM) ofchannel:<id>voor afleverdoelen.
off, own (standaard), all, allowlist (uit reactionAllowlist).
Thread-sessie-isolatie: thread.historyScope is per-thread (standaard) of gedeeld over kanaal. thread.inheritParent kopieert het transcript van het bovenliggende kanaal naar nieuwe threads.
- Slack native streaming plus de Slack-assistentstijl-threadstatus “is typing…” vereisen een doel voor de antwoordthread. Top-level DM’s blijven standaard buiten threads, zodat ze nog steeds kunnen streamen via Slack-conceptberichten met posten-en-bewerken-voorbeelden in plaats van de threadstijl native stream-/statuspreview te tonen.
typingReactionvoegt een tijdelijke reactie toe aan het inkomende Slack-bericht terwijl een antwoord loopt en verwijdert deze vervolgens bij voltooiing. Gebruik een Slack-emoji-shortcode zoals"hourglass_flowing_sand".channels.slack.execApprovals: Slack-native aflevering van exec-goedkeuringen en autorisatie van goedkeurders. Zelfde schema als Discord:enabled(true/false/"auto"),approvers(Slack-gebruikers-ID’s),agentFilter,sessionFilterentarget("dm","channel"of"both").
| Actiegroep | Standaard | Opmerkingen |
|---|---|---|
| reactions | ingeschakeld | Reageren + reacties tonen |
| messages | ingeschakeld | Lezen/verzenden/bewerken/verwijderen |
| pins | ingeschakeld | Vastpinnen/losmaken/lijst |
| memberInfo | ingeschakeld | Lidgegevens |
| emojiList | ingeschakeld | Aangepaste emoji-lijst |
Mattermost
Mattermost wordt als gebundelde Plugin geleverd in huidige OpenClaw-releases. Oudere of aangepaste builds kunnen een huidig npm-pakket installeren metopenclaw plugins install @openclaw/mattermost. Controleer
npmjs.com/package/@openclaw/mattermost
voor de huidige dist-tags voordat u een versie pint.
oncall (reageer op @-vermelding, standaard), onmessage (elk bericht), onchar (berichten die beginnen met een triggerprefix).
Wanneer native Mattermost-opdrachten zijn ingeschakeld:
commands.callbackPathmoet een pad zijn (bijvoorbeeld/api/channels/mattermost/command), geen volledige URL.commands.callbackUrlmoet worden omgezet naar het OpenClaw Gateway-eindpunt en bereikbaar zijn vanaf de Mattermost-server.- Native slash-callbacks worden geverifieerd met de per-opdracht-tokens die
Mattermost retourneert tijdens de registratie van slash-opdrachten. Als registratie mislukt of er geen
opdrachten worden geactiveerd, wijst OpenClaw callbacks af met
Unauthorized: invalid command token. - Voor private/tailnet/interne callback-hosts kan Mattermost vereisen
dat
ServiceSettings.AllowedUntrustedInternalConnectionsde callback-host/het callback-domein bevat. Gebruik host-/domeinwaarden, geen volledige URL’s. channels.mattermost.configWrites: configuratieschrijfacties geïnitieerd door Mattermost toestaan of weigeren.channels.mattermost.requireMention:@mentionvereisen voordat in kanalen wordt geantwoord.channels.mattermost.groups.<channelId>.requireMention: override per kanaal voor vermelding-gating ("*"voor standaard).- Optioneel overschrijft
channels.mattermost.defaultAccountde standaardaccountselectie wanneer dit overeenkomt met een geconfigureerde account-id.
Signal
off, own (standaard), all, allowlist (uit reactionAllowlist).
channels.signal.account: zet het opstarten van het kanaal vast op een specifieke Signal-accountidentiteit.channels.signal.configWrites: configuratieschrijfacties geïnitieerd door Signal toestaan of weigeren.- Optioneel overschrijft
channels.signal.defaultAccountde standaardaccountselectie wanneer dit overeenkomt met een geconfigureerde account-id.
iMessage
OpenClaw startimsg rpc (JSON-RPC over stdio). Geen daemon of poort vereist. Dit is het aanbevolen pad voor nieuwe OpenClaw iMessage-configuraties wanneer de host rechten kan verlenen voor de Berichten-database en Automatisering.
BlueBubbles-ondersteuning is verwijderd. Migreer channels.bluebubbles-configuraties naar channels.imessage; OpenClaw ondersteunt iMessage alleen via imsg.
Als de Gateway niet draait op de Messages-Mac waarop is ingelogd, behoud dan channels.imessage.enabled=true en stel channels.imessage.cliPath in op een SSH-wrapper die imsg "$@" op die Mac uitvoert. Het standaard lokale imsg-pad is alleen voor macOS.
-
Optioneel overschrijft
channels.imessage.defaultAccountde standaardaccountselectie wanneer dit overeenkomt met een geconfigureerde account-id. - Vereist volledige schijftoegang tot de Messages-database.
-
Geef de voorkeur aan
chat_id:<id>-doelen. Gebruikimsg chats --limit 20om chats weer te geven. -
cliPathkan naar een SSH-wrapper verwijzen; stelremoteHost(hostofuser@host) in voor het ophalen van SCP-bijlagen. -
attachmentRootsenremoteAttachmentRootsbeperken binnenkomende bijlagepaden (standaard:/Users/*/Library/Messages/Attachments). -
SCP gebruikt strikte host-key-controle, dus zorg ervoor dat de sleutel van de relay-host al bestaat in
~/.ssh/known_hosts. -
channels.imessage.configWrites: configuratieschrijfacties geïnitieerd door iMessage toestaan of weigeren. -
Toplevel
bindings[]-items mettype: "acp"kunnen iMessage-gesprekken koppelen aan persistente ACP-sessies. Gebruik een genormaliseerde handle of expliciet chatdoel (chat_id:*,chat_guid:*,chat_identifier:*) inmatch.peer.id. Gedeelde veldsemantiek: ACP Agents.
Voorbeeld van iMessage SSH-wrapper
Voorbeeld van iMessage SSH-wrapper
Matrix
Matrix wordt ondersteund door een Plugin en geconfigureerd onderchannels.matrix.
- Tokenverificatie gebruikt
accessToken; wachtwoordverificatie gebruiktuserId+password. channels.matrix.proxyrouteert Matrix-HTTP-verkeer via een expliciete HTTP(S)-proxy. Benoemde accounts kunnen dit overschrijven metchannels.matrix.accounts.<id>.proxy.channels.matrix.network.dangerouslyAllowPrivateNetworkstaat private/interne homeservers toe.proxyen deze netwerk-opt-in zijn onafhankelijke instellingen.channels.matrix.defaultAccountselecteert het voorkeursaccount in configuraties met meerdere accounts.channels.matrix.autoJoinis standaardoff, dus uitgenodigde rooms en nieuwe DM-achtige uitnodigingen worden genegeerd totdat jeautoJoin: "allowlist"metautoJoinAllowlistofautoJoin: "always"instelt.channels.matrix.execApprovals: Matrix-native levering van exec-goedkeuringen en autorisatie van goedkeurders.enabled:true,falseof"auto"(standaard). In automatische modus worden exec-goedkeuringen geactiveerd wanneer goedkeurders kunnen worden opgelost uitapproversofcommands.ownerAllowFrom.approvers: Matrix-gebruikers-ID’s (bijv.@owner:example.org) die exec-verzoeken mogen goedkeuren.agentFilter: optionele allowlist met agent-ID’s. Laat weg om goedkeuringen voor alle agents door te sturen.sessionFilter: optionele sessiesleutelpatronen (substring of regex).target: waar goedkeuringsprompts naartoe worden gestuurd."dm"(standaard),"channel"(oorspronkelijke room) of"both".- Overrides per account:
channels.matrix.accounts.<id>.execApprovals.
channels.matrix.dm.sessionScopebepaalt hoe Matrix-DM’s in sessies worden gegroepeerd:per-user(standaard) deelt op basis van gerouteerde peer, terwijlper-roomelke DM-room isoleert.- Matrix-statusprobes en live directory-lookups gebruiken hetzelfde proxybeleid als runtimeverkeer.
- Volledige Matrix-configuratie, targetingregels en installatievoorbeelden zijn gedocumenteerd in Matrix.
Microsoft Teams
Microsoft Teams wordt ondersteund door een Plugin en geconfigureerd onderchannels.msteams.
- Belangrijkste kernpaden die hier worden behandeld:
channels.msteams,channels.msteams.configWrites. - Volledige Teams-configuratie (referenties, webhook, DM-/groepsbeleid, overrides per team/per kanaal) is gedocumenteerd in Microsoft Teams.
IRC
IRC wordt ondersteund door een Plugin en geconfigureerd onderchannels.irc.
- Belangrijkste kernpaden die hier worden behandeld:
channels.irc,channels.irc.dmPolicy,channels.irc.configWrites,channels.irc.nickserv.*. - Optioneel overschrijft
channels.irc.defaultAccountde standaardaccountselectie wanneer dit overeenkomt met een geconfigureerde account-id. - Volledige IRC-kanaalconfiguratie (host/poort/TLS/kanalen/allowlists/vermelding-gating) is gedocumenteerd in IRC.
Meerdere accounts (alle kanalen)
Voer meerdere accounts per kanaal uit (elk met een eigenaccountId):
defaultwordt gebruikt wanneeraccountIdwordt weggelaten (CLI + routering).- Omgevingstokens zijn alleen van toepassing op het standaardaccount.
- Basiskanaalinstellingen gelden voor alle accounts, tenzij ze per account worden overschreven.
- Gebruik
bindings[].match.accountIdom elk account naar een andere agent te routeren. - Als je via
openclaw channels add(of kanaalonboarding) een niet-standaardaccount toevoegt terwijl je nog een kanaalconfiguratie met één toplevel-account gebruikt, promoveert OpenClaw eerst account-scoped toplevel-waarden voor één account naar de kanaalaccountmap, zodat het oorspronkelijke account blijft werken. De meeste kanalen verplaatsen ze naarchannels.<channel>.accounts.default; Matrix kan in plaats daarvan een bestaand overeenkomend benoemd/standaarddoel behouden. - Bestaande kanaal-only bindings (zonder
accountId) blijven overeenkomen met het standaardaccount; account-scoped bindings blijven optioneel. openclaw doctor --fixrepareert ook gemengde vormen door account-scoped toplevel-waarden voor één account te verplaatsen naar het gepromoveerde account dat voor dat kanaal is gekozen. De meeste kanalen gebruikenaccounts.default; Matrix kan in plaats daarvan een bestaand overeenkomend benoemd/standaarddoel behouden.
Andere Plugin-kanalen
Veel Plugin-kanalen worden geconfigureerd alschannels.<id> en gedocumenteerd op hun eigen kanaalpagina’s (bijvoorbeeld Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat en Twitch).
Zie de volledige kanaalindex: Kanalen.
Vermelding-gating in groepschats
Groepsberichten vereisen standaard een vermelding (metadatavermelding of veilige regexpatronen). Geldt voor WhatsApp, Telegram, Discord, Google Chat en iMessage-groepschats. Zichtbare antwoorden worden afzonderlijk beheerd. Groeps-/kanaalrooms gebruiken standaardmessages.groupChat.visibleReplies: "message_tool": OpenClaw verwerkt de beurt nog steeds, maar normale eindantwoorden blijven privé en zichtbare roomuitvoer vereist message(action=send). Stel "automatic" alleen in wanneer je het legacy gedrag wilt waarbij normale antwoorden terug naar de room worden geplaatst. Om hetzelfde tool-only gedrag voor zichtbare antwoorden ook op directe chats toe te passen, stel je messages.visibleReplies: "message_tool" in; de Codex-harness gebruikt dat tool-only gedrag ook als de niet-ingestelde standaard voor directe chats.
Tool-only zichtbare antwoorden vereisen een model/runtime dat betrouwbaar tools aanroept. Als
het sessielog assistenttekst toont met didSendViaMessagingTool: false, heeft het
model een privé-eindantwoord geproduceerd in plaats van de berichtentool aan te roepen.
Schakel over naar een sterker tool-aanroepend model voor dat kanaal, of stel
messages.groupChat.visibleReplies: "automatic" in om legacy zichtbare eindantwoorden
te herstellen.
Als de berichtentool niet beschikbaar is onder het actieve toolbeleid, valt OpenClaw terug op automatische zichtbare antwoorden in plaats van de respons stilzwijgend te onderdrukken. openclaw doctor waarschuwt voor deze mismatch.
De Gateway laadt de messages-configuratie automatisch opnieuw nadat het bestand is opgeslagen. Herstart alleen wanneer bestandsbewaking of configuratieherladen in de deployment is uitgeschakeld.
Vermeldingstypen:
- Metadatavermeldingen: Native platform-@-vermeldingen. Genegeerd in de zelfchatmodus van WhatsApp.
- Tekstpatronen: Veilige regex-patronen in
agents.list[].groupChat.mentionPatterns. Ongeldige patronen en onveilige geneste herhaling worden genegeerd. - Vermeldingsafscherming wordt alleen afgedwongen wanneer detectie mogelijk is (native vermeldingen of ten minste een patroon).
messages.groupChat.historyLimit stelt de globale standaard in. Kanalen kunnen dit overschrijven met channels.<channel>.historyLimit (of per account). Stel in op 0 om uit te schakelen.
messages.visibleReplies is de globale standaard voor bronbeurten; messages.groupChat.visibleReplies overschrijft die voor bronbeurten in groepen/kanalen. Wanneer messages.visibleReplies niet is ingesteld, kan een testharnas zijn eigen standaard voor direct/bron leveren; het Codex-testharnas gebruikt standaard message_tool. Kanaaltoelatingslijsten en vermeldingsafscherming bepalen nog steeds of een beurt wordt verwerkt.
Geschiedenislimieten voor DM’s
telegram, whatsapp, discord, slack, signal, imessage, msteams.
Zelfchatmodus
Neem je eigen nummer op inallowFrom om de zelfchatmodus in te schakelen (negeert native @-vermeldingen, reageert alleen op tekstpatronen):
Opdrachten (afhandeling van chatopdrachten)
Opdrachtdetails
Opdrachtdetails
- Dit blok configureert opdrachtoppervlakken. Zie Slash-opdrachten voor de huidige ingebouwde en gebundelde opdrachtcatalogus.
- Deze pagina is een referentie voor configuratiesleutels, niet de volledige opdrachtcatalogus. Opdrachten die eigendom zijn van kanalen/Plugins, zoals QQ Bot
/bot-ping/bot-help/bot-logs, LINE/card, apparaatkoppeling/pair, geheugen/dreaming, telefoonbediening/phoneen Talk/voice, worden gedocumenteerd op hun kanaal-/Pluginpagina’s plus Slash-opdrachten. - Tekstopdrachten moeten zelfstandige berichten zijn met een voorafgaande
/. native: "auto"schakelt native opdrachten in voor Discord/Telegram en laat Slack uit.nativeSkills: "auto"schakelt native Skill-opdrachten in voor Discord/Telegram en laat Slack uit.- Overschrijf per kanaal:
channels.discord.commands.native(bool of"auto"). Voor Discord slaatfalsenative opdrachtregistratie en opschoning tijdens het opstarten over. - Overschrijf native Skill-registratie per kanaal met
channels.<provider>.commands.nativeSkills. channels.telegram.customCommandsvoegt extra vermeldingen toe aan het Telegram-botmenu.bash: trueschakelt! <cmd>in voor de hostshell. Vereisttools.elevated.enableden afzender intools.elevated.allowFrom.<channel>.config: trueschakelt/configin (leest/schrijftopenclaw.json). Voor Gateway-chat.send-clients vereisen persistente/config set|unset-schrijfacties ookoperator.admin; alleen-lezen/config showblijft beschikbaar voor normale operatorclients met schrijfscope.mcp: trueschakelt/mcpin voor door OpenClaw beheerde MCP-serverconfiguratie ondermcp.servers.plugins: trueschakelt/pluginsin voor Plugin-detectie, installatie en besturing voor inschakelen/uitschakelen.channels.<provider>.configWritesschermt configuratiemutaties per kanaal af (standaard: true).- Voor kanalen met meerdere accounts schermt
channels.<provider>.accounts.<id>.configWritesook schrijfacties af die op dat account zijn gericht (bijvoorbeeld/allowlist --config --account <id>of/config set channels.<provider>.accounts.<id>...). restart: falseschakelt/restarten Gateway-herstarttoolacties uit. Standaard:true.ownerAllowFromis de expliciete eigenaarstoelatingslijst voor opdrachten/tools die alleen voor de eigenaar zijn. Deze staat los vanallowFrom.ownerDisplay: "hash"hasht eigenaar-id’s in de systeemprompt. StelownerDisplaySecretin om hashing te beheren.allowFromis per provider. Wanneer ingesteld, is dit de enige autorisatiebron (kanaaltoelatingslijsten/koppeling enuseAccessGroupsworden genegeerd).useAccessGroups: falsestaat opdrachten toe om beleid voor toegangsgroepen te omzeilen wanneerallowFromniet is ingesteld.- Overzicht van opdrachtdocumentatie:
Gerelateerd
- Configuratiereferentie — sleutels op topniveau
- Configuratie — agents
- Kanalenoverzicht