No description
Find a file
Hermes Team 529192baec fix(roles): 19 агентов вместо 13, шесть пар неотличимы по названию; поиск локальных серверов
Проверка кандидата A28–A31 исполнением.

1. Дублирование ролей. RoleRegistry.migrate_legacy_roles написана верно, но
   НЕ ВЫЗЫВАЛАСЬ НИОТКУДА — проверено поиском по всему коду. Вместо неё
   работала «идемпотентная миграция» в router_config, дописывавшая недостающие
   умолчания и не убиравшая старые роли. На конфигурации владельца интерфейс
   показывал 19 агентов, причём шесть пар были неотличимы по названию:
   orchestrator и manager — оба «Менеджер проекта», reviewer и code-reviewer —
   оба «Ревьюер кода». Разложить аккаунты по такому списку невозможно.

   Миграция подключена. Внутри неё нашлась вторая ошибка: при обходе одним
   проходом пустая каноническая роль затирала цепочку, перенесённую из старой.
   У владельца сработало бы именно так — в manager попал бы codex-orch вместо
   выставленного им ag-orch-fallback. Старые роли теперь обрабатываются
   первыми: в них и лежит настроенный порядок аккаунтов.

   Проверено на живой конфигурации владельца: было 19 ролей, стало 13, все
   цепочки совпадают с исходными.

2. Сохранённый workflow мигрируется вместе с ролями. Идентификаторы агентов
   повторяют идентификаторы ролей, и без переименования рёбра ссылались бы на
   исчезнувших агентов — «Ребро ссылается на отсутствующего агента».

3. Поиск локальных серверов моделей. Раньше адрес вводился руками. Теперь
   опрашиваются известные порты на петле — Ollama 11434, LM Studio 1234,
   llama.cpp 8080-8082, vLLM 8000, Jan, GPT4All, Text Generation WebUI, —
   параллельно, девять портов за 1.5 с. Наружу идёт только то, что ответило;
   список моделей берётся у сервера. Порт, занятый чужим сервисом, показывается
   с причиной, закрытые не показываются вовсе. Действие discover_local_models.

Роль в фикстурах test_workflow_service_a30 переименована в test-developer:
«developer» — псевдоним канонической developer-1, и тест проверял бы работу
псевдонимов вместо механики workflow.

475 passed, 2 skipped; ruff чисто.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-30 20:46:25 +07:00
.github/workflows fix(ci): stop hanging hermetic tests and unblock clean/headless runners 2026-08-27 12:03:37 +00:00
agents feat(web): add workflow canvas and live agent workspace 2026-08-26 08:40:20 +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
config fix(deployment): implement self-healing bootstrap, Claude & Grok profiles, non-interactive test mode, mirror installer, and comprehensive doctor CLI 2026-08-22 21:22:21 +07:00
docs feat(a31): preflight dependency agent, workflow run state recovery, local concurrency and context guard, PII email masking, and cost-controller token honesty 2026-08-26 09:27:36 +07:00
installer fix(installer): установщик Linux собирался с CRLF и падал на первой строке 2026-08-25 10:37:05 +07:00
launcher fix(launcher): сообщение при запуске не совпадало с настройками; смена токена 2026-08-25 10:47:29 +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(ci): stop hanging hermetic tests and unblock clean/headless runners 2026-08-27 12:03:37 +00:00
src/antigravity_provider fix(roles): 19 агентов вместо 13, шесть пар неотличимы по названию; поиск локальных серверов 2026-08-30 20:46:25 +07:00
tests fix(roles): 19 агентов вместо 13, шесть пар неотличимы по названию; поиск локальных серверов 2026-08-30 20:46:25 +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
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(ci): stop hanging hermetic tests and unblock clean/headless runners 2026-08-27 12:03:37 +00: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: multi-provider accounts, tariffs, quota buckets, Claude & Grok integration 2026-08-20 21:02: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.