Я пользуюсь Hermes Agent уже месяц. Всё это время работал через командную строку (WSL) потому что на windows версии не было, Конечно, уже это довольно ощутимое ограничение, так как Hermes не имел полный выход к файлам в Windows, за это время свыкся с терминалом запускал через hermes chat. недавно вышла версия v0.15.2, и вместе с ней десктопный установщик на Electron. Windows, macOS, Linux.
Скачал, поставил, пошёл по настройкам. Оказалось, что в GUI тринадцать разделов, и каждый из них что-то решает. Ниже — гайд по тому, как можно оптимизировать настройки под себя.
Model — основная модель и вспомогательные задачи
Открываем первый раздел. Здесь выбирается основная модель и распределяются вспомогательные задачи (auxiliary tasks).

Main Model — я использую Ollama Cloud, поэтому у меня стоит
ollama-cloud/kimi-k2.6. Это основная модель для диалогов в триллион параметров.Context Length — должен показывать
0. Hermes по режиму автоопределения выставляет стандарт под каждую модель. Он запрашивает у провайдера актуальный лимит контекста и подстраивается. Я оставил ноль, потому что провайдеры обновляют лимиты (Kimi перешёл с 128K на 256K), и захардкоженное число быстро устареет.Auxiliary Models — здесь распределяются вспомогательные задачи: vision, web_extract, compression, skills_hub, approval, mcp, title_generation, session_search, curator и другие. По поводу моделей вспомогательных задач, у меня есть отдельная статья, где я объясняю какие модели лучше выбирать, ибо токенов они тратят знатно, так как постоянно работают на заднем фоне
Так что я сделал. По умолчанию все auxiliary-задачи висят на provider: auto, и если провайдер не настроен, система молча откатывает на основную модель, у меня это Kimi. Это невероятно дорого — триллион параметров тратится на генерацию заголовков и просто поиск по сессиям. Я открыл редактор конфига и прописал каждой задаче свою модель:
Vision —
qwen3-vl:235b-instruct. Это визуальная модель, обученная на скриншотах и изображениях. Для анализа картинок справляется лучше, чем текстовая.Web Extract и Compression —
kimi-k2.5. Суммаризация страниц и сжатие длинного контекста — задачи, где нужен большой контекст и качество.Skills Hub, Approval, MCP, Title Gen, Session Search —
rnj-1:8b. Лёгкая модель с восемью миллиардами параметров. Заголовки, одобрение команд, поиск по истории — короткие задачи, где не нужен контекст на миллион токенов.Curator —
kimi-k2.5. Фильтрация и курирование ответов — нужна точность.
Важный баг. Я попробовал назначить Session Search через этот интерфейс — кликнул «Change», выбрал провайдер и модель, и получил ошибку:
Error invoking remote method 'hermes:api': Error: 400: {"detail":"unknown auxiliary task: session_search"}
Оказалось, что список auxiliary-задач в коде Electron жёстко зашит, и туда забыли добавить session_search. Эта задача есть в CLI и в config.yaml, но фронтенд о ней не знает. Пришлось открывать терминал и прописывать вручную:
hermes config set auxiliary.session_search.provider ollama-cloud hermes config set auxiliary.session_search.model rnj-1:8b
После перезапуска Desktop всё работает, но интерфейс всё равно показывает auto — UI не подхватывает изменения из конфига.
Подробнее про распределение auxiliary-моделей — в отдельной статье, где я разбирал, почему какую модель выбрал и по какой логике: [ссылка на статью про auxiliary-оптимизацию].
Chat — как агент отвечает
Второй раздел — стиль общения агента.

Personality — здесь вы можете выбрать стиль общения вашего агента, у меня стоит
Philosopher— Развёрнутый, философский стиль ответов. Мне нравится, когда агент раскладывает мысли подробно, а не даёт однострочники. Есть и другие варианты — можно поэкспериментировать.Reasoning Blocks —
Off. Это когда модель перед ответом выдаёт цепочку рассуждений. на даееый момент я его выключил.Image Attachments —
Auto. Когда агент получает изображение, он сам решает, как его обработать — или через vision-модель, или как файл.Timezone — Не стал заморачиваться, время по умолчанию меня устраивает.
Что менять: если вам нужны короткие ответы — смените Personality на что-то лаконичное. Если работаете над большим проектом — оставьте Reasoning Blocks включённым, там иногда бывает полезно видеть ход мыслей.
Appearance — как выглядит интерфейс
Третий раздел — внешний вид.

Theme — у меня стоит
Ember. Мне нравятся тёплые бронзовые акценты на тёмном фоне. Есть ещё светлая тема и несколько других вариантов акцентов.Tool Call Display —
Technical. Важная настройка. В режиме Technical вы видите raw JSON-аргументы и результаты вызовов инструментов — что агент передал в функцию и что получил обратно. Это критично для отладки. Для обычных пользователей есть режим Product, который показывает всё в человекочитаемом виде.
Если вы не разработчик и не отлаживаете агента — переключите Tool Call Display в Product. Technical режим перегружает интерфейс JSON-ом.
Workspace — рабочая директория и переменные окружения
Четвёртый раздел — где агент работает и что видит в системе.

Working Directory — это текущая рабочая папка, где агент создаёт файлы и запускает команды.
Code Execution Mode —
Project. Агент запускает код в режиме проекта, а не изолированного скрипта.Persistent Shell —
On. Терминал агента сохраняет состояние между командами. Если вы переключаете директорию в одной команде, следующая команда будет работать уже из новой папки.Environment Passthrough —
PATH,CUDA_PATH. Это главное изменение, которое я сделал.
Почему PATH и CUDA_PATH. Я постоянно запускаю Python-скрипты с обработкой на видеокарте — ресайз картинок, генерация, публикация. Раньше агент не видел CUDA в терминале, и приходилось прописывать абсолютные пути к Python, pip, nvidia-smi. После добавления PATH и CUDA_PATH в Environment Passthrough агент сразу видит всё окружение Windows — Python, CUDA, системные утилиты. Никакой ручной возни.
File Read Limit — оставил по умолчанию.
Auto-Approve File Writes —
Off. Сохранения файлов я подтверждаю вручную, это безопаснее.
Safety — безопасность и подтверждение команд
Пятый раздел — контроль над опасными действиями.

Approval Mode —
Manual. Агент спрашивает разрешение перед каждой опасной командой. это уже спасало несколько раз, так как он еще иногда лагает и случайно не удалил лишнее.Approval Timeout —
120секунд. Было 60, я увеличил до 120. Почему: пару раз отходил и по возвращению команда уже автоотменилась, думаю, две минуты — достаточный запас, чтобы не паниковать.Confirm MCP Reloads —
On. Значит перезагрузка MCP-серверов требует подтверждения. MCP — это расширения агента, которые дают доступ к внешним сервисам и инструментам. Перезагружать их без спроса не стоит.Command Allowlist —
stop/restart hermes gatew. Небольшой список команд, которые можно выполнять без подтверждения. Остановка и перезапуск шлюза — безопасные операции.Redact Secrets —
On. Важная опция. Агент автоматически скрывает пароли, API-ключи и токены из контекста перед отправкой в модель. Если ключи случайно попали в историю чата, модель их не получит.Allow Private URLs —
Off. Приватные URL агент не открывает. Безопаснее, если работаете с внутренними сервисами.Browser Private URLs —
Off. Тоже для браузера.Local Browser For Private URLs —
On. Если приватные URL всё же разрешены, открывать их в локальном браузере, а не во встроенном.File Checkpoints —
Off. Я оставил выключенным, потому что работаю через Git. Если экспериментируете с конфигами и боитесь сломать — включите, агент будет делать бэкапы перед редактурой.
Memory & Context — память и управление контекстом
Шестой раздел — как агент помнит и что хранит.

