Zum Inhalt springen

OpenClaw Slash Commands konfigurieren: Anleitung & Setup

{
commands: {
native: "auto",
nativeSkills: "auto",
text: true,
bash: false,
bashForegroundMs: 2000,
config: false,
mcp: false,
plugins: false,
debug: false,
restart: false,
allowFrom: {
"*": ["user1"],
discord: ["user:123"],
},
useAccessGroups: true,
},
}
  • commands.text (Standard: true) aktiviert das Parsen von /... in Chat-Nachrichten.
    • Auf Plattformen ohne native Commands (WhatsApp, WebChat, Signal, iMessage, Google Chat, Microsoft Teams) funktionieren Text-Commands weiterhin, selbst wenn du dies auf false setzt.
  • commands.native (Standard: "auto") registriert native Commands.
    • Auto: Aktiviert für Discord/Telegram; deaktiviert für Slack (bis du Slash-Commands hinzufügst); wird bei Providern ohne native Unterstützung ignoriert.
    • Setze channels.discord.commands.native, channels.telegram.commands.native oder channels.slack.commands.native auf einen booleschen Wert oder "auto", um dies pro Provider zu überschreiben.
    • false löscht zuvor registrierte Commands bei Discord/Telegram beim Start. Slack-Commands werden in der Slack-App verwaltet und nicht automatisch entfernt.
  • commands.nativeSkills (Standard: "auto") registriert skill Commands nativ, sofern unterstützt.
    • Auto: Aktiviert für Discord/Telegram; deaktiviert für Slack (Slack erfordert das Erstellen eines Slash-Commands pro Skill).
    • Nutze channels.discord.commands.nativeSkills, channels.telegram.commands.nativeSkills oder channels.slack.commands.nativeSkills für provider-spezifische Overrides.
  • commands.bash (Standard: false) ermöglicht ! <cmd>, um Shell-Befehle auf dem Host auszuführen (/bash <cmd> ist ein Alias; erfordert tools.elevated Allowlists).
  • commands.bashForegroundMs (Standard: 2000) steuert, wie lange bash wartet, bevor in den Hintergrundmodus gewechselt wird (0 wechselt sofort in den Hintergrund).
  • commands.config (Standard: false) aktiviert /config (liest/schreibt die openclaw.json).
  • commands.mcp (Standard: false) aktiviert /mcp (liest/schreibt die von OpenClaw verwaltete MCP-Konfiguration unter mcp.servers).
  • commands.plugins (Standard: false) aktiviert /plugins (Plugin-Discovery/Status sowie Steuerung für Installation und Aktivierung/Deaktivierung).
  • commands.debug (Standard: false) aktiviert /debug (nur für Runtime-Overrides).
  • commands.allowFrom (optional) legt eine provider-spezifische Allowlist für die Command-Autorisierung fest. Wenn konfiguriert, ist dies die einzige Quelle für die Autorisierung von Commands und Directives (Channel-Allowlists/Pairing und commands.useAccessGroups werden ignoriert). Nutze "*" als globalen Standard; provider-spezifische Keys überschreiben diesen.
  • commands.useAccessGroups (Standard: true) erzwingt Allowlists/Policies für Commands, wenn commands.allowFrom nicht gesetzt ist.

