Zum Hauptinhalt springen
Der Gateway verarbeitet Befehle, die als eigenständige Nachrichten mit / am Anfang gesendet werden. Nur-Host-Bash-Befehle verwenden ! <cmd> (mit /bash <cmd> als Alias). Wenn eine Unterhaltung an eine ACP-Sitzung gebunden ist, wird normaler Text an das ACP- Harness weitergeleitet. Gateway-Verwaltungsbefehle bleiben lokal: /acp ... erreicht immer den OpenClaw-Befehlshandler, und /status sowie /unfocus bleiben lokal, wenn die Befehlsverarbeitung für die Oberfläche aktiviert ist.

Drei Befehlstypen

Befehle

Eigenständige /...-Nachrichten, die vom Gateway verarbeitet werden. Sie müssen als einziger Inhalt der Nachricht gesendet werden.

Direktiven

/think, /fast, /verbose, /trace, /reasoning, /elevated, /exec, /model, /queue — werden aus der Nachricht entfernt, bevor das Modell sie sieht. Sie speichern Sitzungseinstellungen dauerhaft, wenn sie allein gesendet werden; sie dienen als Inline-Hinweise, wenn sie mit anderem Text gesendet werden.

Inline-Kurzbefehle

/help, /commands, /status, /whoami — werden sofort ausgeführt und entfernt, bevor das Modell den verbleibenden Text sieht. Nur autorisierte Absender.
  • Direktiven werden aus der Nachricht entfernt, bevor das Modell sie sieht.
  • In Nachrichten, die nur Direktiven enthalten (die Nachricht besteht nur aus Direktiven), bleiben sie in der Sitzung gespeichert und antworten mit einer Bestätigung.
  • In normalen Chat-Nachrichten mit anderem Text wirken sie als Inline-Hinweise und speichern Sitzungseinstellungen nicht dauerhaft.
  • Direktiven gelten nur für autorisierte Absender. Wenn commands.allowFrom gesetzt ist, ist dies die einzige verwendete Allowlist; andernfalls ergibt sich die Autorisierung aus Channel-Allowlists/Kopplung plus commands.useAccessGroups. Nicht autorisierte Absender sehen Direktiven als Klartext behandelt.

Konfiguration

