Agent Tool

Как дать ИИ-агенту безопасное управление шлюзом

Пакет для агента дает локальным ИИ-инструментам контролируемый способ читать состояние, тестировать настройки, добавлять Modbus-устройства, выпускать agent token и выполнять обслуживание только с явным подтверждением.

Скачать

Tool

Python CLI для локального HTTP API шлюза.

Скачать Tool одним ZIP

Скачать gateway_agent_tool.py

Скачать обязательный gateway_hil_contract.py

Skill

Инструкции для ИИ-агентов, которые поддерживают skills.

Скачать Skill одним ZIP

Скачать SKILL.md

Скачать openai.yaml

Скачать api.md

Остальные тематические reference-файлы находятся рядом в каталоге references/.

Что умеет пакет

  • читать состояние шлюза и диагностику;
  • проверять авторизацию без раскрытия секретов;
  • создавать и удалять один Bearer token для агента;
  • вызывать документированные API для настройки и добавления Modbus-устройств;
  • находить соседние шлюзы через device-side mDNS и готовить TCP-туннель по .local;
  • конвертировать/проверять/импортировать модели СПОДЭС/DLMS и явно переключать владельца линии;
  • просматривать дерево журналов и безопасно скачивать бинарные CBOR-файлы;
  • загружать прошивку, перезагружать или сбрасывать шлюз только с явным подтверждением.

Для каких ИИ это подходит

Пакет не привязан к конкретной модели. Он подходит любому ИИ-агенту, который может работать с локальными файлами, запускать локальную CLI-команду или вызывать локальный HTTP tool с компьютера оператора.

  • Хорошо подходит для Codex, Claude Code, Cursor, Continue и локальных agent framework.
  • ChatGPT и другие hosted-модели могут использовать пакет только через локальный connector, MCP server или tool runner.
  • Обычный чат без доступа к локальной сети и без запуска команд не сможет управлять шлюзом напрямую.

Что поставить локально

  1. Python 3.10 или новее на компьютере оператора.
  2. Файлы gateway_agent_tool.py и gateway_hil_contract.py в одном каталоге.
  3. Доступ с этого компьютера к веб-интерфейсу шлюза, например http://192.168.1.85.
  4. Локальные admin-credentials только для первичного выпуска agent token.
  5. Сам token хранить в переменной окружения или локальном секрет-хранилище, а не в исходном коде.
python gateway_agent_tool.py --base-url http://192.168.1.85 --username admin --password admin rotate-token --scopes read,test,configure

set GATEWAY_BASE_URL=http://192.168.1.85
set GATEWAY_AGENT_TOKEN=<token returned once>
python gateway_agent_tool.py status

Как установить Skill

Создайте папку umec-gateway-agent в каталоге skills вашего ИИ-инструмента, затем сохраните структуру пакета: SKILL.md, agents/openai.yaml и все файлы references/*.md.

umec-gateway-agent/
  SKILL.md
  agents/openai.yaml
  references/api.md

Какие готовые сценарии знает Tool

ЗадачаКомандаПроверка
Peers для туннеляdiscover-peersHostname, IPv4, ID и отсутствие is_self.
Владельцы RS-485fieldbus-linesСохранённый протокол и runtime owner по каждой линии.
Модель СПОДЭСconvert-wb-dlms-template, validate-dlms-template, import-dlms-deviceValidation до записи и export/read-back после import.
Смена протоколаset-fieldbus-linePreview по умолчанию; Apply только с точным gate и read-back.
Pollingset-line-pollingGET до и после явного enable/disable.
CBORlist-modbus-logs, download-modbus-logОграниченный список, безопасный относительный путь и совпадение размера.

СПОДЭС/DLMS в текущем релизе read-only. Tool не превращает совместимый HTTP endpoint команд в разрешение писать в счётчик. MQTT threshold и forced interval применяются одинаково в Generic и UMEC.

Безопасный порядок работы

  1. Сначала попросите агента прочитать /api/status и /api/auth/session.
  2. Перед изменением настроек агент должен показать endpoint и краткое содержание payload.
  3. Для обычной работы используйте token без scope dangerous.
  4. Scope dangerous выдавайте только на окно обслуживания.
  5. Для OTA, reboot и factory reset требуйте соответствующий --confirm.

Примеры

python gateway_agent_tool.py session
python gateway_agent_tool.py get /api/modbus/devices
python gateway_agent_tool.py discover-peers
python gateway_agent_tool.py fieldbus-lines
python gateway_agent_tool.py dlms-status --line-id 2
python gateway_agent_tool.py list-modbus-logs --storage auto --path "" --max 500
python gateway_agent_tool.py add-device --json @device.json
python gateway_agent_tool.py upload-firmware firmware.bin --confirm update --timeout 240