Slashkommandon
Kommandon hanteras av Gateway. De flesta kommandon måste skickas som ett standalone meddelande som börjar med/.
Värd-endast bash chat-kommandot använder ! <cmd> (med /bash <cmd> som ett alias).
Det finns två relaterade system:
- Kommandon: fristående
/...‑meddelanden. - Direktiv:
/think,/verbose,/reasoning,/elevated,/exec,/model,/queue.- Direktiv tas bort från meddelandet innan modellen ser det.
- I vanliga chattmeddelanden (inte enbart direktiv) behandlas de som ”inline‑tips” och består inte sessionsinställningar.
- I meddelanden som endast innehåller direktiv (meddelandet innehåller bara direktiv) består de till sessionen och svarar med en bekräftelse.
- Direktiv tillämpas endast för auktoriserade avsändare. Om
commands.allowFromär satt är det den enda allowlist som används; annars kommer auktorisering från kanalens allowlists/parkoppling samtcommands.useAccessGroups. Obehöriga avsändare se direktiv behandlas som ren text.
/help, /commands, /status, /whoami (/id).
De körs omedelbart, strippas innan modellen ser meddelandet, och den återstående texten fortsätter genom det normala flödet.
Konfig
commands.text(standardtrue) aktiverar tolkning av/...i chattmeddelanden.- På ytor utan native‑kommandon (WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams) fungerar textkommandon fortfarande även om du sätter detta till
false.
- På ytor utan native‑kommandon (WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams) fungerar textkommandon fortfarande även om du sätter detta till
commands.native(standard"auto") registrerar native‑kommandon.- Auto: på för Discord/Telegram; av för Slack (tills du lägger till slashkommandon); ignoreras för leverantörer utan native‑stöd.
- Sätt
channels.discord.commands.native,channels.telegram.commands.nativeellerchannels.slack.commands.nativeför att åsidosätta per leverantör (bool eller"auto"). falserensar tidigare registrerade kommandon på Discord/Telegram vid start. Slack kommandon hanteras i Slack appen och tas inte bort automatiskt.
commands.nativeSkills(standard"auto") registrerar skill‑kommandon nativt när det stöds.- Auto: på för Discord/Telegram; av för Slack (Slack kräver att du skapar ett slashkommando per skill).
- Sätt
channels.discord.commands.nativeSkills,channels.telegram.commands.nativeSkillsellerchannels.slack.commands.nativeSkillsför att åsidosätta per leverantör (bool eller"auto").
commands.bash(standardfalse) aktiverar! <cmd>för att köra värdskalskommandon (/bash <cmd>är ett alias; krävertools.elevatedallowlists).commands.bashForegroundMs(standard2000) styr hur länge bash väntar innan det växlar till bakgrundsläge (0bakgrundar omedelbart).commands.config(standardfalse) aktiverar/config(läser/skriveropenclaw.json).commands.debug(standardfalse) aktiverar/debug(endast körningstids‑åsidosättningar).commands.allowFrom(valfri) anger en providerspecifik allowlist för kommandoauktorisering. När den är konfigurerad är den den enda auktoriseringskällan för kommandon och direktiv (kanalens allowlists/parkoppling ochcommands.useAccessGroupsignoreras). Använd"*"för ett globalt standardvärde; providerspecifika nycklar åsidosätter det.commands.useAccessGroups(standardtrue) tillämpar allowlists/policyer för kommandon närcommands.allowFrominte är satt.
Kommandolista
Text + native (när aktiverat):/help/commands/skill <name> [input](kör en skill efter namn)/status(visa aktuell status; inkluderar leverantörsanvändning/kvot för aktuell modellleverantör när tillgängligt)/allowlist(lista/lägg till/ta bort poster i tillåtelselistan)/approve <id> allow-once|allow-always|deny(lös exec‑godkännandepromptar)/context [list|detail|json](förklara ”context”;detailvisar per‑fil + per‑verktyg + per‑skill + systempromptstorlek)/whoami(visa ditt avsändar‑id; alias:/id)/subagents list|stop|log|info|send(inspektera, stoppa, logga eller skicka meddelanden till underagentkörningar för aktuell session)/config show|get|set|unset(spara konfig till disk, endast ägare; krävercommands.config: true)/debug show|set|unset|reset(körningstidsåsidosättningar, endast ägare; krävercommands.debug: true)/usage off|tokens|full|cost(användningsfot per svar eller lokal kostnadssammanfattning)/tts off|always|inbound|tagged|status|provider|limit|summary|audio(styr TTS; se /tts)/debug show|set|unset|reset(körningstidsåsidosättningar, endast ägare; krävercommands.debug: true)/usage off|tokens|full|cost(användningsfot per svar eller lokal kostnadssammanfattning)/dock-telegram(alias:/dock_telegram) (växla svar till Telegram)- Discord: native‑kommandot är
/voice(Discord reserverar/tts); text/ttsfungerar fortfarande.
- Discord: native‑kommandot är
/stop/restart/activation mention|always(endast grupper)/send on|off|inherit(endast ägare)/reseteller/new [model](valfri modellhint; resten skickas vidare)/think <off|minimal|low|medium|high|xhigh>(dynamiska val per modell/leverantör; alias:/thinking,/t)/send on|off|inherit(endast ägare)/reasoning on|off|stream(alias:/reason; när på, skickar ett separat meddelande med prefixReasoning:;stream= endast Telegram‑utkast)/elevated on|off|ask|full(alias:/elev;fullhoppar över exec‑godkännanden)/verbose on|full|off(alias:/v)/model <name>(alias:/models; eller/<alias>frånagents.defaults.models.*.alias)/queue <mode>(plus alternativ somdebounce:2s cap:25 drop:summarize; skicka/queueför att se aktuella inställningar)/exec host=<sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>(skicka/execför att visa aktuellt)/model <name>(alias:/models; eller/<alias>frånagents.defaults.models.*.alias)/queue <mode>(plus alternativ somdebounce:2s cap:25 drop:summarize; skicka/queueför att se aktuella inställningar)/bash <command>(värd; alias för! <command>; krävercommands.bash: true+tools.elevatedallowlists)
/compact [instructions](se /concepts/compaction)! <command>(värd; en åt gången; använd!poll+!stopför långvariga jobb)!poll(kontrollera utdata/status; accepterar valfrisessionId;/bash pollfungerar också)!stop(stoppa det körande bash‑jobbet; accepterar valfrisessionId;/bash stopfungerar också)
- Kommandon accepterar ett valfritt
:mellan kommandot och args (t.ex./think: high,/send: on,/help:). /new <model>accepterar ett modellalias,provider/modeleller ett leverantörsnamn (fuzzy‑match); om ingen match finns behandlas texten som meddelandets innehåll.- För full uppdelning av leverantörsanvändning, använd
openclaw status --usage. /allowlist add|removekrävercommands.config=trueoch respekterar kanalensconfigWrites./usagestyr användningsfoten per svar;/usage costskriver ut en lokal kostnadssammanfattning från OpenClaw‑sessionsloggar./restartär avstängd som standard; sättcommands.restart: trueför att aktivera den./verboseär avsedd för felsökning och extra insyn; håll den av vid normal användning./resonemang(och/verbose) är riskabelt i gruppinställningar: de kan avslöja internt resonemang eller verktygsutmatning som du inte har för avsikt att exponera. Föredrar att utelämna dem, särskilt i gruppchattar.- Snabb väg: meddelanden som endast innehåller kommandon från tillåtelselista hanteras omedelbart (kringgår kö + modell).
- Grupptomnämnings‑gating: meddelanden som endast innehåller kommandon från tillåtelselista kringgår krav på omnämnanden.
- Inline‑genvägar (endast tillåtelselista): vissa kommandon fungerar även när de bäddas in i ett vanligt meddelande och tas bort innan modellen ser återstående text.
- Exempel:
hey /statustriggar ett statussvar och återstående text fortsätter genom det normala flödet.
- Exempel:
- För närvarande:
/help,/commands,/status,/whoami(/id). - Obehöriga meddelanden som endast innehåller kommandon ignoreras tyst, och inline‑
/...‑token behandlas som vanlig text. - Färdighetskommandoner:
user-invocable-färdigheter exponeras som snedstreckskommandon. Namnen saneras tilla-z0-9_(max 32 tecken); kollisioner får numeriska suffix (t.ex._2)./skill <name> [input]kör en skill efter namn (användbart när native‑kommandogränser hindrar per‑skill‑kommandon).- Som standard vidarebefordras skill‑kommandon till modellen som en normal begäran.
- Skills kan valfritt deklarera
command-dispatch: toolför att routa kommandot direkt till ett verktyg (deterministiskt, ingen modell). - Exempel:
/prose(OpenProse‑plugin) — se OpenProse.
- Inhemska kommandoargument: Discord använder autocomplete för dynamiska alternativ (och knappmenyer när du utelämnar nödvändiga args). Telegram och Slack visar en knappmeny när ett kommando stöder val och du utelämnar argen.
Användningsytor (vad som visas var)
- Leverantörsanvändning/kvot (exempel: ”Claude 80% kvar”) visas i
/statusför aktuell modellleverantör när användningsspårning är aktiverad. - Tokens/kostnad per svar styrs av
/usage off|tokens|full(läggs till normala svar). /model statushandlar om modeller/autentisering/endpoints, inte användning.
Modellval (/model)
/model är implementerad som ett direktiv.
Exempel:
/modeloch/model listvisar en kompakt, numrerad väljare (modellfamilj + tillgängliga leverantörer)./model <#>väljer från den väljaren (och föredrar aktuell leverantör när möjligt)./model statusvisar den detaljerade vyn, inklusive konfigurerad leverantörsendpoint (baseUrl) och API‑läge (api) när tillgängligt.
Debug‑åsidosättningar
/debug låter dig ställa in körtid konfigurationsöverskridanden (minne, inte disk). Endast ägare. Inaktiverad som standard; aktivera med commands.debug: true.
Exempel:
- Åsidosättningar gäller omedelbart för nya konfigläsningar, men skriver inte till
openclaw.json. - Använd
/debug resetför att rensa alla åsidosättningar och återgå till konfig på disk.
Konfiguppdateringar
/config skriver till din on-disk config (openclaw.json). Endast ägare. Inaktiverad som standard; aktivera med commands.config: true.
Exempel:
- Konfig valideras före skrivning; ogiltiga ändringar avvisas.
/config‑uppdateringar består över omstarter.
Yt‑noteringar
- Textkommandon körs i den normala chattsessionen (DM delar
main, grupper har sin egen session). - Native‑kommandon använder isolerade sessioner:
- Discord:
agent:<agentId>:discord:slash:<userId> - Slack:
agent:<agentId>:slack:slash:<userId>(prefix konfigurerbart viachannels.slack.slashCommand.sessionPrefix) - Telegram:
telegram:slash:<userId>(riktar in sig på chattsessionen viaCommandTargetSessionKey)
- Discord:
/stopriktar in sig på den aktiva chattsessionen så att den kan avbryta den aktuella körningen.- Slack:
channels.slack.slashCommandstöds fortfarande för ett kommando med/openclaw-stil. Om du aktiverarcommands.native, måste du skapa ett Slack slash kommando per inbyggt kommando (samma namn som/help). Kommandoargumentmenyer för Slack levereras som kortlivade Block Kit knappar.