{
  commands: {
    native: "auto",
    nativeSkills: "auto",
    text: true,
    bash: false,
    bashForegroundMs: 2000,
    config: false,
    mcp: false,
    plugins: false,
    debug: false,
    restart: true,
    ownerAllowFrom: ["discord:123456789012345678"],
    ownerDisplay: "raw",
    ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}",
    allowFrom: {
      "*": ["user1"],
      discord: ["user:123"],
    },
    useAccessGroups: true,
  },
}
commands.text
boolean
Standard:"true"
Aktiviert das Parsen von /... in Chatnachrichten. Auf Oberflächen ohne native Befehle (WhatsApp, WebChat, Signal, iMessage, Google Chat, Microsoft Teams) funktionieren Textbefehle auch dann, wenn dies auf false gesetzt ist.
commands.native
boolean | "auto"
Standard:"\"auto\""
Registriert native Befehle. Auto: ein für Discord/Telegram; aus für Slack; wird bei Providern ohne native Unterstützung ignoriert. Pro Channel überschreiben mit channels.<provider>.commands.native. Bei Discord überspringt false die Registrierung von Slash-Befehlen; zuvor registrierte Befehle können sichtbar bleiben, bis sie entfernt werden.
commands.nativeSkills
boolean | "auto"
Standard:"\"auto\""
Registriert Skill-Befehle nativ, wenn unterstützt. Auto: ein für Discord/Telegram; aus für Slack. Überschreiben mit channels.<provider>.commands.nativeSkills.
commands.bash
boolean
Standard:"false"
Aktiviert ! <cmd>, um Host-Shell-Befehle auszuführen (/bash <cmd>-Alias). Erfordert tools.elevated-Allowlists.
commands.bashForegroundMs
number
Standard:"2000"
Wie lange Bash wartet, bevor in den Hintergrundmodus gewechselt wird (0 sendet sofort in den Hintergrund).
commands.config
boolean
Standard:"false"
Aktiviert /config (liest/schreibt openclaw.json). Nur für Owner.
commands.mcp
boolean
Standard:"false"
Aktiviert /mcp (liest/schreibt von OpenClaw verwaltete MCP-Konfiguration unter mcp.servers). Nur für Owner.
commands.plugins
boolean
Standard:"false"
Aktiviert /plugins (Plugin-Erkennung/-Status plus Installieren und Aktivieren/Deaktivieren). Schreibzugriffe nur für Owner.
commands.debug
boolean
Standard:"false"
Aktiviert /debug (nur laufzeitbezogene Konfigurationsüberschreibungen). Nur für Owner.
commands.restart
boolean
Standard:"true"
Aktiviert /restart und Gateway-Neustart-Toolaktionen.
commands.ownerAllowFrom
string[]
Explizite Owner-Allowlist für Befehlsoberflächen, die nur Owner verwenden dürfen. Getrennt von commands.allowFrom und DM-Kopplungszugriff.
channels.<channel>.commands.enforceOwnerForCommands
boolean
Standard:"false"
Pro Channel: erfordert Owner-Identität für Befehle, die nur Owner verwenden dürfen. Wenn true, muss der Absender commands.ownerAllowFrom entsprechen oder den internen operator.admin- Scope besitzen. Ein Wildcard-Eintrag in allowFrom ist nicht ausreichend.
commands.ownerDisplay
"raw" | "hash"
Steuert, wie Owner-IDs im System-Prompt angezeigt werden.
commands.ownerDisplaySecret
string
HMAC-Secret, das bei commands.ownerDisplay: "hash" verwendet wird.
commands.allowFrom
object
Provider-spezifische Allowlist für Befehlsautorisierung. Wenn konfiguriert, ist sie die einzige Autorisierungsquelle für Befehle und Direktiven. Verwenden Sie "*" für einen globalen Standard; Provider-spezifische Schlüssel überschreiben ihn.
commands.useAccessGroups
boolean
Standard:"true"
Erzwingt Allowlists/Richtlinien für Befehle, wenn commands.allowFrom nicht gesetzt ist.

Befehlsliste

Befehle stammen aus drei Quellen:
  • Core-Built-ins: src/auto-reply/commands-registry.shared.ts
  • Generierte Dock-Befehle: src/auto-reply/commands-registry.data.ts
  • Plugin-Befehle: Plugin-registerCommand()-Aufrufe
Die Verfügbarkeit hängt von Konfigurationsflags, Channel-Oberfläche und installierten/aktivierten Plugins ab.

Core-Befehle

