No description
Find a file
ochenstarik-ui a3373f9f76 fix(tests): платформенные допущения тестов не выдают себя за дефекты продукта
Прогон на Windows-раннере показал, что причин красного CI больше двух.
Четыре падения — не в продукте, а в допущениях тестов, зашитых под Linux.

1. test_a41 читал вывод скрипта в кодировке системы. Скрипт теперь пишет
   UTF-8, а родитель на Windows читал трубу как cp1252 и разваливался на
   UnicodeDecodeError, оставляя proc.stdout равным None. Кодировка задана
   явно с обеих сторон трубы.

2. test_p0_3_stop_running_hub знал только про ветку Linux: os.kill по списку
   от pgrep. На Windows процессы останавливает taskkill по списку от wmic,
   os.kill не вызывается — тест падал на пустом списке убитых. Инвариант же
   один для обеих веток: чужой процесс хаба останавливается, собственный
   PID не трогается. Теперь он проверяется на обеих.

3-4. Оба теста установки подсовывали bash-скрипт hermes-hub-setup.sh. На
   Windows выбирается HermesHubSetup.exe, и установка честно отвечала «в
   релизе не найден подходящий файл обновления для текущей платформы».
   Установщик теперь берётся под ту систему, на которой идёт прогон.
   Проверка сообщения об ошибке смотрит на то, назван ли код возврата, а не
   на склонение: ветки формулируют «код 3» и «кодом 3», инвариант один.

Тесты: 755 -> 756 passed, 2 skipped, 4 deselected. ruff check . чисто.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-03 19:01:30 +07:00
.agents/skills/frontend-design feat(skills): A49 subagents layout, skills tab, SkillDoctor, and Obsidian memory integration 2026-08-31 18:19:01 +07:00
.github/workflows fix(ci): stop hanging hermetic tests and unblock clean/headless runners 2026-08-27 12:03:37 +00:00
agents docs(agents): вернуть в репозиторий постановки A42-A56 и отчёт A30 2026-09-03 18:16:35 +07:00
artifacts feat(web): A21 — паритет веб-интерфейса: аналитика, состояние, события, настройки 2026-08-23 22:59:02 +07:00
assets fix(ui): align dashboard and navigation with approved mockup 2026-08-21 19:32:53 +07:00
benchmarks feat(a56): context compression engine with 100% fact retention, configurable compressor profile, and AI-Memory tracking 2026-09-01 01:27:38 +07:00
config fix(antigravity): вход завершался успешно, а agy требовал войти снова 2026-09-01 10:37:27 +07:00
docs docs(research): решение и план слияния Hermes Hub → KAgent 2026-09-02 23:29:33 +07:00
installer fix(antigravity): вход через терминал не регистрировал аккаунт 2026-09-02 02:05:08 +07:00
launcher fix(antigravity): вход через терминал не регистрировал аккаунт 2026-09-02 02:05:08 +07:00
legacy fix(wizard): restore Antigravity OAuth by matching the 3-tuple session API 2026-08-21 08:00:42 +07:00
scripts fix(security): граница workspace держится одинаково на Windows и Linux 2026-09-03 19:01:30 +07:00
src/antigravity_provider fix(security): граница workspace держится одинаково на Windows и Linux 2026-09-03 19:01:30 +07:00
tests fix(tests): платформенные допущения тестов не выдают себя за дефекты продукта 2026-09-03 19:01:30 +07:00
.gitattributes fix(git): shell-скрипты уезжали в индекс с CRLF и ломались на Linux 2026-08-25 09:12:01 +07:00
.gitignore feat(updater): in-app updates based on main repo release commits (A27 Pass 1) 2026-08-25 17:54:51 +07:00
a15_web_api_and_linux_port_report.md feat(A15): веб-API, общий ActionExecutor и порт путей на Linux 2026-08-23 19:45:13 +07:00
AGENTS.md docs(agents): корневой AGENTS.md — мост к канонической памяти AI-Memory 2026-08-31 14:31:03 +07:00
CHANGELOG.md feat: initialize standalone Hermes Hub 2026-08-20 00:17:11 +07:00
COCKPIT_TOOLS_ARCHITECTURE_COMPARISON.md docs(tasks): A9 и B8 по итогам живого прогона владельца 2026-08-23 01:20:23 +07:00
CODEX_CONTRACT_V11_REPORT.md feat(ui): wire state contract v1.1 fields 2026-08-21 09:04:53 +07:00
CODEX_MOCKUP_REDESIGN_REPORT.md fix(ui): align dashboard and navigation with approved mockup 2026-08-21 19:32:53 +07:00
CODEX_UI_REDESIGN_REPORT.md feat(ui): complete redesign phases 2 through 6 2026-08-21 08:41:50 +07:00
LICENSE feat: initialize standalone Hermes Hub 2026-08-20 00:17:11 +07:00
pyproject.toml fix(antigravity): вход завершался успешно, а agy требовал войти снова 2026-09-01 10:37:27 +07:00
README.md feat(hub): product stabilization, native windows ux v3, provider icons, and architecture roadmap 2026-08-20 11:01:52 +07:00
uv.lock feat(antigravity): нативный вход через agy в терминале (A57) 2026-09-01 14:25:13 +07:00

Hermes Hub

Multi-Agent & Multi-Provider Control Hub for Hermes Agent

Hermes Hub — централизованная панель управления и отказоустойчивый маршрутизатор запросов (Multi-Provider Router) для Hermes Agent. Объединяет учетные записи различных провайдеров (Google Antigravity, OpenAI Codex, OpenCode Go, DeepSeek) в единую согласованную команду с автоматическим переключением при исчерпании квот (failover) и поддержкой сессионной привязки (Session Affinity).


🌟 Ключевые возможности

  • 🖥️ Нативное приложение Windows (CustomTkinter & Brandbook):
    • Фирменная дизайн-система Obsidian Forest (#0F1510, #1A2A1F, #2F4A36, #F7F1E3, #CDAA64).
    • Мгновенное переключение вкладок (P95 < 200 ms, в среднем ~30 ms).
    • Полноценная интеграция с панелью задач Windows через AppUserModelID (HermesHub.Desktop) и multi-resolution .ico.
  • 👥 Команда агентов (Team View):
    • 6 логических ролей («Главный оркестратор», «Кодер», «Ревьюер», «Исследователь», «Тестировщик», «Агент общего назначения»).
    • Реальные логотипы провайдеров с динамическим кэшированием.
    • Четкое разделение флагов MAIN Hermes Account и Primary Orchestrator.
  • 🔀 Многоуровневый Failover & Маршрутизация:
    • Визуальные пайплайны маршрутизации со статусами узлов в реальном времени.
    • Автоматический failover цепочки Codex -> Antigravity -> OpenCode Go при квотных ограничениях (HTTP 429 / Quota Exceeded).
  • 🛡️ Строгий Status Resolver & Unified Health:
    • Неподключенные слоты отображаются как NOT_CONFIGURED («Аккаунт не добавлен») и никогда не показывают ложных QUOTA_EXHAUSTED или HEALTHY.
    • Автоматическая очистка устаревших квотных записей при удалении credentials.
  • 💼 Cockpit Tools Accounts View:
    • Верхний тулбар: Поиск, фильтры (Подключенные, Требуется вход, Квота), сортировка.
    • Компактный блок свободных слотов без визуального шума.
    • 4-шаговый мастер добавления аккаунтов (Wizard).
  • ⚙️ Архитектурные модули (Roadmap P0, P1, P2):
    • LifecycleSupervisor: Реестр процессов с контролем владения по UUID и PID, исключающий использование killall / taskkill.
    • PolicyEnforcer: WebPolicy (ограничение исходящих доменов, блокировка метаданных) и ToolPolicy (валидация команд).
    • UnifiedSkillRegistry: Межпровайдерный реестр навыков.
    • CapabilityMatrix: Ранжирование моделей по контексту, рассуждениям и инструментам.
    • ScheduledTaskSafetyCoordinator: Защита периодических задач (overlap_policy: skip).
  • 📦 Windows Installer (HermesHubSetup.exe):
    • Обязательная pre-flight проверка наличия установленного Hermes Agent.
    • Автоматическое создание ярлыков на Рабочем столе и в Главном меню с AppUserModelID.

🚀 Быстрый старт

Запуск из исходного кода

# Установка зависимостей
uv sync

# Запуск приложения Hermes Hub
uv run python -m antigravity_provider.router.hermes_hub_app

Запуск тестов и верификации

# Полный набор автоматических тестов (35 тестов)
uv run pytest -v tests/

# Комплексная проверка роутера (10 проверок)
python scripts/verify_multi_provider_router.py

🏗️ Структура проекта

Каталог Назначение
src/antigravity_provider/router/ Ядро Multi-Provider Router и Native GUI
src/antigravity_provider/router/ui/ Дизайн-система, компоненты и экраны (Views)
src/antigravity_provider/router/supervisor/ Lifecycle Supervisor и политики безопасности (WebPolicy/ToolPolicy)
src/antigravity_provider/router/skills/ Унифицированный реестр навыков
src/antigravity_provider/router/capability/ Матрица возможностей моделей и DeepSeek адаптер
src/antigravity_provider/router/scheduler/ Координатор безопасности запланированных задач
assets/ Фирменные логотипы, иконки провайдеров и .ico
installer/ Инсталлятор HermesHubSetup.py с проверкой Hermes Agent
tests/ Автоматизированные тесты pytest
docs/ Архитектура, гайдлайны бренда, безопасность и производительность

📄 Лицензия

MIT License. Hermes Hub is an open-source component of the Hermes Agent ecosystem.