Skip to main content
OpenClaw voert shellopdrachten uit via de tool exec en houdt langlopende taken in het geheugen. De tool process beheert die achtergrondsessies.

Tool exec

Parameters: Gedrag:
  • Voorgronduitvoeringen retourneren uitvoer rechtstreeks.
  • Wanneer een uitvoering naar de achtergrond gaat (expliciet of via de time-out yieldMs), retourneert de tool status: "running" + sessionId en een kort laatste deel van de uitvoer.
  • Uitvoeringen op de achtergrond en yieldMs nemen tools.exec.timeoutSeconds over, tenzij de aanroep expliciet een timeout doorgeeft.
  • Uitvoer blijft in het geheugen totdat de sessie wordt opgevraagd of gewist.
  • Als de tool process niet is toegestaan, worden exec-uitvoeringen synchroon uitgevoerd en worden yieldMs/background genegeerd.
  • Gestarte exec-opdrachten ontvangen OPENCLAW_SHELL=exec voor contextbewuste shell-/profielregels.
  • Voor langlopend werk dat nu begint: start het eenmaal en vertrouw op automatisch ontwaken bij voltooiing (indien ingeschakeld) zodra de opdracht uitvoer produceert of mislukt.
  • Als automatisch ontwaken bij voltooiing niet beschikbaar is, of als je een stille succesvolle uitvoering wilt bevestigen voor een opdracht die zonder uitvoer correct eindigt, vraag je de status op met process.
  • Boots herinneringen of uitgestelde vervolgacties niet na met sleep-lussen of herhaald opvragen — gebruik Cron voor toekomstig werk.

Omgevingsoverschrijvingen

Configuratie (te verkiezen boven omgevingsoverschrijvingen)

Overbrugging van onderliggende processen

Wanneer je langlopende onderliggende processen buiten de exec-/proces-tools start (CLI-herstarts, Gateway-helpers), koppel je de helper voor de onderliggende-procesbrug zodat beëindigingssignalen worden doorgestuurd en listeners bij afsluiten/fouten worden losgekoppeld. Dit voorkomt verweesde processen onder systemd en houdt het afsluiten consistent tussen platforms.

Tool process

Acties: Opmerkingen:
  • Alleen sessies op de achtergrond worden weergegeven/bewaard — uitsluitend in het geheugen, niet op schijf. Sessies gaan verloren wanneer het proces opnieuw wordt gestart.
  • Een actieve achtergrondsessie blokkeert coöperatieve opschorting van de host en een veilige herstart van de Gateway totdat de proceseigenaar bevestigt dat het proces daadwerkelijk is afgesloten.
  • process remove kan een actieve sessie direct verbergen nadat beëindiging is aangevraagd; opschorting en herstart blijven geblokkeerd totdat afsluiting is bevestigd.
  • Sessielogboeken worden alleen in de chatgeschiedenis opgeslagen als je process poll/log uitvoert en het toolresultaat wordt vastgelegd.
  • process is per agent afgebakend; het ziet alleen sessies die door die agent zijn gestart.
  • Gebruik poll/log voor status, logboeken of bevestiging van voltooiing wanneer automatisch ontwaken bij voltooiing niet beschikbaar is.
  • Gebruik log voordat je een interactieve CLI herstelt, zodat het huidige transcript, de stdin-status en de aanwijzing over wachten op invoer samen zichtbaar zijn.
  • Gebruik write/send-keys/submit/paste/kill wanneer invoer of ingrijpen nodig is.
  • process list bevat een afgeleide name (opdrachtwerkwoord + doel) om snel te kunnen scannen.
  • process list, poll en log rapporteren waitingForInput alleen wanneer de sessie nog beschrijfbare stdin heeft en langer inactief is dan de drempel voor wachten op invoer (standaard 15000 ms, OPENCLAW_PROCESS_INPUT_WAIT_IDLE_MS).
  • process log gebruikt regelgebaseerde offset/limit. Wanneer beide zijn weggelaten, worden de laatste 200 regels met een pagineringsaanwijzing geretourneerd. Wanneer offset is ingesteld en limit niet, wordt alles vanaf offset tot het einde geretourneerd (niet beperkt tot 200).
  • poll’s timeout wacht maximaal het opgegeven aantal milliseconden voordat het terugkeert; waarden boven 30000 worden begrensd op 30000.
  • Opvragen is bedoeld voor status op aanvraag, niet voor planning met wachtlussen. Als het werk later moet plaatsvinden, gebruik je Cron.

Voorbeelden

Voer een lange taak uit en vraag de status later op:
Inspecteer een interactieve sessie voordat je invoer verzendt:
Start onmiddellijk op de achtergrond:
Stuur stdin:
Stuur PTY-toetsen:
Verzend de huidige regel:
Plak letterlijke tekst:

Gerelateerd