Hermes Agent v0.20.0 (v2026.8.3) — The Herald Release
Дата выхода: 3 августа 2026
С v0.19.0: ~3 650 коммитов · ~1 400 смерженных PR · ~5 200 изменённых файлов · ~559 000 строк добавлено · ~405 000 удалено · ~1 200 закрытых issues · 650+ участников
> The Herald Release. Гермес — вестник богов, и этот релиз делает его вестником всерьёз: он говорит (реальное разговорное озвучивание со стриминговым TTS, прерыванием речи, локальными wake-словами и управлением без рук — в CLI, на десктопе и на любой звуковой платформе шлюза), он передаёт слово другим агентам (A2A v1.0), он объявляет события вашим системам (подписанные исходящие webhooks) и цитирует источники (обоснованные исследования с проверяемыми ссылками и факт-чекингом). Вокруг этого стержня: десктоп-приложение стало платформой (артефакты с живым предпросмотром, plugin SDK, быстрый ввод откуда угодно, несколько окон), CLI получил волну мощных команд (! shell-режим, /init, /diff, /context, /focus), сжатие контекста стало умнее и бережнее, а сами инструменты теперь оправляются от собственных сбоев, а не заставляют модель гадать. Релиз вбирает всё из инфраструктурного патча v0.19.1 — это окно полностью задокументировано здесь.
✨ Главные новинки
Разговор с Hermes — стриминговый голос с прерыванием речи — Раньше голосовой режим означал: говори, жди полной генерации ответа, слушай один длинный аудиофайл. Теперь Hermes говорит фраза за фразой по мере стриминга ответа, вы можете прервать его на полуслове простой речью (он останавливается, слушает, и модель получает информацию о вмешательстве), а детекция тишины с учётом занятости не даёт ему говорить поверх вас. Работает в CLI-голосе, на десктопе и через адаптеры шлюза. Разговор с Hermes наконец-то ощущается как диалог, а не обмен голосовыми. (#69511, #73862, #74223, #74000, #69602 — @teknium1, @OutThisLife)
Wake-слова и управление без рук — Произнесите собственную фразу-триггер («hey Hermes» или любую другую) — и Hermes начнёт слушать; детекция работает на устройстве, так что аудио не покидает вашу машину во время ожидания. Маршрутизация голоса по профилям означает, что разные wake-слова могут вести в разные профили, а «stop» завершает голосовой чат на любой поверхности без клавиатуры. Ваш терминал теперь можно вызывать голосом из другого конца комнаты. (#70509, #73106, #73933 — @teknium1)
Голос на каждой платформе — Отправьте голосовое сообщение Hermes в WhatsApp, Feishu, DingTalk, LINE, QQ, Photon или Weixin — оно будет распознано и получит ответ; авто-TTS-ответы доставляются с учётом платформы (opus там, где нужен opus, корректные подписи). STT теперь полностью настраивается — собственная категория в hermes tools, переключатели в GUI, выпадающие списки в дашборде, единое разрешение языка, чтобы транскрипты перестали приходить на неправильном языке, и поддержка OpenAI gpt-transcribe. Единый препроцессор устного текста вычищает markdown, код и URL из речи для всех TTS-провайдеров. (#73515, #73508, #73910, #73513, #73067 — @teknium1)
Исследования, которым можно верить — обоснованные цитаты с факт-чекингом — Новый скилл grounded-citations заставляет Hermes выдавать исследования, где каждое утверждение подкреплено проверяемым источником: цитаты сверяются с фактическим текстом страницы (а не галлюцинируются), ссылки ведут на точное доказательство, а режим факт-чекинга применяет тот же механизм к любому документу или утверждению — он говорит, что подтвердилось, что нет и что не удалось проверить. Если вы используете Hermes для исследований — это разница между «звучит правдоподобно» и «доказано источником». (#71698, #77104 — @teknium1)
Исходящие webhooks — Hermes сам пушит события в ваши системы — Раньше интеграция с Hermes означала опрос или прослушивание платформы. Теперь Hermes отправляет подписанные события жизненного цикла (активность сессии, завершение ходов, события инструментов) на любой зарегистрированный HTTP-эндпоинт — с HMAC-подписями, чтобы получатель мог проверить подлинность. Подключите Hermes к вашему CI, домашней автоматизации, дашбордам или любому HTTP-сервису без циклов опроса. (#69406 — @teknium1)
Десктоп-приложение становится платформой — артефакты, plugin SDK, быстрый ввод — Десктоп Hermes теперь рендерит артефакты: версионированные карточки с песочничным живым предпросмотром в правой панели, так что сгенерированные HTML/приложения работают безопасно рядом с чатом. Появился настоящий plugin SDK с Kanban в роли первого плагина, ctx.download для передачи файлов пользователю, плавающие панели и несколько окон GUI. Окно быстрого ввода по глобальной горячей клавише захватывает мысль в любую сессию откуда угодно в ОС. Десктоп перестал быть чат-клиентом и стал рабочим столом. (#72345, #61173, #74413, #72315, #68259, #73143 — @OutThisLife, @teknium1)
Hermes говорит с агентами — A2A v1.0 — Новый встроенный плагин реализует протокол Agent-to-Agent: Hermes может обнаруживать другие A2A-совместимые агенты, общаться с ними и быть управляемым ими. Это закрывает issue #514 — один из старейших открытых запросов фич в репозитории. Если вы строите мультиагентные системы на гетерогенных стеках — у Hermes теперь есть стандартный проводной протокол для подключения к ним. (#77109 — @teknium1)
Волна CLI для продвинутых — !команда мгновенно выполняет shell-команду, не тратя ход модели. /init сканирует проект и генерирует (или обновляет) AGENTS.md. /diff показывает staged/all/session-изменения с любой поверхности, /context раскладывает, что именно заполняет ваше контекстное окно, /focus даёт урезанный вывод с восстановлением скрытых строк, а Ctrl+S откладывает наполовину написанный промпт в просматриваемую панель. Плюс hermes import-agent мигрирует настройки Claude Code или Codex CLI в Hermes одной командой. (#72257, #72178, #72240, #72242, #72302, #72262, #72190 — @teknium1 и несколько спасённых давних community-PR)
Коррекция агента на середине хода — redirects — Если Hermes идёт не туда, больше не нужно /stop и объяснять заново. Наберите правку, пока он работает, — и активный ход будет перенаправлен: незавершённая работа сохраняется, исходный промпт остаётся, агент корректирует курс с вашими новыми указаниями. В паре с отменой черновика двойным ESC и undo-стеком композера управление ощущается как редактирование, а не перезапуск. (#63104, #72339, #74736 — @OutThisLife)
Инструменты, которые чинят себя сами — Серия апгрейдов самовосстановления означает, что агент тратит куда меньше ходов на трение инструментов: усечённый вывод терминала сбрасывается в файл, который агент может прочитать; patch обнаруживает уже применённые правки и диагностирует расхождения пробелов; write_file проверяет содержимое на диске; поиски без совпадений пробуют близкие варианты и восстанавливаются; распространённые классы сбоев возвращаются с практичными подсказками. Лимит итераций вызова инструментов по умолчанию вырос с 90 до 500 — длинные автономные прогоны перестали упираться в искусственную стену. (#77041, #76998, #77024, #77055, #77011, #76992, #72176 — @teknium1)
Сжатие, которое уважает ваш разговор — Сжатие контекста получило глубокую переработку: упреждающая обрезка результатов инструментов для моделей с большим окном, микрокомпакция на каждом ходу, амортизирующая затраты вместо одной гигантской паузы, гарантированный хвост из N пользовательских сообщений, чтобы недавний разговор всегда выживал, прогресс-чувствительные таймауты, которые перестали наказывать медленные модели суммаризации, и защита от ghost-скиллов, чтобы удалённый скилл никогда молча не преследовал сессию. Пороги теперь настраиваются на модель и в абсолютных токенах. Длинные сессии остаются связными и перестают зависать. (#70254, #75345, #70250, #71508, #70275 — @teknium1, @kshitijk4poor и несколько спасённых community-PR)
Умные одобрения взрослеют — hermes approvals suggest превращает вашу историю одобрений в предложения allowlist-правил, операторы могут настраивать политику умных одобрений, автоматический выключатель при серии отказов останавливает сбойный цикл, а одобрения парных подключений десктопа стали корректными по профилям с нормальной поверхностью ответа. Плюс новый гейт одобрения для команд с перенаправлением docker/podman daemon. Меньше кликов «approve» — без потери контроля ни на дюйм. (#72259, #72186, #72203, #74446, #71092 — @teknium1, @OutThisLife)
Быстрее везде, снова — Кэширование промптов теперь покрывает схемы инструментов на нативном Anthropic без потери истории. Холодный старт hermes -w упал с ~14с до ~1.8с, no-op hermes update ускорился на 2–6с, тяжёлые SDK лениво подгружаются вне import-пути, чтение конфига перестало делать глубокие копии (в 54× быстрее на telemetry-гейте), а десктоп получил вторую волну 60fps — стоимость стриминга не зависит от длины транскрипта, перетаскивание на 60fps с пятью стримящими вкладками, простой CPU в фоне около нуля. (#76032, #71637, #74218, #74204, #71835, #72346, #75218 — @kshitijk4poor, @teknium1, @OutThisLife)
Новые места для запуска и связи — Buzz появляется как встроенная платформа шлюза (мессенджер Block на базе Nostr с нативным WebSocket-транспортом и NIP-42 аутентификацией), возвращаются модернизированные провайдер Vercel AI Gateway и терминальный бэкенд Vercel Sandbox, десктоп получает SSH-режим удалённого бэкенда, а Relay выпустил четыре фазы паритета — медиа, интерактивные промпты, жизненный цикл тредов, индикаторы набора — плюс синхронизацию скиллов HSP (личных и организационных). (#73610, #73761, #74518, #68130, #71300–#71624, #66730 — @teknium1, @yoniebans, @benbarclay)
🎙️ Голос и речь
Разговорный голос
Стриминговый разговорный TTS с прерыванием речи на всех поверхностях; синтез фраза за фразой для CLI-голосового режима и адаптеров шлюза (#69511, #73862 — @OutThisLife, @teknium1)
Полировка UX голосового чата — тишина с учётом занятости, подсказка остановки, звуки размышления, фикс прерывания; полнодуплексный слушатель хода (прерывание голосом во время генерации И воспроизведения) (#74000, #74223 — @teknium1)
Локальные wake-слова с открытым словарём фраз + маршрутизация голоса по профилям; «stop» завершает голосовой чат без рук на любой поверхности (#70509, #73106, #73933 — @teknium1)
Модель узнаёт, когда пользователь прерывает её устный ответ; десктоп озвучивает весь ход и сбрасывает отложенное повествование в простое (#69602, #69936 — @OutThisLife, @teknium1)
Волна из 15 фиксов UX и окружения голосового режима CLI/TUI (#73520 — @teknium1)
Инфраструктура TTS / STT
Единый препроцессинг устного текста + параметры инструмента скорость/инструкции/провайдер; единое разрешение языка STT (чинит класс транскрипций на неправильном языке); глобальный stt.language по умолчанию en (#73513, #73067, #73100 — @teknium1)
Полностью настраиваемый STT — категория в hermes tools, переключатель/матрица в GUI, выпадающие списки в дашборде, статус настройки; поддержка OpenAI gpt-transcribe (#73910, #73853 — @teknium1)
Платформо-зависимая доставка авто-TTS-ответов (opus-платформы, стриминговый/глобальный разрыв, подписи); классификация и маршрутизация входящего голоса для Feishu, DingTalk, LINE, QQ, Photon, WhatsApp, Weixin (#73508, #73515 — @teknium1)
Закалка командных TTS/STT-провайдеров — таймауты простоя, очистка env, no-shell, защита путей (#73514 — @teknium1)
Синхронный посегментный синтез TTS с конвейером воспроизведения — следующее предложение рендерится, пока звучит текущее (#77355 — @kshitijk4poor)
Discord: голосовые PCM-потоки идут в stdin ffmpeg вместо временного файла (#76970 — @kshitijk4poor)
🏗️ Ядро агента и архитектура
Сжатие и контекст
Упреждающая обрезка результатов инструментов для моделей с большим окном; микрокомпакция на ход; гарантия хвоста из N сообщений (compression.min_tail_user_messages); ограниченный ввод суммаризатора с удержанием головы и хвоста (#70254, #75345, #70250, #70249 — @teknium1, @kshitijk4poor)
Защита от ghost-скиллов — маркеры [SKILL_PRUNED], защищённая обрезка, детерминированное выживание; прогресс-чувствительные таймауты; сжатие при конкуренции за лок мягко откладывается вместо истощения (#70275, #71508, #70285 — @teknium1)
Переопределения порогов на модель; абсолютный токенный порог (compression.threshold_tokens); опциональная компакция по простою; опциональные уведомления о прогрессе; структурированное локальное логирование попыток сжатия (#69339, #69335, #69360, #70457, #69338 — @teknium1)
Контекстный движок ABC получает глаголы select_context() + on_turn_complete() (спасение RFC-работы @chaos-xxl); движки могут подавлять или кастомизировать статус компакции (#70458, #69859 — @teknium1)
Строгая редакция применяется на каждой границе текста компакции (#69294 — @teknium1)
Кэширование промптов и горячий путь
Схемы инструментов кэшируются на нативном Anthropic без потери истории + консолидированные внутренности cache-плана (#76032, #76067 — @kshitijk4poor)
Кэширование промптов DeepSeek на шлюзах OpenCode; учёт токенов на каждый API-вызов вне треда хода; OpenAI wire-клиент переиспользуется между последовательными LLM-вызовами; мемоизация канонизации tool-call на пути отправки (#75886, #73359, #73375, #76880 — @teknium1, @kshitijk4poor)
Readonly-загрузчик конфига в 29 местах вызова (чтения в 28× дешевле); убиты поэтапные deepcopy конфига (telemetry-гейт в 54×); один сырой парс config.yaml на процесс; убран меж-инструментальный delay (#74322, #74211, #74228, #64172 — @teknium1, @Soju06)
Ленивые импорты тяжёлых SDK (−8-10% стоимости импорта поверх диеты mcp/tool-discovery); горячий цикл стриминга отбрасывает per-chunk repr() (учёт в ~3× дешевле); оптимизации cursor/memo для обходов истории на итерацию (#74204, #74194, #74221, #74231 — @teknium1)
Смягчён ~14с GIL-stall холодного старта при инициализации бэкенда; сброс хода батчится в одну SQLite-транзакцию; ключи кэша промптов с учётом возможностей провайдера (подразумевается для api.openai.com) (#77814, #77619, #77609 — @kshitijk4poor)
Спасение горячего пути AIAgent — копия промпт-кэша, предвычисление reasoning-таймаута, ленивая инициализация компрессора (#57229 — @kshitijk4poor)
Одобрения и цикл агента
hermes approvals suggest превращает историю одобрений в предложения allowlist; настраиваемая оператором approvals.smart_policy; выключатель при серии отказов; командный режим одобрений на всех поверхностях (#72259, #72186, #72203, #63517 — @teknium1)
Команды с перенаправлением docker/podman daemon требуют одобрения; сессионные лимиты runaway-циклов для web_search и delegate_task (вдохновлено Claude Code) (#71092, #66600 — @teknium1)
Перенаправление на середине хода — пользовательские правки направляют активный ход, сохраняя незавершённую работу и исходный промпт (#63104, #72339 — @OutThisLife)
Делегация: структурированные таймауты/метаданные зависаний + живой статус каждого ребёнка в /agents; субагенты могут использовать execute_code; редактированная история инструментов ребёнка в subagent_stop; публичный API жизненного цикла субагентов для плагинов (#72300, #69325, #72403, #72501 — @teknium1)
Рефакторинги single-owner для идентичности бэкенда + скипы по сбоям, починка пустого содержимого на проводе, санитизация call_id/reasoning, парсинг смены модели (#72505, #73071, #74319, #74229 — @teknium1)
Подписанный фрагмент reasoning показывается в терминале пустого ответа; tool_search проверяет слепые tool_call-аргументы (#65144, #59267 — @teknium1)
Волна самовосстановления инструментов
Terminal: восстанавливаемая усечённость (полный вывод сбрасывается + размер до усечения), cwd выводится при смене каталога командой, подсказки при сбоях по паттерну вывода (#77041, #77004, #76992 — @teknium1)
Patch: уже применённые правки возвращают успешный no-op, диагностика несовпадения с визуализацией пробелов, перечисление неоднозначных совпадений (#76998, #77024, #77001 — @teknium1)
Search: зонды нулевых совпадений + многопутевое восстановление, авто-multiline для паттернов с переводами строк; лимит read_file по умолчанию 500 → 2000 строк; кэш отрицательных результатов для промахов read/search; write_file проверяет содержимое на диске (#77011, #77102, #76996, #76945, #77055 — @teknium1, @kshitijk4poor)
Подсказки восстановления execute_code; dedup-stub skill_view для неизменных повторных чтений; проза схем terminal/execute_code урезана ~на 40%; многоуровневое раскрытие инструментов масштабируется с размером каталога; лимит итераций по умолчанию 90 → 500 (#77106, #77095, #77023, #67034, #72176 — @teknium1)
Провайдеры и модели
Возвращаются модернизированные провайдер Vercel AI Gateway и терминальный бэкенд Vercel Sandbox (SDK 0.7.2, telemetry off) (#74518 — @teknium1)
Gemini 3.1 Pro и 3.6 Flash в каталогах; кластер спасения Gemini (3.6-flash aux по умолчанию, Vertex-каталог, прямой учёт стоимости); claude-opus-5 в OpenRouter и Nous Portal; deepseek-v4-flash-0731 (#73479, #73516, #70946, #75501 — @teknium1)
Кэширование промптов Bedrock Converse API (cachePoint) (#70231 — @JoaoMarcos44)
Эндпоинты OpenAI data-residency получают объявленный транспорт и корректный каталог; маршрутизация API-серверных запросов с учётом провайдера; подтверждённый бэкендом лок модели сессии; липкая маршрутизация Nous через top-level session_id (#74958, #70853, #70950, #69253 — @victor-kyriazakos, @teknium1)
Пайкер моделей: курируемые дефолты + сворачиваемые провайдеры + select-all; устаревшие кэши отдаются мгновенно с фоновым обновлением; зонд кастомных эндпоинтов ограничен 1.5с; OAuth device-code вход honcho (#73172, #76430, #76922, #61608 — @OutThisLife, @teknium1, @kshitijk4poor, @akattelu)
ACP: именованные кастомные провайдеры в селекторе моделей; аутентифицированный выбор моделей между провайдерами; неблокирующий старт через фоновое MCP-обнаружение (#70082, #70404, #75985 — @israellot, @amanning3390, @kshitijk4poor)
Секреты и конфиг
Command-helper secret source (сочетается со всеми хранилищами); ротация токенов одной командой + понятные ошибки старта; опциональный зашифрованный break-glass кэш для Bitwarden; ключи из хранилищ ограничены домашним каталогом профиля; orchestrator preserve_existing + алиасы профилей (#69266, #68605, #69251, #69250, #69058 — @teknium1)
Паритет ${env:VAR} SecretRef между config.yaml и MCP-конфигом; env-переменные secret-source доходят до stdio MCP-серверов (#69267, #69053 — @teknium1)
Канонические загрузчики конфига для поведенческих чтений; табличный реестр миграций конфига; DEFAULT_CONFIG вынесен в config_defaults.py; минимальный поддерживаемый уровень авто-миграции v12 (#74237, #74200, #74182, #74433 — @teknium1)
🌐 Шлюз, Relay и флот
Heartbeats активности сессий, stall-watchdog и ограниченные ожидания сжатия — перевыпущены закалёнными после цикла реверта в окне (изначально #72424 от @fangliquanflq) (#76354 — @teknium1)
Консолидация SessionState (19 словарей с ключом сессии → один объект в скоупе turn/conversation/persistent); выделение шва TurnContext/TurnRunner; декларативный busy_policy на CommandDef (#74289, #74353, #74197 — @teknium1)
Волны паритета Relay: Фаза 1 (обнаружение supported_ops, поля идентичности, алиасы /handoff), Фаза 2 медиа, Фаза 3 интерактивные промпты, Фаза 4 жизненный цикл тредов; исходящие индикаторы набора (#71300, #71363, #71404, #71624, #69721 — @benbarclay)
Синхронизация скиллов HSP: личный клиент (M1) + клиент орг-скиллов (M2) + пространство имён орг-скиллов с обнаружением по токенам (#66730, #70024, #70459 — @benbarclay)
Адаптер платформы Buzz (Block/Nostr) с нативным WebSocket-транспортом входящих + NIP-42 аутентификацией (#73610, #73761 — @teknium1)
Photon: нативные опросы, эффекты, clarify-as-poll, богатые ссылки (спасение 4-PR) (#73614 — @teknium1)
Slack: нативные кнопки clarify Block Kit; опциональные триггеры по реакциям; санитизация исходящих payload; фиксы жизненного цикла тред-контекста (#69318, #70195, #69317, #69320 — @teknium1)
Discord: авто-тред сессии ключуются по prospective_thread_id; ссылки на ответы строятся из id (без fetch_message); WhatsApp: настраиваемые входящие уведомления о прочтении (#76513, #76875, #73322 — @benbarclay, @kshitijk4poor)
Пробуждения Kanban возобновляют DM/тред сессию создателя; wake-up kanban/delegate достигают api_server-сессий; модель и глубина мышления на задачу с доски (#72191, #70171, #69876, #76417 — @teknium1, @OutThisLife)
Relay: прогресс инструментов Discord направляется в авто-тред вместо родительского канала (#77830 — @benbarclay)
Исходящие webhooks — push подписанных событий жизненного цикла на внешние эндпоинты; перечисление simplex-каналов в hermes send --list (#69406, #77110 — @teknium1)
🖥️ Десктоп-приложение Hermes
Волна платформы
Артефакты — версионированные карточки, песочничный живой предпросмотр, просмотрщик в правой панели (#72345 — @teknium1)
Plugin SDK — Kanban как первый десктоп-плагин; ctx.download передаёт пользователю файл; widget-app SDK (приложения как state+reducer+render) с тремя референс-приложениями; движок раскладки widget-grid + движок тем с учётом фона (#61173, #74413, #68306, #20379 — @OutThisLife)
Окно быстрого ввода (глобальная горячая клавиша → любая сессия); несколько окон GUI; плавающие панели; переключатели панелей где угодно + скрытый заголовок; ⌘O открыть папку как проект (#72315, #68259, #73143, #75848, #74623 — @teknium1, @OutThisLife)
SSH-режим удалённого бэкенда; событийная живая синхронизация вместо всегда-включённых опросов; починены маршрутизация/сессии/жизненный цикл пула удалённых профилей (#68130, #73673, #72835 — @yoniebans, @OutThisLife)
Позвольте агенту управлять shell (панель предпросмотра + фокус панели) И инспектировать разрабатываемое им десктоп-приложение; поиск по странице (Ctrl+F); копирование/вставка в GUI-терминале + выбор шрифта (#69519, #73121, #72235, #73705, #76395 — @OutThisLife, @teknium1)
Композер и UX
Прикрепление файлов/папок/ссылок через пайкер; чипы композера для @-путей и вставленных ссылок; undo-стек композера; двойной ESC отменяет черновик; двойной Enter отправляет поставленный в очередь ход; type-to-focus (#74668, #73110, #72201, #72288, #74736, #73101, #68918 — @OutThisLife)
Переключение модели в 2 нажатия (⌘⇧M); YOLO в ⌘K с живым состоянием переключателя; клавиатурные пайкеры; клавиатурная навигация для clarify-выбора; серверные пины, которые следуют за вами между приложениями (#74545, #74674, #74602, #69799, #74234 — @OutThisLife)
Сгруппированная живая строка активности инструментов; улучшенные детальные виды tool-call; @session-ссылки резолвятся в кликабельные заголовки; бренд-иконки на ссылках известных доменов; emoji-реакции в стиле iMessage (опционально, двусторонние); двойной клик — сердечко (#72893, #69868, #71162, #73047, #74533, #74644 — @OutThisLife, @teknium1)
Разделители дат в сайдбаре + закреплённая секция + опциональный автоархив устаревших сессий; сессии перестают врать о состоянии запуска; тосты об использовании кредитов; настраиваемый лимит размера вложений; страницы Cron Blueprints и Webhooks; искомый пайкер часового пояса (#70822, #72303, #69828, #73221, #70066, #69687, #73505 — @OutThisLife, @austinpickett, @Adolanium, @teknium1)
Нативный вход по RFC 8252 (системный браузер + PKCE, без webview-cookies); «Connect to existing Hermes» в первом запуске; корректные по профилям одобрения парных подключений с десктопной поверхностью (#67920, #70907, #74446 — @benbarclay, @OutThisLife)
Переключатель keep-computer-awake + индикатор пробуждения в вырезе; переключатель /battery в статус-баре; пресет зума UI 90%; скрываемая статус-бар (#68140, #76396, #68860, #73161, #72960 — @OutThisLife, @teknium1)
Производительность десктопа (волна 60fps, часть 2)
Стоимость стриминга не зависит от длины транскрипта; 60fps на реальных сессиях (пины с reflow-гейтом, адаптивный flush); перетаскивание на 60fps с пятью стримящими вкладками; быстрый мультивкладочный стриминг (#71835, #72504, #72346, #71780 — @OutThisLife)
Таймеры скрытых панелей поставлены на паузу (вид агентов, cron-сайдбар, плавающий питомец), циклы скролла/статуса остановлены в занятых сессиях (#77651 — @kshitijk4poor); простой CPU в фоне около нуля; убит рендер-шум сайдбара/оверлея; статус-бар и транскрипт перестают перерендериваться на каждый токен/перетаскивание/смену сессии; ⌘K открывается мгновенно; холодный старт рендерера держит shiki/mermaid вне boot-пути (#75218, #73698, #72163, #72245, #72524, #74665, #73024 — @OutThisLife)
Диагностика состояния (счётчики render + store churn) + lint-правило, запрещающее atom-mirrored refs, чтобы класс stale-read багов не вернулся; Playwright E2E-набор с визуальными регрессионными диффами (#71925, #71560, #65805 — @OutThisLife, @teknium1, @ethernet8023)
🖥️ CLI, TUI и дашборд
! shell-режим; /init генерация AGENTS.md; /diff (staged/all/session, на всех поверхностях); /context разбор; /focus урезанный вид; Ctrl+S отложенный промпт; постоянный индикатор /goal; мультивыбор clarify (чекбоксы) в CLI/gateway/TUI (#72257, #72178, #72240, #72242, #72302, #72262, #72244, #72188 — @teknium1, спасение @SHL0MS, @iRonin, @gigi206 и других)
hermes import-agent — миграция настроек Claude Code / Codex CLI одной командой (#72190 — @teknium1)
Строка резюме на ход + живой поток токенов в спиннере; кросс-поверхностный theme SDK (один скин темизирует CLI, TUI и десктоп вживую) (#72246, #68857 — @teknium1, @OutThisLife)
TUI: доступ к пайкеру моделей без разрушения черновика + переключение на середине хода; slash-меню ведёт с ваших самых используемых скиллов; вложения живут в композере; арабская локаль (ar) с RTL на десктопе/дашборде/агенте (#74756, #75931, #75210, #70870 — @OutThisLife)
Старт hermes -w ~14с → ~1.8с; быстрый путь глобального --version; баннер-проверка обновлений в 6× быстрее; дашборд лениво грузит маршруты + GROUP BY статистики сессий; вкладки фильтрации сессий (Chats/Automation/All) (#71637, #62096, #74188, #72294, #73362, #73865 — @teknium1, @kshitijk4poor)
Runtime: Node 26 обязателен во всех установщиках/heal/upgrade, управляемые Node/uv резолвятся до bare PATH, устаревшие управляемые деревья лечатся до целевой мажорной версии; каналы brew и pip/PyPI wheel удалены (поддерживаются shell-установщик / Docker / Nix) (#76459, #68217 — @ethernet8023)
🧩 Скиллы, плагины и MCP
A2A v1.0 — плагин протокола Agent-to-Agent (закрывает #514) (#77109 — @teknium1)
Куратор: показ неуправляемых скиллов + curator adopt; усечение описаний скиллов видно авторам; скилл grounded-citations (+ режим факт-чекинга); simplify-code v1.1; скилл скриптинга tldraw-offline (#71648, #70519, #71698, #77104, #70440, #66896 — @teknium1)
Офисные скиллы в комплекте: docx, xlsx, pdf + обновлённый powerpoint; разгрузка дерева скиллов продолжается (yuanbao, segment-anything, jupyter, heartmula, audiocraft → optional-skills; источник claude-marketplace удалён; реструктуризация хаба, поглощающая themes/desktop-plugins/tui-widgets) (#68595, #70452–#70456, #73903 — @teknium1)
MCP: запись каталога Comfy Cloud с курируемым дефолтом из 20 инструментов; предупреждения о скрытых пробелах в MCP-конфиге; опциональный скилл pinecone-research (#66112, #75736, #70512 — @teknium1)
Ленивый старт MCP-серверов из дискового кэша схем инструментов по fingerprint — настроенные серверы больше не все поднимаются при старте сессии (дизайн из #56832) (#77511 — @kshitijk4poor)
Интеграция наблюдаемости NeMo Relay — повторно выпущена после реверта в окне, на стабильном NeMo Relay 0.6 (#67607 — @afourniernv)
Экспорт здоровья и диагностики шлюза в OTLP (#64536 — @victor-kyriazakos)
🔒 Безопасность и надёжность
Перевыпущен egress-файрвол инъекций креденшелов Iron-proxy (#70848 — @teknium1)
DNS-пиннутые SSRF-безопасные загрузки + Slack CDN allowlist; строгая редакция на границах компакции; ReDoS устранён в паттернах редакции ключей конфига; слова прозы со встроенным секретным ключевым словом больше не маскируются (#70193, #69294, #76083, #67776 — @teknium1)
Чтения креденшелов Tier-3 ограничены скоупом (проверки наличия FAL/XAI/VERCEL/DAYTONA/GITHUB и т.д.); обновлены пины CVE-зависимостей (cryptography, starlette, python-multipart); hindsight env-файл 0600; /model убран с event-loop шлюза (#75888, #72362 — @teknium1)
Волна закалки Windows: закрыт класс багов декодирования subprocess в текстовом режиме по всему репозиторию, скрыты вспышки консолей в daemon/env-зондах/LSP/установщиках, остаточные пробелы кодировок (MCP stdio, gateway update I/O, STT/TTS, десктопный spawn) (#70875, #70205, #70264, #71014 — @teknium1, спасение нескольких community-PR)
Целостность state/сессий: четыре фикса session-state (безопасное отслеживание закрытия, фикс класса flush-cursor, row-retry, хилер usage-PK); компактный FTS-макет v23 + hermes sessions optimize + CJK-bigram FTS; расщепление read-пути с read-only соединениями на поток (#75883, #65798, #69423, #73344 — @teknium1, @kshitijk4poor)
Закалка memory-провайдера OpenViking — fail closed на заблокированных эндпоинтах, проверка сервера до отправки креденшелов, настройки config.yaml в приоритете (#77747 — @kshitijk4poor)
Пул креденшелов: восстановление основного с учётом сброса (оставаться на фолбэке, пока не сбросится окно rate-limit) + фиксы блокировок отложенного обновления; FTS UPDATE-триггеры сужены с fail-closed CJK-миграцией (#77631, #77628 — @kshitijk4poor)
Конфиг-управляемая обрезка memory-аллокатора с телеметрией; голографические векторы памяти хранятся во float32; подняты loop-invariant HRR-энкоды (#76905, #76917, #76881 — @kshitijk4poor)
🐛 Заметные исправления багов
Голос: полнодуплексное прерывание во время генерации И воспроизведения; озвучивание всего хода на десктопе; пробелы авто-TTS-доставки (#74223, #69936, #73508 — @teknium1)
Десктоп: Stop ставит очередь на паузу, а не запускает следующий промпт; потеря рестарта branch-in-new-chat; ложная реаутентификация удалённого шлюза; кросс-сессионные утечки композера (#68725, #71960, #68250, #70986 — @SHL0MS, @alelpoan, @helix4u, @OutThisLife)
Шлюз: списки сессий ограничиваются до лимитирования; home-доставка через relay после рестарта; персистентность событий timeline (#65509, #70102, #69771 — @GodsBoy, @victor-kyriazakos, @ethernet8023)
Агент: логирование фолбэка длины контекста + долговечность батч-траекторий; окна контекста Codex OAuth перепроверены по живому каталогу (#76027, #68554 — @kshitijk4poor, @teknium1)
…и ещё примерно 770 fix: PR по всем подсистемам в этом окне.
👥 Участники
647 участников выпустили этот релиз (авторы коммитов, соавторы и кредиты спасённых PR).
Ядро
@teknium1, @OutThisLife (десктоп, голос, перф), @kshitijk4poor (перф, кэширование, спасение), @ethernet8023 (runtime, E2E, десктоп), @benbarclay (relay, HSP, auth)
Все участники (по алфавиту)
@02356abc, @0301chris, @0xAlcibiades, @0xDevNinja, @0xLeathery, @0xprincess, @0xr00tf3rr3t, @100yenadmin, @2001Y, @3ssiri, @55nx954gn6-debug, @686f6c61, @87degrees, @aaronlab, @abundantbeing, @Adolanium, @adriansotomora, @adurham, @afourniernv, @afurm, @AgenticSpark, @ahmadashfq, @AhmetArif0, @ai-ag2026, @AIalliAI, @aider4ryder, @airclear, @ajzrva-sys, @akattelu, @AKAZIK-py, @akb4q, @akshan-main, @AlanBurningsuit, @alelpoan, @AlexFucuson9, @AlexxRussell, @AllardQuek, @alt-glitch, @aman-merchant, @amanning3390, @amathxbt, @aml1973, @amoreno16003, @AndrewMoryakov, @andrexibiza, @andynguyendk, @andyylin, @aneym, @angelos, @aniruddhaadak80, @AnnasMazhar, @annguyenNous, @anoopmehendale-cue, @AnthonyFrancis, @arcabotai, @ArcherQAQ, @Ares4Tech, @arimu1, @arnoldfrancisca, @asimons81, @asorry75, @AtakanGs, @ATran28, @austinpickett, @Automata-intelligentsia, @awain7, @aweiker, @aydnOktay, @ayushere, @b, @baau, @baauzi, @baenregod, @bakhtiersizhaev, @Baophan00, @baoyu0, @Bartok9, @basilalshukaili, @BB-light, @bbopen, @Beandon13, @beardedeagle, @bedirhancode, @benbarclay, @benegessarit, @benjamin2026-dot, @bennybuoy, @BenSheridanEdwards, @BKStock, @BlackishGreen33, @bnikanjam, @bounce12340, @Bounty13, @bpross, @briandevans, @bricelb, @brunopirz, @bryanneva, @byshubham, @camaleonidas, @canorionen, @carbongotfound, @carljborg, @carlotestor, @carrion256, @caseyanthony, @cat-thats-fat, @Cdddo, @ceverson70, @chancelu, @chaos-xxl, @CharlesMcquade, @chazmaniandinkle, @chefboyrdave21, @chelsealong, @Christopher-Schulze, @chuenchen309, @ciabata-git, @cifangyiquan, @cipry0200, @ckaznocha, @ckorhonen, @CleanDev-Fix, @CocaKova, @coffee-the-dev, @colingreig, @Commander, @connorblack, @CoreyNoDream, @Cossackx, @crayfish-ai, @criptogus, @ctaylor86, @cucurigoo, @cypres0099, @d31tcjg, @Da7-Tech, @damiankluk, @danielblankhh, @DanielMaly, @Dannou, @davesecops, @davidgut1982, @DavidMetcalfe, @davidrobertson, @ddifa86, @ddy4633, @deacon-botdoctor, @deaneeth, @deepjia, @deltaahead, @DESXIE, @devsart95, @dhruvkej9, @dhruvraajeev, @DI404N, @diegomarino, @diffen77, @dirtyren, @dnth, @DocAwk, @dolphin-creator, @Dolverin, @dombejar, @doncazper, @dongjiang1989, @DonutsDelivery, @dorukardahan, @Doud-FR, @drafish, @Drexuxux, @drleadflow, @dsitmilis, @dskwe, @dso2ng, @dstkwll, @Dusk1e, @dyreckt, @eagle-nyp, @Eapwrk, @eason2026, @eazye19, @egilewski, @ehz0ah, @elcocoel, @eliemada, @eloklam, @elphamale, @embwl0x, @emozilla, @Enough1122, @enzo2, @erick713006, @ErnestHysa, @Esther-Zhu023, @ethernet8023, @evgyur, @f-trycua, @faikwo, @falkoro, @fangliquanflq, @fazerluga-creator, @fcavalcantirj, @ferminquant, @fesalfayed, @FixItFoundry, @flag0x369, @floatingrain, @FlorianVal, @flyingdoubleG, @FraserHum, @frizikk, @frohsinnllc, @Frowtek, @FvanW, @fyzanshaik, @ganzziani, @gercamjr, @giggling-ginger, @gigi206, @giladbau, @glesperance, @gnanam1990, @GodsBoy, @golldyck, @gonzalofrancoceballos, @gshall, @gumclaw, @Guoen0, @Gurud25, @gvago, @HaisamAbbas, @hansai-art, @hanyu1212, @happy5318, @haran2001, @hariNEzuMI928, @harjothkhara, @harrisonmedmedmetrics, @Harshkamdar67, @hdd69, @heathley, @helix4u, @HeLLGURD, @hellofrommorgan, @hereicq, @hermz580, @HexLab98, @hinablue, @HOYALIM, @hrnbld, @huntsyea, @iamwongeeeee, @ianks, @ibaldr89, @Icather, @ijevin, @ildunari, @Imgaojp, @imgyf, @immuhammadfurqan, @iniak, @iRonin, @isheng-eqi, @iso2kx, @israellot, @itsflownium, @IvanMiao, @iveywest, @izumi0uu, @Jaaneek, @JabberELF, @jackjin1997, @jakelongvu-bot, @Janig88, @jasoisjaso, @jbbottoms, @jeeaay, @jeeves-assistant, @jeff-mettel, @JeffStone69, @JeliTron, @jethac, @jfmusa2024-cyber, @Jiahui-Gu, @jinglun010-cpu, @JoaoMarcos44, @joelbrilliant, @John-Lussier, @johnkattenhorn, @Johnny-xuan, @johnnykor82, @joncaldwell90, @JonthanaHanh, @jordanhubbard, @JorkeyLiu, @jquesnelle, @jrfbch, @juanmartitegui, @Julientalbot, @juniperbevensee, @justemu, @kael-odin, @kaishi00, @kaiyisg, @kamonspecial, @kandotrun, @KCAYAAI, @keepConcentration, @kelsia14, @Kenmege, @kerpopule, @Kev-fs, @Kewe63, @kharitonov-ivan, @Kingdomwarrior23, @kingrubic, @Kinkoolino-Hermes, @kjames2001, @knoal, @kohoj, @Kolektori, @konsisumer, @koshaji, @kronexoi, @kshitijk4poor, @kuangmi-bit, @kudi88, @kylezh, @kyssta-exe, @Kyzcreig, @lanyusea, @LauraGPT, @LavyaTandel, @LeonSGP43, @leoprodz, @LevSky22, @lEWFkRAD, @lewis4x4, @lexgenius, @LFDMcore, @LiangYang666, @lidises, @light-merlin-dark, @lihengming, @Linux2010, @LionGateOS, @liuhao1024, @liusencomic-cyber, @ljsdut, @lkevincc0, @LLQWQ, @locker95, @logical-and, @LordNikon1983, @lost9999, @Love-JourneY, @LunarNexus, @luxiaolu4827, @lxman, @m4r13y, @MaartenDMT, @MacroAnarchy, @maff-t2b, @MahdiHedhli, @mahdiwafy, @malaiwah, @mannnrachman, @mapu-og, @markoub, @matarbot, @materemias, @matt-strawbridge, @mattezell, @MattMaximo, @mattmillerai, @mattshapsss, @MaxFreedomPollard, @maxmilian, @McHermes, @mehmetkr-31, @menhguin, @metamon-p, @mijanx, @MLcogTech, @moeadham, @mollusk, @monerostar, @MorAlekss, @morolab, @motoblurr, @MrAbsaroka, @mrzlab630, @ms-alan, @muctobi, @MustafaK99, @mwbrooks, @myk0la-b, @mzkarami, @namredips, @nanami7777777, @nanckh, @natebransc, @nateEc, @navahc09, @Ne0teric, @necoweb3, @nftpoetrist, @nickkarhan, @Ninso112, @nkreadly07, @nnnet, @NPFernando, @nrmjeremy, @nu476, @null-runner, @nullptr0807, @NYTEMODEONLY, @obelisk-complex, @OfficialDelta, @okalentiev, @oliviaaaa7788, @OmarB97, @omid3098, @ooiuuii, @oppenheimor, @oreoluwa, @ousiaresearch, @OutThisLife, @panDing19, @paralegalia, @patp, @PavelTajdus, @peacockesq, @Pebrd, @peterw, @phantom-instruction-set, @pierrenode, @PINKIIILQWQ, @piyushbag, @plainOldCode, @pnascimento9596, @pooyan6, @pprism13, @praneshnikhar, @PRATHAMESH75, @Prontsevich, @quantumbyte1617, @QuarkAssistant, @Que0x, @Qwinty, @rayjerrywoo, @rayjun, @Reaper-Forge, @RedClaus, @redsol-llc, @reinbeumer, @RelaxJonh, @RemyFevry, @replygirl, @rerdi92, @rhylryan21, @RichardHojunJang, @richkapp, @rkfshakti, @rlaope, @rob-coco, @rob-maron, @robbyczgw-cla, @robgfl45, @robzolkos, @rod-nxtlevel, @rodboev, @Roger—Han, @rsayar, @rudironsoni, @ruizanthony, @rungmc357, @s00rz, @s905060, @Sahil-SS9, @sakhnenkoff, @salimhamed, @samrusani, @sbe27, @ScaleLeanChris, @schattenan, @sealca, @seamusmore, @sebaorrego-koronet, @seppegadeyne, @sergioperezcheco, @sethmills21, @sg-shag, @sgtworkman, @shady2k, @shannonsands, @shellybotmoyer, @sherman-yang, @shivasymbl, @Shizoqua, @SHL0MS, @simonmmafs, @skyer-flyyy, @Skywind5487, @sl4m3, @Slopez2023, @SmallNew2003, @smfworks, @Soju06, @Solitud1nem, @solyanviktor-star, @somewheresy, @Sora-bluesky, @sowork-skills, @soynchux, @sparkeros, @spfcraze, @spiky02plateau, @spro-work, @SquabbyZ, @srojk34, @StanleyStetson, @StartupBros-com, @StellarisW, @stephenschoettler, @Stoltemberg, @stremtec, @Studio729, @stwith, @subhoya, @sunwz1115, @suparious, @supplefrog, @sycamoregroupltd, @szzhoujiarui, @tachyon-r, @Tamaz-sujashvili, @tandixit95, @tank321, @tavva, @tcconnally, @temalo, @th3wingman, @the3asic, @TheAngryPit, @TheEpTic, @theone139344, @TheSmokeDev, @thirstycrow, @tianma-if, @Tianworld, @tinetwork, @to-na, @tom-channel, @tomqiaozc, @toomij99, @trac3r00, @Tranquil-Flow, @Trantor-develops, @trevorgordon981, @trevornk, @trippyogi, @trymhaak, @tsuk1nose, @tusharui, @TutkuEroglu, @tw0316, @twe-cloud, @tymrtn, @UltraInstinct0x, @umi008, @unixwzrd, @upicat, @vaibhavjnf, @valda, @Vansh5632, @Variable85, @vb3, @VerbalChainsaw, @vexclawx31, @victor-kyriazakos, @vigilancetech-com, @virtuadex, @Vissirexa, @VittoriaLanzo, @VIVAAN-DHAWAN, @wangyunyou, @waroffchange, @wayne1992127, @web3blind, @webtecnica, @WeiYusc, @wen0531, @wernerhp, @wesleysimplicio, @westkite1201, @wgd753, @wgu9, @wjj1872744570-source, @wjq990112, @WojtekMR3, @WOLIKIMCHENG, @Wpnx330, @wreed4, @wuli666, @WXBR, @wz-heng, @x7peeps, @xcompass, @xd-Neji, @xenodmc, @Xipong, @xrazai, @Xue-1997, @xxxigm, @y0shua1ee, @yaleman, @yemi-lagosinternationalmarket, @ygd58, @yingliang-zhang, @yinkev, @yitang, @YLChen-007, @yoniebans, @youzi-1122, @ypwcharles, @yuexiongHNU, @yungchentang, @yuzilongleif-collab, @yyzquwu, @z23, @ZachariahChu, @zakhounet, @zapabob, @Zavianx, @zehuaw1, @zengzheqing, @Zeraphim, @zgzczzw, @zhangyang-crazy-one, @Zhekinmaksim, @Zioywishing, @zmlgit, @zombopanda, @ZundamonnoVRChatkaisetu
Спасибо каждому из 647 человек, кто внёс код, соавторствовал в фиксах, завёл ~1 200 issues, которые закрывает этот релиз, и чьи PR были спасены в main. Hermes развивается так быстро благодаря вам.
Полный changelog: v2026.7.20…v2026.8.3