# Анфиса — ИИ-ассистент в Первой Форме

Анфиса — AI-ассистент, встроенный в комментарии 1Формы. Задаёшь вопрос в любой задаче — получаешь ответ через 15-30 секунд. Не нужно переключаться в другой интерфейс, не нужно знать «где искать». Анфиса сама находит информацию, проверяет права и формулирует ответ.

Целиком реализована внутри Первой Формы — весь код, все инструменты, вся логика работают на платформе. Поддерживает ведущие модели ИИ: Claude (Anthropic), GPT (OpenAI, *временно недоступен с 2026-05-12*), Gemini, Grok, Mistral, Llama, Kimi (Moonshot), Qwen, DeepSeek, YandexGPT, GigaChat (Сбер), а также собственные локальные модели. Модель выбирается автоматически по разделу задачи или переключается вручную slash-командой.

38 инструментов. Знает документацию, код, задачи, файлы, историю переписок, экспертов компании. Создаёт файлы, выполняет код в персональном контейнере, консультируется с виртуальными экспертами, запоминает ваши предпочтения.

---

## Как пользоваться

Работать с Анфисой просто — всё происходит прямо в комментариях задачи:

1. Открой любую задачу в 1Форме
2. В поле комментария добавь **@Анфиса** в получатели — и только её
3. Напиши свой вопрос и отправь
4. Через 15-30 секунд Анфиса ответит в ту же задачу

**Два способа обратиться:**

- **Как вопрос** (переключатель рядом с кнопкой отправки) — гарантированная обработка, Анфиса может быть одним из нескольких адресатов.
- **Обычным комментарием** — если Анфиса единственный адресат и комментарий не в треде, она сама определит, нужен ли ответ. Вопрос, просьба, задание — ответит. Информирование, «спасибо», «ок» — промолчит.

**Ответы на вопросы Анфисы.** Если Анфиса задала уточняющий вопрос, можно ответить через реплай (кнопка «Ответить» на комментарии Анфисы) без пометки «как вопрос». Это удобно для коротких ответов типа «Да», «Нет», «Первый вариант».

**Контекстное меню (ПКМ).** В дополнение к комментариям Анфиса доступна через правую кнопку мыши — пункты «Спросить» / «Объясни» в выделенном контексте. Имя в пунктах меню соответствует имени ассистента, настроенному на площадке (по умолчанию «Анфиса»).

---

## Slash-команды

Добавь одну или несколько slash-команд в начало сообщения. Порядок не важен, можно комбинировать: `/clear /тред объясни архитектуру`.

У управляющих команд есть **русские алиасы** — можно писать по-русски (`/сброс`, `/тест`, `/консилиум` …). Команды выбора модели/провайдера (`/claude`, `/kimi`, `/qwen` …) остаются латиницей — это технические имена моделей.

### Управление сессией

Команды для управления контекстом разговора:

| Команда | Рус. алиас | Что делает |
|---------|-----------|-----------|
| `/clear` | `/сброс` | Сброс сессии — Анфиса «забывает» историю разговора и начинает с чистого контекста. Полезно когда обсуждение ушло не туда или меняешь тему |
| `/stop` `/cancel` `/abort` | `/стоп` `/отмена` `/прервать` | Прервать уже запущенный ответ Анфисы (без нового вопроса). Текущий agentic loop останавливается между шагами |
| `/noobs` | — | *(Legacy — блок «НАБЛЮДЕНИЯ» удалён 2026-06-05 вместе с personal-memory; команда парсится, но выхлопа не меняет)* |
| `/e2e` | `/тест` | Общий флаг тестовой изоляции. Включает `/clear` + `/noobs` + отключает автоподгрузку файлов задачи. Используется в автоматизированных тестах |
| `/thread` | `/тред` | Создать или найти служебный тред «AI лог» в задаче. Анфиса пишет туда детали своей работы. Полезно для отладки — видно, какие инструменты вызывала, что искала |

### Режимы выполнения

Команды, меняющие способ обработки запроса:

