Расширение для интеграции языковых моделей (LLM) в конфигурации 1С:Предприятие 8.3: единый коннектор к провайдерам, агентская петля с инструментами, RAG, MCP-сервер, мониторинг ошибок с ИИ-анализом и генератор диаграмм.
ИИкона (КИИ — Коннектор Искусственного Интеллекта) — расширение для работы с языковыми моделями прямо из 1С. Начиналась как API-коннектор с единым интерфейсом для всех популярных провайдеров; с версии 1.3.0 это платформа ИИ-подсистем: поверх коннектора работают агентская петля с инструментами, семантический поиск по базе знаний (RAG), MCP-сервер для внешних ИИ-агентов, мониторинг ошибок с ИИ-диагнозом и генератор диаграмм.
Ставится как расширение конфигурации, основную конфигурацию не изменяет.
Готовые сценарии из коробки:
- 🚨 Мониторинг ошибок базы: сбор из журнала регистрации, ИИ-диагноз, Telegram
- 🔍 Аудит кода по ошибке: место в исходниках + объяснение причины
- 🛠 База 1С как набор инструментов для Claude/Cursor (MCP)
- 📊 Диаграммы по текстовому описанию (mermaid/plantuml/graphviz/bpmn)
И API для своих решений:
- 🤖 Чат-боты для поддержки клиентов
- 📝 Генерация контента (описания товаров, документы)
- 🔍 Классификация и извлечение структурированных данных из текста
- 📚 Ответы по своей базе знаний (RAG)
- 🎯 Агенты, которые сами ходят по данным 1С инструментами
- Пять форматов провайдеров отдельными коннекторами: OpenAI-совместимые API, Anthropic, Google Gemini, YandexGPT, GigaChat — плюс 25+ готовых моделей в макете предустановок.
- Синхронные и асинхронные запросы (фоновые задания), история сообщений, системные промпты.
- Мультимодальность: изображения и документы во вложениях запроса у OpenAI-совместимых API, Anthropic, Google Gemini и GigaChat (YandexGPT вложений не принимает), генерация изображений в ответе.
- Кеш ответов с TTL (per-model, opt-in), полное логирование запросов (токены, время, ошибки), поддержка прокси, OAuth2 (GigaChat), IAM (Yandex).
- Повторы с экспоненциальным backoff — только транзиентные коды (429/5xx), без задвоения POST.
Перед отправкой наружу текст проверяется на персональные данные: ФИО с отчеством
(«Иванов Иван Иванович»; «Иван Иванович Иванов» — при фамилии с типичным окончанием
-ов, -ин, -ский, -енко и подобных) или с инициалами («Иванов И.И.», «ИВАНОВ И.И.»,
«И.И. Иванов»), ИНН, СНИЛС, номер карты, паспорт (по слову «паспорт» рядом),
телефон, электронная почта.
Номер карты принимается только с верной контрольной суммой, ИНН и СНИЛС — с верной
суммой или рядом со словом «ИНН»/«СНИЛС». Найденное
заменяется подстановками, одно значение в пределах запроса получает одну подстановку.
Стиль замены выбирается (с 1.6.0): правдоподобные значения из заведомо несуществующих
диапазонов (телефон с кодом 000, почта на example.com, ИНН с регионом 00, карта с BIN
0000), метки вида [ФИО-1], которые модель не склоняет, или смешные выдуманные имена —
«Вельзевулов Саурон Сарумяныч», ООО «Рога и копыта» — которые никто не примет за клиента.
Одиночные фамилии, имена без отчества, организации, адреса и даты рождения находит сервис распознавания имен на Natasha (с 1.6.0): отдельная программа рядом с 1С, работает без интернета. Без него эти значения не ищутся; флажок «Без сервиса не отправлять» останавливает запрос, если сервис не ответил. Ответ модели для человека в «Тест ИИ» и в генераторе диаграмм показывается с исходными значениями; машинный результат, кеш, лог и мониторинг остаются с подстановками.
| Канал | Что проверяется | По умолчанию |
|---|---|---|
| Запросы к моделям | системный и пользовательский промпт, история, имена файлов вложений, сообщения и аргументы вызовов агентской петли, результаты инструментов, промпт генерации изображений, текст для эмбеддинга (вопрос пользователя при поиске по базе знаний и фрагменты при индексации) | Заменять подстановками |
| Уведомления Telegram | текст сообщения, подпись, имя файла | Заменять подстановками |
| Рендер диаграмм (kroki) | код диаграммы; в SVG подписи возвращаются исходные | Только записывать в журнал |
Режимы канала: «Выключен», «Только записывать в журнал» (отправить как есть и записать событие), «Заменять подстановками», «Не отправлять». Модель может переопределить режим канала, а доверенный маршрут (свой сервер модели) отключает проверку, пока не изменились адрес, прокси или имя модели. Перед отправкой тело HTTP-запроса контрольно сверяется: исходное значение, прошедшее в обход подготовки, останавливает запрос. Сбой проверки в защищённом режиме запрос тоже останавливает. Журнал контроля хранит тип находок, счётчики и решение, но не значения.
Настройки — обработка «Контроль персональных данных» (там же проверка любого текста: что найдено и как он уйдёт) и вкладка «Персональные данные» в карточке модели.
⚠ Чего контроль не делает. Не проверяет содержимое вложений (картинки, PDF) — в режиме «Не отправлять» запрос с вложением не уходит, в «Заменять подстановками» уходит как есть; не касается MCP-сервера (внешний агент получает данные по своим правам — см. SECURITY.md); без сервиса распознавания имен не находит одиночные фамилии, наименования организаций, адреса и даты рождения. Слово с заглавной перед именем и отчеством («Звонил Иван Иванович») может попасть в замену вместе с ними. Поиск по базе знаний через внешний эмбеддер не найдёт фрагмент по конкретному ФИО или номеру: у вопроса и у фрагмента разные подстановки (для такого поиска — локальный эмбеддер с доверенным маршрутом). Правдоподобные ФИО берутся из списков распространённых имён: если позже в той же операции встретится реальный человек с точно таким же ФИО, его имя уйдёт без замены (метки и смешные имена этого риска не несут). Если модель просклоняла подставную фамилию, это место человек увидит с подстановкой — форма «Тест ИИ» об этом предупреждает. Это техническая замена значений, а не юридическое обезличивание.
Модель вызывает инструменты 1С и продолжает рассуждение по результатам — во всех пяти форматах провайдеров. Лимиты раундов и вызовов, дедупликация повторных вызовов, принуждение к финальному выводу, аудит каждого вызова.
Форматные адаптеры всех провайдеров покрыты тестами; живой прогон выполнялся на OpenAI-совместимых моделях. Флаги «Поддерживает инструменты» у остальных провайдеров в предустановках включайте после смоука со своими ключами.
Категории знаний, авто-нарезка документов на фрагменты, эмбеддинги с версионированием. Знания привязываются к экспертам и подмешиваются в системный промпт автоматически. Два бэкенда поиска: встроенный (чистый 1С, без зависимостей) и Qdrant — с очередью синхронизации и фоновой сверкой. Egress-политики не выпускают конфиденциальные фрагменты за пределы базы.
HTTP-сервис (JSON-RPC 2.0): внешние ИИ-агенты работают с базой как с набором инструментов — метаданные, структура объектов, read-only запросы, диаграммы. Basic Auth, ограничение частоты, whitelist запросов, сокрытие секретов, аудит с автоочисткой. ⚠ Наружу публикуйте только через HTTPS (reverse-proxy с TLS).
Регламентный сбор из журнала регистрации, нормализация и дедупликация, пакетный ИИ-анализ и глубокий агентный разбор, уведомления в Telegram с антиспамом, правила игнорирования, статистика. Плюс аудитор кода: по ошибке находит место в исходниках и объясняет причину. Аудитор работает поверх стороннего анализатора rlm-tools-bsl (MIT): структурный индекс кода отдаёт метод и граф вызовов по строке ошибки; REST-шим — отдельный репозиторий iikona-audit-shim, установка описана в руководстве.
Дашборд ошибок — страница на ECharts (библиотека
лежит макетом, интернет не нужен): вхождения по дням и критичности, тепловая карта,
топ-10 «что болит», карта «где болит» по объектам метаданных, воронка разбора,
расходы на ИИ, последние разборы; периоды 7/30/90 дней, светлая и тёмная темы.
Открывается обработкой «Дашборд ошибок» в 1С и по ссылке через HTTP-сервис
расширения: https://<сервер>/<база>/hs/iikona-dashboard/page
(?days=7|30|90&theme=light|dark, автообновление раз в 5 минут). Для веб-доступа
заведите отдельного пользователя с ролью «Просмотр дашборда ошибок»: права на
регистры мониторинга ему не нужны, данные отдаёт сервер. Страница показывает
тексты ошибок и рекомендации ИИ из журнала регистрации — давайте роль тем, кому
можно видеть журнал. ⚠ Наружу публикуйте только через HTTPS.
Описание словами → диаграмма (mermaid / plantuml / graphviz / bpmn). Mermaid рендерится локально встроенной библиотекой mermaid.js — без внешних сервисов; остальные форматы и серверный рендер (PNG/SVG, MCP-инструмент) — через kroki. Модель с инструментами сама читает метаданные конфигурации и рисует реальные реквизиты.
| Провайдер | Формат API | Function calling | Статус |
|---|---|---|---|
| OpenAI (GPT-5.x/6) | OpenAI Compatible | ✅ | ✅ |
| Anthropic (Claude) | Anthropic Messages | ✅ формат готов | ✅ |
| Google (Gemini) | Google AI | ✅ формат готов | ✅ |
| DeepSeek | OpenAI Compatible | ✅ | ✅ |
| GigaChat (Сбер) | OAuth2 + legacy functions | ✅ формат готов | ✅ |
| Yandex (YandexGPT) | Yandex Cloud | ✅ формат готов | ✅ |
| Mistral / Qwen / Groq / Grok / Cohere | OpenAI Compatible | ✅ | ✅ |
| Ollama / LM Studio / LiteLLM (локальные) | OpenAI Compatible | зависит от модели | ✅ |
| OpenRouter / Together / Fireworks и др. | OpenAI Compatible | ✅ | ✅ |
- 1С:Предприятие 8.3.24+ — версии 1.3.x–1.6.1 разрабатывались и тестировались на 8.3.27
- БСП (Библиотека стандартных подсистем) 3.1.10+ — тестировалось на демо-базе БСП 3.1.11.392
- Режим совместимости интерфейса: «Такси. Разрешить Версия 8.2» (стандарт типовых конфигураций и БСП) — платформа контролирует его при установке любого расширения
- Доступ в интернет для облачных провайдеров (локальные модели работают офлайн)
- Опционально: Qdrant для быстрого векторного поиска, kroki для рендера диаграмм, rlm-tools-bsl для аудитора кода
Версии 1.0.x проверялись также на 1С:ERP 2.5.17. Версии 1.3.x–1.6.0 на ERP не перепроверялись — отчёты о работе на других конфигурациях приветствуются в Issues.
- Скачайте
.cfeиз Releases - Подключите расширение (Администрирование → Расширения конфигурации)
- Обновите базу данных
- Откройте справочник «Модели ИИ» и нажмите «Заполнить модели» — загрузятся 30 предустановок (свои модели с другими наименованиями не перезаписываются)
- Укажите API-ключи нужных моделей (хранятся в безопасном хранилище БСП, а не в реквизите модели; полная выгрузка базы .dt содержит и его — храните ее как секрет); кнопка проверки соединения — на форме модели
- Создайте «Эксперта ИИ»: модель + системный промпт
- Новые подсистемы включаются заполнением их настроек: модель анализа и Telegram в «Настройках мониторинга ошибок», адрес Qdrant для RAG, адрес kroki для диаграмм, пользователь API для MCP — что не настроено, то просто не работает, не мешая остальному
Данные и настройки сохраняются. После обновления откройте и запишите любую модель ИИ (или нажмите «Обновить предустановленные модели»): так создадутся регламентные задания очистки кеша ответов, аудита MCP и журнала контроля персональных данных — до 1.6.1 их не создавал никто. Настройки мониторинга теперь правятся формой «Настройки мониторинга ошибок» в разделе «Коннектор ИИ»; прежние значения констант она подхватывает. Администратору ИИконы достаточно роли «КИИ полные права», полные права в базе не нужны.
Данные и настройки сохраняются. Стиль подстановок по умолчанию — правдоподобные значения, как в 1.5; сервис распознавания имен выключен, пока в обработке «Контроль персональных данных» не указан его адрес. Новые предустановки моделей появятся после «Обновить предустановленные модели» в списке моделей (кнопка спросит подтверждение); устаревшие (GPT-4, Gemini 2.5, Perplexity) не удаляются — ненужные пометьте на удаление.
После обновления контроль персональных данных сразу работает в режиме
«Заменять подстановками» для запросов к моделям и уведомлений Telegram: модель видит
подстановки вместо ФИО, ИНН, телефонов. Если ваш код разбирает ответ модели
программно и ждёт исходные значения, передайте в ЗапросКМодели третьим
параметром контекст (КИИ_КонтрольПерсональныхДанных.НовыйКонтекст()) и восстановите
ответ через КИИ_КонтрольПерсональныхДанных.ВосстановитьДляЧеловека — либо выберите
для канала или модели другой режим в обработке «Контроль персональных данных».
Кеш ответов для запросов с заменами не используется.
Штатное: данные моделей и экспертов сохраняются, публичный API совместим
(ЗапросКМодели, ЗапросКМоделиВФоне, ПараметрыМодели — прежние сигнатуры).
Единственное поведенческое изменение: роль «КИИ Полные права» больше
не раздаёт права на объекты основной конфигурации — только на объекты
расширения (закрыта избыточная выдача).
Модель = Справочники.КИИ_МоделиИИ.НайтиПоНаименованию("GPT-6 Sol", Истина);
Ответ = КИИ_КоннекторИИ.ЗапросКМодели(Модель, "Привет! Как дела?");
Если Не Ответ.ЭтоОшибка Тогда
ОбщегоНазначения.СообщитьПользователю(Ответ.ТекстОтвета);
КонецЕсли;Промпт = Новый Структура;
Промпт.Вставить("СистемныйПромпт", "Ты — помощник программиста 1С");
Промпт.Вставить("ПользовательскийПромпт", "Как создать новый документ?");
Промпт.Вставить("ИсторияСообщений", История); // необязательно
Ответ = КИИ_КоннекторИИ.ЗапросКМодели(Модель, Промпт);ДлительнаяОперация = КИИ_КоннекторИИ.ЗапросКМоделиВФоне(Модель, Промпт);
ДлительныеОперации.ОжидатьЗавершение(ДлительнаяОперация);
Ответ = ПолучитьИзВременногоХранилища(ДлительнаяОперация.АдресРезультата);HTML = КИИ_МаркдаунПарсерКлиентСервер.ПреобразоватьВHTML(Ответ.ТекстОтвета);Обработка «Тест ИИ»: чат с экспертом, вложения (изображения/документы), история диалога, просмотр логов — всё интерактивно.
- Руководство пользователя (вики) — iikona-guide: настройка моделей и провайдеров, RAG и база знаний, мониторинг ошибок и аудитор кода, MCP-сервер и безопасность, генератор диаграмм.
- Исходники расширения — iikona
(Gitea, ветка
main; релизы с готовым.cfe— на странице релизов репозитория). - Автотесты (563 YAxUnit-теста) — iikona-tests; для прогона нужны YAxUnit в базе и тестовое расширение.
- MCP-прокси для stdio-клиентов — iikona-mcp-proxy (Claude Desktop и другие клиенты без HTTP-транспорта).
- Аудит-шим — iikona-audit-shim: REST-мост аудитора кода к анализатору rlm-tools-bsl.
Инструкции по провайдерам
- platform.openai.com → API keys → создайте ключ
- Пополните баланс
- console.anthropic.com → API Keys
- Google AI Studio → Get API key
- platform.deepseek.com → API Keys
- developers.sber.ru/gigachat
- Получите Authorization key (или ClientId:ClientSecret) — модуль сам обменяет на OAuth2-токен
- Yandex Cloud → сервисный аккаунт → API-ключ
- В модели укажите Folder ID
- ✅ 563 модульных теста (YAxUnit): коннекторы, вложения, агентская петля, RAG, мониторинг, MCP, парсеры, контроль персональных данных, предустановленные модели
- ✅ Красная проба контроля персональных данных: 56 мутантов кода (снятая проверка, ослабленное правило, потерянный контекст) — каждый ловится своим тестом
- ✅ SonarQube (BSL Language Server): Quality Gate пройден, рейтинги A; одно информационное замечание осознанное — предупреждение, а не ошибка, в журнале регистрации при недоступном необязательном сервисе распознавания имен
- ✅ Независимый аудит кода и повторный аудит исправлений перед выпуском
- ✅ Проход сертификационных EDT-проверок (доккомментарии, области, роли)
- ✅ Протестировано на демо-базе БСП 3.1.11.392 / платформе 8.3.27
- Vision API — изображения и документы во вложениях + генерация изображений
- Улучшенная обработка rate limits — backoff, повтор только транзиентных кодов
- Function calling — агентская петля во всех пяти форматах провайдеров
- Embeddings API — и весь RAG поверх
- Сверх плана: MCP-сервер, мониторинг ошибок с ИИ-анализом, аудитор кода, генератор диаграмм, 398 автотестов
- Вложения (изображения и документы) у Anthropic, Gemini и GigaChat, а не только у OpenAI-совместимых моделей
- Дашборд ошибок v2 на ECharts: в форме 1С и по ссылке через HTTP-сервис
- Контроль персональных данных в запросах к моделям, эмбеддингах, уведомлениях Telegram и рендере диаграмм: маскировка подстановками, режимы по каналу и модели, доверенный маршрут, журнал без значений, восстановление ответа для человека
- Стили подстановок: правдоподобные значения, метки
[ФИО-1], смешные выдуманные имена - Сервис распознавания имен на Natasha: одиночные фамилии, организации, адреса, даты рождения
- Предустановленные модели обновлены до актуальных на сентябрь 2026
- Настройки мониторинга ошибок формой вместо правки констант
- Администрирование ИИконы ролью «КИИ полные права» без полных прав базы
- Регламенты очистки кеша, аудита MCP и журнала контроля ПД создаются сами
- Генератор диаграмм из формы — через агентскую петлю; категории знаний в карточке эксперта; форма списка журнала запросов ИИ
- Руководство пользователя: начало работы, эксперты, агентская петля, вложения, журнал запросов и кеш, мониторинг ошибок, для разработчика, частые вопросы
- Streaming — в BSL возможен только эмуляцией (платформа отдаёт HTTP-ответ целиком); исследуется эмуляция через фоновое задание с опросом
- Формат Responses API (Perplexity Agent API, OpenAI Responses)
- Live-смоук function calling и вложений на Anthropic/Google/Yandex/GigaChat и включение флагов в предустановках
- CI: сборка
.cfe, прогон тестов и Sonar на каждый коммит - Расширение покрытия тестами (инструментальное измерение покрытия)
Частые вопросы
8.3.24+; версии 1.3.x–1.6.1 разрабатывались и тестировались на 8.3.27.
Да, БСП 3.1.10+ (тестировалось на 3.1.11.392).
Да. Вложения собираются одним контрактом
(КИИ_КоннекторИИ.ПостроитьКонтентИзображениеДанные, ПостроитьКонтентДокументДанные),
а каждый коннектор переводит их в формат своего API. В «Тест ИИ» — вкладка вложений;
поддерживается и генерация изображений в ответе.
| Провайдер | Изображения | Документы | Как проверено |
|---|---|---|---|
| OpenAI-совместимые | ссылка, data-URI, данные | как принимает API | живые запросы и автотесты |
| Anthropic | JPEG, PNG, GIF, WebP: ссылка или данные | автотесты сборки запроса | |
| Google Gemini | PNG, JPEG, WebP, HEIC, HEIF: данные; ссылка .png, .jpg, .webp, .bmp или с полем MIME | PDF, TXT, Markdown, HTML, XML | автотесты сборки запроса |
| GigaChat | JPEG, PNG, TIFF, BMP: одно на сообщение | TXT, DOC, DOCX, PDF, EPUB, PPT, PPTX, XLSX | автотесты сборки запроса, без сети |
| YandexGPT | нет | нет | API вложений не принимает |
Anthropic, Gemini и GigaChat собраны по официальной документации (с 1.4.0), но живыми ключами ещё не проверены. Есть ключ — отправьте картинку или PDF через «Тест ИИ» и напишите в issues, что получилось. Формат, который провайдер не примет, останавливает запрос понятной ошибкой, а не теряется молча.
В агентской петле с инструментами сообщения передаются в OpenAI-формате как есть, поэтому вложения внутри петли работают только у OpenAI-совместимых моделей.
Да — локальные модели через Ollama/LM Studio, встроенный RAG-поиск и локальный рендер mermaid-диаграмм тоже работают без внешних сервисов.
С 1.5.0 по умолчанию нет: ФИО, ИНН, СНИЛС, карты, паспорта, телефоны и почта заменяются подстановками до отправки, а ответ показывается человеку с исходными значениями. С сервисом распознавания имен (1.6.0) — ещё одиночные фамилии, организации, адреса и даты рождения. Что именно проверяется и где граница — в разделе «Контроль персональных данных». Проверить конкретный текст можно в обработке «Контроль персональных данных»: в модель ничего не уходит.
В защищённом хранилище 1С; в выгрузки конфигурации не попадают.
Все запросы логируются в регистр с токенами и временем; кеш ответов сокращает повторные обращения.
Любой OpenAI-совместимый API работает из коробки: создайте модель, укажите
адрес, формат OpenAI_Compatible, имя модели и ключ.
Да, лицензия MIT.
- 🐛 Нашли баг? — Issue
- 💡 Есть идея? — Discussions
- 🔧 Хотите помочь? — Pull Request
- YAxUnit — движок модульного тестирования 1С
- rlm-tools-bsl — семантический анализ BSL, на нём работает аудитор кода
- kroki и mermaid — рендер диаграмм
- Qdrant — векторный поиск
- OpenAI, Anthropic, Google, Yandex, Сбер — за API
- Сообществу 1С — за поддержку и идеи
MIT © 2026 Андриянов Роман (androman.pro)
- 🌐 Сайт: androman.pro
- 💬 Telegram: @andromanpro1c
- 📧 Email: andromanpro@gmail.com
Сделано с ❤️ для сообщества 1С