# Vrio через RouterAI: ИИ-агент для 1С:Предприятия

Vrio — ИИ-агент, который работает внутри 1С:Предприятия 8.3 (разработчик — ООО «ИТВОРКС»). Сотрудник пишет вопрос в окне 1С, агент читает конфигурацию базы, сам собирает запрос или обработку, выполняет её на сервере и отвечает таблицей, отчётом или выгрузкой. Данные меняются только после кнопки «Разрешить», каждое действие пишется в журнал, а права агента равны правам пользователя 1С. Языковая модель в комплект не входит: вы подключаете свою. Через RouterAI это Claude, GPT, DeepSeek и другие модели из [каталога](/models): работа из России без VPN, оплата в рублях, один ключ и для ответов агента, и для его памяти. Статья проверена на службе Vrio 0.2.0 (образ `itworksgroup/vrio:0.2.0-2026-10-20`).

## Как работает агент в 1С {#kak-rabotaet}

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

Всё, что меняет данные, выполняется только после подтверждения человеком: кнопка «Разрешить» в окне подтверждения. Права агента не шире прав сотрудника: если ему закрыт раздел учёта, агенту он тоже закрыт. Снимок конфигурации обновляется кнопкой «Пересканировать» после изменений в базе — без этого новый реквизит агент не увидит.

## Требования {#trebovaniya}