BefehlBeschreibung
/new [model]Archiviert die aktuelle Sitzung und startet eine neue
/reset [soft [message]]Setzt die aktuelle Sitzung an Ort und Stelle zurück. soft behält das Transkript, verwirft wiederverwendete CLI-Backend-Sitzungs-IDs und führt den Start erneut aus
/name <title>Benennt die aktuelle Sitzung oder ändert ihren Namen. Lassen Sie den Titel weg, um den aktuellen Namen und einen Vorschlag zu sehen
/compact [instructions]Komprimiert den Sitzungskontext. Siehe Compaction
/stopBricht den aktuellen Lauf ab
/session idle <duration|off>Verwaltet den Idle-Ablauf der Thread-Bindung
/session max-age <duration|off>Verwaltet den Max-Age-Ablauf der Thread-Bindung
/export-session [path]Exportiert die aktuelle Sitzung nach HTML. Alias: /export
/export-trajectory [path]Exportiert ein JSONL-Trajektorien-Bundle für die aktuelle Sitzung. Alias: /trajectory
Die Control UI fängt eingegebenes /new ab, um eine neue Dashboard-Sitzung zu erstellen und dorthin zu wechseln, außer wenn session.dmScope: "main" konfiguriert ist und das aktuelle übergeordnete Element die Hauptsitzung des Agenten ist — in diesem Fall setzt /new die Hauptsitzung an Ort und Stelle zurück. Eingegebenes /reset führt weiterhin den In-Place-Reset des Gateway aus. Verwenden Sie /model default, wenn Sie eine angeheftete Modellauswahl der Sitzung löschen möchten.
BefehlBeschreibung
/think <level|default>Legt die Denkstufe fest oder löscht die Sitzungsüberschreibung. Aliasse: /thinking, /t
/verbose on|off|fullSchaltet ausführliche Ausgabe um. Alias: /v
/trace on|offSchaltet Plugin-Trace-Ausgabe für die aktuelle Sitzung um
/fast [status|auto|on|off|default]Zeigt Fast Mode an, setzt ihn oder löscht ihn
/reasoning [on|off|stream]Schaltet Sichtbarkeit von Reasoning um. Alias: /reason
/elevated [on|off|ask|full]Schaltet erhöhten Modus um. Alias: /elev
/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>Zeigt Exec-Standards an oder setzt sie
/login [codex|openai|openai-codex]Koppelt Codex/OpenAI-Login aus einem privaten Chat oder einer Web-UI-Sitzung. Nur Owner/Admin
/model [name|#|status]Zeigt das Modell an oder setzt es
/models [provider] [page] [limit=<n>|all]Listet konfigurierte/auth-verfügbare Provider oder Modelle auf
/queue <mode>Verwaltet das Queue-Verhalten aktiver Läufe. Siehe Queue und Queue-Steuerung
/steer <message>Fügt Anleitung in den aktiven Lauf ein. Alias: /tell. Siehe Steer
  • /verbose ist für Debugging gedacht — lassen Sie es bei normaler Nutzung aus.
  • /trace zeigt nur Plugin-eigene Trace-/Debug-Zeilen; normales ausführliches Rauschen bleibt aus.
  • /fast auto|on|off speichert eine Sitzungsüberschreibung; verwenden Sie in der Sessions UI die Option inherit, um sie zu löschen.
  • /fast ist Provider-spezifisch: OpenAI/Codex ordnen es service_tier=priority zu; direkte Anthropic-Anfragen ordnen es service_tier=auto oder standard_only zu.
  • /reasoning, /verbose und /trace sind in Gruppenumgebungen riskant — sie können internes Reasoning oder Plugin-Diagnosen offenlegen. Lassen Sie sie in Gruppenchats aus.
  • /model speichert das neue Modell sofort dauerhaft in der Sitzung.
  • Wenn der Agent im Leerlauf ist, verwendet der nächste Lauf es sofort.
  • Wenn ein Lauf aktiv ist, wird der Wechsel als ausstehend markiert und am nächsten sauberen Wiederholungspunkt angewendet.
BefehlBeschreibung
/helpZeigt die kurze Hilfezusammenfassung
/commandsZeigt den generierten Befehlskatalog
/tools [compact|verbose]Zeigt, was der aktuelle Agent jetzt verwenden kann
/statusZeigt Ausführungs-/Laufzeitstatus, Gateway- und System-Uptime, Plugin-Gesundheit sowie Provider-Nutzung/-Kontingent
/status pluginsZeigt detaillierte Plugin-Gesundheit: Ladefehler, Quarantänen, Channel-Fehler, Abhängigkeitsprobleme, Kompatibilitätshinweise
/goal [status|start|pause|resume|complete|block|clear] ...Verwaltet das dauerhafte Ziel der aktuellen Sitzung
/diagnostics [note]Supportbericht-Flow nur für Owner. Fragt jedes Mal nach Exec-Genehmigung
/crestodian <request>Führt den Crestodian-Einrichtungs- und Reparaturhelfer aus einer Owner-DM aus
/tasksListet aktive/kürzliche Hintergrundaufgaben für die aktuelle Sitzung auf
/context [list|detail|map|json]Erklärt, wie Kontext zusammengesetzt wird
/whoamiZeigt Ihre Absender-ID. Alias: /id
/usage off|tokens|full|reset|costSteuert die Nutzungsfußzeile pro Antwort (reset/inherit/clear/default löscht die Sitzungsüberschreibung, sodass der konfigurierte Standard erneut geerbt wird) oder gibt eine lokale Kostenzusammenfassung aus
BefehlBeschreibung
/skill <name> [input]Führt ein Skill nach Namen aus
/allowlist [list|add|remove] ...Verwaltet Allowlist-Einträge. Nur Text
/approve <id> <decision>Löst Exec- oder Plugin-Genehmigungsaufforderungen auf
/btw <question>Stellt eine Nebenfrage, ohne den Sitzungskontext zu ändern. Alias: /side. Siehe BTW
BefehlBeschreibung
/subagents list|log|infoSubagenten-Läufe für die aktuelle Sitzung prüfen
/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|helpACP-Sitzungen und Runtime-Optionen verwalten. Runtime-Steuerungen erfordern eine externe Owner- oder interne Gateway-Admin-Identität
/focus <target>Den aktuellen Discord-Thread oder das Telegram-Thema an ein Sitzungsziel binden
/unfocusDie aktuelle Thread-Bindung entfernen
/agentsThread-gebundene Agents für die aktuelle Sitzung auflisten
BefehlErfordertBeschreibung
/config show|get|set|unsetcommands.config: trueopenclaw.json lesen oder schreiben. Nur Owner
/mcp show|get|set|unsetcommands.mcp: trueVon OpenClaw verwaltete MCP-Serverkonfiguration lesen oder schreiben. Nur Owner
/plugins list|inspect|show|get|install|enable|disablecommands.plugins: truePlugin-Status prüfen oder ändern. Schreibzugriffe nur für Owner. Alias: /plugin
/debug show|set|unset|resetcommands.debug: trueReine Runtime-Konfigurationsüberschreibungen. Nur Owner
/restartcommands.restart: true (Standard)OpenClaw neu starten
/send on|off|inheritOwnerSenderichtlinie festlegen
BefehlBeschreibung
/tts on|off|status|chat|latest|provider|limit|summary|audio|helpTTS steuern. Siehe TTS
/activation mention|alwaysGruppenaktivierungsmodus festlegen
/bash <command>Einen Host-Shell-Befehl ausführen. Alias: ! <command>. Erfordert commands.bash: true
!poll [sessionId]Einen Bash-Hintergrundjob prüfen
!stop [sessionId]Einen Bash-Hintergrundjob stoppen

Dock-Befehle

Dock-Befehle schalten die Antwort-Route der aktiven Sitzung auf einen anderen verknüpften Kanal um. Siehe Kanal-Docking für Einrichtung und Fehlerbehebung. Generiert aus Kanal-Plugins mit Unterstützung für native Befehle:
  • /dock-discord (Alias: /dock_discord)
  • /dock-mattermost (Alias: /dock_mattermost)
  • /dock-slack (Alias: /dock_slack)
  • /dock-telegram (Alias: /dock_telegram)
Dock-Befehle erfordern session.identityLinks. Der Quellabsender und der Ziel-Peer müssen in derselben Identitätsgruppe sein.

Gebündelte Plugin-Befehle

BefehlBeschreibung
/dreaming [on|off|status|help]Memory-Dreaming umschalten (Owner oder Gateway-Admin). Siehe Dreaming
/pair [qr|status|pending|approve|cleanup|notify]Gerätekopplung verwalten. Siehe Kopplung
/phone status|arm ...|disarmHochriskante Phone-Node-Befehle vorübergehend aktivieren
/voice status|list|set <voiceId>Talk-Sprachkonfiguration verwalten. Nativer Discord-Name: /talkvoice
/card ...LINE-Rich-Card-Voreinstellungen senden. Siehe LINE
/codex status|models|threads|resume|compact|review|diagnostics|account|mcp|skillsDas Codex-App-Server-Harness steuern. Siehe Codex-Harness
Nur QQBot: /bot-ping, /bot-version, /bot-help, /bot-upgrade, /bot-logs

Skill-Befehle

Vom Benutzer aufrufbare Skills werden als Slash-Befehle bereitgestellt:
  • /skill <name> [input] funktioniert immer als generischer Einstiegspunkt.
  • Skills können sich als direkte Befehle registrieren (z. B. /prose für OpenProse).
  • Die native Skill-Befehlsregistrierung wird durch commands.nativeSkills und channels.<provider>.commands.nativeSkills gesteuert.
  • Namen werden auf a-z0-9_ bereinigt (max. 32 Zeichen); Kollisionen erhalten numerische Suffixe.
Standardmäßig werden Skill-Befehle als normale Anfrage an das Modell weitergeleitet.Skills können command-dispatch: tool deklarieren, um direkt an ein Tool weiterzuleiten (deterministisch, ohne Modellbeteiligung). Beispiel: /prose (OpenProse-Plugin) — siehe OpenProse.
Discord verwendet Autovervollständigung für dynamische Optionen und Button-Menüs, wenn erforderliche Argumente fehlen. Telegram und Slack zeigen ein Button-Menü für Befehle mit Auswahlmöglichkeiten. Dynamische Auswahlmöglichkeiten werden gegen das Ziel-Sitzungsmodell aufgelöst, sodass modell- spezifische Optionen wie /think-Stufen der /model-Überschreibung der Sitzung folgen.

/tools — was der Agent jetzt nutzen kann

/tools beantwortet eine Runtime-Frage: was dieser Agent genau jetzt in dieser Unterhaltung nutzen kann — keinen statischen Konfigurationskatalog.
/tools         # kompakte Ansicht
/tools verbose # mit kurzen Beschreibungen
Ergebnisse sind sitzungsbezogen. Änderungen an Agent, Kanal, Thread, Absender- Autorisierung oder Modell können die Ausgabe ändern. Verwenden Sie zum Bearbeiten von Profilen und Überschreibungen das Tools-Panel der Control UI oder Konfigurationsoberflächen.

/model — Modellauswahl

/model             # Modellauswahl anzeigen
/model list        # identisch
/model 3           # nach Nummer aus der Auswahl wählen
/model openai/gpt-5.4
/model opus@anthropic:default
/model default     # Modellauswahl der Sitzung löschen
/model status      # Detailansicht mit Endpunkt und API-Modus
In Discord öffnen /model und /models eine interaktive Auswahl mit Provider- und Modell-Dropdowns. Die Auswahl berücksichtigt agents.defaults.models, einschließlich provider/*-Einträge.

/config — Konfigurationsschreibzugriffe auf Datenträger

Nur Owner. Standardmäßig deaktiviert — aktivieren mit commands.config: true.
/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix
Die Konfiguration wird vor dem Schreiben validiert. Ungültige Änderungen werden abgelehnt. /config- Aktualisierungen bleiben über Neustarts hinweg erhalten.

/mcp — MCP-Serverkonfiguration

Nur Owner. Standardmäßig deaktiviert — aktivieren mit commands.mcp: true.
/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7
/mcp speichert Konfiguration in der OpenClaw-Konfiguration, nicht in Projektsettings eingebetteter Agents.

/debug — reine Runtime-Überschreibungen

Nur Owner. Standardmäßig deaktiviert — aktivieren mit commands.debug: true. Überschreibungen gelten sofort für neue Konfigurationslesevorgänge, schreiben aber nicht auf den Datenträger.
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset

/plugins — Plugin-Verwaltung

Schreibzugriffe nur für Owner. Standardmäßig deaktiviert — aktivieren mit commands.plugins: true.
/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7
/plugins install ./path/to/plugin
/plugins enable|disable aktualisiert die Plugin-Konfiguration und lädt die Gateway- Plugin-Runtime für neue Agent-Durchläufe neu. /plugins install startet verwaltete Gateways automatisch neu, weil sich Plugin-Quellmodule geändert haben.

/trace — Plugin-Trace-Ausgabe

/trace          # aktuellen Trace-Status anzeigen
/trace on
/trace off
/trace zeigt sitzungsbezogene Plugin-Trace-/Debug-Zeilen ohne vollständigen Verbose- Modus. Es ersetzt nicht /debug (Runtime-Überschreibungen) oder /verbose (normale Tool-Ausgabe).

/btw — Nebenfragen

/btw ist eine schnelle Nebenfrage zum aktuellen Sitzungskontext. Alias: /side.
/btw was machen wir gerade?
/side was hat sich geändert, während der Hauptlauf weiterlief?
Anders als eine normale Nachricht:
  • Nutzt die aktuelle Sitzung als Hintergrundkontext.
  • Wird in Codex-Harness-Sitzungen als ephemerer Codex-Nebenthread ausgeführt.
  • Ändert den künftigen Sitzungskontext nicht.
  • Wird nicht in die Transkripthistorie geschrieben.
Siehe BTW-Nebenfragen für das vollständige Verhalten.

Oberflächenhinweise

  • Textbefehle: laufen in der normalen Chatsitzung (DMs teilen main, Gruppen haben ihre eigene Sitzung).
  • Native Discord-Befehle: agent:<agentId>:discord:slash:<userId>
  • Native Slack-Befehle: agent:<agentId>:slack:slash:<userId> (Präfix konfigurierbar über channels.slack.slashCommand.sessionPrefix)
  • Native Telegram-Befehle: telegram:slash:<userId> (zielen über CommandTargetSessionKey auf die Chatsitzung)
  • /login codex sendet Gerätekopplungscodes nur über private Chats oder Web-UI-Antwortpfade. Telegram-Gruppen-/Themenaufrufe bitten den Owner stattdessen, dem Bot per DM zu schreiben.
  • /stop zielt auf die aktive Chatsitzung, um den aktuellen Lauf abzubrechen.
channels.slack.slashCommand unterstützt einen einzelnen Befehl im Stil von /openclaw. Mit commands.native: true erstellen Sie einen Slack-Slash-Befehl pro integriertem Befehl. Registrieren Sie /agentstatus (nicht /status), weil Slack /status reserviert. Text-/status funktioniert weiterhin in Slack-Nachrichten.
  • Reine Befehlsnachrichten von allowlisted Absendern werden sofort verarbeitet (Queue + Modell werden umgangen).
  • Inline-Kurzbefehle (/help, /commands, /status, /whoami) funktionieren auch eingebettet in normalen Nachrichten und werden entfernt, bevor das Modell den verbleibenden Text sieht.
  • Nicht autorisierte reine Befehlsnachrichten werden still ignoriert; Inline-/...-Tokens werden als Klartext behandelt.
  • Befehle akzeptieren optional ein : zwischen Befehl und Argumenten (/think: high, /send: on).
  • /new <model> akzeptiert einen Modellalias, provider/model oder einen Provider-Namen (Fuzzy-Match); wenn keine Übereinstimmung gefunden wird, wird der Text als Nachrichtentext behandelt.
  • /allowlist add|remove erfordert commands.config: true und berücksichtigt Kanal-configWrites.

Provider-Nutzung und Status

  • Provider-Nutzung/-Kontingent (z. B. „Claude 80 % übrig“) wird in /status für den aktuellen Modell-Provider angezeigt, wenn Nutzungserfassung aktiviert ist.
  • Token-/Cache-Zeilen in /status können auf den neuesten Nutzungs-Eintrag im Transkript zurückfallen, wenn der Live-Sitzungs-Snapshot spärlich ist.
  • Ausführung vs. Runtime: /status meldet Execution für den effektiven Sandbox-Pfad und Runtime dafür, wer die Sitzung ausführt: OpenClaw Default, OpenAI Codex, ein CLI-Backend oder ein ACP-Backend.
  • Tokens/Kosten pro Antwort: gesteuert durch /usage off|tokens|full.
  • /model status betrifft Modelle/Auth/Endpunkte, nicht Nutzung.

Verwandt

Skills

Wie Skill-Slash-Befehle registriert und gesteuert werden.

Skills erstellen

Erstellen Sie einen Skill, der seinen eigenen Slash-Befehl registriert.

BTW

Nebenfragen, ohne den Sitzungskontext zu ändern.

Steer

Den Agent mitten im Lauf mit /steer steuern.