| Команда | Рус. алиас | Что делает |
|---------|-----------|-----------|
| `/consult` | `/консилиум` | Консилиум экспертов. Анфиса собирает виртуальных экспертов (системный аналитик, DBA, разработчик, руководитель ТП, аккаунт-менеджер, тимлид) для всестороннего разбора вопроса. Каждый эксперт анализирует со своей стороны, затем Анфиса синтезирует общий ответ. Автоматически включает `/thread` |
| `/container` или `/sandbox` | `/контейнер` | Режим контейнера — выполнение в изолированной среде |

### Каталог команд и запуск программы

В чате в ленте комментариев Анфиса показывает, что умеет: сначала чипы предметных областей («Продажи», «Персонал», «Поддержка»), внутри — конкретные возможности («Мои задачи», «Построить график», «Оформить отпуск»). Клик подставляет команду в поле — отправляешь сам, при желании дописав детали.

Если начал печатать, но передумал — сотри вставленную команду: панель вернётся туда, откуда ты пришёл (к списку возможностей коробки, а при полной очистке поля — к списку коробок).

То же можно набрать руками:

| Команда | Рус. написание | Что делает |
|---------|---------------|-----------|
| `/box:Продажи` | `/модуль:Продажи` | Ограничить поиск ответа одной предметной областью. Название — как на чипе, либо слаг (`crm`) |
| `/program:Мои задачи` | `/программа:` `/функция:` | Запустить конкретную возможность, назвав её так, как написано на чипе |
| `/program:my-tasks-query` | — | То же машинным именем — работает по-прежнему |
| `/role:"Менеджер по продажам"` | `/роль:` | Ответить с точки зрения роли (влияет на приоритет документации) |
| `/format dash` | `/формат dash` | **Чем отдать ответ** — форма подачи, независимо от того, о чём спрашиваешь. Опции: `text` (обычный текст), `table` (таблица), `dash` или `widgets` (виджет-график в ленте, файл `.dash.html`), `mermaid` (схема-диаграмма), `file` (файл — pdf и подобное), `link` (ссылка на готовый отчёт/дашборд). Пишется через пробел или двоеточие (`/format:dash`) |

Название можно писать по-русски и с пробелами, продолжая вопрос сразу за ним: `/program:Мои задачи что горит на этой неделе` — запустится «Мои задачи», а «что горит на этой неделе» уйдёт вопросом. Если название длинное и хочется однозначности, возьми его в кавычки: `/program:"Подобрать коробку клиенту" для Ромашки`.

Команды пишутся и по-русски, и латиницей — это одно и то же. Предметную область называем **модулем**. Не совпало ни с одним названием — команда игнорируется, текст обрабатывается как обычный вопрос.

Каталог показывает только то, что доступно лично тебе: свои предметные области, без администраторских возможностей, а внешним пользователям — лишь помеченное для них.

### Выбор модели

Анфиса автоматически выбирает модель ИИ в зависимости от раздела задачи. Для разработческих разделов (Техническая дирекция, Мобильная разработка, Клиентский опыт, Сопровождение, Поддержка, Passwork, Продукт) — используется быстрая модель того же класса, что и `/kimi`. Для остальных разделов — автоматическое распределение по доступным моделям. **С 2026-05-12 slash `/openai` временно недоступен.**

Ручной выбор модели slash-командой доступен только администраторам — обычному пользователю модель выбирает система автоматически. Администратор может переключить модель:

| Команда | Модель |
|---------|--------|
| `/kimi` | Kimi (по умолчанию для разработки) |
| `/claude` | Claude |
| `/openai` | GPT — *временно недоступно с 2026-05-12* |
| `/yandex` | YandexGPT |
| `/dashscope` или `/qwen` | Qwen |
| `/fireworks` | Kimi Turbo (ускоренный вариант `/kimi`) |
| `/glm` или `/zhipu` | GLM |
| `/deepseek` или `/ds` | DeepSeek. Также `/v4-pro` для тяжёлых задач |
| `/gemini` | Gemini |
| `/grok` | Grok |
| `/minimax` | MiniMax |
| `/gigachat` | GigaChat (Сбер) |

Можно указать модификатор через двоеточие: `/openai:mini` (облегчённая модель), `/claude:haiku` (быстрая), `/yandex:lite`.