Text + nativ (wenn aktiviert):

  • /help
  • /commands
  • /tools [compact|verbose] (zeigt an, was der aktuelle Agent gerade nutzen kann; verbose fügt Beschreibungen hinzu)
  • /skill <name> [input] (führt einen Skill über den Namen aus)
  • /status (zeigt den aktuellen Status; inklusive Provider-Nutzung/Quota für den aktuellen Model-Provider, falls verfügbar)
  • /tasks (listet Hintergrund-Tasks für die aktuelle Session auf; zeigt Details zu aktiven und kürzlich abgeschlossenen Tasks)
  • /allowlist (Einträge der Allowlist anzeigen, hinzufügen oder entfernen)
  • /approve <id> allow-once|allow-always|deny (löst Freigabeaufforderungen für exec auf)
  • /context [list|detail|json] (erklärt den “Context”; detail zeigt die Größe pro Datei, Tool, Skill und System-Prompt)
  • /btw <question> (stellt eine flüchtige Nebenfrage zur aktuellen Session, ohne den zukünftigen Session-Context zu verändern; siehe /tools/btw)
  • /export-session [path] (Alias: /export) (exportiert die aktuelle Session als HTML inklusive des vollständigen System-Prompts)
  • /whoami (zeigt deine Sender-ID; Alias: /id)
  • /session idle &lt;duration|off&gt; (verwaltet das automatische Unfocusing bei Inaktivität für Thread-Bindings)
  • /session max-age &lt;duration|off&gt; (verwaltet das harte maximale Alter für automatisches Unfocusing bei Thread-Bindings)
  • /subagents list|kill|log|info|send|steer|spawn (inspiziert, steuert oder startet Sub-Agent-Runs für die aktuelle Session)
  • /acp spawn|cancel|steer|close|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|sessions (inspiziert und steuert ACP-Runtime-Sessions)
  • /agents (listet die an den Thread gebundenen Agenten für diese Session auf)
  • /focus <target> (Discord: bindet diesen Thread oder einen neuen Thread an ein Session/Subagent-Ziel)
  • /unfocus (Discord: entfernt das aktuelle Thread-Binding)
  • /kill &lt;id|#|all&gt; (bricht sofort einen oder alle laufenden Sub-Agenten für diese Session ab; keine Bestätigungsnachricht)
  • /steer &lt;id|#&gt; <message> (steuert einen laufenden Sub-Agenten sofort: während des Runs wenn möglich, andernfalls Abbruch der aktuellen Arbeit und Neustart mit der Steer-Nachricht)
  • /tell &lt;id|#&gt; <message> (Alias für /steer)
  • /config show|get|set|unset (speichert die Konfiguration auf Festplatte, nur für Besitzer; erfordert commands.config: true)
  • /mcp show|get|set|unset (verwaltet die OpenClaw MCP-Server-Konfiguration, nur für Besitzer; erfordert commands.mcp: true)
  • /plugins list|show|get|install|enable|disable (inspiziert entdeckte Plugins, installiert neue und schaltet sie an/aus; Schreibzugriff nur für Besitzer; erfordert commands.plugins: true)
    • /plugin ist ein Alias für /plugins.
    • /plugin install <spec> akzeptiert dieselben Plugin-Specs wie openclaw plugins install: lokaler Pfad/Archiv, npm-Paket oder clawhub:<pkg>.
    • Schreibvorgänge für Aktivierung/Deaktivierung antworten weiterhin mit einem Hinweis auf einen Neustart. Bei einem überwachten Foreground-Gateway führt OpenClaw diesen Neustart eventuell direkt nach dem Schreiben automatisch durch.
  • /debug show|set|unset|reset (Runtime-Overrides, nur für Besitzer; erfordert commands.debug: true)
  • /usage off|tokens|full|cost (Nutzungs-Footer pro Antwort oder lokale Kostenzusammenfassung)
  • /tts off|always|inbound|tagged|status|provider|limit|summary|audio (steuert TTS; siehe /tts)
    • Discord: Nativer Befehl ist /voice (Discord reserviert /tts); Text-basiertes /tts funktioniert weiterhin.
  • /stop
  • /restart
  • /dock-telegram (Alias: /dock_telegram) (wechselt Antworten zu Telegram)
  • /dock-discord (Alias: /dock_discord) (wechselt Antworten zu Discord)
  • /dock-slack (Alias: /dock_slack) (wechselt Antworten zu Slack)
  • /activation mention|always (nur in Gruppen)
  • /send on|off|inherit (nur für Besitzer)
  • /reset oder /new [model] (optionaler Model-Hinweis; der Rest wird durchgereicht)
  • /think &lt;off|minimal|low|medium|high|xhigh&gt; (dynamische Auswahl je nach Model/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 aktiviert, wird eine separate Nachricht mit dem Präfix Reasoning: gesendet; stream = nur Telegram-Entwurf)
  • /elevated on|off|ask|full (Alias: /elev; full überspringt exec-Freigaben)
  • /exec host=&lt;auto|sandbox|gateway|node&gt; security=&lt;deny|allowlist|full&gt; ask=&lt;off|on-miss|always&gt; node=<id> (sende /exec, um den aktuellen Status anzuzeigen)
  • /model <name> (Alias: /models; oder /<alias> aus agents.defaults.models.*.alias)
  • /queue <mode> (plus Optionen wie debounce:2s cap:25 drop:summarize; sende /queue, um aktuelle Einstellungen zu sehen)
  • /bash <command> (nur Host; Alias für ! <command>; erfordert commands.bash: true + tools.elevated Allowlists)

