Документация

Гоша ИИ
для 1С

Здесь описан самостоятельный режим: расширение публикует MCP-сервер из 1С, а локальный агент подключается к нему по HTTP.

Установка расширения

  1. Скачайте актуальный файл CFE.
  2. Добавьте файл в список расширений информационной базы стандартным способом и снимите у расширения флажок «Безопасный режим»: расширение использует привилегированный режим и HTTP-запросы.
  3. Примените изменение и перезапустите пользовательские сеансы, если этого потребует 1С.

Расширение рассчитано на конфигурации на базе БСП: оно использует пользователей и группы доступа БСП.

Расширение распространяется бесплатно по лицензии MIT. Для самостоятельного режима нужен локальный агент с поддержкой MCP по HTTP.

Права доступа

Отдельно создавать профили не нужно: расширение само добавляет в справочник «Профили групп доступа» три поставляемых профиля:

Профили создаёт регламентное задание БСП «Заполнение параметров работы расширений» после установки или обновления расширения, поэтому регламентные задания в базе должны быть включены. Дальше всё штатно: включите нужных пользователей в группы доступа с этими профилями. Раздел «Гоша ИИ» видят только пользователи с ролью Гоши, а привязать к ядру можно только пользователя с профилем «Гоша ИИ: Пользователь».

Режим только чтения

Агенту можно запретить изменять данные, не настраивая права пользователя 1С: например, дать пользователя с полными правами, но только на чтение.

В этом режиме tools/list отдаёт только читающие инструменты (с readOnlyHint): query, getObject, getEventLog, listMetadata, getMetadata, listObjectHistory. Вызов любого изменяющего инструмента возвращает isError: true с текстом «Инструмент … недоступен: включён режим только чтения.». Флажок записывается сразу. Агент не может снять его сам: снять режим можно только вручную в 1С.

На свежей установке режим только чтения опубликованного HTTP-сервиса включён сразу. Если агенту нужно изменять данные, снимите флажок «Опубликованный MCP (hs/goshaai): только чтение».

Публикация HTTP-сервиса

  1. Опубликуйте информационную базу на веб-сервере средствами 1С.
  2. Включите в публикацию HTTP-сервис ГошаИИ_MCP. Его корневой URL — goshaai.
  3. Настройте аутентификацию пользователя 1С, от имени которого будет работать агент.
  4. Укажите локальному агенту адрес:
<адрес публикации 1С>/hs/goshaai/

Например, для публикации https://onec.example/base адрес MCP-сервера будет https://onec.example/base/hs/goshaai/. Сегмент hs обязателен для HTTP-сервисов 1С. Подробнее об устройстве таких адресов — в методической документации 1С.

Проверка подключения

Сервис принимает JSON-RPC 2.0 запросы методом HTTP POST. Для проверки отправьте initialize, указав логин и пароль выделенного пользователя 1С:

curl -u 'USER:PASSWORD' \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
  'https://onec.example/base/hs/goshaai/'

В ответе должны быть protocolVersion: 2025-06-18 и serverInfo.name: GoshaAI.

Контракт MCP

Транспорт — HTTP POST, формат — JSON-RPC 2.0, ответы JSON имеют тип application/json; charset=utf-8. Реализованы методы:

Сервер объявляет версию протокола 2025-06-18 и возможность tools с listChanged: false.

Доступные инструменты

Фактический список и JSON Schema всегда запрашивайте через tools/list. В текущей версии доступны:

Инструменты callExportFunction и callExportProcedure добавляются только пользователю с отдельной ролью ГошаИИ_ВызовЭкспортныхФункций. Роль учитывается, только если она включена в профиль группы доступа пользователя; роль, назначенная пользователю напрямую, не учитывается.

Лимит результатов

Инструменты query, getEventLog и listMetadata принимают необязательный аргумент limit: по умолчанию 100, не больше 1000. Другое значение — ошибка инструмента. Пагинации нет: если записей больше, результат обрезается, а вторым элементом content приходит текстовое предупреждение об обрезке. Для query лимит относится к строкам верхнего уровня, вложенные таблицы не обрезаются.

Журнал регистрации при обрезке отдаёт последние записи периода в порядке от старых к новым. Чтобы увидеть более ранние, сдвиньте to или уточните отбор.

Права и ошибки

MCP-сервер предоставляет доступ к данным в пределах прав авторизованного пользователя 1С. Для агента лучше создать отдельного пользователя и выдать ему только необходимые права.

Ошибки протокола возвращаются в объекте error: -32700 — ошибка JSON, -32600 — некорректный запрос, -32601 — неизвестный метод, -32602 — неверные параметры.

Ошибка выполнения инструмента, например неверный аргумент, отсутствие прав или ошибка запроса 1С, возвращается как обычный результат tools/call с isError: true и текстом ошибки в content.

Возможные неисправности

При входе пользователя без прав администратора появляется ошибка «Нарушение прав доступа» в модуле ГошаИИ_Транспорт.

Причина: У расширения включён флажок «Безопасный режим», и 1С не даёт ему работать в привилегированном режиме.

Что сделать: Снимите «Безопасный режим» у расширения «Гоша ИИ» в списке расширений и перезапустите сеансы.

Пользователь не видит раздел «Гоша ИИ».

Причина: У пользователя нет роли Гоши.

Что сделать: Включите пользователя в группу доступа с профилем «Гоша ИИ: Пользователь» и перезапустите его сеанс.

В справочнике «Профили групп доступа» нет профилей «Гоша ИИ: …».

Причина: Не выполнялось регламентное задание «Заполнение параметров работы расширений».

Что сделать: Включите регламентные задания в базе и дождитесь выполнения задания или запустите его вручную.

Не удаётся привязать пользователя к ядру: «…не может быть привязан к ядру».

Причина: В профиле пользователя нет роли «Гоша ИИ: пользователь».

Что сделать: Включите пользователя в группу доступа с профилем «Гоша ИИ: Пользователь».

Агент получает «недоступен: включён режим только чтения» и не изменяет данные.

Причина: Включён режим только чтения: на свежей установке для опубликованного HTTP-сервиса он включён сразу.

Что сделать: Если изменения нужны, снимите флажок «Только чтение» в карточке привязки или «Опубликованный MCP (hs/goshaai): только чтение» над списком привязок.

В tools/list нет callExportFunction и callExportProcedure.

Причина: Роль ГошаИИ_ВызовЭкспортныхФункций не входит в профиль группы доступа пользователя.

Что сделать: Включите пользователя в группу доступа с профилем «Гоша ИИ: Вызов экспортных функций».

Администратор не видит окно о новой версии.

Причина: Проверка обновлений не смогла обратиться к сайту или получила неверный ответ.

Что сделать: Посмотрите в журнале регистрации записи с событием ГошаИИ.ПроверкаОбновления: там текст ошибки.