Slash-команда всегда приоритетнее автовыбора. Если не указана — работает автоматический выбор по разделу.

Архитектурно Анфиса использует разные модели на разных этапах обработки запроса — не одна модель на всё. Лёгкая быстрая модель для классификации запроса и поиска по справочникам, основная модель для рассуждения и работы с инструментами, ещё одна для синтеза ответа. При консилиуме (`/consult`) к работе подключается выбор экспертов и параллельные запросы 2-6 экспертам на лёгких моделях.

---

## Что умеет

### Поиск информации

Анфиса находит информацию в документации, задачах, файлах, на Диске и в интернете — использует гибридный поиск (ключевые слова + семантика) с проверкой прав доступа.

**Поиск по документации.** «Как работают подписи?», «Где описаны правила SLA?», «Что такое ДП Таблица?» — Анфиса ищет по всей базе знаний: домены, бизнес-правила, инструкции, спецификации. Нашла документ — даст выжимку и ссылку на полный текст.

**Поиск задач и данных в 1Форме.** «Покажи клиентов Смирнова», «Какие сделки у менеджера Петрова?», «Найди обсуждение про LDAP» — AI Search по задачам, комментариям, файлам и ДП — каскадный полнотекстовый поиск (CONTAINSTABLE → FREETEXTTABLE → Comments) с проверкой прав. Проверяет права — покажет только то, что тебе доступно.

**Поиск файлов на Диске.** «Найди файл протокол.docx», «Есть ли на Диске отчёт за март?» — ищет по имени файла среди всех файлов Диска, к которым у тебя есть доступ. Возвращает ссылку, дату загрузки, кто загрузил.

**Чтение файлов из задач.** «Что написано в файле analysis.md из задачи #12345?» — читает текстовые файлы, прикреплённые к задачам (.txt, .md, .json, .xml, .csv, .sql, .cs, .ts, .js и другие). До 5 МБ.

**Извлечение текста из файлов.** «Что написано в файле contract.pdf?», «Прочитай документ из вложения» — извлекает текст из офисных файлов (PDF, DOCX, XLSX, PPTX, RTF) через серверный конвертер. Результат передаётся в контекст — Анфиса может анализировать содержимое и отвечать по нему.

**Распознавание изображений.** «Что на этом скриншоте?», «Распознай текст на картинке», «Извлеки таблицу из фото» — если к комментарию приложена картинка (png, jpg, webp, gif, bmp, tiff) или PDF-скан, Анфиса может «увидеть» содержимое. Описывает что на изображении, распознаёт текст (OCR), извлекает таблицы, анализирует диаграммы и схемы. Работает через Qwen VL — результат кешируется, повторные обращения мгновенные.

**Чтение веб-страниц по ссылке.** «Прочитай эту статью: https://habr.com/ru/articles/123456/», «Что написано на этой странице?» — если в сообщении есть ссылка на веб-страницу, Анфиса откроет её, извлечёт основной контент (без навигации, рекламы, скриптов) и ответит по содержимому. Работает с HTML-страницами, JSON API, markdown-файлами. Бинарные файлы (PDF, DOCX) по ссылке не скачивает — предложит прикрепить их к задаче и прочитать как вложение. Защита: внутренние адреса (10.x, 192.168.x, localhost) заблокированы. Лимит: 2 MB, таймаут 15 сек.

**Поиск в интернете.** «Что такое HNSW index?», «Какая последняя версия Angular?» — когда вопрос про внешние технологии, библиотеки, фреймворки, Анфиса ищет в интернете и может сразу прочитать найденную страницу.

### Работа с задачами, создание файлов и действия в 1Форме

Анфиса не только ищет информацию, но и работает с задачами и файлами.

**Работа с задачами.** «Загрузи задачу #12345», «Какие комментарии в задаче #67890?» — Анфиса видит описание задачи, дополнительные параметры, исполнителей, файлы, комментарии. Если в вопросе есть номер задачи (через #) — автоматически загрузит её контекст.

**Создание и генерация файлов.** «Создай файл report.html с таблицей результатов», «Сгенерируй PDF-отчёт из этих данных» — Анфиса создаёт текстовые файлы (HTML, SQL, Python, Lua, MD, CSV, JSON и другие) и прикрепляет их к задаче. Для офисных форматов (DOCX, XLSX, PDF) использует серверный Python-контейнер — может генерировать сложные документы с таблицами, графиками, форматированием.

**Действия в 1Форме.** Анфиса может не только отвечать, но и действовать:

- **Написать комментарий** в другую задачу
- **Создать задачу** в указанной категории (с заполнением обязательных ДП)
- **Создать подзадачу** к существующей задаче
- **Создать связанную задачу**
- **Добавить подписчиков** к задаче
- **Изменить заказчика** задачи и **назначить ответственного** из уже назначенных исполнителей
- **Добавить или удалить** исполнителей и подписчиков

- **Изменить ячейки табличного дополнительного параметра** — «в таблице по Ромашке поставь сумму 15 000». Значение меняется так же, как вручную: Анфиса показывает, что собирается изменить, спрашивает подтверждение и после записи показывает результат. Если строка или колонка защищена правом, она остаётся без изменений, а ассистент говорит, что именно не удалось.

Перед любым действием Анфиса спросит подтверждение. Не сделает ничего молча.

#### Изменение заказчика и участников карточки задачи

В открытой карточке задачи Анфиса может изменить заказчика, добавить или удалить исполнителей и подписчиков, а также назначить ответственного из уже назначенных исполнителей. Операция идёт тем же штатным путём, что и ручное редактирование, поэтому действуют актуальные права и ограничения категории. Редактировать можно только открытую карточку: закрытая карточка или недоступный для редактирования блок приводят к отказу.

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

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

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

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

### Аналитика и цифры по задачам

Анфиса считает задачи и суммы числовых полей одним вопросом, без выгрузок и ручных сводок.

- **Разрез по значению поля.** «Сколько задач у каждого контрагента в категории Договоры», «сколько взаимодействий по типам за сентябрь» — по полю-ссылке, полю-списку или полю-сотруднику.
- **Только задачи конкретного исполнителя.** Отбор по исполнителю работает во всех режимах разреза.
- **Суммы и средние по числовому полю.** «Сумма договоров по департаментам», «средний бюджет проекта», «топ-10 контрагентов по сумме» — с разрезом по любому из полей выше.
- **Периоды и динамика.** Ряд по дням, неделям или месяцам; период считается по дате создания задачи или по любому полю-дате самой задачи, а задачи с незаполненной датой выносятся отдельной величиной.
- **Отбор по значению поля.** Отобрать задачи по значению одного поля и сразу построить разрез по другому.

Категорию и поле можно не называть точно — Анфиса уточнит или подберёт сама из доступных.

Разрез и отбор по значению поля-списка работают со значениями на любых символах, включая редкие буквы и эмодзи; регистр при этом не различается.

### Код платформы: поиск, трассировка и ревью

Анфиса работает с кодом платформы 1Формы — от поиска класса до цепочек вызовов и code review.

**Поиск по коду платформы.** «Где определён класс CommentsController?», «Найди хранимку usp_GetClientsList» — trigram-поиск по 9 репозиториям: backend (core), frontend (spa), DDL MS SQL (db_mssql), DDL PostgreSQL (db_pg), scenario-map, API-тесты, UI-тесты и другие. Код и DDL, без документации (документация ищется отдельными инструментами). Может показать содержимое найденного файла, сравнить DDL между СУБД. Работа с Git: история коммитов, blame, список MR.

**Цепочки вызовов — от URL до хранимки.** «Какой контроллер обрабатывает /api/comments?», «Покажи цепочку для ShowCommentsFeed» — E2E traces: 1536 маршрутов. По одному запросу строит полную цепочку: HTTP route → контроллер → сервис → хранимая процедура.

**Ревью SmartScript и SmartExpression.** «Проревьюй https://{host}/spa/administration/smart-script?id={id}», «Объясни смарт https://{host}/spa/administration/smart-expressions?ID={id}» — вставь ссылку из админки, Анфиса загрузит код, определит язык (JavaScript, Lua, T-SQL) и проведёт code review. Три режима:

- **review** (по умолчанию) — полный разбор кода: логические ошибки, крайние случаи, производительность, стиль
- **explain** — объяснить что делает скрипт
- **lint** — только ошибки и предупреждения

Для T-SQL — автоматически обогащает контекст: загружает DDL зависимых таблиц, вьюх и процедур. Применяет правила ревью SQL 1Формы: кросс-платформенность MSSQL↔PG, требования к схеме и стилю кода, идемпотентность миграций. Для JavaScript/Lua — проверяет SQL-строки внутри кода, правильность вызовов хелперов и кросс-платформенных утилит.

### Календарь, эксперты и консилиум

Анфиса помогает с планированием, поиском коллег и всесторонним анализом вопросов.

**Календарь и повестка дня.** «Что у меня сегодня?», «Какие встречи на этой неделе?», «Создай встречу с Ивановым на завтра в 15:00» — Анфиса видит календарь 1Формы: встречи, дедлайны задач, напоминания, подписи на согласовании. Четыре действия:

- **Повестка дня** — «Что у меня на сегодня?» — все встречи, задачи с дедлайном, подписи и напоминания за день. Одна команда вместо трёх экранов.
- **Просмотр календаря** — «Покажи встречи на следующую неделю» — события за произвольный период.
- **Создание встречи** — «Создай встречу "Синк по спринту" на пятницу 10:00, участники Петров и Сидоров, ссылка на Zoom» — с подтверждением перед созданием.
- **Удаление встречи** — «Удали встречу #12345» — с подтверждением.

**Поиск эксперта.** «Кто эксперт по Канбану?», «К кому обратиться по клиенту Ромашка?», «Кто разбирается в Гридах?» — Анфиса знает **кто чем занимается** не по штатному расписанию, а по реальной работе за последний год. Пять слоёв данных:

- **Кто отвечает на вопросы** — самый ценный сигнал. Если человек отвечает на вопросы по теме — он эксперт.
- **Кто выполняет задачи** — ответственные исполнители по категориям.
- **Оргструктура** — должность и подразделение для контекста.
- **Q&A в чатах** — кто кого консультирует в личных и групповых чатах.
- **Теги из задач** — фичи, клиенты, модули, метки. Если у сотрудника 256 задач по клиенту Ромашка — Анфиса это знает.

113 экспертов, 171 категория, 200 клиентов, десятки фич и модулей. Каталог обновляется раз в 2 недели.

**Консилиум виртуальных экспертов.** «/consult — нужно ли нам переходить на микросервисы?» — добавь `/consult` в начало вопроса, и Анфиса соберёт **консилиум**: привлечёт виртуальных экспертов (системный аналитик, DBA, разработчик, руководитель ТП, аккаунт-менеджер, тимлид) для всестороннего разбора. Каждый эксперт анализирует вопрос со своей стороны, затем Анфиса синтезирует общий ответ. Консилиум работает в служебном треде — видно какой эксперт что ответил.

### Персонализация: контекст и предложенные ответы

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

**Контекст и адаптация.** Анфиса не отвечает вслепую. При каждом вопросе она видит:

- **Кто спрашивает** — должность, подразделение, дирекция. Адаптирует ответ под роль.
- **Стиль общения** — по истории переписок определяет предпочтительную длину ответа, тон (сухой/эмоциональный), зоны экспертизы. Подстраивается автоматически.
- **В какой задаче** — описание, ДП, участники, файлы.
- **Историю разговора** — до 50 комментариев в текущей задаче. Видит что обсуждали до неё.
- **Предыдущие диалоги** — Анфиса может найти до 15 прошлых разговоров в других задачах по явному запросу: «мы обсуждали это на прошлой неделе — что ты отвечала?»
- **Карты-навигаторы** — для каждой бизнес-области (CRM, Service Desk, HR, разработка, управление проектами, финансы, платформа) есть карта-навигатор. Анфиса определяет область по категории задачи и использует соответствующую карту.
- **Вся документация** — около 1600 документов. Не нужно знать где что лежит — она найдёт сама.

