OpenClaw uruchamia polecenia powłoki przez narzędzieDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
exec i przechowuje długotrwałe zadania w pamięci. Narzędzie process zarządza tymi sesjami w tle.
Narzędzie exec
Kluczowe parametry:command(wymagane)yieldMs(domyślnie 10000): automatyczne przeniesienie do tła po tym opóźnieniubackground(bool): natychmiastowe przeniesienie do tłatimeout(sekundy, domyślnietools.exec.timeoutSec): zabicie procesu po tym czasie oczekiwania; ustawtimeout: 0tylko po to, aby wyłączyć limit czasu procesu exec dla tego wywołaniaelevated(bool): uruchomienie poza piaskownicą, jeśli tryb podwyższony jest włączony/dozwolony (domyślniegatewayalbonode, gdy celem exec jestnode)- Potrzebujesz prawdziwego TTY? Ustaw
pty: true. workdir,env
- Uruchomienia na pierwszym planie zwracają dane wyjściowe bezpośrednio.
- Po przeniesieniu do tła (jawnym lub przez limit czasu) narzędzie zwraca
status: "running"+sessionIdoraz krótki ogon danych wyjściowych. - Uruchomienia w tle i z
yieldMsdziedziczątools.exec.timeoutSec, chyba że wywołanie podaje jawnytimeout. - Dane wyjściowe są przechowywane w pamięci do czasu odpytywania lub wyczyszczenia sesji.
- Jeśli narzędzie
processjest niedozwolone,execdziała synchronicznie i ignorujeyieldMs/background. - Uruchomione polecenia exec otrzymują
OPENCLAW_SHELL=execna potrzeby reguł powłoki/profilu świadomych kontekstu. - W przypadku długotrwałej pracy, która zaczyna się teraz, uruchom ją raz i polegaj na automatycznym wybudzeniu po ukończeniu, gdy jest włączone, a polecenie emituje dane wyjściowe lub kończy się niepowodzeniem.
- Jeśli automatyczne wybudzenie po ukończeniu jest niedostępne albo potrzebujesz
potwierdzenia cichego sukcesu dla polecenia, które zakończyło się poprawnie bez danych wyjściowych, użyj
process, aby potwierdzić ukończenie. - Nie emuluj przypomnień ani opóźnionych działań następczych pętlami
sleepani powtarzanym odpytywaniem; do przyszłej pracy użyj cron.
Mostkowanie procesów potomnych
Podczas uruchamiania długotrwałych procesów potomnych poza narzędziami exec/process (na przykład ponowne uruchomienia CLI lub pomocnicy Gateway) dołącz pomocnika mostka procesu potomnego, aby sygnały zakończenia były przekazywane dalej, a nasłuchiwacze odłączane przy wyjściu/błędzie. Zapobiega to osieroconym procesom w systemd i utrzymuje spójne zachowanie zamykania na różnych platformach. Nadpisania środowiska:PI_BASH_YIELD_MS: domyślne opóźnienie yield (ms)PI_BASH_MAX_OUTPUT_CHARS: limit danych wyjściowych w pamięci (znaki)OPENCLAW_BASH_PENDING_MAX_OUTPUT_CHARS: limit oczekujących stdout/stderr na strumień (znaki)PI_BASH_JOB_TTL_MS: TTL dla zakończonych sesji (ms, ograniczony do 1m–3h)OPENCLAW_PROCESS_INPUT_WAIT_IDLE_MS: próg bezczynności danych wyjściowych, zanim zapisywalne sesje w tle zostaną oznaczone jako prawdopodobnie czekające na dane wejściowe (domyślnie 15000 ms)
tools.exec.backgroundMs(domyślnie 10000)tools.exec.timeoutSec(domyślnie 1800)tools.exec.cleanupMs(domyślnie 1800000)tools.exec.notifyOnExit(domyślnie true): kolejkowanie zdarzenia systemowego + żądanie Heartbeat, gdy exec przeniesiony do tła kończy działanie.tools.exec.notifyOnExitEmptySuccess(domyślnie false): gdy true, kolejkuje także zdarzenia ukończenia dla udanych uruchomień w tle, które nie wygenerowały danych wyjściowych.
Narzędzie process
Akcje:list: uruchomione + zakończone sesjepoll: opróżnienie nowych danych wyjściowych dla sesji (zgłasza także status wyjścia)log: odczyt zagregowanych danych wyjściowych i pokazanie wskazówek odzyskiwania danych wejściowych (obsługujeoffset+limit)write: wysłanie stdin (data, opcjonalnieeof)send-keys: wysłanie jawnych tokenów klawiszy lub bajtów do sesji opartej na PTYsubmit: wysłanie Enter / powrotu karetki do sesji opartej na PTYpaste: wysłanie dosłownego tekstu, opcjonalnie opakowanego w tryb wklejania bracketed pastekill: zakończenie sesji w tleclear: usunięcie zakończonej sesji z pamięciremove: zabicie, jeśli działa; w przeciwnym razie wyczyszczenie, jeśli jest zakończona
- Tylko sesje przeniesione do tła są listowane/utrwalane w pamięci.
- Sesje przepadają po ponownym uruchomieniu procesu (brak utrwalania na dysku).
- Logi sesji są zapisywane w historii czatu tylko wtedy, gdy uruchomisz
process poll/log, a wynik narzędzia zostanie zarejestrowany. processma zakres na agenta; widzi tylko sesje rozpoczęte przez tego agenta.- Użyj
poll/logdo sprawdzenia statusu, logów, potwierdzenia cichego sukcesu lub potwierdzenia ukończenia, gdy automatyczne wybudzenie po ukończeniu jest niedostępne. - Użyj
logprzed odzyskiwaniem interaktywnego CLI, aby bieżący zapis, stan stdin i wskazówka oczekiwania na dane wejściowe były widoczne razem. - Użyj
write/send-keys/submit/paste/kill, gdy potrzebujesz danych wejściowych lub interwencji. process listzawiera wyprowadzonąname(czasownik polecenia + cel) do szybkiego przeglądania.process list,pollilogzgłaszająwaitingForInputtylko wtedy, gdy sesja nadal ma zapisywalne stdin i była bezczynna dłużej niż próg oczekiwania na dane wejściowe.process logużywa liniowychoffset/limit.- Gdy pominięto zarówno
offset, jak ilimit, zwraca ostatnie 200 wierszy i zawiera wskazówkę stronicowania. - Gdy podano
offset, a pominiętolimit, zwraca odoffsetdo końca (bez ograniczenia do 200). - Odpytywanie służy do statusu na żądanie, a nie do planowania pętli oczekiwania. Jeśli praca ma wydarzyć się później, zamiast tego użyj cron.