Опубликовано
Локальное зрение для Hermes Agent в закрытом контуре
Автор: Гусев Николай [портфолио]
Дата обновления не указана в исходнике.
Темы: vision, local-models, security
Локальное зрение для Hermes Agent в закрытом контуре
Сложность: низкая
Зачем личному ассистенту видеть экран
Hermes Agent может работать с текстом, командами и данными, но для полноценного личного ассистента этого мало. Когда я документирую интерфейс, разбираю скан или проверяю схему, важная часть контекста находится на экране. Агенту нужно видеть тот же материал, который вижу я.
Облачная модель решает эту задачу технически, но требует отправить изображение на внешний сервер. В закрытом контуре такой маршрут часто запрещён. На скриншоте могут оказаться персональные данные, внутренние адреса, элементы архитектуры и другие сведения, которые нельзя передавать вовне.
Я решил оставить весь путь изображения внутри машины. Для этого поставил LFM2.5-VL-3B в LM Studio. Это зрительно-языковая модель на 3,1 млрд параметров в формате GGUF, файл занимает около 3 ГБ. Я запускаю модель и снимаю чистый скриншот, а Hermes Agent передаёт изображение на локальный адрес, видит содержимое и готовит описание. Ни скриншот, ни запрос не покидают контур.
Как устроен локальный вызов
LM Studio поднимает OpenAI-совместимый сервер на 127.0.0.1:1234. Изображение передаётся как строка data:image/png;base64,<b64>, рядом идёт текстовая инструкция. Например, после запуска сервера в LM Studio я могу обратиться к модели из PowerShell так:
$body = @{
model = "lfm2.5-vl-3b"
temperature = 0.2
max_tokens = 300
messages = @(@{
role = "user"
content = @(
@{ type = "text"; text = "Опиши разделы, поля и элементы управления на экране" }
@{ type = "image_url"; image_url = @{ url = "data:image/png;base64,<b64>" } }
)
})
} | ConvertTo-Json -Depth 8
Invoke-RestMethod -Method Post -Uri "http://127.0.0.1:1234/v1/chat/completions" -ContentType "application/json" -Body $body
Роли здесь разделены намеренно. Я устанавливаю и запускаю модель, выбираю область окна и делаю снимок. Hermes Agent отправляет снимок только на локальный сервер, читает ответ модели и использует его в дальнейшей работе. Модель отвечает на вопрос о том, что находится на экране. Сам агент решает, как проверить результат и какое действие выполнить.
Что можно собрать на этом стеке
Первый рабочий сценарий - документирование интерфейсов. Я снимаю окно, а Hermes Agent получает описание разделов, форм, полей и типов элементов управления. На реальном интерфейсе модель смогла определить раздел и форму, перечислить текстовые поля, поля выбора и пароль, а также прочитать варианты в выпадающих списках. Из таких ответов агент готовит подписи к скриншотам и черновик документации без передачи изображений в облако.
Второй сценарий - OCR и чтение сканов. Страницу документа можно преобразовать в изображение и передать той же локальной модели. Hermes Agent извлекает содержание, находит нужные фрагменты и помогает собрать структурированный результат. Это полезно там, где внешний сервис распознавания использовать нельзя.
Третий сценарий - контроль качества скриншотов. Перед публикацией или передачей материалов Hermes Agent проверяет, видны ли нужные блоки, не перекрыты ли элементы и не попала ли в кадр лишняя область. Такая проверка остаётся на той же машине, где сделан снимок.
В каждом случае путь одинаков: локальный захват создаёт изображение, LFM2.5-VL-3B описывает его через сервер на 127.0.0.1:1234, затем Hermes Agent проверяет ответ и включает его в документ, результат OCR или отчёт о качестве. Получается замкнутый конвейер без промежуточного облачного сервиса.
Такой локальный подход дополняет другой проект - PII Guard (pii-guard.ru). Его принцип тот же: данные обрабатываются локально, а не отдаются на сторону. PII Guard распознаёт и обезличивает персональные данные до того, как они попадут к внешним сервисам: телефоны, почты, ФИО, адреса, номера документов и другие чувствительные значения находят в тексте, картинках, вложениях и даже в архивах, не пропуская наружу содержимое репозиториев и кода. Вместе с локальным зрением это позволяет Hermes Agent работать в закрытом контуре целиком: изображение не уходит за пределы машины, личные данные не отправляются для обработки вовне, а пайплайн строится под требования 152-ФЗ. Если вам нужно локально защищать данные - текст, изображения, вложения, архивы - и не выпускать их из контура, PII Guard закрывает эту часть, а локальная vision-модель добавляет зрение без облака. Подробнее про обезличивание - на сайте pii-guard.ru.
Что модель понимает на изображениях
Я проверяю локальное зрение на разных типах материалов. Три изображения показывают, какую именно работу можно поручить модели.
Сцена в жанре научной фантастики с космической станцией и голографическим интерфейсом проверяет понимание целой визуальной сцены. Модель должна связать объекты и описать происходящее, а не просто распознать отдельные надписи.
Пиратская карта с маршрутами, компасом и отметкой клада иллюстрирует чтение графического документа. Здесь важны условные знаки, их расположение и связь между частями рисунка.
Схема авторизации ALD Pro проверяет чтение технической топологии. Модель прослеживает путь между рабочим местом, контроллерами домена, доверительной связью, LDAP/389-DS и ресурсом. Такой пример ближе всего к повседневной работе с архитектурной документацией: смысл задают подписи и соединения между блоками.
Где нужна проверка
LFM2.5-VL-3B хорошо описывает экран, но не должна самостоятельно выбирать координаты для клика. В проверенном примере координата по горизонтали оказалась близкой к реальной, а по вертикали промахнулась примерно в два раза. Поэтому Hermes Agent берёт точный элемент и координаты из AX-дерева, а локальную модель использует как читателя, который подтверждает содержимое экрана.
Короткие точные строки тоже требуют отдельной проверки. Модель может превратить INT-6515 в INT-651S или неверно прочитать сокращение ПМИ. Jira-ключи, идентификаторы и другие значения, где важен каждый знак, Hermes Agent сверяет регулярным выражением или поиском по исходным данным.
На RTX 4060 модель выдаёт около 10-20 токенов в секунду, первый ответ начинается примерно через секунду. Этого достаточно для последовательного разбора одного экрана, но не для одновременной обработки большой пачки потоков. Если экран перегружен данными, точность также падает, поэтому сложный материал лучше делить на отдельные области и проверять по частям.
Итог
Локальная LFM2.5-VL-3B даёт Hermes Agent зрение там, где скриншоты и документы нельзя отправлять наружу. Я отвечаю за установку модели и получение изображения. Hermes Agent видит экран, описывает его, проверяет точные данные и продолжает работу как личный ассистент.
Такой подход не требует менять весь стек. Достаточно локального сервера LM Studio с OpenAI-совместимым интерфейсом и понятного разделения ответственности. Модель читает изображение, AX-дерево даёт надёжные элементы для действий, а проверки защищают от ошибок в коротких строках. В результате документирование интерфейсов, чтение сканов и контроль скриншотов работают внутри закрытого контура.
🌐 hermes-agent.ru
ℹ️ Хотите попробовать, но нет времени разбираться? Напишите в контакты на сайте - поможем с настройкой и подбором сценария под ваши задачи.