**Предложенные ответы.** Когда один пользователь задаёт вопрос другому в комментариях задачи, Анфиса автоматически генерирует 1–3 варианта ответа. Когда адресат начинает отвечать на этот комментарий-вопрос, готовые варианты появляются над полем ввода — кнопки-чипы с лейблом «Предложено Анфисой».

**Где видны подсказки.** В чате мессенджера блок подсказок закреплён над полем ввода и не прокручивается вместе с перепиской: свёрнутая панель остаётся на месте, как бы длинной ни была лента. В карточке задачи и в тредах подсказки остаются последним элементом ленты и прокручиваются вместе с сообщениями.

**Свернуть и развернуть.** Если подсказки показаны списком кнопок, под блоком есть кнопка «Свернуть ответы» / «Развернуть ответы»; свёрнутое состояние сохраняется после перезагрузки страницы, и для чата, и для ленты задачи оно общее. У подсказок-чипов кнопки нет.

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

- Анфиса распознаёт вопрос от одного пользователя к другому (комментарий-вопрос с указанным адресатом).
- Асинхронно формирует 1–3 варианта ответа с учётом контекста задачи и предыдущих комментариев.
- Сохраняет готовые варианты для адресата.
- Когда адресат нажимает «Ответить» на коммент-вопрос — чипы с вариантами появляются над полем ввода.

**Как пользоваться:**

- Откройте задачу, где вам задали вопрос.
- Нажмите «Ответить» на комментарий-вопрос — над полем ввода появятся 1–3 готовых варианта.
- Нажмите на подходящий — текст подставится в поле ввода.
- Отредактируйте при необходимости и отправьте.

**Закрытие чипов.** Esc, клик мимо или крестик — чипы скрываются. Если у вас несколько неотвеченных вопросов, чипы показываются только для самой свежей группы.

Неиспользованные варианты автоматически очищаются раз в 2 часа.

### Трудозатраты и выполнение кода

Анфиса работает с трудозатратами 1Формы и может выполнять произвольный код в персональном Docker-контейнере.

**Трудозатраты.** «Покажи мой табель за неделю», «Запланируй 4 часа на задачу #X на пятницу», «Залогируй 2 часа на #Y» — Анфиса работает с модулем трудозатрат 1Формы: и план, и факт. Четыре действия:

- **Просмотр плана** — «Что у меня по плану на следующую неделю?», «Сколько запланировано на задачу #12345?»
- **Внесение плана** — «Запланируй 8 часов на задачу #X на понедельник-пятницу» (автораспределение по рабочим дням) или «Поставь 2 часа плана на завтра»
- **Просмотр факта (табель)** — «Покажи мой табель за эту неделю», «Сколько часов я залогировал на задачу #X?»
- **Внесение факта** — «Залогируй 2 часа на задачу #X», «Запиши 30 минут на #Y за вчера с комментарием "ревью кода"»

Перед записью (план или факт) Анфиса покажет детали и спросит подтверждение. Если в категории задачи несколько ресурсов — предложит выбрать. Работает только для задач в категориях с включённым ресурсным блоком.

**Выполнение кода (sandbox).** «Запусти этот Python-скрипт», «Проверь SQL-запрос», «Скачай страницу и найди цену» — у каждого пользователя свой персональный Docker-контейнер. Анфиса может выполнить в нём произвольный код: bash, Python, JavaScript. Контейнер создаётся автоматически при первом обращении — ничего настраивать не нужно.

Что можно:
- **Запустить скрипт** — Python, bash, node.js
- **Проверить SQL** — если в контейнере настроены подключения к БД
- **Скачать и обработать данные** — curl + python для парсинга веб-страниц
- **Проверить формат** — парсинг JSON/XML/CSV, конвертация данных
- **Поставить пакеты** — pip install, apt-get install, npm install

Контейнер персональный — можно экспериментировать, ставить пакеты, создавать файлы. Квота: 2 ГБ на рабочую папку. При установке пакетов Анфиса автоматически запоминает их — при пересоздании контейнера среда восстановится.

---

## Какими материалами пользуется

