channels.<channel>.streaming.mode: "progress", і OpenClaw створить
повідомлення, щойно розпочнеться справжня робота, редагуватиме його, коли агент читає, планує, викликає
інструменти або очікує схвалення, а потім перетворить його на остаточну відповідь.
У Discord уже типово використовується
streaming.mode: "progress", коли
channels.discord.streaming не задано, тому чернетки перебігу роботи
з’являються там без будь-якого налаштування. Для всіх інших каналів типове значення — partial
або off; повну таблицю типових значень для кожного каналу див. в розділі Потокове передавання та поділ на фрагменти.Швидкий старт
Що бачать користувачі
Для необробленого перебігу роботи інструментів мітка з’являється, коли агент розпочинає змістовну роботу
й залишається зайнятим протягом початкової затримки.
Вона розташована вгорі рухомого списку рядків перебігу, тому зникає під час прокручування, щойно
з’являється достатньо конкретних рядків роботи. Заголовок стану показує лише
опис стану агента звичайною мовою, якщо мітку не налаштовано явно. Відповіді, що містять
лише звичайний текст, ніколи не показують чернетку перебігу; рядок з’являється лише для справжніх оновлень роботи,
наприклад
🛠️ Bash: run tests, 🔎 Web Search: for "discord edit message"
або ✍️ Write: to /tmp/file.
Остаточна відповідь замінює чернетку на місці, якщо канал може безпечно це
зробити; інакше OpenClaw надсилає остаточну відповідь через звичайний механізм доставлення та
очищає чернетку або припиняє її оновлення (див. Завершення).
Вибір режиму
channels.<channel>.streaming.mode керує видимою поведінкою під час виконання:
Вибирайте
progress, якщо користувачам важливіше «що відбувається», ніж спостереження
за потоковою появою тексту відповіді токен за токеном; partial — якщо сам текст відповіді є
сигналом перебігу; block — для більших фрагментів попереднього перегляду. У Discord і
Telegram streaming.mode: "block" усе ще означає потокове передавання попереднього перегляду, а не звичайне
доставлення відповіді блоками — для нього використовуйте streaming.block.enabled.
Налаштування міток
Мітки перебігу роботи містяться вchannels.<channel>.streaming.progress. Типова
мітка необроблених рядків інструментів — "auto", що використовує просту вбудовану мітку Working.
Заголовок стану приховує цю неявну мітку; явно задайте
label: "auto", якщо також хочете бачити мітку над ним:
label: "auto"):
Керування рядками перебігу
Рядки перебігу надходять зі справжніх подій виконання: запусків інструментів, оновлень елементів, планів завдань, схвалень, виведення команд, зведень виправлень та подібної активності агента. Вони ввімкнені типово (progress.toolProgress, типове значення true).
Інструменти також можуть надсилати типізовані оновлення перебігу, поки один виклик ще виконується. Саме
так повільне отримання даних або пошук оновлює видиму чернетку до того, як інструмент
поверне остаточний результат. Оновлення перебігу — це частковий результат інструмента з
порожнім вмістом моделі та явними загальнодоступними метаданими каналу:
progress.text. Звичайний
результат інструмента все одно надходить пізніше як content/details і є єдиною частиною,
що повертається моделі.
Додаючи оновлення перебігу до інструмента, надсилайте коротке загальне повідомлення та затримуйте його,
доки операція не очікуватиме достатньо довго, щоб це було корисно. web_fetch
робить саме це із затримкою 5 секунд:
Режим деталізації
OpenClaw використовує той самий форматер для чернеток перебігу та/verbose:
"explain" є типовим значенням і забезпечує сталість чернеток за допомогою стислих міток.
"raw" додає базову команду, коли вона доступна, що корисно під час
налагодження, але створює більше шуму в чаті. Наприклад, виклик node --check /tmp/app.js
відтворюється по-різному залежно від режиму:
Текст команди/виконання
streaming.progress.commandText (типове значення "raw") визначає, скільки деталей команди
показується поруч із рядками перебігу exec/bash незалежно від режиму деталізації
вище. Установіть значення "status", щоб рядок перебігу інструмента залишався видимим, але
текст команди був повністю прихований:
Канал коментарів
streaming.progress.commentary (типове значення false) перемежовує
коментарі або преамбулу моделі перед використанням інструмента (💬, наприклад «Я перевірю… а потім
…») з рядками інструментів у чернетці. Спільну
форму конфігурації для різних каналів див. в розділі Потокове передавання та поділ на фрагменти.
Коли канал коментарів увімкнено, преамбули відтворюються лише як ці перемежовані
рядки 💬; заголовок стану нижче не відображається, щоб канал зберігав
задокументовану форму.
Заголовок стану
У Discord і Telegram у режимі перебігу типізована преамбула моделі перед використанням інструмента стає заголовком стану чернетки, коли вона доступна. Інші канали в режимі перебігу зберігають свою наявну поведінку стану. Заголовок типово ввімкнено, і він не обходить звичайний поріг активності для коротких ходів; увімкненняstreaming.progress.commentary натомість передає преамбули до перемежованого
каналу коментарів.
У Discord, коли для агента визначається допоміжна модель — явна
utilityModel або оголошена основним
постачальником типова мала модель (OpenAI → gpt-5.6-luna,
Anthropic → claude-haiku-4-5) — вона надає короткий заповнювач звичайною мовою,
коли модель не надсилає преамбули або мовчить близько 20 секунд
(заголовок Telegram наразі використовує лише преамбулу):
streaming.progress.narration, типове значення
true) і ніколи не переходить на основну модель: він працює лише з явно заданою
utilityModel або типовим значенням, оголошеним постачальником для основного
постачальника агента. Установіть utilityModel: "", щоб повністю вимкнути допоміжну маршрутизацію. Рядки інструментів
продовжують накопичуватися нижче й повертаються, якщо обидва джерела стану припиняють роботу. Редагування
чернетки й надалі очікує на звичайний поріг активності та фактичну
зміну тексту, що запобігає спалахам під час швидких ходів і зменшує кількість редагувань у завантажених
каналах. Установіть narration: false, щоб вимкнути лише заповнювач допоміжної моделі; заголовки
преамбули моделі залишаться ввімкненими:
commandText: "status" вхідні дані для опису також не містять тексту команд exec/bash,
відповідно до того, що показує чернетка.
Обмеження рядків
Обмеження кількості видимих рядків (типово 8):Розширене відтворення (Slack)
Slack може відтворювати рядки перебігу як структуровані поля Block Kit замість звичайного тексту:Приховування рядків інструментів і завдань
Збереження єдиної чернетки перебігу з приховуванням рядків інструментів і завдань:toolProgress: false OpenClaw усе одно приховує старі окремі
повідомлення про перебіг роботи інструментів для цього ходу — канал візуально залишається без змін до
остаточної відповіді, за винятком мітки, якщо її налаштовано.
Поведінка каналів
Канали без безпечної підтримки редагування повертаються до індикаторів набору
тексту або доставлення лише остаточної відповіді. Повний опис поведінки середовища виконання для кожного
каналу див. у розділі Потокове передавання та поділ на частини.
Завершення
Коли остаточна відповідь готова, OpenClaw намагається зберегти чат охайним:- У режимі
progressу Discord остаточна відповідь надсилається як нове повідомлення з доданою невеликою квитанцією активності-#(наприклад,-# 🧠 2 thoughts · 🛠️ 5 tool calls · ⏱️ 12s), а чернетка стану видаляється після доставлення цієї відповіді. У жвавих каналах над відповіддю не залишається покинутого журналу інструментів; для остаточних повідомлень про помилки чернетка зберігається як видимий запис невдалого ходу. - Якщо чернетку можна безпечно перетворити на остаточну відповідь (режими
partial/block), OpenClaw редагує її на місці. - Якщо канал використовує власне потокове передавання перебігу роботи, OpenClaw завершує цей потік, коли власний транспорт приймає остаточний текст.
- В інших випадках (медіа, запит на схвалення, явно вказана ціль відповіді, надто багато частин або невдале редагування чи надсилання) OpenClaw надсилає остаточну відповідь через звичайний шлях доставлення каналу замість перезаписування чернетки.
Усунення несправностей
Я бачу лише остаточну відповідь. Перевірте, щоchannels.<channel>.streaming.mode має значення progress для облікового запису
або каналу, який опрацював повідомлення. Деякі шляхи групових відповідей або відповідей із цитуванням вимикають
попередній перегляд чернетки для ходу, якщо канал не може безпечно відредагувати потрібне
повідомлення.
Я бачу мітку, але не бачу рядків інструментів.
Перевірте streaming.progress.toolProgress. Якщо його значення — false, OpenClaw зберігає
поведінку єдиної чернетки, але приховує рядки перебігу роботи інструментів і завдань.
Я бачу нове остаточне повідомлення замість відредагованої чернетки.
Це резервний механізм безпеки, описаний у розділі Завершення. Він може
спрацьовувати для відповідей із медіа, довгих відповідей, явно вказаних цілей відповіді, старих чернеток Telegram,
відсутніх цільових гілок Slack, видалених повідомлень попереднього перегляду або невдалого
завершення власного потоку.
Я досі бачу окремі повідомлення про перебіг роботи.
Режим перебігу роботи приховує типові окремі повідомлення про перебіг роботи інструментів, коли
чернетка активна. Якщо окремі повідомлення все одно з’являються, переконайтеся, що хід
справді використовує режим progress, а не streaming.mode: "off" чи шлях каналу,
який не може створити чернетку для цього повідомлення.
Teams працює інакше, ніж Discord або Telegram.
Microsoft Teams використовує власний потік в особистих чатах замість універсального
транспорту попереднього перегляду з надсиланням і редагуванням та зіставляє streaming.mode: "block" із блоковим
доставленням Teams, оскільки не має режиму блокового попереднього перегляду чернетки, як Discord і
Telegram.