OpenClaw надає агентам інструменти для роботи між сеансами, перевірки стану та оркестрації субагентів.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Доступні інструменти
| Інструмент | Що він робить |
|---|---|
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), але
не включає запуск субагентів. Щоб зберегти профіль обміну повідомленнями й водночас
дозволити нативне делегування, додайте:
/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, щоб поставити в чергу й повернутися негайно. - Очікувати відповіді: задайте тайм-аут і отримайте відповідь безпосередньо.
: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.
Видимість
Інструменти сеансу обмежені за областю, щоб визначати, що агент може бачити:| Рівень | Область |
|---|---|
self | Лише поточний сеанс |
tree | Поточний сеанс + запущені субагенти |
agent | Усі сеанси цього агента |
all | Усі сеанси (між агентами, якщо налаштовано) |
tree. Сеанси в пісочниці обмежуються до tree незалежно від
конфігурації.
Додаткове читання
- Керування сеансами — маршрутизація, життєвий цикл, обслуговування
- Агенти ACP — запуск зовнішнього середовища
- Багатоагентність — багатоагентна архітектура
- Конфігурація Gateway — параметри конфігурації інструментів сеансу