Nur Text:

  • /compact [instructions] (siehe /concepts/compaction)
  • ! <command> (nur Host; einzeln nacheinander; nutze !poll + !stop für langlaufende Jobs)
  • !poll (prüft Output / Status; akzeptiert optionale sessionId; /bash poll funktioniert ebenfalls)
  • !stop (stoppt den laufenden bash-Job; akzeptiert optionale sessionId; /bash stop funktioniert ebenfalls)

Hinweise:

  • Commands akzeptieren einen optionalen : zwischen Befehl und Argumenten (z. B. /think: high, /send: on, /help:).
  • /new <model> akzeptiert einen Model-Alias, provider/model oder einen Provider-Namen (Fuzzy Match); wenn kein Treffer gefunden wird, wird der Text als Nachrichtenkörper behandelt.
  • Für eine vollständige Aufschlüsselung der Provider-Nutzung verwende openclaw status --usage.
  • /allowlist add|remove erfordert commands.config=true und berücksichtigt die configWrites des Channels.
  • In Channels mit mehreren Accounts berücksichtigen auf Konfiguration zielende Befehle wie /allowlist --account <id> und /config set channels.<provider>.accounts.<id>... ebenfalls die configWrites des Ziel-Accounts.
  • /usage steuert den Nutzungs-Footer pro Antwort; /usage cost gibt eine lokale Kostenzusammenfassung aus den OpenClaw-Session-Logs aus.
  • /restart ist standardmäßig aktiviert; setze commands.restart: false, um es zu deaktivieren.
  • Exklusiver nativer Discord-Befehl: /vc join|leave|status steuert Voice-Channels (erfordert channels.discord.voice und native Commands; nicht als Text verfügbar).
  • Discord-Befehle für Thread-Binding (/focus, /unfocus, /agents, /session idle, /session max-age) erfordern, dass Thread-Bindings aktiviert sind (session.threadBindings.enabled und/oder channels.discord.threadBindings.enabled).
  • ACP-Befehlsreferenz und Runtime-Verhalten: ACP Agents.
  • /verbose ist für Debugging und zusätzliche Sichtbarkeit gedacht; lass es im normalen Gebrauch aus.
  • /fast on|off speichert einen Session-Override. Nutze die inherit-Option in der Sessions-UI, um ihn zu löschen und auf die Konfigurations-Standards zurückzufallen.
  • /fast ist provider-spezifisch: OpenAI/OpenAI Codex mappen dies auf service_tier=priority bei nativen Responses-Endpunkten, während direkte öffentliche Anthropic-Anfragen (inklusive OAuth-Traffic an api.anthropic.com) auf service_tier=auto oder standard_only gemappt werden. Siehe OpenAI und Anthropic.
  • Zusammenfassungen von Tool-Fehlern werden weiterhin angezeigt, wenn sie relevant sind, aber detaillierte Fehlertexte werden nur inkludiert, wenn /verbose auf on oder full steht.
  • /reasoning (und /verbose) sind in Gruppen riskant: Sie könnten interne Gedankengänge oder Tool-Outputs preisgeben, die du nicht offenlegen wolltest. Lass sie am besten aus, besonders in Gruppen-Chats.
  • /model speichert das neue Session-Model sofort, unterbricht aber keinen laufenden Run. Der aktuelle Turn wird erst beendet, danach nutzen wartende oder zukünftige Aufgaben das aktualisierte Model.
  • Fast Path: Befehle ohne weiteren Text von Absendern auf der Allowlist werden sofort verarbeitet (Queue und Model werden umgangen).
  • Group Mention Gating: Befehle ohne weiteren Text von Absendern auf der Allowlist umgehen die Erfordernis einer Erwähnung (Mention).
  • Inline Shortcuts (nur für Absender auf der Allowlist): Bestimmte Befehle funktionieren auch, wenn sie in eine normale Nachricht eingebettet sind. Sie werden entfernt, bevor das Model den restlichen Text sieht.
    • Beispiel: hey /status löst eine Status-Antwort aus, und der restliche Text durchläuft den normalen Flow.
    • Aktuell: /help, /commands, /status, /whoami (/id).
  • Nicht autorisierte Befehle ohne weiteren Text werden stillschweigend ignoriert, und Inline-/...-Tokens werden als normaler Text behandelt.
  • Skill Commands: Als user-invocable markierte Skills werden als Slash-Commands bereitgestellt. Namen werden auf a-z0-9_ bereinigt (max. 32 Zeichen); bei Kollisionen werden numerische Suffixe angehängt (z. B. _2).
    • /skill <name> [input] führt einen Skill über den Namen aus (nützlich, wenn native Command-Limits pro Skill-Commands verhindern).
    • Standardmäßig werden Skill-Commands als normale Anfrage an das Model weitergeleitet.
    • Skills können optional command-dispatch: tool deklarieren, um den Befehl direkt an ein Tool zu routen (deterministisch, ohne Model).
    • Beispiel: /prose (OpenProse Plugin) — siehe OpenProse.
  • Native Command-Argumente: Discord nutzt Autocomplete für dynamische Optionen (und Button-Menüs, wenn du erforderliche Argumente weglässt). Telegram und Slack zeigen ein Button-Menü an, wenn ein Befehl Auswahlmöglichkeiten unterstützt und du das Argument weglässt.

