Skip to content

Сессии и опыт диалога ​

В сессии можно задавать вопросы по базе знаний или загруженным вложениям, просматривать источники ответа и предпросмотр файлов, сгенерированных агентом. Во время генерации ответа можно продолжать дополнять требования; для существующего диалога можно ответвить или откатить от любого сообщения. Каталог вопросов и поиск по истории служат для просмотра диалога, а копирование в Markdown — для сохранения полной записи вопросов и ответов.

Просмотр ответа и источников ​

После вопроса индикатор прогресса показывает этапы разбора вложений, поиска, вызова инструментов и генерации ответа. Режим интеллектуального рассуждения также показывает сворачиваемый процесс размышления, вывод команд и прогресс записи файлов.

Значки-ссылки в тексте ответа служат для перехода к исходному блоку; панель ссылок справа перечисляет источники поиска, использованные в текущем раунде, включая содержимое, возвращённое инструментом Wiki. После отключения настройки значков-ссылок агента источники всё ещё можно посмотреть через панель ссылок. По завершении ответа система может предложить уточняющие вопросы, подробнее см. Движок агента.

При клике на значок-ссылку из базы знаний панель ссылок открывает непосредственно цитируемый исходный файл, переходит к месту ссылки и подсвечивает его:

Формат источникаПереход и подсветка
PDF (текстовый)Переход на нужную страницу, цитируемый абзац выделяется рамкой
PDF (скан)Переход на нужную страницу; при разборе через MinerU / PaddleOCR-VL абзац выделяется рамкой
WordПрокрутка к цитируемому абзацу или таблице
PPTПрокрутка к цитируемому слайду с подсветкой текста
Excel / CSVПодсветка цитируемой строки
Markdown / TXT / EPUBПрокрутка к цитируемому тексту (в EPUB сначала определяется глава)
АудиоВоспроизведение с момента цитируемого фрагмента (модель распознавания речи должна возвращать разбивку по времени, например whisper-1)
Импорт веб-страницыПоказ цитируемого фрагмента и ссылка для открытия исходной страницы с переходом к фрагменту

Диапазон подсветки сужается до наиболее релевантного абзаца, соответствующего процитированной фразе ответа. Документы, добавленные в базу до появления этой функции, не имеют информации о позиции: в исходном тексте выполняется поиск по тексту, а при неудаче выводится подсказка и открывается начало документа; после повторного разбора становится возможна точная локализация. У знаний и FAQ, введённых вручную, нет исходных файлов — при клике на ссылку всё равно отображается список ссылок. Пункт «Все ссылки» в верхней части панели возвращает к списку; кнопка «Открыть оригинал» на карточке документа в списке также открывает оригинал. Гости канала встраивания не имеют права читать исходные файлы — им показывается только список ссылок.

После завершения поиска в быстром Q&A на этапе ожидания ответа модели отображается «Подключение к модели и генерация ответа…»; в вопросах без поиска отображается «Подготовка ответа…». При ожидании дольше 60 секунд подсказка меняется на «Модель отвечает медленно, ожидание продолжается…». Эта подсказка отражает текущее состояние ожидания; ответ и результаты выполнения инструментов определяются фактически возвращённым содержимым.

Когда ответ обрезается из-за достижения предела одного вывода модели, на панели инструментов ответа появляется значок-подсказка, сообщающий, что выше приведено содержимое, сгенерированное до обрезки. Если нужен полный ответ, сузьте вопрос или увеличьте максимальную длину вывода в конфигурации агента.

Поиск упоминаний и непрочитанные ответы ​

После ввода @ можно сразу искать доступные базы знаний, документы, теги, навыки и MCP-сервисы; результаты по-прежнему ограничены областью и правами текущего агента. В боковой панели помечаются сессии с непрочитанными ответами, чтобы удобно вернуться к ним после ухода. Окно подтверждения отката объясняет, какой диалог и как повлияет на рабочую область.

Настройка интенсивности размышления ​

Когда выбранная модель поддерживает градацию размышления, рядом с выбором модели внизу поля ввода отображается «Интенсивность размышления», где можно выбрать из «выкл.», «авто», «очень низкая», «низкая», «средняя», «высокая», «очень высокая», «максимальная» те уровни, которые поддерживает модель. По умолчанию используется конфигурация агента; после изменения выбор действует только для текущей сессии и не изменяет агента, а при повторном открытии сессии восстанавливается последний выбор. При переключении на модель, не поддерживающую данный уровень, выбор автоматически теряет силу.

Дополнение требований во время ответа ​

