Polecenia ukośnikowe
Polecenia są obsługiwane przez Gateway. Większość poleceń musi zostać wysłana jako samodzielna wiadomość zaczynająca się od/.
Polecenie czatu bash tylko dla hosta używa ! <cmd> (z aliasem /bash <cmd>).
Istnieją dwa powiązane systemy:
- Polecenia: samodzielne wiadomości
/.... - Dyrektywy:
/think,/fast,/verbose,/reasoning,/elevated,/exec,/model,/queue.- Dyrektywy są usuwane z wiadomości, zanim model ją zobaczy.
- W zwykłych wiadomościach czatu (nie tylko z dyrektywami) są traktowane jako „wskazówki inline” i nie utrwalają ustawień sesji.
- W wiadomościach zawierających wyłącznie dyrektywy (wiadomość zawiera tylko dyrektywy) utrwalają się w sesji i odpowiadają potwierdzeniem.
- Dyrektywy są stosowane tylko dla autoryzowanych nadawców. Jeśli ustawiono
commands.allowFrom, jest to jedyna lista dozwolonych używana dla dyrektyw; w przeciwnym razie autoryzacja pochodzi z list dozwolonych/parowania kanałów orazcommands.useAccessGroups. Nieautoryzowani nadawcy widzą dyrektywy traktowane jak zwykły tekst.
/help, /commands, /status, /whoami (/id).
Uruchamiają się natychmiast, są usuwane przed zobaczeniem wiadomości przez model, a pozostały tekst przechodzi dalej normalnym przepływem.
Konfiguracja
commands.text(domyślnietrue) włącza parsowanie/...w wiadomościach czatu.- Na powierzchniach bez natywnych poleceń (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) polecenia tekstowe nadal działają, nawet jeśli ustawisz to na
false.
- Na powierzchniach bez natywnych poleceń (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) polecenia tekstowe nadal działają, nawet jeśli ustawisz to na
commands.native(domyślnie"auto") rejestruje polecenia natywne.- Auto: włączone dla Discord/Telegram; wyłączone dla Slack (dopóki nie dodasz slash commands); ignorowane dla providerów bez natywnego wsparcia.
- Ustaw
channels.discord.commands.native,channels.telegram.commands.nativelubchannels.slack.commands.native, aby nadpisać to dla konkretnego providera (bool lub"auto"). falseczyści wcześniej zarejestrowane polecenia w Discord/Telegram przy uruchamianiu. Polecenia Slack są zarządzane w aplikacji Slack i nie są usuwane automatycznie.
commands.nativeSkills(domyślnie"auto") rejestruje polecenia Skills natywnie tam, gdzie jest to obsługiwane.- Auto: włączone dla Discord/Telegram; wyłączone dla Slack (Slack wymaga utworzenia slash command dla każdej skill).
- Ustaw
channels.discord.commands.nativeSkills,channels.telegram.commands.nativeSkillslubchannels.slack.commands.nativeSkills, aby nadpisać to dla konkretnego providera (bool lub"auto").
commands.bash(domyślniefalse) włącza! <cmd>do uruchamiania poleceń powłoki hosta (/bash <cmd>jest aliasem; wymaga allowlisttools.elevated).commands.bashForegroundMs(domyślnie2000) określa, jak długo bash czeka przed przełączeniem do trybu tła (0natychmiast przenosi do tła).commands.config(domyślniefalse) włącza/config(odczyt/zapisopenclaw.json).commands.mcp(domyślniefalse) włącza/mcp(odczyt/zapis konfiguracji MCP zarządzanej przez OpenClaw wmcp.servers).commands.plugins(domyślniefalse) włącza/plugins(wykrywanie/status pluginów oraz kontrolki instalacji + włączania/wyłączania).commands.debug(domyślniefalse) włącza/debug(nadpisania tylko dla runtime).commands.restart(domyślnietrue) włącza/restartoraz akcje narzędzi restartu gateway.commands.ownerAllowFrom(opcjonalne) ustawia jawną allowlistę właściciela dla powierzchni poleceń/narzędzi dostępnych tylko dla właściciela. Jest to oddzielne odcommands.allowFrom.commands.ownerDisplayokreśla, jak identyfikatory właściciela pojawiają się w prompcie systemowym:rawlubhash.commands.ownerDisplaySecretopcjonalnie ustawia sekret HMAC używany, gdycommands.ownerDisplay="hash".commands.allowFrom(opcjonalne) ustawia allowlistę dla autoryzacji poleceń per provider. Gdy jest skonfigurowana, jest to jedyne źródło autoryzacji dla poleceń i dyrektyw (listy dozwolonych/parowanie kanałów icommands.useAccessGroupssą ignorowane). Użyj"*"jako globalnej wartości domyślnej; klucze specyficzne dla providera ją nadpisują.commands.useAccessGroups(domyślnietrue) wymusza allowlisty/polityki dla poleceń, gdycommands.allowFromnie jest ustawione.
Lista poleceń
Bieżące źródło prawdy:- wbudowane polecenia core pochodzą z
src/auto-reply/commands-registry.shared.ts - wygenerowane dock commands pochodzą z
src/auto-reply/commands-registry.data.ts - polecenia pluginów pochodzą z wywołań plugin
registerCommand() - rzeczywista dostępność na Twoim gateway nadal zależy od flag konfiguracji, powierzchni kanału oraz zainstalowanych/włączonych pluginów
Wbudowane polecenia core
Wbudowane polecenia dostępne obecnie:/new [model]rozpoczyna nową sesję;/resetjest aliasem resetu./compact [instructions]kompaktuje kontekst sesji. Zobacz /concepts/compaction./stopprzerywa bieżące uruchomienie./session idle <duration|off>i/session max-age <duration|off>zarządzają wygaśnięciem powiązania wątku./think <off|minimal|low|medium|high|xhigh>ustawia poziom rozumowania. Aliasy:/thinking,/t./verbose on|off|fullprzełącza szczegółowe wyjście. Alias:/v./fast [status|on|off]pokazuje lub ustawia tryb fast./reasoning [on|off|stream]przełącza widoczność rozumowania. Alias:/reason./elevated [on|off|ask|full]przełącza tryb elevated. Alias:/elev./exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>pokazuje lub ustawia domyślne wartości exec./model [name|#|status]pokazuje lub ustawia model./models [provider] [page] [limit=<n>|size=<n>|all]wyświetla listę providerów lub modeli dla providera./queue <mode>zarządza zachowaniem kolejki (steer,interrupt,followup,collect,steer-backlog) oraz opcjami takimi jakdebounce:2s cap:25 drop:summarize./helppokazuje krótkie podsumowanie pomocy./commandspokazuje wygenerowany katalog poleceń./tools [compact|verbose]pokazuje, czego bieżący agent może teraz używać./statuspokazuje status runtime, w tym użycie/limit providera, gdy jest dostępny./taskswyświetla aktywne/ostatnie zadania w tle dla bieżącej sesji./context [list|detail|json]wyjaśnia, jak składany jest kontekst./export-session [path]eksportuje bieżącą sesję do HTML. Alias:/export./whoamipokazuje identyfikator nadawcy. Alias:/id./skill <name> [input]uruchamia skill po nazwie./allowlist [list|add|remove] ...zarządza wpisami allowlisty. Tylko tekstowe./approve <id> <decision>rozwiązuje prompty zatwierdzeń exec./btw <question>zadaje poboczne pytanie bez zmieniania przyszłego kontekstu sesji. Zobacz /tools/btw./subagents list|kill|log|info|send|steer|spawnzarządza uruchomieniami subagentów dla bieżącej sesji./acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|helpzarządza sesjami ACP i opcjami runtime./focus <target>wiąże bieżący wątek Discord lub temat/konwersację Telegram z celem sesji./unfocususuwa bieżące powiązanie./agentswyświetla listę agentów związanych z wątkiem dla bieżącej sesji./kill <id|#|all>przerywa jednego lub wszystkich działających subagentów./steer <id|#> <message>wysyła sterowanie do działającego subagenta. Alias:/tell./config show|get|set|unsetodczytuje lub zapisujeopenclaw.json. Tylko dla właściciela. Wymagacommands.config: true./mcp show|get|set|unsetodczytuje lub zapisuje konfigurację serwera MCP zarządzaną przez OpenClaw wmcp.servers. Tylko dla właściciela. Wymagacommands.mcp: true./plugins list|inspect|show|get|install|enable|disablesprawdza lub zmienia stan pluginów./pluginjest aliasem. Zapis tylko dla właściciela. Wymagacommands.plugins: true./debug show|set|unset|resetzarządza nadpisaniami konfiguracji tylko dla runtime. Tylko dla właściciela. Wymagacommands.debug: true./usage off|tokens|full|coststeruje stopką użycia dla każdej odpowiedzi albo wyświetla lokalne podsumowanie kosztów./tts on|off|status|provider|limit|summary|audio|helpsteruje TTS. Zobacz /tools/tts./restartrestartuje OpenClaw, gdy jest włączone. Domyślnie: włączone; ustawcommands.restart: false, aby je wyłączyć./activation mention|alwaysustawia tryb aktywacji grupy./send on|off|inheritustawia politykę wysyłania. Tylko dla właściciela./bash <command>uruchamia polecenie powłoki hosta. Tylko tekstowe. Alias:! <command>. Wymagacommands.bash: trueoraz allowlisttools.elevated.!poll [sessionId]sprawdza zadanie bash działające w tle.!stop [sessionId]zatrzymuje zadanie bash działające w tle.
Wygenerowane dock commands
Dock commands są generowane z pluginów kanałów ze wsparciem natywnych poleceń. Obecny zestaw wbudowany:/dock-discord(alias:/dock_discord)/dock-mattermost(alias:/dock_mattermost)/dock-slack(alias:/dock_slack)/dock-telegram(alias:/dock_telegram)
Polecenia wbudowanych pluginów
Wbudowane pluginy mogą dodawać więcej poleceń ukośnikowych. Bieżące polecenia wbudowane w tym repo:/dreaming [on|off|status|help]przełącza dreaming pamięci. Zobacz Dreaming./pair [qr|status|pending|approve|cleanup|notify]zarządza przepływem parowania/konfiguracji urządzeń. Zobacz Pairing./phone status|arm <camera|screen|writes|all> [duration]|disarmtymczasowo uzbraja wysokiego ryzyka polecenia node telefonu./voice status|list [limit]|set <voiceId|name>zarządza konfiguracją głosu Talk. W Discord natywna nazwa polecenia to/talkvoice./card ...wysyła presety kart LINE rich card. Zobacz LINE./codex status|models|threads|resume|compact|review|account|mcp|skillssprawdza i kontroluje wbudowany harness app-servera Codex. Zobacz Codex Harness.- Polecenia tylko dla QQBot:
/bot-ping/bot-version/bot-help/bot-upgrade/bot-logs
Dynamiczne polecenia Skills
Skills wywoływane przez użytkownika są również udostępniane jako polecenia ukośnikowe:/skill <name> [input]zawsze działa jako ogólny punkt wejścia.- Skills mogą też pojawiać się jako bezpośrednie polecenia, takie jak
/prose, gdy skill/plugin je zarejestruje. - Rejestracja natywnych poleceń Skills jest sterowana przez
commands.nativeSkillsorazchannels.<provider>.commands.nativeSkills.
- Polecenia akceptują opcjonalny
:między poleceniem a argumentami (np./think: high,/send: on,/help:). /new <model>akceptuje alias modelu,provider/modelalbo nazwę providera (dopasowanie rozmyte); jeśli nie ma dopasowania, tekst jest traktowany jako treść wiadomości.- Aby uzyskać pełne zestawienie użycia per provider, użyj
openclaw status --usage. /allowlist add|removewymagacommands.config=truei respektujeconfigWriteskanału.- W kanałach wielokontowych ukierunkowane na konfigurację
/allowlist --account <id>oraz/config set channels.<provider>.accounts.<id>...także respektująconfigWritesdocelowego konta. /usagesteruje stopką użycia dla każdej odpowiedzi;/usage costwyświetla lokalne podsumowanie kosztów z logów sesji OpenClaw./restartjest domyślnie włączone; ustawcommands.restart: false, aby je wyłączyć./plugins install <spec>akceptuje te same specyfikacje pluginów coopenclaw plugins install: lokalna ścieżka/archiwum, pakiet npm alboclawhub:<pkg>./plugins enable|disableaktualizuje konfigurację pluginów i może poprosić o restart.- Natywne polecenie tylko dla Discord:
/vc join|leave|statussteruje kanałami głosowymi (wymagachannels.discord.voicei poleceń natywnych; niedostępne jako polecenie tekstowe). - Polecenia powiązań wątków Discord (
/focus,/unfocus,/agents,/session idle,/session max-age) wymagają skutecznie włączonych powiązań wątków (session.threadBindings.enabledi/lubchannels.discord.threadBindings.enabled). - Dokumentacja polecenia ACP i zachowanie runtime: ACP Agents.
/verbosesłuży do debugowania i dodatkowej widoczności; w normalnym użyciu trzymaj je wyłączone./fast on|offutrwala nadpisanie sesji. Użyj opcjiinheritw interfejsie Sessions UI, aby je wyczyścić i wrócić do domyślnych ustawień z konfiguracji./fastjest specyficzne dla providera: OpenAI/OpenAI Codex mapują je naservice_tier=priorityw natywnych endpointach Responses, podczas gdy bezpośrednie publiczne żądania Anthropic, w tym ruch uwierzytelniany OAuth wysyłany doapi.anthropic.com, mapują je naservice_tier=autolubstandard_only. Zobacz OpenAI i Anthropic.- Podsumowania błędów narzędzi są nadal pokazywane, gdy mają znaczenie, ale szczegółowy tekst błędu jest dołączany tylko wtedy, gdy
/verbosema wartośćonalbofull. /reasoning(i/verbose) są ryzykowne w ustawieniach grupowych: mogą ujawnić wewnętrzne rozumowanie albo dane wyjściowe narzędzi, których nie zamierzałeś ujawniać. Lepiej zostawić je wyłączone, szczególnie na czatach grupowych./modelnatychmiast utrwala nowy model sesji.- Jeśli agent jest bezczynny, następne uruchomienie użyje go od razu.
- Jeśli uruchomienie jest już aktywne, OpenClaw oznacza przełączenie na żywo jako oczekujące i restartuje się z nowym modelem dopiero w czystym punkcie ponownej próby.
- Jeśli aktywność narzędzi lub wyjście odpowiedzi już się rozpoczęły, oczekujące przełączenie może pozostać w kolejce do późniejszej okazji ponownej próby albo do następnej tury użytkownika.
- Szybka ścieżka: wiadomości zawierające tylko polecenie od nadawców z allowlisty są obsługiwane natychmiast (z pominięciem kolejki + modelu).
- Wymóg wzmianki w grupie: wiadomości zawierające tylko polecenie od nadawców z allowlisty omijają wymagania dotyczące wzmianki.
- Skróty inline (tylko dla nadawców z allowlisty): niektóre polecenia działają także po osadzeniu w zwykłej wiadomości i są usuwane, zanim model zobaczy pozostały tekst.
- Przykład:
hey /statuswywołuje odpowiedź statusu, a pozostały tekst przechodzi dalej normalnym przepływem.
- Przykład:
- Obecnie:
/help,/commands,/status,/whoami(/id). - Nieautoryzowane wiadomości zawierające tylko polecenie są po cichu ignorowane, a tokeny inline
/...są traktowane jak zwykły tekst. - Polecenia Skills: Skills typu
user-invocablesą udostępniane jako polecenia ukośnikowe. Nazwy są sanityzowane doa-z0-9_(maks. 32 znaki); kolizje dostają sufiksy numeryczne (np._2)./skill <name> [input]uruchamia skill po nazwie (przydatne, gdy limity natywnych poleceń uniemożliwiają polecenia per skill).- Domyślnie polecenia Skills są przekazywane do modelu jako zwykłe żądanie.
- Skills mogą opcjonalnie deklarować
command-dispatch: tool, aby kierować polecenie bezpośrednio do narzędzia (deterministycznie, bez modelu). - Przykład:
/prose(plugin OpenProse) — zobacz OpenProse.
- Argumenty poleceń natywnych: Discord używa autouzupełniania dla opcji dynamicznych (oraz menu przycisków, gdy pominiesz wymagane argumenty). Telegram i Slack pokazują menu przycisków, gdy polecenie obsługuje wybory, a Ty pominiesz argument.
/tools
/tools odpowiada na pytanie dotyczące runtime, a nie konfiguracji: czego ten agent może teraz używać w
tej rozmowie.
- Domyślne
/toolsjest zwięzłe i zoptymalizowane pod szybkie skanowanie. /tools verbosedodaje krótkie opisy.- Powierzchnie z poleceniami natywnymi, które obsługują argumenty, udostępniają ten sam przełącznik trybu
compact|verbose. - Wyniki są ograniczone do sesji, więc zmiana agenta, kanału, wątku, autoryzacji nadawcy albo modelu może zmienić wynik.
/toolsobejmuje narzędzia, które są faktycznie osiągalne w runtime, w tym narzędzia core, podłączone narzędzia pluginów i narzędzia należące do kanału.
/tools jako statyczny katalog.
Powierzchnie użycia (co gdzie się pokazuje)
- Użycie/quota providera (np. „Claude 80% left”) pojawia się w
/statusdla bieżącego providera modelu, gdy śledzenie użycia jest włączone. OpenClaw normalizuje okna providerów do% left; dla MiniMax pola procentowe zawierające tylko wartość pozostałą są odwracane przed wyświetleniem, a odpowiedzimodel_remainspreferują wpis modelu czatu wraz z etykietą planu oznaczoną modelem. - Wiersze token/cache w
/statusmogą wracać do ostatniego wpisu użycia w transkrypcie, gdy migawka bieżącej sesji jest uboga. Istniejące niezerowe wartości na żywo nadal mają pierwszeństwo, a fallback do transkryptu może też odzyskać etykietę aktywnego modelu runtime oraz większą sumę zorientowaną na prompt, gdy zapisane sumy są nieobecne lub mniejsze. - Tokeny/koszt dla każdej odpowiedzi są kontrolowane przez
/usage off|tokens|full(dołączane do zwykłych odpowiedzi). /model statusdotyczy modeli/auth/endpointów, a nie użycia.
Wybór modelu (/model)
/model jest zaimplementowane jako dyrektywa.
Przykłady:
/modeli/model listpokazują zwięzły, numerowany picker (rodzina modeli + dostępni providerzy).- W Discord
/modeli/modelsotwierają interaktywny picker z listami rozwijanymi providera i modelu oraz krokiem Submit. /model <#>wybiera z tego pickera (i preferuje bieżącego providera, gdy to możliwe)./model statuspokazuje widok szczegółowy, w tym skonfigurowany endpoint providera (baseUrl) i tryb API (api), gdy są dostępne.
Nadpisania debug
/debug pozwala ustawiać nadpisania konfiguracji tylko dla runtime (w pamięci, nie na dysku). Tylko dla właściciela. Domyślnie wyłączone; włącz przez commands.debug: true.
Przykłady:
- Nadpisania stosują się natychmiast do nowych odczytów konfiguracji, ale nie zapisują się do
openclaw.json. - Użyj
/debug reset, aby wyczyścić wszystkie nadpisania i wrócić do konfiguracji z dysku.
Aktualizacje konfiguracji
/config zapisuje do konfiguracji na dysku (openclaw.json). Tylko dla właściciela. Domyślnie wyłączone; włącz przez commands.config: true.
Przykłady:
- Konfiguracja jest walidowana przed zapisem; nieprawidłowe zmiany są odrzucane.
- Aktualizacje
/configutrzymują się po restartach.
Aktualizacje MCP
/mcp zapisuje definicje serwerów MCP zarządzanych przez OpenClaw w mcp.servers. Tylko dla właściciela. Domyślnie wyłączone; włącz przez commands.mcp: true.
Przykłady:
/mcpprzechowuje konfigurację w konfiguracji OpenClaw, a nie w ustawieniach projektu należących do Pi.- Adapery runtime decydują, które transporty są faktycznie wykonywalne.
Aktualizacje pluginów
/plugins pozwala operatorom sprawdzać wykryte pluginy i przełączać włączenie w konfiguracji. Przepływy tylko do odczytu mogą używać /plugin jako aliasu. Domyślnie wyłączone; włącz przez commands.plugins: true.
Przykłady:
/plugins listi/plugins showużywają rzeczywistego wykrywania pluginów względem bieżącego workspace i konfiguracji z dysku./plugins enable|disableaktualizuje tylko konfigurację pluginów; nie instaluje ani nie odinstalowuje pluginów.- Po zmianach enable/disable uruchom ponownie gateway, aby je zastosować.
Uwagi dotyczące powierzchni
- Polecenia tekstowe działają w zwykłej sesji czatu (DM współdzielą
main, grupy mają własną sesję). - Polecenia natywne używają izolowanych sesji:
- Discord:
agent:<agentId>:discord:slash:<userId> - Slack:
agent:<agentId>:slack:slash:<userId>(prefiks konfigurowalny przezchannels.slack.slashCommand.sessionPrefix) - Telegram:
telegram:slash:<userId>(celuje w sesję czatu przezCommandTargetSessionKey)
- Discord:
/stopceluje w aktywną sesję czatu, aby mogło przerwać bieżące uruchomienie.- Slack:
channels.slack.slashCommandjest nadal obsługiwane dla pojedynczego polecenia w stylu/openclaw. Jeśli włączyszcommands.native, musisz utworzyć jedno polecenie ukośnikowe Slack dla każdego wbudowanego polecenia (te same nazwy co/help). Menu argumentów poleceń dla Slack są dostarczane jako efemeryczne przyciski Block Kit.- Wyjątek dla poleceń natywnych Slack: zarejestruj
/agentstatus(a nie/status), ponieważ Slack rezerwuje/status. Tekstowe/statusnadal działa w wiadomościach Slack.
- Wyjątek dla poleceń natywnych Slack: zarejestruj
Poboczne pytania BTW
/btw to szybkie poboczne pytanie dotyczące bieżącej sesji.
W odróżnieniu od zwykłego czatu:
- używa bieżącej sesji jako kontekstu w tle,
- działa jako osobne jednorazowe wywołanie bez narzędzi,
- nie zmienia przyszłego kontekstu sesji,
- nie jest zapisywane do historii transkryptu,
- jest dostarczane jako wynik poboczny na żywo, a nie jako zwykła wiadomość asystenta.
/btw jest przydatne, gdy chcesz uzyskać tymczasowe doprecyzowanie, podczas gdy główne
zadanie nadal trwa.
Przykład: