Перейти к содержанию

AI-ассистент Анфиса

Анфиса — встроенный AI-ассистент платформы 1Форма, доступный пользователям напрямую из интерфейса системы. Анфиса помогает работать с задачами, документами, кодом, анализировать данные и автоматизировать рутинные операции.

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


Потоковая доставка ответов (SSE Streaming)

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

Что видит пользователь

По мере работы Анфиса отображает:

  • Фрагменты текста — текст ответа появляется постепенно, без задержки на полную обработку
  • Карточки тулов — если Анфиса вызывает инструменты (поиск задач, чтение файлов, анализ кода), пользователь видит название тула и его краткую выжимку результата
  • Сигнал «Печатает» — в интерфейсе отображается индикатор активности

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

Сервер отправляет события по протоколу SSE (Server-Sent Events) через endpoint POST /api/anfisa/stream.

Типы событий:

Событие Описание
tool_start Анфиса начала вызов инструмента — отображается название тула и переданные аргументы
tool_result Инструмент вернул результат — показана краткая выжимка (до 200 символов)
text_delta Фрагмент текстового ответа — добавляется к уже показанному тексту
error Ошибка в процессе работы
done Завершение — показаны итоговые данные (количество токенов, количество шагов)
ping Пустой keep-alive каждые 15 секунд — чтобы соединение не закрывалось через прокси или балансировщик

Техническая реализация

Потоковая доставка реализована через HTTP chunked transfer encoding с Content-Type: text/event-stream. Сервер записывает SSE-события в поток ответа по мере их появления. Клиент может оборвать соединение — сервер корректно прекращает обработку при отмене.

Примечание: если клиент закрывает соединение (abort), сервер останавливает текущий инструмент и завершает сессию.


Настройка для администратора

Функциональность SSE Streaming не требует отдельной настройки — она работает при корректной работе SignalR и при наличии доступа к endpoint /api/anfisa/stream. Убедитесь, что:

  • SignalR endpoint доступен (проверьте сетевую связность и настройки прокси)
  • У пользователя есть права на использование Анфисы (настраивается через категорию «Чат с Анфисой» или общие права на AI-функции)

Первоначальная настройка

  1. Убедитесь, что в системе создан пользователь «Анфиса» с соответствующими правами.
  2. Создайте категорию «Чат с Анфисой» для хранения диалогов.
  3. Добавьте нужных пользователей в группу «Анфиса Users».
  4. Проверьте наличие необходимых ключей в appsettings.json (уточните у вендора).

Используемые endpoint

Метод Endpoint Назначение
POST /api/anfisa/stream Потоковая обработка запроса к Анфисе (SSE)
GET /api/users/current Информация о текущем пользователе (определяется по PAT-токену)

Контекстное меню «Анфиса» по правой кнопке мыши

Вы можете вызвать контекстное меню Анфисы правой кнопкой мыши (ПКМ) на выделенном тексте или элементе. Меню позволяет задать вопрос или получить объяснение без создания комментария в задаче.

Контекстное меню доступно в следующих разделах системы: - Редакторы админки — SmartScript (TSQL, JS, LUA, Python), настройки ДП, SmartRules - Таблицы значений в режиме администрирования — при ПКМ на строке списка - Комментарии — при ПКМ на выделенном тексте в комментариях - Вложения — доступ через меню «три точки»

Пункты меню

Пункт меню Описание
Анфиса: Объясни Анфиса объясняет выделенный фрагмент текста, кода или данные
Анфиса: Спросить Открывается поле ввода для свободного вопроса с контекстом страницы

При вызове меню Анфиса открывает личный чат с пользователем (userId системного пользователя Анфисы). Выделенный контекст автоматически подставляется в сообщение. Ответ приходит в тот же чат. История всех вопросов сохраняется.

Примечание: меню «Анфиса» видят только пользователи, входящие в группу «Анфиса Users» (см. раздел Группы пользователей).