В режиме интеллектуального рассуждения при генерации ответа можно продолжать вводить текст прямо в поле ввода:

ДействиеРезультат
Enter или нажатие «Отправить»Попадает в очередь и после завершения текущего ответа отправляется как вопрос следующего раунда
⌘ Enter (Mac) или Alt + EnterНемедленно дополняет текущую задачу; агент читает и корректирует её на следующем шаге

Сообщения в очереди отображаются над полем ввода: можно нажать «Дополнить текущую задачу», чтобы дополнить немедленно, или «Убрать», чтобы отозвать; уже принятые агентом сообщения отозвать нельзя. Когда ввод пуст, кнопка отправки служит для остановки генерации; после остановки сообщения в очереди тоже сбрасываются. Добавляемые сообщения не могут содержать вложения или изображения, можно использовать упоминание через @. В каждом раунде допускается не более 10 сообщений в очереди. Быстрый Q&A не поддерживает добавление — нужно дождаться завершения ответа.

Ответвление и откат ​

Под сообщением пользователя и на панели инструментов ответа доступны две операции, недоступные во время генерации ответа:

  • Ответвление: на основе текущего диалога создаётся новая сессия, исходная остаётся без изменений. При ответвлении от сообщения пользователя копируется диалог до этого вопроса, а вопрос подставляется обратно в поле ввода — можно изменить и отправить повторно; при ответвлении от ответа копируется диалог до этого ответа включительно. Заголовок новой сессии — «исходный заголовок (ветка)», в боковой панели она помечается значком ответвления.
  • Откат: в текущей сессии удаляется диалог после выбранного сообщения, действие необратимо. При откате от сообщения пользователя сам вопрос также удаляется и подставляется в поле ввода. Файлы, уточняющие вопросы и индекс истории поиска, созданные в удаляемых раундах, очищаются вместе.

Когда агент привязан к песочнице, система после завершения каждого раунда ответа записывает контрольную точку рабочей области. При ответвлении переносятся файлы рабочей области, соответствующие точке ответвления; если перенести их невозможно (например, песочница уже собрана или заменена), ответвление всё равно выполняется, а новая сессия использует совершенно новую песочницу. При откате рабочая область также возвращается к последнему сохранённому раунду; если в текущей песочнице не найдена соответствующая контрольная точка, то во избежание несоответствия файлов и диалога откат отклоняется. Без песочницы или при использовании локального каталога настольной версии в качестве рабочей области откатывается только диалог, файлы не затрагиваются.

Вопросы с временными вложениями ​

Загрузив файл в диалоге, можно задавать вопросы по его содержимому. Вложение используется только в текущей сессии и не попадает в список базы знаний или векторный индекс. Материалы, нужные для долговременного поиска и совместного использования, следует загружать в базу знаний.

Загрузка сохраняет исходный файл и ставит его в очередь фонового разбора: успешная загрузка ещё не означает завершения разбора. Время чтения содержимого различается в двух режимах диалога:

  • Быстрый Q&A: после отправки вопроса и открытия потока ответа, если вложение ещё разбираются, отображаются шаги разбора и выполняется ожидание; предел ожидания по умолчанию — 60 секунд, после чего используются уже готовые части, а незавершённые пропускаются.
  • Интеллектуальное рассуждение: сначала агенту передаётся список вложений с именами, состоянием и оглавлением; готовые небольшие файлы можно сразу включать в контекст, а остальное содержимое агент читает по запросу через read_file, ожидая завершения разбора только при чтении ещё обрабатываемого документа. Текст можно читать страницами, а изображения в документе — просматривать по номерам, без предварительной настройки песочницы. Отдельно загруженные изображения при включённой загрузке изображений сначала ждут готовности, чтобы их можно было передать модели.

Модели диалога с поддержкой зрения читают изображения напрямую; для моделей без поддержки зрения можно настроить визуальную модель, генерирующую описания. Успешные описания одной и той же изображения при тех же модели и требованиях к чтению переиспользуются; частичные наблюдения не считаются OCR всего документа. Сканы и документы в виде изображений по-прежнему можно распознавать с помощью визуальной модели.

Вложения, ещё не отправленные или больше не являющиеся ссылками ни одного действующего сообщения сессии, очищаются по сроку, рассчитанному от момента загрузки (по умолчанию 24 часа). Отправленные вложения сохраняются, пока на них ссылается исходная или ответвленная сессия, — так их удобно продолжать читать в истории. Администратор может настроить срок хранения, время ожидания разбора и параметры OCR; конкретная конфигурация приведена в разделе «Конфигурация и справочник по интерфейсам» в конце документа.

В агенте можно настроить допустимые типы загружаемых файлов, переключатель понимания изображений и выбор движка разбора по типу файла. Соответствующие пояснения см. в Движке агента.

Предпросмотр и скачивание сгенерированных файлов ​

Агент, привязанный к песочнице, может обрабатывать вложения и генерировать файлы. После завершения ответа нажмите «Посмотреть созданные файлы» на панели инструментов ответа или кнопку песочницы в правом верхнем углу страницы диалога и посмотрите во вкладке «Артефакты» панели «Визуализация песочницы»; эта вкладка позволяет переключаться между файлами текущего раунда и всеми файлами и искать по имени файла. Поддерживаемые типы файлов можно просматривать напрямую, остальные — скачать и открыть.

Страница «Артефакты» в боковой панели собирает файлы, созданные текущим пользователем во всех веб-сессиях; их можно фильтровать по категориям «документ», «таблица», «презентация», «изображение», «веб-страница», «данные» или искать по имени файла, а также просматривать, скачивать и переходить к соответствующей сессии. Если файл с одинаковым путём создавался в одной сессии несколько раз, показывается только последняя версия с указанием числа версий. Если возможность песочницы не включена в развёртывании, эта страница не отображается.

Чтобы агент создавал файлы для скачивания, артефакты следует сохранять в /workspace/output — система соберёт их и сохранит по завершении ответа. Загруженные вложения временно хранятся в /workspace/input, а скрипты и промежуточные файлы можно размещать в других каталогах /workspace. Входные вложения и выходные файлы управляются раздельно: удаление входного вложения не удаляет автоматически уже собранные выходные файлы.

Ненужные файлы можно удалить на вкладке «Артефакты» или на странице «Артефакты». Удаление освобождает байты в хранилище и необратимо, поэтому сначала запрашивается подтверждение; удалять может только владелец сессии, а доступ только для чтения, полученный через общий агент, позволяет лишь скачивать. Вкладка «Артефакты» перечисляет файлы по каждому созданию отдельно — удаляется та версия, на которую нажали; строка на странице «Артефакты» представляет один файл, и удаление затрагивает все его исторические версии в данной сессии. Если тот же файл уже сохранён в базе знаний, повторно использован в последующих ответах или скопирован вместе с ответвлением сессии, эти места не затрагиваются. После удаления одноимённый файл в песочнице заново не подхватывается.

О чтении файлов, выполнении скриптов и соглашениях о каталогах см. Навыки и песочница; об интерфейсах списка, скачивания и удаления см. API сессий и чата.

Сохранение ответа в базу знаний ​

Пункт «Добавить в базу знаний» на панели инструментов ответа открывает в правой панели редактор Markdown, в который предзаполнены вопрос и ответ, а процитированные документы единообразно перечислены в конце под заголовком «Источники». Выбрав целевую базу знаний (только документного типа), можно сохранить черновик или опубликовать в базу; после публикации начинается индексация. Редактор поддерживает три вида — редактирование, разделённый экран и предпросмотр — а также полноэкранный режим; на панели инструментов есть распространённые форматы и операции вставки таблиц, блоков кода, изображений и т. п.; Cmd/Ctrl + S сохраняет черновик, Cmd/Ctrl + Enter публикует.

Просмотр и экспорт диалога ​

Каталог вопросов справа в длинном диалоге позволяет сразу перейти к конкретному вопросу, а при наведении показываются номер раунда, вопрос и краткое содержание ответа. Между сообщениями вставляется разделитель времени при смене даты или интервале более 5 минут; под сообщениями пользователя показывается время отправки — для сегодняшних сообщений только часы и минуты, для более ранних — с датой. В боковой панели значком вращения помечаются сессии, всё ещё генерируемые в этом браузере, а для API-сессий указывается вызывающая сторона.

Пункт «Копировать как Markdown» в меню операций сессии копирует полный диалог в буфер обмена, включая заголовок сессии, ID, время экспорта и вопросы-ответы по раундам (с вложениями и списком ссылок). Копирование выполняется в браузере и подходит для архивирования или обмена записью диалога.

Пункт «Поиск» в боковой панели позволяет искать историю сообщений по всем сессиям. После того как администратор пространства включит индексацию сообщений в «Системные настройки → Пространство → Управление сообщениями» и выберет модель Embedding, поиск будет также использовать семантическое сопоставление; без этого сопоставление идёт по ключевым словам.

Просмотр сессий каналов ​