Persistent Memory —
On. Агент сохраняет факты из разговора между сессиями. Это не просто история чата — это извлечённые факты, которые записываются в базу данных и подтягиваются в следующих сессиях. Технически работает через Skills Hub — репозиторий, где агент хранит procedural knowledge.User Profile —
On. Агент строит профиль предпочтений пользователя. Если вы часто просите отвечать в определённом формате, агент запомнит это и сохраняет это в стиль общения.Memory Budget —
2200. Лимит токенов на долгосрочную память.Profile Budget —
1375. Лимит токенов на профиль пользователя.Memory Provider —
(none). Можно подключить внешний провайдер памяти, но я использую встроенный SQLite.Context Engine —
Compressor. Когда контекст подходит к лимиту, движок сжимает старые сообщения, оставляя краткое содержание. Это позволяет вести длинные диалоги без потери нити.Auto-Compression —
On. Сжатие происходит автоматически, когда заполненность достигает порога.Compression Threshold —
0.5. При пятидесяти процентах заполнения контекста начинается сжатие.Compression Target —
0.2. После сжатия контекст сводится примерно к двадцати процентам от исходного.
Что я поменял:
Protected Recent Messages —
30. Было 20, я увеличил до 30. Это количество последних сообщений, которые агент НИКОГДА не сжимает. Для моих задач критично: когда я веду длинный диалог об исследовании или гоняю автопостинг, последние тридцать сообщений должны оставаться в полном виде. Если меньше — часть контекста превратится в краткое содержание, и я потеряю детали.Context Window —
16000. Это размер окна, которое агент держит в оперативной памяти. Отличается от Context Length (лимит модели) тем, что это именно окно Hermes, а не самой нейросети.
Voice — голосовые функции
Седьмой раздел — микрофон, озвучивание, голосовой ввод.

Тут много настроек, но главные — два переключателя в начале:
Speech To Text —
Off. Я выключил, потому что у меня на компьютере стоит отдельная утилита Handy. Она работает через Ctrl+Space, запускает русское распознавание на GigaAM-v3 и вставляет текст прямо в поле ввода. Если в Hermes тоже оставить STT — два приложения цепляются за микрофон и конфликтуют. Глюки, зависания, непонятно, кто из них слушает.Read Responses Aloud —
Off. Озвучивание ответов мне не нужно. Я читаю текст быстрее, чем слушаю, а TTS жрёт токены и ресурсы процессора. Выключил.Text-To-Speech Provider —
Edge. Если озвучивание нужно, используется встроенный Edge TTS.Edge Voice —
en-US-AriaNeural. Женский голос с нейронным синтезом.Voice Shortcut —
ctrl+b. Оставил на всякий случай, если захочу озвучить конкретный ответ.
Что менять: если у вас нет Handy или другого стороннего STT — можете оставить Speech To Text включённым. Local-провайдер работает без интернета и API-ключей.
Advanced — лимиты и подагенты
Восьмой раздел — технические ограничения и настройки подагентов.

Enabled Toolsets —
hermes-cli. Активный набор инструментов для командной строки.Execution Backend —
Local. Команды выполняются на локальной машине.Command Timeout —
180секунд.Terminal Output Limit —
50000символов.File Page Limit —
2000строк.Line Length Limit —
2000символов.Max Agent Steps —
120. Было 90, я увеличил до 120. Мои задачи — как говорил ранее мои агенты занимаются автопостингом, генерацей контента, ресайзом картинок, публикация в несколько платформ — иногда это не укладывалось в девяносто шагов. Pipeline обрывался посередине, сейчас хватает.API Retries —
3. При временных ошибках сети агент делает три попытки.Service Tier —
(none). Я использую модели через ollama-cloud, тарифный план не нужен.Tool-Use Enforcement —
auto. Агент сам решает, когда вызывать инструменты.Subagent Model —
rnj-1:8b. Было Not set, я прописал конкретную модель. Подагенты теперь работают на лёгкой восьми миллиардной модели, а не на основной kimi-k2.6. Экономия существенная.Subagent Provider —
Not set. Наследуется от основной конфигурации. Работает.Subagent Turn Limit —
50.Parallel Subagents —
3. Максимум три подагента одновременно.Subagent Timeout —
600секунд. Десять минут на задачу — достаточно.
Gateway — шлюз и подключение
Девятый, последний важный раздел — как агент подключается к внешнему миру.

Local gateway — Приложение запускает свой собственный шлюз на localhost. Работает offline, не требует внешнего сервера.
Remote gateway — опционально. Если хотите управлять агентом, который работает на другой машине или на VPS, можно переключиться сюда и указать URL и session token.
Session token — поле для токена авторизации.
Кнопки:
Test remote — проверить подключение к удалённому шлюзу.
Save for next restart — сохранить настройки, но не переподключаться сейчас.
Save and reconnect — сохранить и немедленно переподключиться.
Diagnostics → Open logs — открыть файл desktop.log в проводнике. Полезно, если шлюз не запускается.
Что учитывать: если у вас уже работает CLI-шлюз Hermes с тем же Telegram-токеном, Desktop отключит его при запуске — конфликт. Нужны разные токены или запускать только один gateway.
Итоговая таблица изменений
Раздел |
Параметр |
Было |
Стало |
Зачем |
|---|---|---|---|---|
Workspace |
Environment Passthrough |
пусто |
PATH,CUDA_PATH |
Python-скрипты видят CUDA и системные утилиты |
Safety |
Approval Timeout |
60 |
120 |
Больше времени на подтверждение |
Memory |
Protected Recent Messages |
20 |
30 |
Больше актуального контекста без сжатия |
Voice |
Speech To Text |
On |
Off |
Конфликт с Handy (GigaAM) |
Voice |
Read Responses Aloud |
On |
Off |
Экономит ресурсы и токены |
Advanced |
Max Agent Steps |
90 |
120 |
Сложные pipeline не обрываются |
Advanced |
Subagent Model |
Not set |
rnj-1:8b |
Подагенты не тратят дорогую модель |
Auxiliary-оптимизация — отдельная история
То, что я описал выше про распределение auxiliary-моделей — это только часть. Я написал отдельную статью, где подробно разбираю: почему именно эти модели, сколько токенов экономит каждая замена, и как я измерял разницу. Если интересна экономика и архитектура — переходите:
Конечно есть минусы
Electron = ресурсы. На моей машине под Windows — около четырёхсот мегабайт в простое. В пять раз больше CLI. Electron — это фреймворк от Microsoft на базе Chromium, поэтому каждое приложение тащит с собой движок браузера.
Темы. Только тёмная и светлая, плюс шесть цветовых акцентов. Свою тему не сделаешь.
Linux. Не standalone. Python-зависимости всё равно нужно ставить руками.
Gateway conflict. Desktop отключает CLI-шлюз на тот же токен. Нужны разные токены или один шлюз.
Config editor. Базовый. Сложные блоки auxiliary удобнее в VS Code.
Баг UI. Session Search не назначить через интерфейс — только через CLI.
Вывод
Hermes Desktop — это тот же агент, те же навыки, та же память. Просто можно открыть без терминала, и многие процессы становятся более наглядными, это на самом деле удобно, не нужно лазить и искать файлы в корневых папках, чтобы поменять что-то, там все не совсем прозрачно, тут все открыто, просто, дружелюбно, для меня это оказалось удобнее, чем ожидал, как минимум функция параллельных чатов уже стоят того, потому что в терминале сложно вести параллельно (если не открывать 3-4 окна, а я так и делал)
Если интересуетесь AI-агентами, автоматизацией рабочих процессов и конфигурации LLM — подписывайтесь на канал. Там регулярно: сырые заметки по архитектуре агентов и доработки под себя
? Telegram-канал — @azamat_dasein