* 1С:Предприятие 8.3.27 или новее, режим совместимости конфигурации не ниже 8.3.27.
* Сервер с Docker 20+ и плагином compose, свободный порт 8765 и около 2 ГБ места. Подойдут Linux и Windows.
* Ключ RouterAI: [создайте его в личном кабинете](https://routerai.ru/settings/keys) (раздел «Ключи API») и пополните баланс. Ключ показывается один раз.
* Свободная редакция Vrio бесплатна и бессрочна, но работает с одной информационной базой. Каталог моделей, группы и несколько баз входят в редакцию Pro (цена по запросу).

## Установка {#ustanovka}

Vrio состоит из службы (Docker-контейнер на вашем сервере, веб-консоль на `/console`), расширения `Vrio.cfe` для каждой базы 1С и внешней языковой модели. Подробности — в [инструкции вендора](https://vrio.itworks.group/docs/install/). Здесь только то, что нужно для подключения модели.

Создайте пустую папку службы и получите комплект. Образ открыт на Docker Hub, входить не нужно:

```bash
sudo mkdir -p /opt/vrio && sudo chown "$USER": /opt/vrio && cd /opt/vrio
docker run --rm --pull always itworksgroup/vrio:latest kit | tar -xk
```

В папке появятся `docker-compose.yml`, `.env`, `update.sh` и `update.ps1`. Для Windows команда другая, она приведена в инструкции вендора.

## Подключение к RouterAI {#podklyuchenie-k-routerai}

Всё подключение — это шесть строк в файле `.env`. Откройте его и заполните:

```ini
VRIO_LLM_BASE_URL=https://routerai.ru/api/v1
VRIO_LLM_MODEL=anthropic/claude-sonnet-5.5
VRIO_LLM_API_KEY=sk-xxxxxxxxxxxxxxxx
VRIO_CONTEXT_WINDOW_TOKENS=1000000
VRIO_MEMORY_EMBEDDING_BASE_URL=https://routerai.ru/api/v1
VRIO_MEMORY_EMBEDDING_API_KEY=sk-xxxxxxxxxxxxxxxx
```

![Заполненные строки .env: адрес RouterAI, модель, контекст и память агента, ключи заменены заглушкой](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/131d4a59b79d2ce3c5d07652c6ae780d.png)

* **VRIO_LLM_BASE_URL** — адрес RouterAI, оканчивается на `/v1`.
* **VRIO_LLM_MODEL** — id модели ровно как в каталоге, с префиксом поставщика.
* **VRIO_LLM_API_KEY** — ваш ключ RouterAI (в примере заглушка).
* **VRIO_CONTEXT_WINDOW_TOKENS** — размер контекста модели по каталогу. Для `anthropic/claude-sonnet-5.5` это 1 000 000. Значение больше реального ставить нельзя, а если не уверены, берите меньше (в `.env` вендор советует 32768). Пустое значение роняет службу при запуске.
* **VRIO_MEMORY_EMBEDDING_BASE_URL** и **VRIO_MEMORY_EMBEDDING_API_KEY** — адрес и ключ модели эмбеддингов для памяти агента. Документация требует заполнять их всегда, даже когда они совпадают с адресом и ключом модели.

Закройте файл от посторонних (`chmod 600 .env`), создайте папку для ключа шифрования и запустите службу:

```bash
mkdir -p secrets && sudo chown 1000:1000 secrets && chmod 700 secrets
docker compose up -d
curl http://127.0.0.1:8765/health
```

В ответе должны быть `"status":"ok"` и версия службы. Затем убедитесь, что настройки дошли до контейнера:

```bash
docker compose exec agent printenv VRIO_LLM_BASE_URL VRIO_LLM_MODEL VRIO_MEMORY_EMBEDDING_BASE_URL
```

Если вывод пустой, `.env` не заполнен. После любой правки `.env` выполняйте именно `docker compose up -d`, а не `restart`.

![Терминал: четыре файла комплекта, проверка printenv и ответ /health](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/35d773f5dfa4d917260256b1316ae4cf.png)

### Память агента на эмбеддингах RouterAI {#embeddings}

Память агента строится на эмбеддингах, а у Anthropic моделей эмбеддингов нет. Если подключить Claude напрямую, для памяти придётся искать второго поставщика. RouterAI закрывает обе задачи одним ключом. В `.env` из комплекта есть ещё две строки, о которых легко забыть:

```ini
VRIO_MEMORY_EMBEDDING_MODEL=openai/text-embedding-3-small
VRIO_MEMORY_EMBEDDING_DIMS=1536
```

В RouterAI модель эмбеддингов нужно писать с префиксом поставщика: без него запрос возвращает 400 «Model not found». Размерность должна соответствовать модели. Проверка на живой службе через встроенную диагностику:

| Модель эмбеддингов | VRIO_MEMORY_EMBEDDING_DIMS | Результат |
| ------------------ | -------------------------- | --------- |
| `openai/text-embedding-3-small` | 1536 | работает |
| `openai/text-embedding-3-large` | 3072 | работает |
| `google/gemini-embedding-001` | 3072 | работает |
| `qwen/qwen3-embedding-8b` | 4096 или 1536 | ошибка 400 «Tokenized input is not supported» |

Модель `qwen/qwen3-embedding-8b` напрямую через `/api/v1/embeddings` отвечает, но Vrio 0.2.0 запрашивает её способом, который она не принимает, поэтому берите OpenAI или Gemini. Если указать неверную размерность (например, 3072 для `text-embedding-3-small`), диагностика покажет ошибку провайдера. После смены модели эмбеддингов или размерности проверьте диагностику заново.

### Claude: по OpenAI-совместимому адресу {#claude}

В `.env` есть режим `VRIO_LLM_PROVIDER=anthropic` с прямым ключом Anthropic (строки `VRIO_CLAUDE_MODEL` и `VRIO_ANTHROPIC_API_KEY`). Строки с адресом сервера для этого режима в `.env` нет, и документация её не описывает. Поэтому Claude через RouterAI подключайте как обычную OpenAI-совместимую модель: `VRIO_LLM_MODEL=anthropic/claude-sonnet-5.5` и `VRIO_LLM_BASE_URL=https://routerai.ru/api/v1`, как в примере выше. Сам RouterAI при этом принимает и запросы формата Anthropic Messages API по адресу `https://routerai.ru/api`.

### Каталог моделей (Pro) {#catalog}

В редакции Pro разным сотрудникам можно назначать разные модели: бухгалтерам быструю и дешёвую, разработчикам мощную. В `.env` комплекта уже стоит `VRIO_MODEL_AUTHORITY=catalog`: сотрудник без назначенной модели отвечает моделью из `VRIO_LLM_*`. В консоли: раздел «Модели», а в командной строке:

```bash
docker compose exec agent python -m vrio_agent.admin.model_admin add-model \
  --id fast --provider openai_compatible --model anthropic/claude-haiku-5.5 \
  --title "Быстрая" --base-url https://routerai.ru/api/v1 --secret sk-xxxxxxxxxxxxxxxx
```

Отдельного типа провайдера `routerai` у Vrio нет: `--provider` принимает только `openai_compatible` и `anthropic`, RouterAI подключается как `openai_compatible` с `--base-url https://routerai.ru/api/v1`. Поле «размышления» (`--reasoning off|low|medium|high`) по документации передаётся моделям, подключённым через RouterAI или OpenRouter. Добавленные модели подхватываются после `docker compose restart agent`, назначения сотрудникам — при следующем открытии 1С. В свободной редакции раздел «Модели» открывается с сообщением «Раздел доступен в редакции Pro», а командная строка отвечает `model_catalog is not available in this edition`. Я проверил это на живой службе, но добавить модель в каталог без ключа Pro не удалось, поэтому команда выше взята из документации вендора.

![Раздел «Модели» в веб-консоли свободной редакции: доступен только в Pro](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/31c19b9980616252062b095ff06b4d84.png)

## Выбор модели {#vybor-modeli}

Цены — рубли за 1 млн токенов по данным каталога RouterAI на 3 ноября 2026 года, актуальные значения смотрите в [каталоге](/models). Агент работает по шагам, поэтому на один вопрос приходится несколько обращений к модели.

| Модель | Контекст | Ввод / вывод, ₽ за 1 млн | Для чего |
| ------ | -------- | ------------------------ | -------- |
| `anthropic/claude-sonnet-5.5` | 1 000 000 | 210,53 / 1052,65 | Сложные запросы, обработки и код 1С; основная модель |
| `anthropic/claude-haiku-5.5` | 1 000 000 | 10,53 / 52,63 | Быстрые вопросы по данным для бухгалтерии |
| `deepseek/deepseek-v4-flash` | 1 048 576 | 10,00 / 20,00 | Дешёвые массовые вопросы |
| `openai/gpt-5.4-mini` | 400 000 | 78,95 / 473,69 | Универсальная компактная модель |
| `openai/text-embedding-3-small` | 8 192 | 2,11 / — | Эмбеддинги для памяти агента, 1536 измерений |

## Веб-консоль и проверка подключения {#proverka}

Создайте администратора консоли (пароль команда спросит сама):

```bash
docker compose exec agent python -m vrio_agent.admin.user_admin create-admin --username admin
```

Консоль открывается по адресу `http://127.0.0.1:8765/console` только с самого сервера. Без графической оболочки пробросьте порт: `ssh -L 8765:127.0.0.1:8765 <пользователь>@<адрес сервера>`. Вход — под созданной учётной записью.

![Страница входа в веб-консоль Vrio](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/fce49bcd90e41dd196a2f455364852d2.png)

Откройте раздел «Диагностика» и нажмите «Проверить всё». Проверка отправляет запрос в несколько токенов каждой включённой модели и проверяет память. Ожидаемый результат: модель ответила («`anthropic/claude-sonnet-5.5` ответила за …»), эмбеддинги работают и размерность векторов совпадает с настройкой, хранилище памяти отвечает на поиск.

![Раздел «Диагностика» в веб-консоли: модель и память агента работают](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/36084051b1fda48cc33871efb2b6ab91.png)

То же самое можно сделать из терминала, например в скрипте приёмки:

```bash
docker compose exec agent python -m vrio_agent.diagnostics.cli
```

![Диагностика Vrio в терминале: модель отвечает, эмбеддинги 1536-мерные](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/5ec1acbbe17e30a2860c1e8fc403783f.png)

Остальная установка делается в 1С: скачайте `Vrio.cfe` в консоли (раздел «Информационные базы», карточка «Расширение для 1С»), загрузите его в Конфигураторе как расширение, снимите галку «Безопасный режим», примените конфигурацию по F7 и выдайте сотрудникам роли «Пользователь агента» и «Выполнение произвольных операций». Подробный порядок, включая регистрацию базы, описан в [инструкции вендора](https://vrio.itworks.group/docs/install/). Чат внутри 1С я не проверял: платформа 1С в Docker не запускается.

## Что уходит в модель {#privacy}

Журнал действий, переписка и память хранятся в вашей установке Vrio. За периметр уходит только то, что отправляется в языковую модель, то есть в RouterAI. Для памяти служба обращается к модели эмбеддингов, то есть тоже к RouterAI. В редакции Pro есть настройка базы, которая заменяет ФИО, ИНН физлица, СНИЛС, телефон и другие персональные данные метками перед отправкой в модель. Подробности — в разделе вендора о [безопасности](https://vrio.itworks.group/docs/security/).

## Решение проблем {#problemy}

* **Служба не запускается, в журнале `unable to parse string as an integer`.** Пустое `VRIO_CONTEXT_WINDOW_TOKENS`. Впишите число из каталога или 32768.
* **`/health` отвечает, но чат пишет о внутренней ошибке.** `.env` не заполнен или не применён: проверьте `printenv`, затем выполните `docker compose up -d`.
* **Ошибка 401 в диагностике.** Неверный ключ или нулевой баланс: проверьте их в личном кабинете RouterAI.
* **Ошибка 400 «Model not found» у эмбеддингов.** В `VRIO_MEMORY_EMBEDDING_MODEL` нет префикса поставщика: нужно `openai/text-embedding-3-small`, а не `text-embedding-3-small`.
* **Диагностика памяти ругается на размерность.** `VRIO_MEMORY_EMBEDDING_DIMS` не соответствует модели: 1536 для `text-embedding-3-small`, 3072 для `text-embedding-3-large` и `gemini-embedding-001`.
* **Раздел консоли открывается с ошибкой.** Он входит в Pro или отключён в `.env`; состав модулей виден внизу раздела «Лицензия».

## Что дальше {#chto-dalshe}

* [Каталог моделей RouterAI](/models) — id, контекст и цены в рублях.
* Vrio работает и как MCP-сервер для Claude Code и Codex (входит в свободную редакцию): [Claude Code через RouterAI](/pages/vibe-coding-claude-code) и [инструкция вендора](https://vrio.itworks.group/docs/external-access/).
* [AnythingLLM через RouterAI](/pages/anythingllm-routerai) — другой пример подключения эмбеддингов RouterAI.
* [Документация Vrio](https://vrio.itworks.group/docs/install/) и [описание веб-консоли](https://vrio.itworks.group/docs/admin-console/).
