Как обновлять выгрузку и индекс MCP-1C после изменения конфигурации
Актуальность контекста ИИ в 1С: новая выгрузка, reload_dump, периодическая пересинхронизация .bsl, dump.json и ограничения семантического поиска после правок.
Соединение с MCP-сервером установлено, поиск отвечает, но агент показывает старый метод. Такое возможно, если индекс построен по прежней выгрузке. Доступность сервера и актуальность исходников — разные свойства, которые стоит проверять отдельно.
В MCP-1C есть ручное перечитывание reload_dump, а в Расширенной и Профессиональной редакциях с v2.37.0 — периодическая пересинхронизация локальных выгрузок. В v2.42.1 уточнено обновление служебного dump.json после успешного перечитывания. Эти механизмы работают с файлами; они не выгружают конфигурацию из 1С за администратора. Источники: настройка выгрузки, reload_dump и история изменений.
В статье: три состояния, ручное обновление, периодический цикл, подтверждение актуальности.
Разделите базу, выгрузку и индекс
| Состояние | Что его обновляет |
|---|---|
| Конфигурация информационной базы | Принятый процесс загрузки и обновления в 1С |
| Каталог выгрузки | Выгрузка конфигурации в файлы |
| Индекс и сведения сервера | Перечитывание подготовленного каталога |
Если изменить форму в базе, но не обновить выгрузку, перечитывание старого каталога не принесёт новые исходники. Если выгрузку обновить, но сервер продолжит пользоваться старым индексом, поиск может не отражать её состав. Поэтому в задаче полезно сохранять версию базы и ревизию файлов, по которым работал агент.
После новой выгрузки вызовите reload_dump
Инструмент reload_dump перечитывает готовые файлы без перезапуска сервера. В Расширенной и Профессиональной редакциях он принимает base, например {"base":"test"}. За один вызов обновляется одна база. Без имени выбирается база по умолчанию, а не все подключения сразу.
В Открытой редакции база одна и аргументов у инструмента нет; он регистрируется при запуске с --dump. В платных бинарях инструмент зарегистрирован и без выгрузки, но вызов для такой базы объясняет, что перечитывать нечего. Выбирайте контракт именно своей редакции.
Ручное перечитывание удобно после завершённой правки модулей. Сначала дождитесь окончания записи выгрузки, затем вызывайте инструмент и читайте результат. Отказ нужно разбирать по указанной причине, а не принимать за успешно обновлённый контекст. Изменение только XML не вызывает перестроение BSL-индекса: инструменты, читающие XML напрямую, заново открывают каталог при каждом вызове и уже видят обновлённые файлы.
Не путайте его с system.refresh_extensions: это отдельное действие обновления кэша подключённых расширений .cfe. Различие важно при работе с несколькими базами и разными источниками модулей.
Когда полезен периодический цикл
В Расширенной и Профессиональной редакциях флаг --local-dump-resync-interval 15m включает периодическую сверку. Переменная окружения — MCP_1C_LOCAL_DUMP_RESYNC_INTERVAL. По умолчанию значение 0, и цикл выключен. Длительность задаётся с единицей, например 15m или 1h30m.
Ключевая граница: сверяются только .bsl по относительному пути, времени изменения и размеру. Изменение одного XML формы не запустит перестроение. Такая проверка также не является хешированием всего содержимого: не рассчитывайте на неё как на доказательство побайтовой идентичности.
У каждой локальной выгрузки свой таймер, но перестроения идут по одному на процесс. Если слот занят, база пропускает такт и пробует снова на следующем. Интервал поэтому не является обещанием, что каждое изменение станет видно строго через заданное число минут. Флаг для proxy://-выгрузок --dump-resync-interval имеет другую область действия.
Как подтвердить актуальность перед важным анализом
После успешного перечитывания проверьте известное изменение: найдите новый метод или прочитайте изменённый модуль. Для формы проверьте соответствующую структуру. Это содержательная проверка, что выбран нужный источник, а не только что сервер отвечает.
Начиная с v2.42.1 dump.json после успешного reload_dump сохраняет актуальные сведения о работающем сервере и индексе. При неудаче остаются данные предыдущего успешного обновления. Поэтому наличие файла само по себе не подтверждает успех последнего вызова: учитывайте его результат и историю обновления.
После перечитывания изменённых файлов семантический и гибридный поиск могут отдавать меньше попаданий, чтобы не показать соседнюю процедуру под старым именем: границы фрагментов векторного индекса могли устареть. В опубликованном поведении v2.37.0 полная выдача восстанавливается после перезапуска сервера с перестроением векторного индекса. Для обычной проверки известного имени используйте подходящий текстовый поиск; подробности сверяйте с версией своей установки.
Перед ревью обновления или важным выводом зафиксируйте входные версии, выполненное перечитывание и контрольный запрос. Это делает выводы агента воспроизводимыми и помогает отличать ошибку кода от устаревшего контекста.
Следующие темы: проверка расширения перед обновлением и Skills вместе с MCP.