Все ноды/Input / Output/UI Output
Секция Extra
Дополнительный выход для стриминга (например, 'thinking' блоков агента). Подключается к нодам, которые поддерживают mirror_ports. Отображает параллельный поток данных в UI чата.
Тип в графе: extra_section
Exec
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Рассуждения агента отдельным блоком
Перехват размышлений стримит reasoning-токены модели в сворачиваемую секцию над ответом.
- Исполнение + данные
- LLM
- Расширение
- Стрим
- Исполнение + данные + стрим
Запускается сразу
Как применять
Секция Extra нужна, когда в чате надо показать побочный поток — ход рассуждений модели, вызовы инструментов, промежуточный результат — и при этом не подмешивать его в ответ. В веб-чате это отдельный сворачиваемый блок над сообщением ассистента; сам ответ остаётся ровно тем, что пришло на exit.
Как это работает
Секцию кормят двумя разными способами, и от способа зависит поведение.
Связь стриминга — от порта stream у нод catch_output,
catch_thinking, catch_tool_call
или от порта thinking у llm_response (порт появляется, когда
включено «Дублировать вывод в Extra Section»). Тогда текст печатается в блоке по мере
генерации.
Обычная связь исполнения или данных — тогда нода отрабатывает как все остальные, и блок появляется целиком, когда значение готово. Так удобно показывать промежуточный результат шага: найденные фрагменты, разобранный JSON, план.
«Заголовок» — шаблон, но {{ inputs.* }} в нём недоступен: при стриминговом подключении
заголовок рисуется до того, как нода отработает. {{ variables.<имя> }},
{{ nodes.<id>.output }} и {{ loop.item }} работают. «Развёрнут по умолчанию» задаёт
стартовое состояние, свернуть и развернуть блок читатель может сам. «Режим повтора» важен
внутри цикла: separate — по блоку на итерацию, incremental — всё дописывается в один,
replace — каждый вызов затирает предыдущее содержимое.
Частые ошибки
- Ребро тянут от ноды-перехватчика, у которой не включён «Явный порт стрима Extra». Без него порт скрыт. Учтите обратную сторону: как только вы его включаете, встроенный стрим в панель Extra отключается — поток идёт только по нарисованному ребру.
- Ждут «мыслей» от модели, которая их не отдаёт.
catch_thinkingпересылает reasoning-токены; у модели без рассуждений их нет, и блок останется пустым. - Пытаются прочитать содержимое секции дальше по графу. Выходов у ноды нет: она ничего не передаёт и не влияет ни на ответ, ни на статус запуска.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Inputend | Исполнение + данныеexecute_data | — | Execution trigger and content (including streaming when connected) |
Выходы
—
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Развёрнут по умолчаниюdefault_open | boolean | true | Развёрнута ли секция в чате по умолчанию. Пользователи всё равно могут её свернуть/развернуть. |
Режим повтораrepeat_mode | string | separate | Как отображать, когда нода вызывается несколько раз (например, внутри цикла). Separate: каждый вызов создаёт новый блок. Incremental: все вызовы добавляются в один блок. Replace: каждый вызов заменяет предыдущее содержимое. Варианты: |
Заголовокtitle | string | "" | Пользовательский заголовок, показываемый в чате. Оставьте пустым, чтобы использовать имя ноды. Поддерживает шаблоны: {{variables.name}}, {{nodes.id.output}}, {{loop.item}}. {{inputs.*}} недоступен: когда секция питается streaming-ребром, заголовок рендерится до запуска ноды, поэтому разрешённых входов у него ещё нет. поддерживает шаблоны |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.