Skip to main content
OpenClaw виконує команди оболонки через інструмент exec і зберігає довготривалі завдання в пам’яті. Інструмент process керує цими фоновими сеансами.

Інструмент exec

Параметри: Поведінка:
  • Виконання на передньому плані повертає вивід безпосередньо.
  • Після переведення у фоновий режим (явно або через завершення часу yieldMs) інструмент повертає status: "running" + sessionId і короткий фрагмент кінця виводу.
  • Фонові виконання та виконання з yieldMs успадковують tools.exec.timeoutSec, якщо у виклику явно не передано timeout.
  • Вивід залишається в пам’яті, доки не буде опитано або очищено сеанс.
  • Якщо інструмент process заборонено, exec виконується синхронно та ігнорує yieldMs/background.
  • Запущені команди exec отримують OPENCLAW_SHELL=exec для контекстно-залежних правил оболонки/профілю.
  • Для довготривалої роботи, яка починається зараз: запустіть її один раз і покладайтеся на автоматичне пробудження після завершення (якщо ввімкнено), щойно команда виведе дані або завершиться помилкою.
  • Якщо автоматичне пробудження після завершення недоступне або потрібне підтвердження тихого успішного виконання команди, яка завершується без виводу, опитуйте її за допомогою process.
  • Не імітуйте нагадування чи відкладені подальші дії циклами sleep або повторним опитуванням — для майбутньої роботи використовуйте Cron.

Перевизначення через змінні середовища

Конфігурація (бажаніша за перевизначення через змінні середовища)

Міст для дочірніх процесів

Під час запуску довготривалих дочірніх процесів поза інструментами exec/process (повторні запуски CLI, допоміжні засоби Gateway) підключайте допоміжний засіб мосту дочірніх процесів, щоб сигнали завершення передавалися далі, а обробники від’єднувалися після виходу/помилки. Це запобігає появі осиротілих процесів у systemd і забезпечує узгоджене завершення роботи на різних платформах.

Інструмент process

Дії: Примітки:
  • У списку зберігаються лише фонові сеанси — тільки в пам’яті, не на диску. Після перезапуску процесу сеанси втрачаються.
  • Активний фоновий сеанс блокує узгоджене призупинення хоста та безпечний перезапуск Gateway, доки власник процесу не підтвердить його фактичне завершення.
  • process remove може негайно приховати активний сеанс після запиту на припинення; призупинення та перезапуск залишатимуться заблокованими до підтвердження завершення.
  • Журнали сеансу зберігаються в історії чату лише тоді, коли ви виконуєте process poll/log і результат інструмента записується.
  • Область дії process обмежена окремим агентом; він бачить лише сеанси, запущені цим агентом.
  • Використовуйте poll/log для перевірки стану, журналів або підтвердження завершення, коли автоматичне пробудження після завершення недоступне.
  • Використовуйте log перед відновленням інтерактивного CLI, щоб одночасно бачити поточний перебіг сеансу, стан stdin і підказку щодо очікування введення.
  • Використовуйте write/send-keys/submit/paste/kill, коли потрібне введення або втручання.
  • process list містить похідне поле name (дієслово команди + ціль) для швидкого перегляду.
  • process list, poll і log повідомляють waitingForInput лише тоді, коли сеанс усе ще має доступний для запису stdin і неактивний довше за поріг очікування введення (стандартно 15000 мс, OPENCLAW_PROCESS_INPUT_WAIT_IDLE_MS).
  • process log використовує построкові offset/limit. Якщо обидва параметри не вказано, повертаються останні 200 рядків із підказкою щодо посторінкового перегляду. Якщо offset задано, а limit — ні, повертаються рядки від offset до кінця (без обмеження у 200 рядків).
  • timeout для poll очікує до вказаної кількості мілісекунд перед поверненням; значення понад 30000 обмежуються до 30000.
  • Опитування призначене для перевірки стану на вимогу, а не для планування циклів очікування. Якщо робота має виконатися пізніше, використовуйте Cron.

Приклади

Запустити довготривале завдання й опитати його пізніше:
Перевірити інтерактивний сеанс перед надсиланням введення:
Негайно запустити у фоновому режимі:
Надіслати дані до stdin:
Надіслати клавіші PTY:
Надіслати поточний рядок:
Вставити буквальний текст:

Пов’язані матеріали