Дата релиза: 28 мая 2026 года
С предыдущего релиза (v0.14.0): 1 302 коммита · 747 merged PR · 1 746 файлов изменено · 282 712 строк добавлено · 36 699 удалено · 560+ закрытых issue (15 P0, 65 P1, 19 security) · 321 участник сообщества
«The Velocity Release» — Hermes стал кардинально быстрее: запускаться, работать, доставлять результаты и масштабироваться. Файл
run_agent.pyиз 16 083 строк схлопнут до 3 821 (-76%) и разбит на 14 когерентных модулейagent/*. Kanban вырос в полноценную мультиагентную платформу за 104 PR — оркестратор с автодекомпозицией, swarm-топология, отложенный старт, worktree на задачу, per-task модели. Волна оптимизации холодного старта продолжается: ещё секунда сэкономлена, на 47% меньше вызовов функций на ход,hermes --versionвыигрывает head-to-head у Codex CLI.session_searchстал в 4 500 раз быстрее и бесплатным. Защита от Promptware-атак класса Brainworm. Bitwarden Secrets Manager заменяет N API-ключей одним токеном. Skill bundles — один слеш-командой загружает целый рабочий процесс. Ink TUI получил оркестратор сессий. Два новых провайдера image_gen (Krea 2 Medium + Large, FAL как плагин), каталог MCP от Nous с интерактивным пикером, скилл оркестрации OpenHands, ntfy как 23-я платформа обмена сообщениями, и глубокая интеграция с xAI (Web Search, OAuth proxy, детекция выводимых моделей, TTS с паузами, защита base_url). Закрыто 15 P0 + 65 P1.
✨ Главное
Большой рефакторинг — run_agent.py больше не 16 000 строк
Файл, который был сердцем Hermes — цикл разговора агента — сокращён с 16 083 до 3 821 строки (-76%). Код распределён по 14 когерентным модулям в agent/. Поведение не изменилось: каждое извлечение оставляет тонкий форвардер на AIAgent, каждый тестовый путь работает, каждый внешний вызов совместим. Почему это важно: разработка Hermes ускоряется, авторы плагинов наконец могут грипать по кодовой базе, а файл, который грузился 90 секунд, открывается мгновенно.
Kanban стал мультиагентной платформой — 104 PR от начала до конца
Triage автоматически декомпозирует одну задачу в дерево подзадач. hermes kanban swarm создаёт полный граф Swarm v1 одной командой — корневой узел, параллельные воркеры, gated-верификатор, gated-синтезатор, общая доска. Задачи поддерживают per-task переопределение модели (дешёвые для шаблонов, дорогие для сложных подзадач), workdir по умолчанию на доске, per-task worktree-пути и ветки, отложенное начало, настраиваемый TTL клейма, retry-фингерпринт, детекцию застоявшихся задач, защиту от респавна и зону удаления перетаскиванием. Воркеры отчитываются через /workers/active, /runs/{id} и /inspect.
Продолжение волны оптимизации холодного старта
Три новых раунда оптимизации: отложенный импорт openai._base_client (-240мс / -17МБ на каждый вызов CLI), оптимизация горячего пути — на 47% меньше вызовов функций на разговор (399k → 213k для 31-ходового чата), отложенная проверка целесообразности сжатия (-170…-290мс на каждое создание агента), адаптивный опрос подпроцессов (-195мс на каждый вызов инструмента, +1 секунда на ход). Холодный старт Termux: 2.9с → 0.8с. hermes --version: 701мс → 258мс (-63%), head-to-head с Codex CLI перевернулся с 5/11 до 6/11 побед.
session_search переписан — без LLM, бесплатно, в 4 500 раз быстрее
Старый session_search использовал вспомогательный LLM, стоил ~$0.30 за вызов и занимал ~30 секунд на саммари трёх сессий, иногда галлюцинируя. Новая версия — один инструмент с тремя режимами (discovery, scroll, browse), определяемыми по аргументам. Без LLM, без настроек, без companion-скилла. Discovery: ~20мс вместо ~90с. Scroll: ~1мс. Поиск по прошлым сессиям теперь бесплатный и мгновенный.
Защита от Promptware — атаки класса Brainworm заблокированы на трёх точках
Вдохновлено исследованием Brainworm / Promptware Kill Chain (Origin HQ, arxiv 2601.09625). Hermes теперь защищает контекстное окно от атак prompt injection, которые пытаются перехватить агента через вывод инструментов, запомненную память или сохранённые скиллы. Единый источник истинности (tools/threat_patterns.py) с ~15 новыми паттернами Brainworm/C2; запомненная память сканируется при загрузке; результаты инструментов получают разделители, чтобы вредоносный файл или удалённый сервис не могли имитировать системный контент Hermes. В паре с новым плагином security-guidance, который паттернматчит опасные записи кода.
Bitwarden Secrets Manager — один токен вместо всех API-ключей
Больше не нужно хранить ключи в открытом виде в ~/.hermes/.env. Установите Bitwarden Secrets Manager (bws ставится автоматически при первом использовании), укажите Hermes один bootstrap-токен (BWS_ACCESS_TOKEN) — и все ключи приходят из Bitwarden при старте. Ротация ключа в веб-приложении Bitwarden реально срабатывает — Bitwarden становится источником истины, его значения перезаписывают совпадающие env-переменные. EU Cloud и self-hosted Bitwarden поддерживаются.
ntfy — 23-я платформа обмена сообщениями
ntfy — это саморазмещаемый сервис push-уведомлений без регистрации, без API-ключа, только topic URL. Hermes адаптируется к нему как платформенный плагин (ноль правок в ядре), так что агент может отправлять push-уведомления из любого cron job, задачи kanban или чата — на телефон, часы, десктоп, хоумлаб.
Skill bundles — /name загружает несколько скиллов
Skill bundle — это именованная группа скиллов, которая загружается одним слеш-командой. Настройте бандл «writing-day» (humanizer + ideation + obsidian + youtube-content) — и /writing-day активирует все четыре на сессию. Skills Hub получил проверки здоровья, бейдж свежести и watchdog-крон. Три новых опциональных скилла: code-wiki (persistent indexed dev wiki от Карпати), openhands (делегирование в OpenHands для параллельного кодинга), web-pentest (рецепты OWASP-тестирования).
Оркестратор сессий в TUI
Ink TUI получил оверлей переключения активных сессий. Списывайте, переключайтесь, обновляйте и закрывайте несколько живых сессий, не покидая TUI; запускайте новую сессию с пикером модели. Плюс волна полировки TUI — мышиный трекинг, сохранение скроллбека между ветками и termux, исправления выпадающего меню, рендеринг ссылок x.com и улучшения ввода CJK/IME.
Два новых провайдера image_gen — Krea 2 и FAL как плагин
Krea присоединяется к линейке image_gen: Krea 2 Medium ($0.03) и Krea 2 Large ($0.06), автодискавери, выбор через hermes tools. Бэкенд FAL.ai вынесен из монолитного инструмента генерации изображений в plugins/image_gen/fal/ — теперь новый провайдер image_gen — это один файл, а не форк.
Каталог MCP от Nous с интерактивным пикером
Курируемый каталог проверенных Nous MCP-серверов. hermes mcp — интерактивный пикер; установка одним нажатием, ключи запрашиваются при установке. Первый манифест — n8n.
Глубокая интеграция с xAI — шесть улучшений
- xAI Web Search — плагин
plugins/web/xai/, использует существующие креды Grok OAuth илиXAI_API_KEY hermes proxyс xAI upstream — локальный OpenAI-совместимый эндпоинт на базе SuperGrok OAuth- Детекция выводимых моделей 15 мая —
grok-4,grok-3и др. обнаруживаются при старте,hermes migrate xaiдля миграции auto_speech_tags— опциональные паузы[pause]для естественного звучания TTSbase_urlпривязан к x.ai — закрыт вектор утечки кредов- Execution guidance для Grok — Grok получает ту же дисциплину выполнения, что и GPT/Codex
🏗️ Архитектура ядра
Рефакторинг — run_agent.py 16k → 3.8k
run_agent.py сокращён с 16 083 до 3 821 строки (-76%), извлечён в 14 модулей agent/*. Один только run_conversation был 3 877 строк до рефакторинга.
Цикл агента и разговор
- Многоуровневый fallback вспомогательных задач (primary → chain → main agent → graceful fail) при ошибках capacity (402/429/connection)
- Буферизация статуса retry/fallback; показ только при терминальном сбое
- Контракт хоста для внешних контекстных движков
- Немедленный fallback при блокировках content-policy провайдера
- Верификация результата инструмента на каждом ходу
- Нативное видение одной ручкой для моделей custom-провайдеров
Сессии и память
session_searchпереписан — single-shape (discovery + scroll + browse), без вспомогательного LLM, ~20мс вместо ~90с- Опциональный JSON-snapshot writer для сессий
- Персистентность
platform_message_idмежду рестартами gateway - Упоминания inline memory-контекста остаются видимыми в разговоре
- Запомненная память помечена как информационная, не авторитетная
- Защита от дрейфа
MEMORY.md/USER.md
🎛️ Kanban — волна зрелости мультиагента
Оркестрация и диспетчеризация
- Оркестратор-driven автодекомпозиция при triage
hermes kanban swarm— полный граф Swarm v1 (root + параллельные воркеры + gated-верификатор + gated-синтезатор + общая доска)- Per-task переопределение модели
- Workdir по умолчанию на уровне доски
- Настраиваемые worktree-пути и ветки
- Отложенный старт задач
- Конфигурируемый TTL клейма
- Retry-фингерпринт для предотвращения массового исчерпания
- Детекция застоявшихся задач в диспетчере
- Respawn guard блокирует повторяющиеся штормы воркеров
- Эндпоинты видимости воркеров:
/workers/active,/runs/{id},/inspect
Конфигурация задач и расписание
max_in_progress— ограничение одновременно запущенных задач- Фильтрация задач по полям workflow
--sortдляhermes kanban list- Опциональный параметр
boardна все MCP-инструменты archive --rmдля жёсткого удаления архивных задач- Продвижение зависимых при архивации родителя
Dashboard
- Зона удаления перетаскиванием + массовое удаление
- Отображение per-task
model_override - Cross-profile доставка уведомлений через
kanban.notification_sources - Мобильная полировка UX
⚡ Производительность
- Отложенный импорт
openai._base_client— -240мс / -17МБ на холодный старт CLI - Оптимизация горячего пути — на 47% меньше вызовов функций на разговор (399k → 213k)
- Отложенная проверка целесообразности сжатия — -170…-290мс на создание агента
- Адаптивный опрос подпроцессов — ~-195мс на вызов инструмента, +1 сек на ход
- Termux TUI холодный старт: 2.9с → 0.8с
hermes --version: 701мс → 258мс (-63%)- Дата-only метка времени + логирование roundtrip gateway-DB — улучшает hit rate prompt-кеша
🔧 Система инструментов
Поверхность инструментов
patch: сохранение отступов, CRLF, эскалация ошибок по файламterminal: предупреждение при тихомbackground=truex_search: показ деградированных результатов + валидация дат- TTS: опциональные
auto_speech_tagsдля xAI — паузы между абзацами и предложениями - Голос: нарезка длинных CLI-записей, поддержка
PULSE_SERVER/PIPEWIRE_REMOTEв Docker
Браузер
- Все облачные провайдеры браузера мигрированы в плагины (как image_gen)
- Авто-запуск Chromium-family для CDP
- Docker: обнаружение бинарника Chromium при загрузке
Генерация изображений
- Krea — плагин-провайдер (Krea 2 Medium + Large)
- FAL бэкенд перенесён в
plugins/image_gen/fal
MCP
- Каталог MCP от Nous с интерактивным пикером
- Поддержка TLS client certificate (mTLS) для HTTP и SSE MCP-серверов
☁️ Провайдеры
xAI — глубокая интеграция
- xAI Web Search как плагин-провайдер
hermes proxyс xAI upstream- Детекция выводимых моделей 15 мая +
hermes migrate xai - Опциональные
auto_speech_tagsдля естественного TTS base_urlпривязан к x.ai — закрыта утечка кредов- Execution guidance для Grok (как у GPT/Codex)
- PKCE
code_challengeround-trip fix - Карантин мёртвых токенов при сбое refresh
Другие провайдеры
- OpenAI API как first-class провайдер (отдельно от Codex runtime)
- Microsoft Entra ID для Azure Foundry
- OpenRouter sticky routing —
session_idчерезextra_bodyдля закрепления на одном upstream - Nous Portal: JWT-токен для инференса, one-shot setup
qwen3.7-maxв каталоге Alibaba- MiniMax OAuth: refresh короткоживущих токенов на каждый запрос
🔑 Секреты
- Bitwarden Secrets Manager — интеграция с ленивой установкой
bws - EU Cloud + self-hosted Bitwarden
- Метки обнаруженных кредов источником (Bitwarden)
🔒 Безопасность
Promptware и харденинг памяти
- Защита от Promptware — общие паттерны угроз + сканирование памяти при загрузке + разделители результатов инструментов
- Плагин
security-guidance— паттернматчинг опасных записей кода - Защита контрольных файлов от prompt injection (
auth.json,config.yaml,mcp-tokens/) - Write-deny
.envпри работе под профилем - Read-deny на хранилища кредов (defense-in-depth)
Цепочка поставок
hermes audit— аудит через OSV.dev по запросуhermes updateвалидирует критические файлы после pull, автороллбек при сбое
🐳 Docker
- s6-overlay супервизия контейнера — абстрактный
ServiceManager(systemd/launchd/Windows/s6) - Авто-редирект
gateway runв supervised mode внутри s6-образа - Node 22 LTS через multi-stage из
node:22-bookworm-slim - Docker: обнаружение Chromium бинарника при загрузке
--insecure— явный opt-in через env var, не выводится из bind host
📱 Платформы обмена сообщениями
- ntfy — 23-я платформа, push-уведомления без аккаунта
- Deliverable mode — агенты доставляют артефакты как нативные загрузки с любой платформы
- In-place статус-редактирования в Telegram
🖥️ Веб-дашборд
- Сворачиваемый сайдбар
- Полировка типографики и контраста
- Страница скиллов: ленивая загрузка каталога вместо 34МБ в JS
- Мобильная полировка UX
🎟️ ACP (VS Code / Zed / JetBrains)
- Режимы авто-утверждения редактирования сессий
- Обогащённые карточки разрешений Zed
- Воспроизведение истории сессии перед ответом на
session/load
📚 Документация
- 30-дневная проверка документации — полный аудит корректности, рорганизация сайдбара
- Отдельная страница интеграции Nous Portal и гайд по настройке
- Документация Kanban: failure_limit, max_retries, inline create, goals
👥 Контрибьюторы
Ядро
@teknium (lead)
Ключевые контрибьюторы
- @benbarclay — s6-overlay супервизия контейнера (29 коммитов), Node 22 LTS, Docker харденинг
- @austinpickett — слеш-команда /update, дашборд UI, сворачиваемый сайдбар
- @alt-glitch — Windows bootstrap, Nix пакеты, install-method stamping
- @kshitijk4poor — doctor секция, post-tag salvage, kanban SQLite харденинг
- @Cybourgeoisie — OpenRouter sticky routing
- @Jaaneek — xAI Web Search провайдер
- @yannsunn — xAI upstream для
hermes proxy - @ms-alan — TUI session orchestrator
- @sprmn24 — ntfy адаптер
- @rewbs — Nous JWT inference
Полный Changelog: v2026.5.16…v2026.5.28