Skip to content

Repository files navigation

«Периметр» — локальный AI-работник для компаний СНГ

Агент по данным 1С, работающий полностью локально: инференс GLM-5.2 (744B MoE) с диска через colibri, интеграция с 1С:Предприятие 8.3 по стандартному OData. Никаких внешних API — железное правило №0 (воздушный зазор) закреплено конфигом, рантайм-защитой (netguard) и CI (статический скан + прогон в netns без интернета).

Возможности

  • «Найди все непроведённые реализации за июль по контрагенту X»
  • «Сверка: что мы отгрузили ООО "Ромашка", но не получили оплату»
  • «Подготовь черновик счёта на основании прошлого заказа»

Ответы всегда со ссылками на документы («№РТ-0002 от 10.07.2026»). Агент никогда не изменяет данные в 1С без подтверждения человека: доступно только создание черновиков, проведение — вручную в 1С. Все действия — в append-only аудит-журнале (var/audit.log).

Быстрый старт

# 1. Установка: собирает движок из vendor/, скачивает модель, готовит конфиг
./tools/install.sh                    # или --model qwen для Qwen3-30B-A3B

# 2. Доступ к 1С: хосты и пользователь
$EDITOR config/perimeter.yaml         # создан установщиком из perimeter.example.yaml
export PERIMETER_1C_PASSWORD=…        # пароль пользователя ИБ (не в конфиге!)

# 3. Запуск (inference + агент + UI на http://127.0.0.1:8091)
python3 run_perimeter.py

Интернет нужен только при установке — для пакетов сборки и весов модели. Для закрытого контура: выполните установку на машине с доступом и перенесите каталог целиком (веса лежат в models/).

Требования: Python 3.12+, gcc/make. Для GLM-5.2 — NVMe от 500 ГБ и оперативная память, которая и определяет скорость: 32 ГБ хватает только «посмотреть» (замерено: 0,07 ток/с), для рабочего режима нужны 128 ГБ. Измерения и методика — docs/hardware.md. Runtime-зависимостей pip нет — всё в vendor/.

Подключение к 1С

Два канала, оба без доработки конфигурации:

  1. OData — штатный интерфейс платформы 8.3; нужна публикация базы на веб-сервере.

  2. Обратное подключение — внешняя обработка внутри сеанса 1С сама опрашивает «Периметр». Публикация не нужна, входящих соединений к 1С нет. Установка и протокол — bridge-1c/robot1c/README.md.

    Про базовые версии — не проверено. Публикация на них невозможна, поэтому обратное подключение остаётся единственным вариантом; но интерактивное открытие внешних обработок на базовой платформе ограничено, и штатный путь — регистрация в справочнике «Дополнительные отчёты и обработки». Ни то, ни другое мы на живой базовой базе не проверяли, поэтому обещать работу на базовой версии пока нельзя. См. docs/research.md.

Структура

Каталог Содержимое
core/ ядро агента (адаптация архитектуры openworker), i18n, аудит, netguard
inference/ супервизор и клиент локального OpenAI-совместимого сервера (colibri / llama.cpp)
bridge-1c/ два канала к 1С (OData и робот-обработка без публикации базы), маппинги БП 3.0 / УТ 11 / ЗУП 3.1, инструменты агента
skills/ навыки (SKILL.md, прогрессивная подгрузка)
ui/ локальный веб-UI (stdlib, без внешних ассетов)
config/ perimeter.yaml — единственное место с разрешёнными хостами
vendor/ вендореные зависимости (colibri, PyYAML) с лицензиями
docs/ research.md, STATUS.md, deps.md, hardware.md

Тесты

python3 -m pytest tests            # юнит + интеграция + e2e (мок-1С, без сети)
python3 tools/ci/airgap_scan.py    # статический скан правила №0
bash tools/ci/netns_test.sh        # прогон без интернета (netns)

Живой прогон сценариев на полной модели: PERIMETER_E2E_LLM_URL=http://127.0.0.1:8090 python3 -m pytest tests/e2e -k live.

Лицензии

Код «Периметра» — MIT (свободное и коммерческое использование). Вендорено: colibri (Apache-2.0), PyYAML (MIT); веса GLM-5.2 — MIT (zai-org). Полный реестр — docs/deps.md.

Лендинг проекта: docs/index.html (GitHub Pages).

About

Локальный AI-работник для 1С: агент + GLM-5.2 с диска, полностью в контуре заказчика. Air-gapped local AI worker for 1C with on-disk GLM-5.2 inference.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages