Hermes Agent поддерживает мультимодальное распознавание (Vision) — вы можете вставлять изображения из буфера обмена прямо в CLI и просить агента анализировать, описывать или работать с ними. Изображения отправляются модели в виде блоков контента, закодированных в base64, поэтому любая модель с поддержкой Vision может их обработать.
Как это работает
Скопируйте изображение в буфер обмена (скриншот, изображение из браузера и т.д.)
Прикрепите его одним из способов, описанных ниже
Введите ваш вопрос и нажмите Enter
Изображение отобразится в виде значка [📎 Image #1] над строкой ввода
После отправки изображение передаётся модели как блок контента Vision
Вы можете прикрепить несколько изображений перед отправкой — каждое получит свой значок. Нажмите Ctrl+C, чтобы очистить все прикреплённые изображения.
Изображения сохраняются в ~/.hermes/images/ в виде PNG-файлов с именами, содержащими временную метку.
Методы вставки
Способ прикрепления изображения зависит от вашего терминального окружения. Не все методы работают везде — ниже приведена полная информация:
Команда /paste
Самый надёжный явный способ прикрепления изображения.
/paste
Введите /paste и нажмите Enter. Hermes проверяет буфер обмена на наличие изображения и прикрепляет его. Это самый безопасный вариант, когда ваш терминал перехватывает Cmd+V/Ctrl+V или когда вы скопировали только изображение и нет текстовой полезной нагрузки для анализа.
Ctrl+V / Cmd+V
Hermes теперь обрабатывает вставку как многоуровневый процесс:
сначала обычная вставка текста
затем резервный механизм — родной буфер обмена / OSC52 текст, если терминал не передал текст корректно
прикрепление изображения, когда буфер обмена или вставленные данные содержат изображение или путь к изображению
Это означает, что вставленные временные пути скриншотов macOS и URI изображений вида file://... могут прикрепляться сразу, а не оставаться в редакторе как обычный текст.
Если в вашем буфере обмена **только изображение** (без текста), терминалы всё равно не могут напрямую отправлять бинарные данные изображения. Используйте `/paste` как явный способ прикрепления изображения.
/terminal-setup для VS Code / Cursor / Windsurf
Если вы запускаете TUI в локальном интегрированном терминале VS Code-семейства на macOS, Hermes может установить рекомендуемые привязки workbench.action.terminal.sendSequence для улучшенной поддержки многострочного ввода и undo/redo:
/terminal-setup
Это особенно полезно, когда Cmd+Enter, Cmd+Z или Shift+Cmd+Z перехватываются IDE. Запускайте эту команду только на локальной машине — не внутри SSH-сессии.
Совместимость с платформами
Окружение
/paste
Cmd/Ctrl+V
/terminal-setup
Примечания
macOS Terminal / iTerm2
✅
✅
n/a
Лучший опыт — родной буфер обмена + восстановление пути к скриншоту
Apple Terminal
✅
✅
n/a
Если Cmd+←/→/⌫ перехватываются, используйте Ctrl+A / Ctrl+E / Ctrl+U как запасной вариант
Linux X11 desktop
✅
✅
n/a
Требуется xclip (apt install xclip)
Linux Wayland desktop
✅
✅
n/a
Требуется wl-paste (apt install wl-clipboard)
WSL2 (Windows Terminal)
✅
✅
n/a
Использует powershell.exe — дополнительная установка не требуется
VS Code / Cursor / Windsurf (локальный)
✅
✅
✅
Рекомендуется для лучшей поддержки Cmd+Enter / undo / redo
VS Code / Cursor / Windsurf (SSH)
❌²
❌²
❌³
Запустите /terminal-setup на локальной машине
SSH терминал (любой)
❌²
❌²
n/a
Удалённый буфер обмена недоступен
² См. SSH и удалённые сессии ниже
³ Команда записывает локальные привязки клавиш IDE и не должна запускаться на удалённом хосте
Настройка для конкретных платформ
macOS
Никакой дополнительной настройки не требуется. Hermes использует osascript (встроенный в macOS) для чтения буфера обмена. Для более быстрой работы можно установить pngpaste:
Дополнительная настройка не требуется. Hermes автоматически определяет WSL2 (через /proc/version) и использует powershell.exe для доступа к буферу обмена Windows через .NET System.Windows.Forms.Clipboard. Это встроено в механизм взаимодействия WSL2 с Windows — powershell.exe доступен по умолчанию.
Данные буфера обмена передаются как изображение PNG, закодированное в base64, через stdout, поэтому преобразование путей к файлам или временные файлы не требуются.
info Примечание о WSLg
Если вы используете WSLg (WSL2 с поддержкой GUI), Hermes сначала пробует путь через PowerShell, а затем переключается на wl-paste. Мост буфера обмена WSLg поддерживает только формат BMP для изображений — Hermes автоматически конвертирует BMP в PNG с помощью Pillow (если установлен) или команды convert из ImageMagick.
Проверка доступа к буферу обмена WSL2
# 1. Проверка определения WSL
grep-imicrosoft/proc/version
# 2. Проверка доступности PowerShell
whichpowershell.exe
# 3. Скопируйте изображение, затем проверьте
powershell.exe-NoProfile-Command"Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Clipboard]::ContainsImage()"# Должно вывести "True"
SSH и удалённые сессии
Вставка изображений из буфера обмена не полностью работает через SSH. Когда вы подключаетесь по SSH к удалённой машине, CLI Hermes запускается на удалённом хосте. Инструменты для работы с буфером обмена (xclip, wl-paste, powershell.exe, osascript) читают буфер обмена той машины, на которой они запущены — то есть удалённого сервера, а не вашей локальной машины. Поэтому ваше локальное изображение из буфера обмена недоступно с удалённой стороны.
Текст иногда может передаваться через вставку в терминале или OSC52, но доступ к изображениям из буфера обмена и локальные временные пути скриншотов остаются привязанными к машине, на которой запущен Hermes.
Обходные пути для SSH
Загрузите файл изображения — Сохраните изображение локально, загрузите его на удалённый сервер через scp, проводник VSCode (перетаскиванием) или любой другой способ передачи файлов. Затем укажите путь к нему. (Команда /attach <filepath> запланирована в одном из будущих релизов.)
Используйте URL — Если изображение доступно онлайн, просто вставьте URL в ваше сообщение. Агент может использовать vision_analyze для просмотра любого изображения по URL напрямую.
X11 forwarding — Подключитесь с ssh -X для перенаправления X11. Это позволит xclip на удалённой машине получить доступ к вашему локальному X11 буферу обмена. Требуется локальный X сервер (XQuartz на macOS, встроенный в Linux X11 desktop). Медленно для больших изображений.
Используйте мессенджеры — Отправляйте изображения Hermes через Telegram, Discord, Slack или WhatsApp. Эти платформы поддерживают загрузку изображений нативно и не подвержены ограничениям буфера обмена/терминала.
Почему терминалы не могут вставлять изображения
Это частый источник путаницы, поэтому вот техническое объяснение:
Терминалы — это текстовые интерфейсы. Когда вы нажимаете Ctrl+V (или Cmd+V), эмулятор терминала:
Отправляет его приложению через текстовый поток терминала
Если буфер обмена содержит только изображение (без текста), терминалу нечего отправлять. Не существует стандартной escape-последовательности для бинарных данных изображения. Терминал просто ничего не делает.
Вот почему Hermes использует отдельную проверку буфера обмена — вместо получения данных изображения через событие вставки в терминале, он напрямую вызывает инструменты уровня ОС (osascript, powershell.exe, xclip, wl-paste) через подпроцесс для независимого чтения буфера обмена.
Поддерживаемые модели
Вставка изображений работает с любой моделью, поддерживающей Vision. Изображение отправляется в виде data URL, закодированного в base64, в формате контента OpenAI Vision:
Большинство современных моделей поддерживают этот формат, включая GPT-4 Vision, Claude (с Vision), Gemini и open-source мультимодальные модели, доступные через OpenRouter.
Маршрутизация изображений (модели с Vision vs только текст)
Когда пользователь прикрепляет изображение — из буфера обмена CLI, через шлюз (Telegram/Discord фото) или любой другой вход — Hermes маршрутизирует его в зависимости от того, поддерживает ли ваша текущая модель Vision:
Ваша модель
Что происходит с изображением
С поддержкой Vision (GPT-4V, Claude с Vision, Gemini, Qwen-VL, MiMo-VL и др.)
Отправляется как реальные пиксели с использованием родного формата контента провайдера, указанного выше. Без текстовой сводки.
Только текст (DeepSeek V3, маленькие open-source модели, старые endpoints только для чатов)
Маршрутизируется через вспомогательный инструмент vision_analyze — вспомогательная модель Vision описывает изображение, и текстовое описание вставляется в диалог.
Вам не нужно это настраивать — Hermes проверяет возможности вашей текущей модели в метаданных провайдера и автоматически выбирает правильный путь. Практический эффект: вы можете переключаться между моделями с Vision и без неё в середине сессии, и обработка изображений «просто работает» без изменения вашего рабочего процесса. Модели только для текста получают связный контекст об изображении вместо повреждённой мультимодальной полезной нагрузки, которую они были бы вынуждены отклонить.
Какая вспомогательная модель обрабатывает путь текстового описания, настраивается в разделе auxiliary.vision — см. Вспомогательные модели.