Локальная модель в Hermes Agent: Ollama, Qwen и явное переключение в облако
Практическая инструкция с акцентом на границы данных: локальная Qwen через Ollama, проверочное задание с файлом, настройка облачного провайдера, переключение на один запрос или сессию и аудит вспомогательных моделей, инструментов и автоматического fallback.
Содержание

Hermes Agent можно оставить на локальной модели для обычной работы с файлами и командами, а облако подключать только для действительно сложных задач. Самый предсказуемый вариант — сначала проверить локальный маршрут, а затем сделать каждое переключение в облако осознанной командой, а не скрытым автоматическим fallback.
Ниже — полный сценарий по актуальной документации Hermes и Ollama: подключение локальной Qwen, небольшая проверяемая задача, настройка облачного провайдера, три режима переключения и проверка того, какие данные могут покинуть компьютер. Это воспроизводимая последовательность из документации, а не заявление о собственном бенчмарке на конкретном железе.
Рекомендуемая схема: локальная модель по умолчанию, облако — только по решению пользователя
| Ситуация | Что выбрать | Почему |
|---|---|---|
| Работа с локальными файлами, небольшие правки кода, обычные задачи | Локальную Ollama/Qwen | Запрос модели уходит на 127.0.0.1, поэтому граница понятна |
| Модель несколько раз неправильно вызывает инструмент | Сначала проверить модель, сервер и контекст | Ошибка может быть в формате tool call, парсере или размере контекста, а не в сложности задачи |
| Очень длинный контекст, сложное рассуждение, vision или жесткий срок | Открыть чистую сессию и явно перейти в облако | Можно получить более сильную модель, не отправляя старую приватную переписку без необходимости |
| Никакие данные не должны уходить с устройства | Только локальная модель и локальные инструменты, без fallback и облачных auxiliary-моделей | Локальная основная модель не делает офлайн всей цепочку |
Сначала определите границы данных
Основная модель, вспомогательные модели и инструменты — независимые маршруты. Любой из них может создать исходящее соединение.
| Шаг | Куда обычно уходят данные | Что проверить |
|---|---|---|
Hermes вызывает http://127.0.0.1:11434/v1 | В локальную Ollama | В имени модели нет :cloud, адрес — loopback |
| Следующий запрос после перехода на облачную модель | Облачному провайдеру | Могут передаваться контекст диалога, системные инструкции и схемы инструментов |
| Локальные файлы и terminal | Обычно остаются на компьютере | Сама команда может вызвать удаленный API, загрузку или выгрузку |
| Web, browser, search, удаленный MCP, мессенджер | Соответствующему сервису | Запросы, содержимое страниц, аргументы и результаты инструментов |
| Локальный Whisper и облачный TTS | Распознавание локально, текст для синтеза — в облако | Такой голосовой стек нельзя называть полностью офлайн |
fallback_providers или облачные auxiliary-слоты | В облако при срабатывании | Ошибка, лимит, авторизация или нехватка емкости могут автоматически изменить маршрут |
Интеграция Ollama для Hermes показывает и локальные, и облачные модели. Суффикс :cloud означает облачный inference, даже если модель выбрана через интерфейс Ollama.
Быстрый способ: ollama launch hermes
Официальная интеграция Ollama умеет провести настройку автоматически:
ollama launch hermes
Команда при необходимости установит Hermes, предложит модель и настроит endpoint http://127.0.0.1:11434/v1. Выбирайте именно локальную запись. Например, qwen3.5:cloud — облачная модель из-за суффикса.
После мастера проверьте фактическую конфигурацию:
hermes config get model --json
hermes status
Если launcher не видит загруженную модель или вам нужен полный контроль, используйте ручной вариант.
Ручная настройка локальной Qwen
1. Загрузите модель Qwen с поддержкой tools
В каталоге Ollama семейство Qwen 3.5 помечено как поддерживающее tools. Для понятного примера используется qwen3.5:4b. Это проверка соединения, а не обещание стабильной агентной работы на любой задаче; при достаточной RAM/VRAM разумно попробовать более крупный официальный вариант.
ollama --version
ollama pull qwen3.5:4b
Если фоновый сервис Ollama не запущен:
ollama serve
В другом терминале проверьте список моделей:
curl http://127.0.0.1:11434/api/tags
До настройки Hermes протестируйте OpenAI-совместимый endpoint напрямую:
curl http://127.0.0.1:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5:4b",
"messages": [{"role": "user", "content": "Reply with LOCAL_OK"}],
"max_tokens": 16
}'
JSON с ответом модели означает, что локальный сервер работает. Если уже здесь возникает Connection refused, сначала исправьте Ollama.
2. Подключите endpoint к Hermes
Запустите мастер моделей:
hermes model
Выберите Custom endpoint и укажите:
- API Base URL:
http://127.0.0.1:11434/v1 - API Key: оставить пустым
- Model:
qwen3.5:4b - Context length: оставить пустым, если текущая интеграция предлагает auto-detect
Проверьте сохраненный маршрут:
hermes config get model --json
hermes status
Должны отображаться локальная модель, провайдер custom и loopback-адрес. Для активной работы с инструментами Hermes рекомендует большой контекст. Если появляется ошибка контекста, сверяйтесь с документацией вашей версии и смотрите фактически загруженное значение:
ollama ps
Не задавайте чрезмерный контекст, если он вызывает нехватку памяти или постоянный swap.
Проверьте локальную цепочку на маленькой задаче
Создайте временную папку, чтобы результат можно было увидеть и удалить без использования Web или других внешних сервисов:
mkdir -p ~/hermes-local-check
cd ~/hermes-local-check
printf 'alpha\nbeta\ngamma\n' > input.txt
hermes
В сессии Hermes напишите:
Прочитай input.txt. Создай summary.md, укажи число строк и добавь краткое резюме одним предложением. Не используй Web, browser, network, messaging или облачные инструменты. В конце сообщи полный путь к созданному файлу.
Проверьте результат:
cd ~/hermes-local-check
cat summary.md
Успешная проверка означает, что:
summary.mdсоздан и правильно видит три строки;- Hermes выполнил действие, а не просто вывел JSON tool call;
hermes statusпо-прежнему показывает локальную Qwen и127.0.0.1;- в конфигурации нет нежелательного облачного fallback или облачных auxiliary-моделей.
Этот тест подтверждает соединение endpoint, цикл инструментов и запись файла. Он не измеряет качество сложных задач и не доказывает, что любой установленный инструмент работает офлайн.
Настройте облако, но оставьте переключение явным
Снова выполните:
hermes model
Выберите нужного облачного провайдера, пройдите OAuth или безопасный интерактивный ввод секрета и выберите модель. Не вставляйте API key в чат или команду, сохраняемую shell history.
Поскольку hermes model меняет default, после настройки верните локальную модель как default для текущей и новых сессий:
/model qwen3.5:4b --provider custom --global
Три режима облачного переключения:
/model YOUR_CLOUD_MODEL --provider YOUR_CLOUD_PROVIDER
/model YOUR_CLOUD_MODEL --provider YOUR_CLOUD_PROVIDER --once
/model YOUR_CLOUD_MODEL --provider YOUR_CLOUD_PROVIDER --global
- первая команда действует только в текущей сессии;
--onceиспользует облако один ход и восстанавливает прежнюю модель;--globalтакже меняет default для новых сессий.
Вернуться к локальной модели:
/model qwen3.5:4b --provider custom
Если провайдер не виден в /model, сначала настройте или авторизуйте его через hermes model. Slash-команда переключает уже известные варианты, но не добавляет учетные данные.
Когда переход в облако оправдан
Оставайтесь локально для закрытого исходного кода, личных документов, внутренних логов и небольших задач с понятным результатом. Если инструменты работают, а скорость приемлема, потенциально более высокое качество не обязательно стоит передачи контекста наружу.
Облако имеет смысл, если после проверки endpoint, контекста и tool support локальная модель продолжает ошибаться; если нужен намного более длинный контекст, vision, сложное многошаговое рассуждение или меньшая задержка.
Для чувствительной задачи лучше открыть новую облачную сессию и передать только необходимый минимум. Документация Hermes указывает, что смена модели в середине диалога сбрасывает prompt cache, а следующий запрос заново читает контекст. С точки зрения приватности считайте, что релевантное содержимое текущей сессии после переключения отправится облачному провайдеру.
Проверьте auxiliary-модели и fallback
Если правило звучит как «каждый внешний запрос подтверждаю сам», не настраивайте fallback_providers. Fallback может сработать при ошибке, rate limit, проблеме авторизации или емкости — это не человеческое решение «задача слишком сложная».
Hermes также может использовать отдельные модели для compression, vision, web extraction и других вспомогательных задач. Локальная main model не гарантирует локальность этих слотов.
На Bash, macOS или Linux выполните read-only проверку ключевых маршрутов:
grep -nE 'fallback|auxiliary|base_url|provider|default' ~/.hermes/config.yaml
В Windows откройте %USERPROFILE%\.hermes\config.yaml. Проверьте основной endpoint, auxiliary-провайдеров, fallback_providers и незнакомые удаленные Base URL.
Для строгого доказательства используйте логи firewall, DNS или outbound proxy. Метка «local» в интерфейсе не является сетевой гарантией для всей цепочки.
Частые проблемы
Connection refused
curl http://127.0.0.1:11434/api/tags
Если запрос не проходит, запустите ollama serve или desktop service.
Модель печатает JSON инструмента, но не выполняет действие
Проверьте, что конкретный тег Qwen поддерживает tools, а Hermes и Ollama обновлены. Маленькая модель может нестабильно формировать сложные аргументы. Сначала повторите тест с одним файлом, затем попробуйте более крупную локальную модель или явный cloud switch.
Модель или провайдер отсутствует
Настройте endpoint или авторизацию командой hermes model. /model показывает только уже настроенные маршруты.
Текущий чат остался на старой модели
Изменение default обычно относится к новым сессиям. Для активного чата используйте /model или откройте новую сессию.
Медленно или не хватает контекста
ollama ps
Проверьте размер модели, GPU offload и контекст. Большой контекст помогает удерживать схемы инструментов, но требует больше памяти и увеличивает prefill первого ответа.
Гибридная схема полезна, но не является полностью офлайн
Один пользователь X описал личный прототип: Gemma через Ollama Cloud, облачная Qwen, локальная Qwen, локальный Whisper и облачный TTS. Это наглядный пример маршрутизации по задачам, но всего лишь пользовательский отчет без опубликованной воспроизводимой конфигурации, сетевого лога и независимого теста производительности.
У моделей, речи и инструментов разные границы. Локальный Whisper не делает локальным облачный TTS, а локальная main model не делает приватными обращения к календарю, системе управления проектами, поиску или удаленному MCP.
Итоговый чек-лист
- В теге локальной модели нет
:cloud, Base URL —http://127.0.0.1:11434/v1. - Прямой
curlработает,hermes statusпоказывает нужный маршрут. - Проверочная задача действительно создает
summary.md. - Облачный провайдер настроен, но переход выполняется явной командой
/model. - Для чувствительной задачи в облаке открывается новая сессия с минимальным контекстом.
- Проверены удаленные инструменты, auxiliary-модели и
fallback_providers. - При требовании полного офлайна все сетевые инструменты и облачные сервисы отключены.
Источники
- Hermes: локальная настройка Ollama
- Hermes: настройка и переключение моделей
- Hermes: провайдеры и custom endpoints
- Ollama: интеграция Hermes Agent
- Ollama: каталог Qwen 3.5
- X-пост о гибридном прототипе (пользовательский отчет, не независимый бенчмарк)