Анфиса опирается на несколько источников данных:

| Источник | Что содержит | Объём |
|----------|-------------|-------|
| Документация (docs/) | Бизнес-правила, домены, инструкции, спецификации | ~1600 документов |
| Задачи 1Формы | Описания, ДП, комментарии, файлы | Вся база, с проверкой прав |
| AI Search index | Задачи, комментарии, файлы, ДП — каскадный полнотекстовый (FTS) | без отдельного векторного индекса задач (удалён 2026-04-07) |
| QA Memory | Предыдущие ответы Анфисы — векторный поиск по похожим вопросам | Накапливается |
| Диск (общие файлы) | Файлы загруженные на Диск 1Формы | Поиск по имени, с проверкой прав |
| Код платформы | C# backend, TypeScript frontend, DDL (MSSQL + PG), тесты | 9 репозиториев |
| Git (GitLab) | История коммитов, blame, MR, diff | core, spa |
| E2E Traces | Цепочки route → controller → service → SP | 1536 маршрутов |
| Каталог экспертов | Кто чем занимается: ответы, задачи, клиенты, фичи, модули | 113 экспертов, 703 тега |
| Навигаторы коробок | Маршрутизация по бизнес-областям (CRM, ServiceDesk, HR и т.д.) | 7 коробок |
| Интернет | Внешние технологии, фреймворки, библиотеки | поиск по сети |

---

## Чем полезна — по ролям

### Для поддержки, продаж, HR и всех сотрудников

**Техническая поддержка.** Сотруднику ТП Анфиса помогает быстро найти ответ клиенту:

- **«Как настроить X для клиента?»** — поиск по документации с учётом того что ты сотрудник ТП.
- **«Какой контроллер обрабатывает эту ошибку?»** — e2e trace от URL до хранимки.
- **«Что написал клиент в задаче #123456?»** — загрузка задачи с комментариями и ДП.
- **«Найди похожие обращения»** — AI Search по комментариям и задачам.
- **«Найди документ по LDAP-интеграции на Диске»** — поиск файлов.
- **«Кто эксперт по клиенту Ромашка?»** — каталог экспертов по клиентам.
- **«Прочитай PDF из вложения»** — извлечение текста из офисных файлов.

**Менеджеры по продажам (CRM).** Менеджеру по продажам:

- **«Покажи открытые сделки менеджера Сидорова»** — AI Search.
- **«Найди информацию по клиенту Ромашка»** — поиск по задачам и ДП.
- **«Какие продукты мы предлагаем в модуле документооборота?»** — документация.

**HR.** HR-специалисту:

- **«Как оформить командировку в системе?»** — навигатор HR-коробки + документация.
- **«Покажи задачи по адаптации нового сотрудника»** — AI Search.
- **«Кто из HR отвечал на вопросы про KPI?»** — история переписок.

**Все сотрудники.** Любому сотруднику:

- **«Где найти инструкцию по X?»** — Анфиса найдёт и даст ссылку.
- **«Что обсуждалось в задаче #N?»** — загрузка задачи с полным контекстом.
- **«Мы обсуждали это на прошлой неделе — что ты отвечала?»** — история диалогов с Анфисой кросс-задачная.
- **«Найди файл на Диске»** — поиск по имени с проверкой прав.
- **«К кому обратиться по вопросу X?»** — поиск эксперта по теме, клиенту, фиче, модулю.

### Для разработчиков, аналитиков и руководителей проектов

**Разработчики.** Разработчику — по коду, цепочкам вызовов и истории изменений:

- **«Где определён метод GetTaskPermissions?»** — поиск по коду.
- **«Покажи цепочку для маршрута /api/tasks/create»** — e2e trace.
- **«Как работает механизм подписей?»** — документация из domains/.
- **«Загрузи файл migration.sql из задачи #12345»** — чтение файлов из задач.
- **«Покажи blame для файла TaskService.cs»** — git blame, история коммитов.
- **«/consult — как лучше реализовать кеширование?»** — консилиум экспертов.

**Бизнес-аналитики и руководители проектов.** Аналитику и руководителю проекта:

