For the complete documentation index, see llms.txt. This page is also available as Markdown.

Установка

Предварительные требования

  1. Docker Engine или Docker Desktop запущен

  2. LM Studio запущен с моделью Qwen3-Embedding (рекомендуется; без него используется встроенная CPU-модель — если EMBEDDING_API_BASE не задан явно или задан EMBEDDING_ALLOW_OFFLINE_FALLBACK=true)

  3. Платформа 1С:Предприятие — опционально, если нужна справка именно вашей версии

Создание папки для индекса

New-Item -ItemType Directory -Force -Path "E:\bases\mcp_docs"

Путь E:\bases\mcp_docs — это пример. Используйте любой удобный путь на вашем компьютере.

Команды запуска

С LM Studio (рекомендуется)

docker run -d -p 8003:8003 `
  --name 1c_help_mcp `
  -e LICENSE_KEY=YOUR_LICENSE_KEY `
  -e EMBEDDING_API_BASE=http://host.docker.internal:1234/v1 `
  -e EMBEDDING_API_KEY=lm-studio `
  -e EMBEDDING_MODEL=Qwen3-Embedding-4B `
  -v "E:/bases/mcp_docs:/app/index" `
  -v "E:/bases/mcp_model_cache:/app/model_cache" `
  comol/1c_help_mcp:latest

С CPU (без GPU)

Справка своей версии платформы

Архив синтакс-помощника shcntx_ru.hbk поставляется вместе с образом, поэтому сервер работает и без установленной платформы. Чтобы индексировать справку вашей версии, смонтируйте папку bin и укажите на неё 1C_BIN_PATH.

Поиск папки bin

Типичные пути:

  • C:\Program Files\1cv8\8.3.23.1997\bin

  • C:\Program Files (x86)\1cv8\8.3.23.1997\bin

Запуск со своей справкой

Первый запуск

Что происходит

  1. Скачивание образа (~3,5 ГБ для latest, ~120 МБ для light)

  2. HTTP-сервер поднимается сразу — /health, /ready и tools/list отвечают с первой секунды, холодный старт никогда не выглядит как закрытый порт

  3. Загрузка embedding-модели (в полном образе она уже внутри)

  4. Индексация корпусов — справка платформы, руководства, спецификации форматов, стандарты (см. таблицу ниже)

  5. Новое поколение индекса проверяется и начинает обслуживать запросы без перезапуска процесса

Пока индекс строится впервые, docsearch и docinfo отвечают статусом indexing с прогрессом — это не ошибка. Ничего не разрушается: упавшая сборка уходит в index/quarantine, а обслуживать продолжает предыдущее поколение.

Ожидаемое время индексации

Режим
Время индексации

CPU (e5-small)

10-20 часов

CPU (e5-base)

15-30 часов

GPU (Qwen-4B через LM Studio)

2-4 часа

Мониторинг прогресса

/ready возвращает starting, indexing, ready или degraded. 200 и ready он отдаёт, пока запросы обслуживает полное поколение индекса, — с 03.10.2026 в том числе во время пересборки и после её сбоя; что делает пересборка (indexing с прогрессом или degraded с причиной в failure), показывает поле rebuild. 503 — когда отвечать нечем (первая сборка ещё идёт или упала) или поколение потеряло документы. HEALTHCHECK образа обращается именно к нему, поэтому контейнер, который продолжает отвечать из прежнего поколения, не помечается unhealthy.

Миграция со старого индекса (chroma_db)

Сервер больше не использует ChromaDB: индекс лежит в /app/index поколениями. Если у вас том со старым индексом в chroma_db (образы до 27.09.2026), перенесите его разовой командой — переиндексация не нужна, векторы переносятся как есть:

Старый том читается через копию и остаётся байт-в-байт прежним; удалить его (флагом --remove-legacy) можно только после того, как построенное из него поколение стало обслуживающим.

Если старого индекса нет — этот шаг не нужен, сервер соберёт индекс с нуля.

Последующие запуски

RESET_DATABASE по умолчанию false — индекс при старте не разрушается. Ставьте true, только когда индекс нужно построить заново с нуля.

Обновление справки

При обновлении версии платформы 1С достаточно перемонтировать новую папку bin: сервер увидит, что содержимое корпуса изменилось, и пересоберёт индекс в staging-поколении, продолжая отвечать из текущего.

Установка в закрытом контуре

Для контура без доступа в интернет существует offline bundle — автономная поставка, где колёса Python, embedding-модель, корпус и приложение лежат в одном каталоге с манифестом контрольных сумм и SBOM. Установка и запуск не делают ни одного сетевого обращения, а отсутствующий артефакт называется по имени, а не докачивается.

Bundle разворачивается без Docker:

Требования к машине (та же ОС, архитектура и версия CPython, что записаны в manifest.json) проверяются установщиком: несовпадение отклоняется, а не обходится. Bundle предоставляется по запросу.

Проверка работы

Настройка Cursor

  1. Откройте %APPDATA%\Cursor\User\globalStorage\mcp.json

  2. Добавьте конфигурацию сервера

  3. Перезапустите Cursor

  4. Задайте вопрос о методах 1С

Устранение проблем

Контейнер не запускается

Самая частая причина — не задан LICENSE_KEY: без него сервер завершает работу.

/ready отвечает degraded

Отвечать нечем: первая сборка индекса упала, или обслуживающее поколение потеряло документы. Смотрите журнал: запись о падении содержит шаг, на котором сборка остановилась, и полную трассировку. Если упала пересборка, а прежнее полное поколение продолжает отвечать, /ready с 03.10.2026 отвечает 200 и ready, а сбой виден в поле rebuild ("state": "degraded" и failure).

В том числе так выглядит незагрузившаяся embedding-модель: неверен EMBEDDING_API_KEY или модель, в полном образе нет модели в кэше HF_HOME. Если EMBEDDING_API_BASE задан, но просто недоступен, сервер с 27.09.2026 не переходит в degraded, а ждёт API с повторами (строки retrying in N s в журнале). Процесс при этом не завершается; причина — в поле failure ответа /ready и в журнале на шаге «initializing the embedding model».

Ошибка подключения к LM Studio

  1. Убедитесь, что LM Studio Server запущен

  2. Проверьте порт 1234

  3. Используйте host.docker.internal вместо localhost

Модель скачивается заново при каждом старте

Проверьте, что не задан RESET_CACHE=true, и что смонтирован том в /app/model_cache.

Last updated