---
read_when:
    - Ви хочете зрозуміти, які інструменти сеансу має агент
    - Ви хочете налаштувати доступ між сеансами або створення під-агентів
    - Ви хочете переглянути стан або керувати створеними субагентами
summary: Інструменти агента для міжсесійного статусу, пригадування, обміну повідомленнями та оркестрації субагентів
title: Інструменти сеансу
x-i18n:
    generated_at: "2026-05-11T20:34:27Z"
    model: gpt-5.5
    provider: openai
    source_hash: e91f1f956ff882cabf7df51bd8c08836398decfb185c56c42db4052f24b3f716
    source_path: concepts/session-tool.md
    workflow: 16
---

OpenClaw надає агентам інструменти для роботи між сеансами, перевірки стану та
оркестрації субагентів.

## Доступні інструменти

| Інструмент         | Що він робить                                                              |
| ------------------ | --------------------------------------------------------------------------- |
| `sessions_list`    | Перелічує сеанси з необов’язковими фільтрами (тип, мітка, агент, давність, попередній перегляд) |
| `sessions_history` | Читає стенограму конкретного сеансу                                        |
| `sessions_send`    | Надсилає повідомлення до іншого сеансу та за потреби очікує                |
| `sessions_spawn`   | Запускає ізольований сеанс субагента для фонової роботи                    |
| `sessions_yield`   | Завершує поточний хід і очікує подальших результатів субагента             |
| `subagents`        | Перелічує, скеровує або завершує запущених субагентів для цього сеансу     |
| `session_status`   | Показує картку в стилі `/status` і за потреби задає перевизначення моделі для окремого сеансу |

На ці інструменти й далі поширюються активний профіль інструментів і політика
дозволу/заборони. `tools.profile: "coding"` включає повний набір оркестрації
сеансів, зокрема `sessions_spawn`, `sessions_yield` і `subagents`.
`tools.profile: "messaging"` включає інструменти обміну повідомленнями між
сеансами (`sessions_list`, `sessions_history`, `sessions_send`, `session_status`), але
не включає запуск субагентів. Щоб зберегти профіль обміну повідомленнями й водночас
дозволити нативне делегування, додайте:

```json5
{
  tools: {
    profile: "messaging",
    alsoAllow: ["sessions_spawn", "sessions_yield", "subagents"],
  },
}
```

Політики групи, провайдера, пісочниці та окремого агента все ще можуть вилучити
ці інструменти після етапу профілю. Використовуйте `/tools` із відповідного
сеансу, щоб переглянути фактичний список інструментів.

## Перелік і читання сеансів

`sessions_list` повертає сеанси з їхнім ключем, agentId, типом, каналом, моделлю,
кількістю токенів і часовими позначками. Фільтруйте за типом (`main`, `group`, `cron`, `hook`,
`node`), точним `label`, точним `agentId`, текстом пошуку або давністю
(`activeMinutes`). Коли потрібне сортування в стилі поштової скриньки, інструмент
також може запитати похідний заголовок у межах видимості, фрагмент попереднього
перегляду останнього повідомлення або обмежені нещодавні повідомлення в кожному
рядку. Похідні заголовки й попередні перегляди створюються лише для сеансів, які
викликач уже може бачити відповідно до налаштованої політики видимості
інструментів сеансу, тому непов’язані сеанси залишаються прихованими.

`sessions_history` отримує стенограму розмови для конкретного сеансу.
За замовчуванням результати інструментів виключено -- передайте `includeTools: true`, щоб побачити їх.
Повернений вигляд навмисно обмежений і відфільтрований з міркувань безпеки:

- текст асистента нормалізується перед відтворенням:
  - теги мислення вилучаються
  - каркасні блоки `<relevant-memories>` / `<relevant_memories>` вилучаються
  - XML-блоки корисного навантаження викликів інструментів у простому тексті, як-от `<tool_call>...</tool_call>`,
    `<function_call>...</function_call>`, `<tool_calls>...</tool_calls>` і
    `<function_calls>...</function_calls>`, вилучаються, зокрема обрізані
    корисні навантаження, які ніколи коректно не закриваються
  - понижені каркасні блоки викликів/результатів інструментів, як-от `[Tool Call: ...]`,
    `[Tool Result ...]` і `[Historical context ...]`, вилучаються
  - витіклі керівні токени моделі, як-от `<|assistant|>`, інші ASCII-токени
    `<|...|>` і повноширинні варіанти `<｜...｜>`, вилучаються
  - некоректний XML виклику інструментів MiniMax, як-от `<invoke ...>` /
    `</minimax:tool_call>`, вилучається
- текст, схожий на облікові дані/токени, редагується перед поверненням
- довгі текстові блоки обрізаються
- дуже великі історії можуть відкидати старіші рядки або замінювати надмірно великий рядок на
  `[sessions_history omitted: message too large]`
- інструмент повідомляє підсумкові прапорці, як-от `truncated`, `droppedMessages`,
  `contentTruncated`, `contentRedacted` і `bytes`

Обидва інструменти приймають або **ключ сеансу** (наприклад, `"main"`), або **ID сеансу**
з попереднього виклику списку.

Якщо потрібна точна побайтова стенограма, перевіряйте файл стенограми на диску,
а не розглядайте `sessions_history` як сирий дамп.

## Надсилання повідомлень між сеансами

`sessions_send` доставляє повідомлення до іншого сеансу та за потреби очікує
відповіді:

- **Надіслати й не чекати:** задайте `timeoutSeconds: 0`, щоб поставити в чергу й повернутися
  негайно.
- **Очікувати відповіді:** задайте тайм-аут і отримайте відповідь безпосередньо.

Сеанси чату, прив’язані до потоку, як-от ключі Slack або Discord, що закінчуються на
`:thread:<id>`, не є припустимими цілями `sessions_send`. Використовуйте ключ сеансу
батьківського каналу для координації між агентами, щоб повідомлення, маршрутизовані
інструментами, не з’являлися в активному потоці, видимому людині.

Повідомлення та подальші відповіді A2A позначаються як дані між сеансами в
підказці отримувача (`[Inter-session message ... isUser=false]`) і в походженні
стенограми. Агент-отримувач має трактувати їх як дані, маршрутизовані
інструментами, а не як пряму інструкцію, написану кінцевим користувачем.

Після відповіді цільового сеансу OpenClaw може запустити **цикл відповіді назад**, у якому
агенти обмінюються повідомленнями по черзі (до `session.agentToAgent.maxPingPongTurns`, діапазон
0-20, за замовчуванням 5). Цільовий агент може відповісти
`REPLY_SKIP`, щоб зупинитися раніше.

## Помічники стану й оркестрації

`session_status` — це легкий інструмент-еквівалент `/status` для поточного
або іншого видимого сеансу. Він повідомляє використання, час, стан моделі/середовища виконання та
пов’язаний контекст фонового завдання, якщо він є. Як і `/status`, він може дозаповнювати
розріджені лічильники токенів/кешу з останнього запису використання у стенограмі, а
`model=default` очищає перевизначення для окремого сеансу. Використовуйте `sessionKey="current"` для
поточного сеансу викликача; видимі клієнтські мітки, як-от `openclaw-tui`, не є
ключами сеансів.

`sessions_yield` навмисно завершує поточний хід, щоб наступним повідомленням могла бути
подальша подія, на яку ви очікуєте. Використовуйте його після запуску субагентів, коли
хочете, щоб результати завершення надійшли як наступне повідомлення, а не будувати
цикли опитування.

`subagents` — це помічник керівної площини для вже запущених субагентів
OpenClaw. Він підтримує:

- `action: "list"` для перевірки активних/нещодавніх запусків
- `action: "steer"` для надсилання подальших вказівок запущеній дочірній задачі
- `action: "kill"` для зупинки однієї дочірньої задачі або `all`

## Запуск субагентів

`sessions_spawn` за замовчуванням створює ізольований сеанс для фонового завдання.
Він завжди неблокувальний -- він негайно повертає `runId` і
`childSessionKey`.

Ключові параметри:

- `runtime: "subagent"` (за замовчуванням) або `"acp"` для зовнішніх агентів середовища.
- Перевизначення `model` і `thinking` для дочірнього сеансу.
- `thread: true` для прив’язки запуску до потоку чату (Discord, Slack тощо).
- `sandbox: "require"` для примусового застосування пісочниці до дочірнього сеансу.
- `context: "fork"` для нативних субагентів, коли дочірньому сеансу потрібна поточна
  стенограма запитувача; опустіть його або використайте `context: "isolated"` для чистого дочірнього сеансу.
  Нативні субагенти, прив’язані до потоку, за замовчуванням використовують `context: "fork"`, якщо
  `threadBindings.defaultSpawnContext` не визначає інше.

Кінцеві субагенти за замовчуванням не отримують інструментів сеансу. Коли
`maxSpawnDepth >= 2`, субагенти-оркестратори рівня 1 додатково отримують
`sessions_spawn`, `subagents`, `sessions_list` і `sessions_history`, щоб вони
могли керувати власними дочірніми задачами. Кінцеві запуски все одно не отримують
рекурсивних інструментів оркестрації.

Після завершення крок оголошення публікує результат у каналі запитувача.
Доставка завершення зберігає маршрутизацію прив’язаного потоку/теми, коли вона доступна, і якщо
джерело завершення ідентифікує лише канал, OpenClaw усе ще може повторно використати
збережений маршрут сеансу запитувача (`lastChannel` / `lastTo`) для прямої
доставки.

Про поведінку, специфічну для ACP, див. [Агенти ACP](/uk/tools/acp-agents).

## Видимість

Інструменти сеансу обмежені за областю, щоб визначати, що агент може бачити:

| Рівень  | Область                                  |
| ------- | ---------------------------------------- |
| `self`  | Лише поточний сеанс                      |
| `tree`  | Поточний сеанс + запущені субагенти      |
| `agent` | Усі сеанси цього агента                  |
| `all`   | Усі сеанси (між агентами, якщо налаштовано) |

За замовчуванням використовується `tree`. Сеанси в пісочниці обмежуються до `tree` незалежно від
конфігурації.

## Додаткове читання

- [Керування сеансами](/uk/concepts/session) -- маршрутизація, життєвий цикл, обслуговування
- [Агенти ACP](/uk/tools/acp-agents) -- запуск зовнішнього середовища
- [Багатоагентність](/uk/concepts/multi-agent) -- багатоагентна архітектура
- [Конфігурація Gateway](/uk/gateway/configuration) -- параметри конфігурації інструментів сеансу

## Пов’язане

- [Керування сеансами](/uk/concepts/session)
- [Очищення сеансів](/uk/concepts/session-pruning)
