Skip to main content

Сессии: простое объяснение

Сессия в Велес — это один непрерывный рабочий диалог. Подобно переписке в мессенджере с человеком на конкретную тему.

Как это работает

Когда вы начинаете общаться с ботом, создается новая сессия. Все ваши сообщения и ответы Велеса сохраняются в ней.
  • Изоляция: Каждая сессия хранит свой контекст. Велес помнит, о чем вы говорили в рамках этой сессии.
  • Архивация: Когда сессия становится слишком большой, Велес может автоматически сжать или отправить её в архив, оставив краткую выжимку, чтобы не перегружать контекст и работать быстро.
  • Новая сессия: Вы можете начать диалог с чистого листа, отправив команду пересоздания сессии (например, /new или /reset в зависимости от интерфейса).
В Nerve кнопка + New находится в верхней панели слева от Usage и сначала спрашивает, с какой личностью начать новый диалог. После выбора создаётся чистая история именно для этой верхнеуровневой личности, а рабочая область переключается к ней по тем же правилам сохранения несохранённых файлов, что и обычное переключение между личностями.

Сессии и личности

Обычная корневая сессия личности имеет ключ personality:<id>:main. Например, personality:main:main относится к основной личности, а personality:reviewer:main — к личности ревьюера. Дочерние технические сессии сохраняют тот же id личности: personality:<id>:subagent:<x> и personality:<id>:cron:<x>. Личность задаёт SOUL.md для ответа модели и может подключать свои навыки из personalities/<id>/skills, но память, workspace-файлы и cron остаются общими для workspace. Подробнее: Личности.

Зачем нужны сессии?

Если писать всё в одну бесконечную переписку:
  1. Запросы к нейросети станут слишком дорогими.
  2. Велес начнёт путаться в старых и новых вводных.
Поэтому, когда задача решена, лучше переходить к новой сессии. Главные выводы Велес может сохранить в долгосрочной памяти.

Возврат к прошлым сессиям

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

Вкладки «Велес» и «Тех.»

В списке сессий в Nerve есть две вкладки:
  • Велес показывает обычные диалоги Велеса и архивные записи корневых диалогов.
  • Тех. показывает служебные сессии, которые скрываются из основного списка: саб-агентов, cron-задачи и их запуски, служебные каналы агента вроде Telegram, а также task-сессии.
Эти вкладки не смешивают списки: если нужна обычная история общения, оставайтесь на «Велес»; если нужно посмотреть внутренние рабочие сессии, переключитесь на «Тех.». Список сессий показывает историю и текущий выбранный диалог. Статус выполнения живых запусков отображается отдельно в панели «Личности». На мобильной ширине список сессий открывается из верхней панели. Касание строки сессии считается переходом в диалог: выпадающая панель закрывается, интерфейс возвращается во вкладку чата и показывает выбранную историю. Название обычной сессии Велеса создаётся автоматически по содержанию диалога и может уточняться по мере развития разговора. Велес старается писать название на языке самого диалога и описывать тему, а не помечать язык вроде «русский чат» или «English discussion». Обновление выполняется после завершения ответа в фоне, поэтому в интерфейсе новое название может появиться не сразу, а через несколько секунд после обновления списка сессий. Если название изменили вручную, Велес сохраняет этот вариант и больше не заменяет его автоматически. В меню у строки сессии доступны действия для ручного переименования, удаления и копирования отладочных данных. При переименовании название редактируется прямо в строке, а сохранённый вариант помечается как ручной. Команда копирования кладёт в буфер компактный список технических идентификаторов: ключ сессии, source/root key, conversation id, session id и путь к raw transcript, если он есть. Удаление использует gateway-метод sessions.delete, поэтому фактическое поведение зависит от tools.sessionMemory.deleteBehavior: сессия может быть скрыта из списков или удалена физически.