Skip to main content

Справочник возможностей интерфейса Велеса

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

Панели интерфейса

ПанельЧто делает
ЧатСообщения, потоковый ответ, ход выполнения инструментов, вложения, поиск, экспорт
СессииИстория диалогов, подспециалисты, переименование, удаление, остановка ответа
Рабочая областьЛичности, память, расписания, доска задач, навыки, секреты
ФайлыДерево файлов, редактор, вкладки, скачивание, удаление, переименование, перемещение
НастройкиВнешний вид, подключение, звук, голосовые фразы
Статус и лимитыСостояние сервера, расход токенов, лимиты моделей, уведомление об обновлении

Чат

Панель чата поддерживает:
  • потоковый ответ ассистента;
  • группировку вызовов инструментов и их результатов;
  • сворачивание длинных технических блоков;
  • журнал действий и индикатор обработки;
  • подгрузку старой истории при прокрутке;
  • кнопку остановки ответа;
  • создание нового диалога;
  • открытие путей рабочей области из сообщений;
  • предпросмотр изображений, аудио и файловых вложений;
  • историю ввода и автодополнение названий сессий в поле сообщения.
Глобальный поиск по чату открывается из интерфейса или палитры команд и использует текущую историю сообщений. При переходе к найденному сообщению интерфейс разворачивает его, если оно было скрыто.

Экспорт DOCX

Интерфейс Велеса умеет экспортировать разговор в DOCX на стороне браузера.
НастройкаСмысл
modeЧистый экспорт или экспорт с техническими данными
includeToolsВключать сообщения инструментов, системы и событий
formatMarkdownПреобразовывать Markdown в форматирование Word
includeUserQuestionsВключать пользовательские сообщения
includeTechnicalHeaderДобавлять технический заголовок
Экспорт создаёт собственные части документа Word, включая word/numbering.xml, поэтому списки сохраняются как настоящие списки, а не как обычный текст.

Вложения и медиа

Интерфейс использует схему «сначала загрузить файл, потом отправить сообщение»:
  1. файл загружается через /api/gateway/attachments;
  2. сообщение отправляет ссылки на загруженные файлы;
  3. Велес приводит медиа к единому виду в message.attachments;
  4. браузер строит ссылки предпросмотра и скачивания через файловые маршруты рабочей области.
Поддерживаются изображения, документы и аудио. Файлы можно выбрать кнопкой, перетащить в область ввода или вставить изображение из буфера обмена. Для изображений есть полноэкранный просмотр и сжатие перед отправкой, если оно включено на стороне клиента.

Файловый браузер

Файловый браузер использует такие маршруты:
МаршрутНазначение
GET /api/files/treeДерево файлов
GET /api/files/resolveПроверка и раскрытие пути рабочей области
GET /api/files/readЧтение файла
PUT /api/files/writeЗапись файла
GET /api/files/downloadСкачивание
POST /api/files/deleteУдаление
POST /api/files/renameПереименование
POST /api/files/moveПеремещение
GET /api/files/rawНеобработанное содержимое для предпросмотра
GET /api/filesОтдельная выдача локальных изображений из разрешённых директорий
Если рабочая область недоступна локально серверу интерфейса, чтение, запись, дерево, скачивание и удаление идут через внутренние вызовы Велеса. Локальные rename и move в таком режиме возвращают REMOTE_WORKSPACE, потому что сервер Nerve не может безопасно переставлять файлы в удалённой песочнице. Удаление окончательное: это не корзина и не скрытие файла из списка. Для текстового редактора действует ограничение размера содержимого около 1 МБ; raw-предпросмотр доступен только для поддерживаемых локальных изображений и аудио.

Память

Панель памяти работает с /api/memories и /api/memories/section. Она показывает разобранные записи памяти, категории и секции файлов памяти. Типичные действия:
  • добавить запись памяти;
  • отредактировать запись;
  • удалить запись;
  • открыть секцию файла памяти;
  • дождаться служебного события memory.changed после изменений.
Память не предназначена для секретов и больших одноразовых фрагментов.

Личности, сессии и подспециалисты

Личности управляются через RPC personalities.* и хранятся в workspace как Markdown-файлы: SOUL.md для main и personalities/<id>/SOUL.md для дополнительных личностей. Они меняют identity-layer системного промпта и могут иметь собственные навыки в personalities/<id>/skills, но не создают отдельные workspace-файлы, память или cron. Подробнее: Личности. Окно создания нового диалога поддерживает два пути: ручной выбор личности из списка и Подобрать. При автоподборе пользователь вводит своё реальное первое сообщение, Nerve показывает состояние выбора личности, вызывает /api/personalities/select с этим текстом, получает рекомендованную root session, создаёт новый диалог с этой личностью и отправляет тот же текст первым сообщением в новой сессии. Панель личностей использует filesystem-backed personalities как авторитетный список и объединяет их с sessions.list: личности без текущей root session всё равно видны, а удалённые из файловой системы личности скрываются вместе с их дочерними сессиями. При выборе root personality Nerve открывает последний диалог этой личности, если он есть; иначе выбирает root session. Панель сессий использует внутренние вызовы Велеса:
  • sessions.history;
  • sessions.list;
  • sessions.activate;
  • sessions.patch;
  • chat.abort;
  • chat.send для создания подВелеса.
Интерфейс поддерживает:
  • дерево корневых и дочерних сессий;
  • подспециалистов;
  • переименование;
  • скрытые сессии;
  • признак непрочитанных сообщений;
  • стартовую инструкцию для новых подспециалистов;
  • сведения о модели сессии.
ПодВелес создаётся через обычное сообщение в чат: интерфейс формирует инструкцию на создание подВелеса и ждёт появления дочерней сессии в списке.

