> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Агент

# `openclaw agent`

Запустіть хід агента через Gateway (використовуйте `--local` для вбудованого режиму).
Використовуйте `--agent <id>`, щоб напряму вибрати налаштованого агента.

Передайте принаймні один селектор сеансу:

* `--to <dest>`
* `--session-key <key>`
* `--session-id <id>`
* `--agent <id>`

Пов’язане:

* Інструмент надсилання агента: [Надсилання агента](/uk/tools/agent-send)

## Параметри

* `-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

## Приклади

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw agent --to +15555550123 --message "status update" --deliver
openclaw agent --agent ops --message "Summarize logs"
openclaw agent --agent ops --message-file ./task.md
openclaw 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 medium
openclaw agent --to +15555550123 --message "Trace logs" --verbose on --json
openclaw agent --agent ops --message "Generate report" --deliver --reply-channel slack --reply-to "#reports"
openclaw agent --agent ops --message "Run locally" --local
```

## Примітки

* Передайте рівно один із `--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`, щоб скрипти могли розрізняти доставлені, пригнічені, часткові та невдалі надсилання:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  "payloads": [{ "text": "Report ready", "mediaUrl": null }],
  "meta": { "durationMs": 1200 },
  "deliveryStatus": {
    "requested": true,
    "attempted": true,
    "status": "sent",
    "succeeded": true,
    "resultCount": 1
  }
}
```

`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` або метаданими хука, коли доступні.

## Пов’язане

* [Довідник CLI](/uk/cli)
* [Середовище виконання агента](/uk/concepts/agent)
