CLI commands
Agent
openclaw agent
Uruchom turę agenta przez Gateway (użyj --local dla trybu wbudowanego).
Użyj --agent <id>, aby bezpośrednio wskazać skonfigurowanego agenta.
Przekaż co najmniej jeden selektor sesji:
--to <dest>--session-key <key>--session-id <id>--agent <id>
Powiązane:
- Narzędzie wysyłania agenta: Wysyłanie agenta
Opcje
-m, --message <text>: treść wiadomości--message-file <path>: odczytaj treść wiadomości z pliku UTF-8-t, --to <dest>: odbiorca używany do wyprowadzenia klucza sesji--session-key <key>: jawny klucz sesji używany do routingu--session-id <id>: jawny identyfikator sesji--agent <id>: identyfikator agenta; zastępuje powiązania routingu--model <id>: nadpisanie modelu dla tego uruchomienia (provider/modellub identyfikator modelu)--thinking <level>: poziom myślenia agenta (off,minimal,low,medium,highoraz niestandardowe poziomy obsługiwane przez dostawcę, takie jakxhigh,adaptivelubmax)--verbose <on|off>: utrwal poziom szczegółowości dla sesji--channel <channel>: kanał dostarczania; pomiń, aby użyć głównego kanału sesji--reply-to <target>: nadpisanie celu dostarczania--reply-channel <channel>: nadpisanie kanału dostarczania--reply-account <id>: nadpisanie konta dostarczania--local: uruchom bezpośrednio wbudowanego agenta (po wstępnym załadowaniu rejestru Plugin)--deliver: wyślij odpowiedź z powrotem do wybranego kanału/celu--timeout <seconds>: nadpisz limit czasu agenta (domyślnie 600 lub wartość z konfiguracji)--json: wypisz JSON
Przykłady
openclaw agent --to +15555550123 --message "status update" --deliveropenclaw agent --agent ops --message "Summarize logs"openclaw agent --agent ops --message-file ./task.mdopenclaw agent --agent ops --model openai/gpt-5.4 --message "Summarize logs"openclaw agent --session-key agent:ops:incident-42 --message "Summarize status"openclaw agent --agent ops --session-key incident-42 --message "Summarize status"openclaw agent --session-id 1234 --message "Summarize inbox" --thinking mediumopenclaw agent --to +15555550123 --message "Trace logs" --verbose on --jsonopenclaw agent --agent ops --message "Generate report" --deliver --reply-channel slack --reply-to "#reports"openclaw agent --agent ops --message "Run locally" --localUwagi
- Przekaż dokładnie jedną z opcji
--messagealbo--message-file.--message-filezachowuje wielowierszową zawartość pliku po usunięciu opcjonalnego znacznika BOM UTF-8 i odrzuca pliki, które nie są poprawnym UTF-8. - Tryb Gateway przełącza się awaryjnie na wbudowanego agenta, gdy żądanie Gateway się nie powiedzie. Użyj
--local, aby od razu wymusić wykonanie wbudowane. --localnadal najpierw wstępnie ładuje rejestr Plugin, więc dostawcy, narzędzia i kanały dostarczane przez Plugin pozostają dostępne podczas uruchomień wbudowanych.--locali uruchomienia awaryjne w trybie wbudowanym są traktowane jako uruchomienia jednorazowe. Dołączone zasoby loopback MCP i ciepłe sesje stdio Claude otwarte dla tego procesu lokalnego są wycofywane po odpowiedzi, więc wywołania skryptowe nie utrzymują lokalnych procesów potomnych przy życiu.- Uruchomienia oparte na Gateway pozostawiają należące do Gateway zasoby loopback MCP w działającym procesie Gateway; starsi klienci mogą nadal wysyłać historyczną flagę czyszczenia, ale Gateway akceptuje ją jako bezoperacyjną zgodność.
--channel,--reply-channeli--reply-accountwpływają na dostarczanie odpowiedzi, a nie na routing sesji.--session-keywybiera jawny klucz sesji. Klucze z prefiksem agenta muszą używać formatuagent:<agent-id>:<session-key>, a--agentmusi pasować do identyfikatora agenta z klucza, gdy podane są oba. Surowe klucze inne niż sentinel są ograniczane do--agent, gdy go podano, albo w przeciwnym razie do skonfigurowanego agenta domyślnego; na przykład--agent ops --session-key incident-42kieruje doagent:ops:incident-42. Dosłowneglobaliunknownpozostają bez zakresu tylko wtedy, gdy nie podano--agent; w takim przypadku wbudowane wykonanie awaryjne i własność magazynu używają skonfigurowanego agenta domyślnego.--jsonrezerwuje stdout dla odpowiedzi JSON. Diagnostyka Gateway, Plugin i wbudowanego wykonania awaryjnego jest kierowana do stderr, aby skrypty mogły bezpośrednio parsować stdout.- JSON wbudowanego wykonania awaryjnego zawiera
meta.transport: "embedded"imeta.fallbackFrom: "gateway", aby skrypty mogły odróżniać uruchomienia awaryjne od uruchomień Gateway. - Jeśli Gateway zaakceptuje uruchomienie agenta, ale CLI przekroczy limit czasu oczekiwania na końcową odpowiedź, wbudowane wykonanie awaryjne używa świeżego jawnego identyfikatora sesji/uruchomienia
gateway-fallback-*i zgłaszameta.fallbackReason: "gateway_timeout"oraz pola sesji awaryjnej. Pozwala to uniknąć wyścigu o należącą do Gateway blokadę transkryptu lub cichego zastąpienia pierwotnej sesji konwersacji z routingu. - W przypadku uruchomień opartych na Gateway
SIGTERMiSIGINTprzerywają oczekujące żądanie CLI. Jeśli Gateway już zaakceptuje uruchomienie, CLI przed zakończeniem wysyła równieżchat.abortdla tego zaakceptowanego identyfikatora uruchomienia. Lokalne uruchomienia--locali wbudowane uruchomienia awaryjne otrzymują ten sam sygnał przerwania, ale nie wysyłająchat.abort. Jeśli zduplikowany--run-iddotrze do Gateway, gdy pierwotne uruchomienie agenta jest nadal aktywne, zduplikowana odpowiedź zgłaszastatus: "in_flight", a CLI bez JSON wypisuje diagnostykę na stderr zamiast pustej odpowiedzi. W przypadku zewnętrznych opakowań cron/systemd zachowaj zewnętrzny twardy bezpiecznik zabicia procesu, taki jaktimeout -k 60 600 openclaw agent ..., aby nadzorca nadal mógł zebrać proces, jeśli zamknięcia nie da się opróżnić. - Gdy to polecenie wyzwala ponowne generowanie
models.json, poświadczenia dostawców zarządzane przez SecretRef są utrwalane jako niejawne znaczniki (na przykład nazwy zmiennych środowiskowych,secretref-env:ENV_VAR_NAMElubsecretref-managed), a nie jako rozwiązany tajny tekst jawny. - Zapisy znaczników są autorytatywne względem źródła: OpenClaw utrwala znaczniki z aktywnej migawki konfiguracji źródłowej, a nie z rozwiązanych wartości sekretów środowiska uruchomieniowego.
Status dostarczania JSON
Gdy używane jest --json --deliver, odpowiedź JSON CLI może zawierać najwyższego poziomu deliveryStatus, aby skrypty mogły odróżniać wysyłki dostarczone, stłumione, częściowe i nieudane:
{ "payloads": [{ "text": "Report ready", "mediaUrl": null }], "meta": { "durationMs": 1200 }, "deliveryStatus": { "requested": true, "attempted": true, "status": "sent", "succeeded": true, "resultCount": 1 }}deliveryStatus.status ma jedną z wartości sent, suppressed, partial_failed albo failed. suppressed oznacza, że dostarczanie celowo nie zostało wysłane, na przykład hook wysyłania wiadomości je anulował albo nie było widocznego wyniku; nadal jest to końcowy wynik bez ponawiania. partial_failed oznacza, że co najmniej jeden ładunek został wysłany, zanim późniejszy ładunek się nie powiódł. failed oznacza, że nie ukończono trwałej wysyłki albo nie powiodła się kontrola wstępna dostarczania.
Odpowiedzi CLI oparte na Gateway zachowują też surowy kształt wyniku Gateway, gdzie ten sam obiekt jest dostępny pod result.deliveryStatus.
Typowe pola:
requested: zawszetrue, gdy obiekt jest obecny.attempted:truepo wykonaniu trwałej ścieżki wysyłki;falsew przypadku niepowodzeń kontroli wstępnej albo braku widocznych ładunków.succeeded:true,falsealbo"partial";"partial"łączy się zestatus: "partial_failed".reason: powód w formacie snake-case małymi literami z trwałego dostarczania albo walidacji wstępnej. Znane powody obejmującancelled_by_message_sending_hook,no_visible_payload,no_visible_result,channel_resolved_to_internal,unknown_channel,invalid_delivery_targetino_delivery_target; nieudane trwałe wysyłki mogą również zgłosić nieudany etap. Traktuj nieznane wartości jako nieprzezroczyste, ponieważ zbiór może się rozszerzać.resultCount: liczba wyników wysyłki kanału, gdy jest dostępna.sentBeforeError:true, gdy częściowe niepowodzenie wysłało co najmniej jeden ładunek przed błędem.error: wartość logicznatruedla wysyłek nieudanych lub częściowo nieudanych.errorMessage: uwzględniane tylko wtedy, gdy przechwycono bazowy komunikat błędu dostarczania. Niepowodzenia kontroli wstępnej przenosząerrorireason, ale bezerrorMessage.payloadOutcomes: opcjonalne wyniki dla poszczególnych ładunków zindex,status,reason,resultCount,error,stage,sentBeforeErroralbo metadanymi hooka, gdy są dostępne.