Перейти до основного вмісту

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.

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), але не включає запуск субагентів. Щоб зберегти профіль обміну повідомленнями й водночас дозволити нативне делегування, додайте:
{
  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.

Видимість

Інструменти сеансу обмежені за областю, щоб визначати, що агент може бачити:
РівеньОбласть
selfЛише поточний сеанс
treeПоточний сеанс + запущені субагенти
agentУсі сеанси цього агента
allУсі сеанси (між агентами, якщо налаштовано)
За замовчуванням використовується tree. Сеанси в пісочниці обмежуються до tree незалежно від конфігурації.

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

Пов’язане