Сессии, порождаемые IM, веб-встраиванием и вызовами API, изолируются по идентичности IM, посетителю или API Key соответственно. Обычный список сессий по умолчанию показывает только сессии текущего вызывающего.

Admin или Owner пространства может через группы IM, встраивания и API просматривать сессии соответствующих каналов; группы отображаются при наличии сессий. Через эту точку входа администратор выполняет просмотр только для чтения, чтобы проверять записи вопросов и ответов в каналах. Операции записи в сессиях API Key по-прежнему ограничены принадлежностью исходной сессии.

Использование памяти между сессиями ​

После того как администратор пространства включит это в «Системные настройки → Пространство → Долговременная память», участники смогут в «Системные настройки → Аккаунт → Моя память» вести предпочтения в формулировках, подтверждать ожидающие подтверждения элементы и использовать их в последующих сессиях. Память изолируется по пространству и идентичности вызывающего.

Отключение личной памяти приостанавливает её использование, а удаление или очистка служат для удаления данных. Об автоматическом извлечении, управлении темами и немедленной организации см. Долговременная память.

Конфигурация и справочник по интерфейсам ​

Приведённые ниже параметры предназначены для справки администраторам и разработчикам интеграций. Для повседневной работы с диалогом достаточно описанных выше элементов интерфейса.

Конфигурация вложений ​

ПараметрЗначение по умолчаниюНазначение
WEKNORA_CHAT_ATTACHMENT_WAIT_TIMEOUT_SEC60 секундВерхний предел ожидания завершения разбора вложения в быстром Q&A или при чтении агентом по запросу
WEKNORA_CHAT_ATTACHMENT_TTL_HOURS24 часаСрок очистки вложений, на которые не ссылается ни одно действующее сообщение сессии, отсчитывается от момента загрузки
WEKNORA_CHAT_ATTACHMENT_OCR_CONCURRENCY8Число параллельных задач OCR
WEKNORA_CHAT_ATTACHMENT_OCR_MAX_PAGES8Верхний предел числа страниц OCR

В конфигурации агента supported_file_types ограничивает допустимые типы для загрузки, attachment_image_understanding управляет пониманием изображений, а chat_parser_engine_rules задаёт движок разбора вложений.

API вложений использует префикс /api/v1/sessions:

ОперацияМетод и путь
ЗагрузкаPOST /:session_id/attachments
СписокGET /:id/attachments
ДеталиGET /:id/attachments/:attachment_id
ПредпросмотрGET /:id/attachments/:attachment_id/preview
УдалениеDELETE /:id/attachments/:attachment_id

Полные параметры и права см. в API сессий и чата.

Интерфейсы операций с сессией ​

ОперацияМетод и путь
ОтветвлениеPOST /api/v1/sessions/:session_id/fork
ОткатPOST /api/v1/sessions/:session_id/rewind
Добавление сообщения во время выполненияPOST /api/v1/sessions/:session_id/steer, а также перечисление, отзыв, преобразование в немедленное дополнение
Интенсивность размышления текущего раундаПоле reasoning_effort запроса чата

Тело запроса, коды ответа и ограничения см. в API сессий и чата.

Ссылки и запрос истории ​

Поле citation_enabled агента управляет значками-ссылками в тексте ответа; при пропуске они включены по умолчанию; панель ссылок от этого поля не зависит.

Поиск по истории использует POST /api/v1/messages/search, статистика индекса — GET /api/v1/messages/chat-history-stats, оба требуют Viewer+; API Key требует возможности message_history или full-access. Чтение истории сессии использует GET /api/v1/messages/:session_id/load, требует Viewer+; API Key требует возможности chat и проверки принадлежности сессии.

Когда source в списке сессий пуст или равен web, запрашиваются свои сессии; явный запрос пространственного представления api, im или embed требует Admin+, при недостатке прав возвращается 403.

Справочник по реализации ​

  • frontend/src/views/chat/components/: отображение ответа, прогресса и процесса работы инструментов.
  • frontend/src/utils/sessionMarkdown.ts: копирование как Markdown.
  • internal/application/service/session.go: список сессий и правила доступа к каналам.
  • internal/application/service/session_fork.go, session_rewind.go, workspace_checkpointer.go: ответвление, откат и контрольные точки рабочей области.
  • internal/handler/session/steer.go: добавление сообщений во время выполнения.
  • internal/application/service/temporary_document.go: разбор временных вложений, истечение срока и очистка.
  • Временные вложения хранятся в таблице temporary_documents; структура таблицы описана в Базах данных и миграциях.

Версия v0.8.3 · MIT License