- **«Какие задачи у Иванова как исполнителя?»** — список задач пользователя.
- **«Покажи клиентов КМ Петрова»** — AI Search по структурированным данным.
- **«Как работает процесс согласования договоров?»** — документация.
- **«Создай подзадачу в категории Спринт»** — создание задач через Анфису.
- **«Кто из разработчиков занимается фичей Канбан?»** — эксперт по фичам и модулям.
- **«Создай отчёт в DOCX с этими данными»** — генерация офисных документов.

---

## Ограничения и планы развития

Сейчас у Анфисы есть несколько ограничений:

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

2. **Не деплоит код.** Может выполнять произвольные скрипты в персональном sandbox-контейнере, но не деплоит на серверы и не меняет production-код.

3. **Ограниченный бюджет на запрос.** 512 000 токенов, до 20 шагов. Если вопрос слишком объёмный — ответ может быть обрезан. Дроби сложные вопросы на несколько.

4. **Автодетект вопросов.** Если комментарий отправлен не как вопрос, Анфиса ответит только при выполнении всех условий: она единственный адресат, комментарий не в треде, и классификатор определил что это вопрос/просьба/задание. Если адресатов несколько — пометка «вопрос» обязательна. Реплаи на комментарии Анфисы обрабатываются всегда.

5. **Не работает в тредах.** Пиши вопрос в основную ленту задачи, не в тред.

В планах развития:

- **Почта** — отправка писем, управление папками (чтение входящих уже работает).
- **Координация работ** — не просто «к кому обратиться», а «создать задачу нужному человеку в нужной категории с нужными ДП». Переход от ассистента к координатору.
- **Механизм повисших вопросов** — если вопрос остался без ответа N минут, Анфиса предложит подключить эксперта.

---

## Часто задаваемые вопросы

**Анфиса видит мои данные?**
Анфиса проверяет права доступа. Если у тебя нет доступа к задаче — Анфиса её не покажет. Такая же проверка по файлам Диска.

**Кто видит мои вопросы к Анфисе?**
Все участники задачи. Вопрос и ответ — обычные комментарии в ленте задачи. Если нужна приватность — задай вопрос в задаче, где ты единственный участник.

**Анфиса запоминает мои предпочтения?**
Долгосрочной памяти между сессиями нет by design — записей «запомни что ...» Анфиса не хранит. Но при каждом ответе она автоматически учитывает **коммуникационный профиль**: определяет твой стиль общения (краткость, тон, зоны экспертизы) по истории переписок и подстраивается. Устойчивый контекст по конкретной теме держи в ДП задачи или повтори явно.

**Можно ли доверять ответам?**
Анфиса ссылается на источники — документы, задачи, файлы. Проверяй критичную информацию по ссылкам. Как и любой AI, может ошибаться — но ответы подкреплены реальными данными из 1Формы.

**Сколько стоит один вопрос?**
Типичный вопрос с поиском — около $0.15. Простой вопрос без инструментов — $0.005. Дневной бюджет ограничен.

**Можно ли постоянно переключить модель на Claude / Kimi / другую?**
Персистентной пользовательской настройки нет. Slash-команда (`/kimi`, `/claude` и т.д.) действует только на одно сообщение. Автовыбор по разделу задачи — глобальная настройка администратора. Если нужен конкретный провайдер — добавляй slash-команду к каждому вопросу.

**Что делать если Анфиса не ответила?**
Проверь: (1) Анфиса в получателях? (2) Комментарий в основной ленте, не в треде? (3) Если адресатов несколько — комментарий отправлен как вопрос? (при единственном адресате Анфиса определяет автоматически). Если всё верно и ответа нет — возможно, исчерпан дневной бюджет или произошла техническая ошибка. Сообщи в техподдержку.

**Что Анфиса обо мне помнит между задачами?**
Ничего между сессиями by design — долгосрочной памяти у Анфисы нет. В рамках одной сессии (TTL 48 часов) она держит контекст текущего разговора; вне сессии опирается только на то, что явно в задаче (описание, ДП, комментарии) и на автоматический коммуникационный профиль (стиль общения по истории переписок).