/tools beantwortet eine Frage zur Laufzeit, keine Konfigurationsfrage: Was dieser Agent genau jetzt in dieser Konversation nutzen kann.

  • Standardmäßig ist /tools kompakt und für schnelles Scannen optimiert.
  • /tools verbose fügt kurze Beschreibungen hinzu.
  • Native Befehlsoberflächen, die Argumente unterstützen, bieten denselben Switch zwischen compact|verbose.
  • Die Ergebnisse sind auf die Session bezogen. Wenn du den Agent, Channel, Thread, die Autorisierung oder das Model änderst, kann sich die Ausgabe ändern.
  • /tools zeigt Tools an, die zur Laufzeit tatsächlich erreichbar sind. Dazu gehören Core-Tools sowie verbundene Plugin- und Channel-Tools.

Um Profile oder Overrides zu bearbeiten, solltest du das Control UI Tools Panel oder die Config/Catalog-Oberflächen nutzen, anstatt /tools als statischen Katalog zu betrachten.

  • Provider-Nutzung und Tokens: Die Quota (z. B. „Claude 80% left“) siehst du in /status, während Tokens oder Kosten pro Antwort über /usage off|tokens|full gesteuert werden.
  • Model-Status: Bei /model status geht es um Models, Auth sowie Endpoints und nicht um die Nutzung.

/model ist als Directive implementiert und hilft dir dabei, schnell zwischen verschiedenen Setups zu wechseln.

Beispiele:

/model
/model list
/model 3
/model openai/gpt-5.2
/model opus@anthropic:default
/model status

Hinweise:

  • /model und /model list zeigen dir eine kompakte, nummerierte Auswahl (Modellfamilie + verfügbare Provider).
  • Auf Discord öffnen /model und /models ein interaktives Auswahlmenü mit Dropdowns für Provider und Modell sowie einem Submit-Schritt.
  • Mit /model <#> triffst du eine Wahl aus dieser Liste. Das System bevorzugt dabei den aktuellen Provider, wenn das möglich ist.
  • /model status liefert dir die Detailansicht, inklusive des konfigurierten Provider-Endpoints (baseUrl) und des API-Modus (api), falls verfügbar.

Mit /debug kannst du Konfigurations-Overrides festlegen, die nur zur Laufzeit gelten (im RAM, nicht auf der Festplatte). Dieser Befehl ist nur für Owner zugänglich. Er ist standardmäßig deaktiviert; du kannst ihn mit commands.debug: true einschalten.

Beispiele:

/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset

Hinweise:

  • Overrides werden sofort bei neuen Lesezugriffen auf die Konfiguration angewendet, aber nicht in die openclaw.json geschrieben.
  • Verwende /debug reset, um alle Overrides zu löschen und zur Konfiguration auf der Festplatte zurückzukehren.

AI Setup Assistant

/config schreibt direkt in deine lokale Konfigurationsdatei (openclaw.json). Dieser Befehl ist dem Owner vorbehalten. Standardmäßig ist die Funktion deaktiviert; du kannst sie mit commands.config: true freischalten. Ich empfehle dir, das zu nutzen, um Einstellungen schnell anzupassen, ohne die Datei manuell bearbeiten zu müssen.

Beispiele:

/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix

Wichtige Hinweise:

  • Die Konfiguration wird vor dem Speichern validiert; ungültige Änderungen werden abgelehnt.
  • Änderungen über /config bleiben auch nach einem Neustart dauerhaft bestehen.

Mit /mcp verwaltest du MCP-Server-Definitionen direkt innerhalb von OpenClaw unter mcp.servers. Auch dieser Befehl ist Owner-only. Er ist standardmäßig deaktiviert; aktiviere ihn mit commands.mcp: true.

Beispiele:

/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7

Wichtige Hinweise:

  • /mcp speichert die Konfiguration direkt in OpenClaw, nicht in den Pi-eigenen Projekteinstellungen.
  • Die Runtime-Adapter entscheiden, welche Transports tatsächlich ausführbar sind.

Mit /plugins kannst du entdeckte Plugins prüfen und deren Aktivierung in der Config umschalten. Für Read-only-Flows kannst du /plugin als Alias nutzen. Diese Funktion ist standardmäßig deaktiviert; aktiviere sie mit commands.plugins: true.

Beispiele:

/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7

Hinweise:

  • /plugins list und /plugins show nutzen die echte Plugin-Discovery für den aktuellen Workspace und die Config auf der Festplatte.
  • /plugins enable|disable aktualisiert nur die Plugin-Config; es installiert oder deinstalliert keine Plugins.
  • Nach Änderungen an der Aktivierung musst du das Gateway neu starten, um sie anzuwenden.
  • Text-Commands laufen in der normalen Chat-Session (DMs teilen sich main, Gruppen haben ihre eigene Session).
  • Native Commands nutzen isolierte Sessions:
    • Discord: agent:<agentId>:discord:slash:<userId>
    • Slack: agent:<agentId>:slack:slash:<userId> (Präfix konfigurierbar über channels.slack.slashCommand.sessionPrefix)
    • Telegram: telegram:slash:<userId> (zielt über CommandTargetSessionKey auf die Chat-Session ab)
  • /stop zielt auf die aktive Chat-Session ab, damit du den aktuellen Run abbrechen kannst.
  • Slack: channels.slack.slashCommand wird weiterhin für einen einzelnen Befehl im Stil von /openclaw unterstützt. Wenn du commands.native aktivierst, musst du pro integriertem Befehl einen Slack-Slash-Command erstellen (gleiche Namen wie bei /help). Menüs für Command-Argumente werden bei Slack als flüchtige Block Kit Buttons ausgeliefert.
    • Ausnahme bei Slack Native: Registriere /agentstatus (nicht /status), da Slack /status reserviert hat. Textbasiertes /status funktioniert in Slack-Nachrichten weiterhin.

/btw ist für eine schnelle Zwischenfrage zur aktuellen Session gedacht.

Anders als beim normalen Chat:

  • nutzt es die aktuelle Session als Hintergrundkontext,
  • läuft es als separater, tool-loser One-Shot-Aufruf,
  • ändert es den zukünftigen Session-Kontext nicht,
  • wird es nicht in die History des Transkripts geschrieben,
  • wird es als Live-Seitenergebnis statt als normale Assistant-Nachricht ausgegeben.

Das macht /btw nützlich, wenn du eine kurze Klärung brauchst, während die Hauptaufgabe weiterläuft.

Beispiel:

/btw what are we doing right now?

Schau dir BTW Side Questions für das vollständige Verhalten und Details zur Client-UX an.

OpenClaw

OpenClaw Expert

Noch festgefahren?

Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.