Доска задач и предложения

Панель задач покрывает:
  • создание задач;
  • колонки статусов;
  • быстрый просмотр;
  • боковую панель с деталями;
  • приоритеты и метки;
  • входящие предложения ассистента.
Входящие предложения показывают, что Велес предлагает создать или обновить задачу. Пользователь может принять или отклонить предложение. Это полезно для рабочих процессов, где ассистент не должен менять доску без подтверждения. Nerve не хранит состояние доски самостоятельно. Запросы идут на /api/tasks и проксируются в gateway Велеса; /api/kanban сохранён только как временный совместимый алиас для старого frontend-кода.

Расписания

Панель расписаний работает с:
  • GET /api/crons;
  • POST /api/crons;
  • PATCH /api/crons/:id;
  • DELETE /api/crons/:id;
  • POST /api/crons/:id/toggle;
  • POST /api/crons/:id/run;
  • GET /api/crons/:id/runs.
Через интерфейс можно создать задание, изменить его, отключить, запустить вручную и посмотреть прошлые запуски. Для изолированных agent-turn расписаний ручной запуск создаёт отдельную cron-сессию и записывает локальную запись ручного запуска, чтобы UI сразу показал последнее выполнение. Хранилище самих заданий привязано к рабочей области: <workspace>/cron/jobs.json.

Навыки

Панель навыков читает /api/skills. Каталог объединяет навыки активной личности, навыки рабочей области и встроенные навыки; версия активной личности имеет приоритет при совпадении имени. Описание навыка может переводиться по targetLanguage; кэш зависит от языка перевода и contentHash. Заголовки, статусы и пустые состояния панели берутся из локализаций Nerve, поэтому отображаются на выбранном языке интерфейса.

Секреты

Панель секретов работает поверх внутренних вызовов Велеса secrets.*:
  • GET /api/secrets — каталог целей с замаскированными значениями;
  • PUT /api/secrets/targets/:targetId — сохранить новое значение;
  • DELETE /api/secrets/targets/:targetId — удалить сохранённое значение;
  • POST /api/secrets/refresh — обновить статус;
  • POST /api/secrets/oauth/:provider/start — начать OAuth-поток;
  • GET /api/secrets/oauth/:provider/flows/:flowId — проверить OAuth-поток;
  • POST /api/secrets/oauth/:provider/flows/:flowId/complete — завершить OAuth-поток кодом или callback URL;
  • DELETE /api/secrets/oauth/:provider — отключить OAuth-профиль.
OAuth-потоки вроде Codex возвращают браузеру только ссылку и статус. Токены доступа и обновления остаются внутри зашифрованного хранилища Велеса. Сейчас серверный маршрут Nerve принимает OAuth-провайдер openai-codex; новые провайдеры требуют расширения серверной схемы. Подписи групп, статусы целей и действия в панели секретов также локализованы через общий язык интерфейса Nerve.

Настройки речи

Интерфейс разделяет:
  • режим распознавания речи: браузер, локальный обработчик или гибридный режим;
  • запись голосового ввода;
  • поддержку фразы пробуждения;
  • голосовые фразы;
  • настройки озвучивания ответов.
Основные маршруты:
МаршрутНазначение
GET /api/tts/configТекущие настройки озвучивания
PUT /api/tts/configСохранить настройки озвучивания
GET /api/voice-phrasesФразы управления
GET /api/voice-phrases/statusСтатус фраз
GET /api/voice-phrases/:langФразы для языка
PUT /api/voice-phrases/:langОбновить фразы
Голосовые сообщения помечаются префиксом [voice], чтобы внутренняя логика могла отличить голосовой ввод и при необходимости запустить озвучивание ответа.

Настройки интерфейса

Настройки внешнего вида управляют:
  • языком интерфейса;
  • темой;
  • шрифтом;
  • размером шрифта;
  • показом служебных событий и журнала действий.
Настройки подключения управляют адресом сервера Велеса, токеном и поведением при переподключении. Проверка входа использует /api/auth/status; вход и выход идут через /api/auth/login и /api/auth/logout.

Лимиты и статус

Интерфейс показывает служебную информацию:
МаршрутНазначение
/api/tokensРасход токенов
/api/claude-code-limitsЛимиты Claude Code
/api/codex-limitsЛимиты Codex
/api/versionВерсия интерфейса
/api/version/checkПроверка обновления
/api/server-infoИнформация о сервере
/healthПроверка доступности
Эти данные помогают понять, где источник проблемы: в модели, сервере, токенах, лимитах или интерфейсе.

Графики и Markdown

Отрисовщик сообщений поддерживает:
  • Markdown;
  • действия для блоков кода;
  • извлечение встроенных графиков;
  • Lightweight Charts;
  • виджет TradingView;
  • блоки изменений и содержимого файлов.
Если Велес возвращает структурированный блок графика, интерфейс может показать его как интерактивный график, а не как простой текст.

Палитра команд и горячие клавиши

Палитра команд собирает быстрые действия: поиск, создание сессии, фокус ввода, переключение панелей и другие команды интерфейса. Горячие клавиши завязаны на useKeyboardShortcuts, useInputHistory и useTabCompletion: ввод поддерживает историю сообщений и автодополнение по сессиям.

Служебные события

Интерфейс слушает события WebSocket и server-sent events:
  • поток чата;
  • ход выполнения инструментов;
  • состояние ассистента;
  • события расписаний;
  • изменение памяти;
  • ошибки;
  • переподключение и восстановление.
При восстановлении мобильной вкладки интерфейс не должен полагаться только на переход состояния WebSocket. Надёжный путь — сверить chat.history и локальное состояние ответа.