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

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

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

| Інструмент        | Що він робить                                                              |
| ----------------- | -------------------------------------------------------------------------- |
| `sessions_list`   | Перелічує сеанси з необов’язковими фільтрами (тип, мітка, агент, архів, попередній перегляд) |
| `sessions_history` | Читає transcript конкретного сеансу                                      |
| `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`), але
не включає запуск субагентів. Щоб зберегти профіль messaging і все одно
дозволити нативне делегування, додайте:

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

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

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

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

`sessions_history` отримує transcript розмови для конкретного сеансу.
За замовчуванням результати інструментів виключено -- передайте `includeTools: true`, щоб побачити їх.
Використовуйте `limit` для найновішого обмеженого хвоста. Передайте `offset: 0`, коли потрібні
метадані пагінації, потім передавайте повернені значення `nextOffset`, щоб рухатися назад
сторінками через старіші вікна transcript OpenClaw без читання сирих файлів transcript.
Сторінки з явним offset не об’єднують зовнішні імпорти fallback CLI; використовуйте
стандартний перегляд найновішого хвоста, коли потрібна така об’єднана історія відображення.
Повернений перегляд навмисно обмежений і відфільтрований для безпеки:

- текст assistant нормалізується перед пригадуванням:
  - теги thinking видаляються
  - каркасні блоки `<relevant-memories>` / `<relevant_memories>` видаляються
  - XML-блоки payload викликів інструментів у plain-text, як-от `<tool_call>...</tool_call>`,
    `<function_call>...</function_call>`, `<tool_calls>...</tool_calls>` і
    `<function_calls>...</function_calls>`, видаляються, включно з обрізаними
    payload, які ніколи коректно не закриваються
  - понижений каркас викликів/результатів інструментів, як-от `[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 сеансу**
з попереднього виклику списку.

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

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

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

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

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

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

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

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

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

Коли доступні метадані маршруту, `session_status` також включає видимий
JSON-блок `Route context` і відповідні структуровані поля `details`. Ці
поля розрізняють ключ сеансу та маршрут, який наразі обробляє
живий запуск:

- `origin` -- це місце, де було створено сеанс, або провайдер, виведений з
  deliverable префікса ключа сеансу, коли в старішому стані бракує збережених метаданих origin.
- `active` -- це поточний маршрут live-run. Він повідомляється лише для live або
  поточного сеансу, який обробляється зараз.
- `deliveryContext` -- це збережений маршрут доставки, записаний у сеансі,
  який OpenClaw може повторно використати для пізнішої доставки, навіть коли активна поверхня
  відрізняється.

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

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

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

`sessions_spawn` за замовчуванням створює ізольований сеанс для фонового завдання.
Він завжди неблокувальний -- негайно повертає `runId` і
`childSessionKey`. Нативні запуски субагентів отримують делеговане завдання в
першому видимому повідомленні `[Subagent Task]` дочірнього сеансу, тоді як system
prompt містить лише runtime-правила субагента й контекст маршрутизації.

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

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

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

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

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

## Видимість

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

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

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

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

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

## Пов’язане

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