openclaw agent
Запустіть хід агента через Gateway (використовуйте --local для вбудованого режиму).
Використовуйте --agent <id>, щоб напряму вибрати налаштованого агента.
Передайте принаймні один селектор сеансу:
--to <dest>--session-key <key>--session-id <id>--agent <id>
- Інструмент надсилання агента: Надсилання агента
Параметри
-m, --message <text>: тіло повідомлення--message-file <path>: прочитати тіло повідомлення з UTF-8-файлу-t, --to <dest>: одержувач, який використовується для визначення ключа сеансу--session-key <key>: явний ключ сеансу для маршрутизації--session-id <id>: явний ідентифікатор сеансу--agent <id>: ідентифікатор агента; перевизначає прив’язки маршрутизації--model <id>: перевизначення моделі для цього запуску (provider/modelабо ідентифікатор моделі)--thinking <level>: рівень мислення агента (off,minimal,low,medium,high, а також користувацькі рівні, підтримувані провайдером, як-отxhigh,adaptiveабоmax)--verbose <on|off>: зберегти рівень докладності для сеансу--channel <channel>: канал доставки; пропустіть, щоб використовувати основний канал сеансу--reply-to <target>: перевизначення цілі доставки--reply-channel <channel>: перевизначення каналу доставки--reply-account <id>: перевизначення облікового запису доставки--local: запустити вбудованого агента напряму (після попереднього завантаження реєстру Plugin)--deliver: надіслати відповідь назад у вибраний канал/ціль--timeout <seconds>: перевизначити тайм-аут агента (типово 600 або значення конфігурації)--json: вивести JSON
Приклади
Примітки
- Передайте рівно один із
--messageабо--message-file.--message-fileзберігає багаторядковий вміст файлу після видалення необов’язкового UTF-8 BOM і відхиляє файли, які не є коректним UTF-8. - Режим Gateway повертається до вбудованого агента, коли запит Gateway не вдається. Використовуйте
--local, щоб одразу примусово виконати вбудований запуск. --localвсе одно спершу попередньо завантажує реєстр Plugin, тому провайдери, інструменти й канали, надані Plugin, залишаються доступними під час вбудованих запусків.--localі вбудовані резервні запуски розглядаються як одноразові запуски. Пакетні ресурси MCP loopback і теплі сеанси Claude stdio, відкриті для цього локального процесу, завершуються після відповіді, тому скриптові виклики не залишають локальні дочірні процеси живими.- Запуски через Gateway залишають ресурси MCP loopback, якими володіє Gateway, у запущеному процесі Gateway; старіші клієнти все ще можуть надсилати історичний прапорець очищення, але Gateway приймає його як сумісну операцію без дії.
--channel,--reply-channelі--reply-accountвпливають на доставку відповіді, а не на маршрутизацію сеансу.--session-keyвибирає явний ключ сеансу. Ключі з префіксом агента мають використовуватиagent:<agent-id>:<session-key>, а--agentмає збігатися з ідентифікатором агента в ключі, коли надано обидва. Голі ключі без sentinel обмежуються областю--agent, якщо його вказано, або інакше налаштованим агентом за замовчуванням; наприклад,--agent ops --session-key incident-42маршрутизується доagent:ops:incident-42. Літеральніglobalіunknownзалишаються без області лише тоді, коли--agentне надано; у такому разі вбудований резервний запуск і володіння сховищем використовують налаштованого агента за замовчуванням.--jsonзалишає stdout зарезервованим для JSON-відповіді. Діагностика Gateway, Plugin і вбудованого резервного запуску спрямовується до stderr, щоб скрипти могли напряму розбирати stdout.- JSON вбудованого резервного запуску містить
meta.transport: "embedded"іmeta.fallbackFrom: "gateway", щоб скрипти могли відрізняти резервні запуски від запусків Gateway. - Якщо Gateway приймає запуск агента, але CLI очікує фінальної відповіді до тайм-ауту, вбудований резервний запуск використовує свіжий явний ідентифікатор сеансу/запуску
gateway-fallback-*і повідомляєmeta.fallbackReason: "gateway_timeout"разом із полями резервного сеансу. Це запобігає перегонам із блокуванням стенограми, яким володіє Gateway, або непомітній заміні початково маршрутизованого сеансу розмови. - Для запусків через Gateway
SIGTERMіSIGINTпереривають запит CLI, що очікує. Якщо Gateway уже прийняв запуск, CLI також надсилаєchat.abortдля цього прийнятого ідентифікатора запуску перед виходом. Локальні запуски--localі вбудовані резервні запуски отримують той самий сигнал переривання, але не надсилаютьchat.abort. Якщо дубльований--run-idдосягає Gateway, поки початковий запуск агента ще активний, дубльована відповідь повідомляєstatus: "in_flight", а CLI не в режимі JSON друкує діагностику в stderr замість порожньої відповіді. Для зовнішніх обгорток cron/systemd залишайте зовнішній жорсткий запобіжник завершення, як-отtimeout -k 60 600 openclaw agent ..., щоб супервізор усе ще міг прибрати процес, якщо завершення не може коректно злити роботу. - Коли ця команда запускає повторне створення
models.json, облікові дані провайдера, керовані SecretRef, зберігаються як несекретні маркери (наприклад, назви змінних середовища,secretref-env:ENV_VAR_NAMEабоsecretref-managed), а не як розкритий секретний відкритий текст. - Записи маркерів є авторитетними щодо джерела: OpenClaw зберігає маркери з активного знімка конфігурації джерела, а не з розкритих секретних значень часу виконання.
Статус доставки JSON
Коли використовується--json --deliver, JSON-відповідь CLI може містити верхньорівневий deliveryStatus, щоб скрипти могли розрізняти доставлені, пригнічені, часткові та невдалі надсилання:
deliveryStatus.status є одним із sent, suppressed, partial_failed або failed. suppressed означає, що доставку навмисно не було надіслано, наприклад, її скасував хук надсилання повідомлення або не було видимого результату; це все одно кінцевий результат без повторної спроби. partial_failed означає, що принаймні один payload було надіслано до того, як пізніший payload завершився помилкою. failed означає, що жодне довговічне надсилання не завершилося або передперевірка доставки не вдалася.
Відповіді CLI через Gateway також зберігають сирий формат результату Gateway, де той самий об’єкт доступний у result.deliveryStatus.
Поширені поля:
requested: завждиtrue, коли об’єкт присутній.attempted:trueпісля виконання шляху довговічного надсилання;falseдля помилок передперевірки або відсутніх видимих payload.succeeded:true,falseабо"partial";"partial"поєднується зstatus: "partial_failed".reason: причина в нижньому регістрі snake-case з довговічної доставки або перевірки передперевірки. Відомі причини включаютьcancelled_by_message_sending_hook,no_visible_payload,no_visible_result,channel_resolved_to_internal,unknown_channel,invalid_delivery_targetіno_delivery_target; невдалі довговічні надсилання також можуть повідомляти етап, що завершився помилкою. Обробляйте невідомі значення як непрозорі, оскільки набір може розширюватися.resultCount: кількість результатів надсилання каналом, коли доступна.sentBeforeError:true, коли часткова помилка надіслала принаймні один payload до помилки.error: булевеtrueдля невдалих або частково невдалих надсилань.errorMessage: включається лише тоді, коли захоплено повідомлення базової помилки доставки. Помилки передперевірки містятьerrorіreason, але не маютьerrorMessage.payloadOutcomes: необов’язкові результати для кожного payload ізindex,status,reason,resultCount,error,stage,sentBeforeErrorабо метаданими хука, коли доступні.