Slash-Befehle
Befehle werden vom Gateway verarbeitet. Die meisten Befehle müssen als eigenständige Nachricht gesendet werden, die mit/ beginnt.
Der nur für den Host verfügbare Bash-Chat-Befehl verwendet ! <cmd> (mit /bash <cmd> als Alias).
Es gibt zwei verwandte Systeme:
- Befehle: eigenständige
/...-Nachrichten. - Direktiven:
/think,/fast,/verbose,/reasoning,/elevated,/exec,/model,/queue.- Direktiven werden aus der Nachricht entfernt, bevor das Modell sie sieht.
- In normalen Chat-Nachrichten (nicht nur aus Direktiven bestehend) werden sie als „Inline-Hinweise“ behandelt und persistieren keine Sitzungseinstellungen.
- In Nachrichten, die nur aus Direktiven bestehen (die Nachricht enthält nur Direktiven), werden sie in der Sitzung persistiert und antworten mit einer Bestätigung.
- Direktiven werden nur für autorisierte Absender angewendet. Wenn
commands.allowFromgesetzt ist, ist dies die einzige verwendete Allowlist; andernfalls kommt die Autorisierung aus Kanal-Allowlists/Pairing pluscommands.useAccessGroups. Nicht autorisierte Absender sehen Direktiven als Klartext behandelt.
/help, /commands, /status, /whoami (/id).
Sie werden sofort ausgeführt, werden entfernt, bevor das Modell die Nachricht sieht, und der verbleibende Text läuft durch den normalen Ablauf weiter.
Konfiguration
commands.text(Standardtrue) aktiviert das Parsen von/...in Chat-Nachrichten.- Auf Oberflächen ohne native Befehle (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) funktionieren Textbefehle weiterhin, auch wenn Sie dies auf
falsesetzen.
- Auf Oberflächen ohne native Befehle (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) funktionieren Textbefehle weiterhin, auch wenn Sie dies auf
commands.native(Standard"auto") registriert native Befehle.- Auto: an für Discord/Telegram; aus für Slack (bis Sie Slash-Befehle hinzufügen); ignoriert für Provider ohne native Unterstützung.
- Setzen Sie
channels.discord.commands.native,channels.telegram.commands.nativeoderchannels.slack.commands.native, um pro Provider zu überschreiben (bool oder"auto"). falselöscht zuvor registrierte Befehle beim Start auf Discord/Telegram. Slack-Befehle werden in der Slack-App verwaltet und nicht automatisch entfernt.
commands.nativeSkills(Standard"auto") registriert Skills nativ, wenn unterstützt.- Auto: an für Discord/Telegram; aus für Slack (Slack erfordert das Erstellen eines Slash-Befehls pro Skill).
- Setzen Sie
channels.discord.commands.nativeSkills,channels.telegram.commands.nativeSkillsoderchannels.slack.commands.nativeSkills, um pro Provider zu überschreiben (bool oder"auto").
commands.bash(Standardfalse) aktiviert! <cmd>zum Ausführen von Host-Shell-Befehlen (/bash <cmd>ist ein Alias; erforderttools.elevated-Allowlists).commands.bashForegroundMs(Standard2000) steuert, wie lange Bash wartet, bevor in den Hintergrundmodus gewechselt wird (0stellt sofort in den Hintergrund).commands.config(Standardfalse) aktiviert/config(liest/schreibtopenclaw.json).commands.mcp(Standardfalse) aktiviert/mcp(liest/schreibt von OpenClaw verwaltete MCP-Konfiguration untermcp.servers).commands.plugins(Standardfalse) aktiviert/plugins(Plugin-Erkennung/-Status plus Installations- und Aktivierungs-/Deaktivierungssteuerung).commands.debug(Standardfalse) aktiviert/debug(nur Runtime-Overrides).commands.allowFrom(optional) setzt eine Allowlist pro Provider für die Befehlsautorisierung. Wenn konfiguriert, ist sie die einzige Autorisierungsquelle für Befehle und Direktiven (Kanal-Allowlists/Pairing undcommands.useAccessGroupswerden ignoriert). Verwenden Sie"*"für einen globalen Standard; providerspezifische Schlüssel überschreiben ihn.commands.useAccessGroups(Standardtrue) erzwingt Allowlists/Richtlinien für Befehle, wenncommands.allowFromnicht gesetzt ist.
Befehlsliste
Text + nativ (wenn aktiviert):/help/commands/tools [compact|verbose](anzeigen, was der aktuelle Agent jetzt gerade verwenden kann;verbosefügt Beschreibungen hinzu)/skill <name> [input](einen Skill nach Name ausführen)/status(aktuellen Status anzeigen; enthält Nutzungs-/Kontingentdaten des Providers für den aktuellen Modell-Provider, wenn verfügbar)/tasks(Hintergrundaufgaben für die aktuelle Sitzung auflisten; zeigt aktive und aktuelle Aufgabendetails mit agentlokalen Fallback-Zählungen)/allowlist(Allowlist-Einträge auflisten/hinzufügen/entfernen)/approve <id> <decision>(Exec-Genehmigungsaufforderungen auflösen; verwenden Sie die ausstehende Genehmigungsnachricht für die verfügbaren Entscheidungen)/context [list|detail|json](„Kontext“ erklären;detailzeigt pro Datei + pro Tool + pro Skill + Größe des System-Prompts)/btw <question>(eine vergängliche Nebenfrage zur aktuellen Sitzung stellen, ohne den zukünftigen Sitzungskontext zu ändern; siehe /tools/btw)/export-session [path](Alias:/export) (aktuelle Sitzung mit vollständigem System-Prompt nach HTML exportieren)/whoami(Ihre Absender-ID anzeigen; Alias:/id)/session idle <duration|off>(automatisches Entfokussieren bei Inaktivität für fokussierte Thread-Bindungen verwalten)/session max-age <duration|off>(hartes automatisches Entfokussieren bei maximalem Alter für fokussierte Thread-Bindungen verwalten)/subagents list|kill|log|info|send|steer|spawn(Subagent-Läufe für die aktuelle Sitzung inspizieren, steuern oder starten)/acp spawn|cancel|steer|close|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|sessions(ACP-Runtime-Sitzungen inspizieren und steuern)/agents(threadgebundene Agenten für diese Sitzung auflisten)/focus <target>(Discord: diesen Thread oder einen neuen Thread an ein Sitzungs-/Subagent-Ziel binden)/unfocus(Discord: die aktuelle Thread-Bindung entfernen)/kill <id|#|all>(einen oder alle laufenden Subagenten für diese Sitzung sofort abbrechen; keine Bestätigungsnachricht)/steer <id|#> <message>(einen laufenden Subagenten sofort steuern: wenn möglich im Lauf, andernfalls aktuelle Arbeit abbrechen und mit der Steuerungsnachricht neu starten)/tell <id|#> <message>(Alias für/steer)/config show|get|set|unset(Konfiguration auf Datenträger persistieren, nur Eigentümer; erfordertcommands.config: true)/mcp show|get|set|unset(von OpenClaw verwaltete MCP-Server-Konfiguration verwalten, nur Eigentümer; erfordertcommands.mcp: true)/plugins list|show|get|install|enable|disable(erkannte Plugins inspizieren, neue installieren und Aktivierung umschalten; Schreibvorgänge nur für Eigentümer; erfordertcommands.plugins: true)/pluginist ein Alias für/plugins./plugin install <spec>akzeptiert dieselben Plugin-Spezifikationen wieopenclaw plugins install: lokaler Pfad/Archiv, npm-Paket oderclawhub:<pkg>.- Schreibvorgänge für Aktivieren/Deaktivieren antworten weiterhin mit einem Neustarthinweis. Auf einem überwachten Gateway im Vordergrund kann OpenClaw diesen Neustart direkt nach dem Schreibvorgang automatisch ausführen.
/debug show|set|unset|reset(Runtime-Overrides, nur Eigentümer; erfordertcommands.debug: true)/usage off|tokens|full|cost(Nutzungsfußzeile pro Antwort oder lokale Kostenzusammenfassung)/tts off|always|inbound|tagged|status|provider|limit|summary|audio(TTS steuern; siehe /tts)- Discord: der native Befehl ist
/voice(Discord reserviert/tts); Text-/ttsfunktioniert weiterhin.
- Discord: der native Befehl ist
/stop/restart/dock-telegram(Alias:/dock_telegram) (Antworten auf Telegram umschalten)/dock-discord(Alias:/dock_discord) (Antworten auf Discord umschalten)/dock-slack(Alias:/dock_slack) (Antworten auf Slack umschalten)/activation mention|always(nur Gruppen)/send on|off|inherit(nur Eigentümer)/resetoder/new [model](optional Modellhinweis; Rest wird durchgereicht)/think <off|minimal|low|medium|high|xhigh>(dynamische Auswahl je nach Modell/Provider; Aliase:/thinking,/t)/fast status|on|off(ohne Argument wird der aktuelle effektive Fast-Mode-Status angezeigt)/verbose on|full|off(Alias:/v)/reasoning on|off|stream(Alias:/reason; wenn an, wird eine separate Nachricht mit PräfixReasoning:gesendet;stream= nur Telegram-Entwurf)/elevated on|off|ask|full(Alias:/elev;fullüberspringt Exec-Genehmigungen)/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>(senden Sie/exec, um den aktuellen Wert anzuzeigen)/model <name>(Alias:/models; oder/<alias>ausagents.defaults.models.*.alias)/queue <mode>(plus Optionen wiedebounce:2s cap:25 drop:summarize; senden Sie/queue, um die aktuellen Einstellungen zu sehen)/bash <command>(nur Host; Alias für! <command>; erfordertcommands.bash: true+tools.elevated-Allowlists)/dreaming [off|core|rem|deep|status|help](Dreaming-Modus umschalten oder Status anzeigen; siehe Dreaming)
/compact [instructions](siehe /concepts/compaction)! <command>(nur Host; jeweils nur einer; verwenden Sie!poll+!stopfür lang laufende Jobs)!poll(Ausgabe/Status prüfen; akzeptiert optionalsessionId;/bash pollfunktioniert ebenfalls)!stop(den laufenden Bash-Job stoppen; akzeptiert optionalsessionId;/bash stopfunktioniert ebenfalls)
- Befehle akzeptieren optional ein
:zwischen Befehl und Argumenten (z. B./think: high,/send: on,/help:). /new <model>akzeptiert einen Modellalias,provider/modeloder einen Providernamen (unscharfe Übereinstimmung); wenn es keine Übereinstimmung gibt, wird der Text als Nachrichtentext behandelt.- Für die vollständige Aufschlüsselung der Providernutzung verwenden Sie
openclaw status --usage. /allowlist add|removeerfordertcommands.config=trueund berücksichtigt kanalbezogeneconfigWrites.- In Kanälen mit mehreren Konten berücksichtigen konto-spezifische
/allowlist --account <id>und/config set channels.<provider>.accounts.<id>...ebenfallsconfigWritesdes Zielkontos. /usagesteuert die Nutzungsfußzeile pro Antwort;/usage costgibt eine lokale Kostenzusammenfassung aus OpenClaw-Sitzungslogs aus./restartist standardmäßig aktiviert; setzen Siecommands.restart: false, um es zu deaktivieren.- Nur auf Discord verfügbarer nativer Befehl:
/vc join|leave|statussteuert Sprachkanäle (erfordertchannels.discord.voiceund native Befehle; nicht als Text verfügbar). - Discord-Befehle für Thread-Bindungen (
/focus,/unfocus,/agents,/session idle,/session max-age) erfordern, dass effektive Thread-Bindungen aktiviert sind (session.threadBindings.enabledund/oderchannels.discord.threadBindings.enabled). - ACP-Befehlsreferenz und Runtime-Verhalten: ACP Agents.
/verboseist für Debugging und zusätzliche Sichtbarkeit gedacht; im normalen Gebrauch sollte es aus bleiben./fast on|offpersistiert einen Sitzungs-Override. Verwenden Sie in der Sessions-UI die Optioninherit, um ihn zu löschen und auf Konfigurationsstandards zurückzufallen./fastist providerspezifisch: OpenAI/OpenAI Codex mappen es auf nativen Responses-Endpunkten aufservice_tier=priority, während direkte öffentliche Anthropic-Anfragen, einschließlich OAuth-authentifiziertem Traffic anapi.anthropic.com, es aufservice_tier=autooderstandard_onlymappen. Siehe OpenAI und Anthropic.- Zusammenfassungen von Tool-Fehlern werden weiterhin angezeigt, wenn relevant, aber detaillierter Fehlertext wird nur aufgenommen, wenn
/verboseaufonoderfullsteht. /reasoning(und/verbose) sind in Gruppeneinstellungen riskant: Sie können internes Reasoning oder Tool-Ausgabe offenlegen, die Sie nicht beabsichtigt hatten. Lassen Sie sie bevorzugt aus, besonders in Gruppenchats./modelpersistiert das neue Sitzungsmodell sofort.- Wenn der Agent untätig ist, verwendet der nächste Lauf es sofort.
- Wenn bereits ein Lauf aktiv ist, markiert OpenClaw einen Live-Wechsel als ausstehend und startet erst an einem sauberen Wiederholungszeitpunkt in das neue Modell neu.
- Wenn Tool-Aktivität oder Antwortausgabe bereits begonnen hat, kann der ausstehende Wechsel bis zu einer späteren Wiederholungsmöglichkeit oder bis zum nächsten Benutzer-Turn in der Warteschlange bleiben.
- Schneller Pfad: Nur aus Befehlen bestehende Nachrichten von allowgelisteten Absendern werden sofort verarbeitet (umgehen Warteschlange + Modell).
- Mention-Gating in Gruppen: Nur aus Befehlen bestehende Nachrichten von allowgelisteten Absendern umgehen Mention-Anforderungen.
- Inline-Kurzbefehle (nur allowgelistete Absender): Bestimmte Befehle funktionieren auch, wenn sie in eine normale Nachricht eingebettet sind, und werden entfernt, bevor das Modell den restlichen Text sieht.
- Beispiel:
hey /statuslöst eine Statusantwort aus, und der verbleibende Text läuft durch den normalen Ablauf weiter.
- Beispiel:
- Derzeit:
/help,/commands,/status,/whoami(/id). - Nicht autorisierte Nachrichten, die nur aus Befehlen bestehen, werden stillschweigend ignoriert, und Inline-Token
/...werden als Klartext behandelt. - Skill-Befehle:
user-invocable-Skills werden als Slash-Befehle bereitgestellt. Namen werden aufa-z0-9_bereinigt (maximal 32 Zeichen); bei Kollisionen werden numerische Suffixe angehängt (z. B._2)./skill <name> [input]führt einen Skill nach Namen aus (nützlich, wenn Grenzen nativer Befehle Befehle pro Skill verhindern).- Standardmäßig werden Skill-Befehle als normale Anfrage an das Modell weitergeleitet.
- Skills können optional
command-dispatch: tooldeklarieren, um den Befehl direkt an ein Tool zu routen (deterministisch, ohne Modell). - Beispiel:
/prose(OpenProse-Plugin) — siehe OpenProse.
- Argumente nativer Befehle: Discord verwendet Autocomplete für dynamische Optionen (und Button-Menüs, wenn Sie erforderliche Argumente weglassen). Telegram und Slack zeigen ein Button-Menü an, wenn ein Befehl Auswahlmöglichkeiten unterstützt und Sie das Argument weglassen.
/tools
/tools beantwortet eine Runtime-Frage, keine Konfigurationsfrage: was dieser Agent jetzt gerade in
dieser Unterhaltung verwenden kann.
- Standard-
/toolsist kompakt und für schnelles Scannen optimiert. /tools verbosefügt kurze Beschreibungen hinzu.- Oberflächen mit nativen Befehlen, die Argumente unterstützen, stellen denselben Moduswechsel
compact|verbosebereit. - Ergebnisse sind sitzungsbezogen, daher können Änderungen von Agent, Kanal, Thread, Absenderautorisierung oder Modell die Ausgabe ändern.
/toolsenthält Tools, die zur Laufzeit tatsächlich erreichbar sind, einschließlich Kern-Tools, verbundener Plugin-Tools und kanaleigener Tools.
/tools als statischen Katalog zu behandeln.
Nutzungsoberflächen (was wo angezeigt wird)
- Providernutzung/-kontingent (Beispiel: „Claude 80% left“) wird in
/statusfür den aktuellen Modell-Provider angezeigt, wenn Nutzungstracking aktiviert ist. OpenClaw normalisiert Provider-Fenster auf% left; für MiniMax werden Felder mit verbleibendem Prozentsatz vor der Anzeige invertiert, und Antworten mitmodel_remainsbevorzugen den Chat-Modell-Eintrag plus eine mit dem Modell gekennzeichnete Plan-Bezeichnung. - Token-/Cache-Zeilen in
/statuskönnen auf den neuesten Nutzungs-Eintrag im Transkript zurückfallen, wenn der Live-Sitzungs-Snapshot spärlich ist. Bestehende Live-Werte ungleich null behalten weiterhin Vorrang, und der Rückfall auf das Transkript kann auch das aktive Runtime-Modell-Label plus eine größere promptorientierte Gesamtsumme wiederherstellen, wenn gespeicherte Summen fehlen oder kleiner sind. - Tokens/Kosten pro Antwort werden durch
/usage off|tokens|fullgesteuert (an normale Antworten angehängt). - Bei
/model statusgeht es um Modelle/Auth/Endpunkte, nicht um Nutzung.
Modellauswahl (/model)
/model ist als Direktive implementiert.
Beispiele:
/modelund/model listzeigen einen kompakten, nummerierten Picker (Modellfamilie + verfügbare Provider).- Auf Discord öffnen
/modelund/modelseinen interaktiven Picker mit Dropdowns für Provider und Modell plus einem Submit-Schritt. /model <#>wählt aus diesem Picker aus (und bevorzugt nach Möglichkeit den aktuellen Provider)./model statuszeigt die Detailansicht, einschließlich konfiguriertem Provider-Endpunkt (baseUrl) und API-Modus (api), wenn verfügbar.
Debug-Overrides
Mit/debug können Sie **nur Runtime-**Konfigurations-Overrides setzen (im Speicher, nicht auf Datenträger). Nur Eigentümer. Standardmäßig deaktiviert; aktivieren Sie es mit commands.debug: true.
Beispiele:
- Overrides gelten sofort für neue Konfigurationslesevorgänge, schreiben aber nicht in
openclaw.json. - Verwenden Sie
/debug reset, um alle Overrides zu löschen und zur On-Disk-Konfiguration zurückzukehren.
Konfigurationsaktualisierungen
Mit/config schreiben Sie in Ihre On-Disk-Konfiguration (openclaw.json). Nur Eigentümer. Standardmäßig deaktiviert; aktivieren Sie es mit commands.config: true.
Beispiele:
- Die Konfiguration wird vor dem Schreiben validiert; ungültige Änderungen werden abgelehnt.
/config-Aktualisierungen bleiben über Neustarts hinweg erhalten.
MCP-Aktualisierungen
/mcp schreibt von OpenClaw verwaltete MCP-Serverdefinitionen unter mcp.servers. Nur Eigentümer. Standardmäßig deaktiviert; aktivieren Sie es mit commands.mcp: true.
Beispiele:
/mcpspeichert Konfiguration in der OpenClaw-Konfiguration, nicht in Pi-eigenen Projekteinstellungen.- Runtime-Adapter entscheiden, welche Transports tatsächlich ausführbar sind.
Plugin-Aktualisierungen
Mit/plugins können Operatoren erkannte Plugins inspizieren und die Aktivierung in der Konfiguration umschalten. Schreibgeschützte Abläufe können /plugin als Alias verwenden. Standardmäßig deaktiviert; aktivieren Sie es mit commands.plugins: true.
Beispiele:
/plugins listund/plugins showverwenden echte Plugin-Erkennung für den aktuellen Workspace plus die On-Disk-Konfiguration./plugins enable|disableaktualisiert nur die Plugin-Konfiguration; Plugins werden dadurch nicht installiert oder deinstalliert.- Starten Sie nach Aktivierungs-/Deaktivierungsänderungen das Gateway neu, damit sie wirksam werden.
Hinweise zu Oberflächen
- Textbefehle laufen in der normalen Chat-Sitzung (DMs teilen
main, Gruppen haben ihre eigene Sitzung). - Native Befehle verwenden isolierte Sitzungen:
- Discord:
agent:<agentId>:discord:slash:<userId> - Slack:
agent:<agentId>:slack:slash:<userId>(Präfix konfigurierbar überchannels.slack.slashCommand.sessionPrefix) - Telegram:
telegram:slash:<userId>(zielt überCommandTargetSessionKeyauf die Chat-Sitzung)
- Discord:
/stopzielt auf die aktive Chat-Sitzung, damit der aktuelle Lauf abgebrochen werden kann.- Slack:
channels.slack.slashCommandwird weiterhin für einen einzelnen Befehl im Stil/openclawunterstützt. Wenn Siecommands.nativeaktivieren, müssen Sie einen Slack-Slash-Befehl pro eingebautem Befehl erstellen (dieselben Namen wie/help). Menüs für Befehlsargumente in Slack werden als ephemere Block-Kit-Buttons zugestellt.- Native Ausnahme bei Slack: Registrieren Sie
/agentstatus(nicht/status), weil Slack/statusreserviert. Text-/statusfunktioniert in Slack-Nachrichten weiterhin.
- Native Ausnahme bei Slack: Registrieren Sie
BTW-Nebenfragen
/btw ist eine schnelle Nebenfrage zur aktuellen Sitzung.
Im Unterschied zu normalem Chat:
- verwendet es die aktuelle Sitzung als Hintergrundkontext,
- läuft es als separater toolloser Einmalaufruf,
- ändert es nicht den zukünftigen Sitzungskontext,
- wird es nicht in den Transkriptverlauf geschrieben,
- wird es als Live-Nebenergebnis statt als normale Assistentennachricht zugestellt.
/btw nützlich, wenn Sie eine temporäre Klarstellung möchten, während die Hauptaufgabe
weiterläuft.
Beispiel: