Веб-дашборд
Веб-дашборд — это браузерный интерфейс для управления вашей установкой Hermes Agent. Вместо редактирования YAML-файлов или выполнения команд CLI вы можете настраивать параметры, управлять API-ключами и отслеживать сессии через чистый веб-интерфейс.
Быстрый старт
hermes dashboard
Эта команда запускает локальный веб-сервер и открывает http://127.0.0.1:9119 в вашем браузере. Дашборд работает полностью на вашей машине — никакие данные не покидают localhost.
Параметры
| Флаг | По умолчанию | Описание |
|---|---|---|
--port |
9119 |
Порт для запуска веб-сервера |
--host |
127.0.0.1 |
Адрес привязки |
--no-open |
— | Не открывать браузер автоматически |
--insecure |
выкл | Разрешить привязку к не-localhost адресам (ОПАСНО — раскрывает API-ключи в сети; используйте с файрволом и строгой аутентификацией) |
--tui |
выкл | Включить вкладку чата в браузере (встроенный hermes --tui через PTY/WebSocket). Также можно установить HERMES_DASHBOARD_TUI=1. |
# Custom port
hermes dashboard --port 8080
# Bind to all interfaces (use with caution on shared networks)
hermes dashboard --host 0.0.0.0
# Start without opening browser
hermes dashboard --no-open
Предварительные требования
Стандартная установка hermes-agent не включает HTTP-стек или PTY-помощник — это опциональные дополнения. Веб-дашборду требуются FastAPI и Uvicorn (расширение web). Вкладка Чат также требует ptyprocess для запуска встроенного TUI через псевдо-терминал (расширение pty на POSIX). Установите оба расширения с помощью:
pip install 'hermes-agent[web,pty]'
Расширение web устанавливает FastAPI/Uvicorn; pty устанавливает ptyprocess (POSIX) или pywinpty (нативный Windows — учтите, что встроенный TUI всё равно требует WSL). pip install hermes-agent[all] включает оба расширения и является самым простым путём, если вы также хотите использовать мессенджеры, голос и т.д.
Когда вы запускаете hermes dashboard без необходимых зависимостей, он сообщит, что нужно установить. Если фронтенд ещё не собран и доступен npm, он собирается автоматически при первом запуске.
Страницы
Состояние
Главная страница показывает обзор вашей установки в реальном времени:
-
Версия агента и дата релиза
-
Статус Gateway — запущен/остановлен, PID, подключённые платформы и их состояние
-
Активные сессии — количество сессий, активных за последние 5 минут
-
Последние сессии — список 20 самых последних сессий с моделью, количеством сообщений, использованием токенов и превью диалога
Страница состояния автоматически обновляется каждые 5 секунд.
Чат
Вкладка Чат встраивает полный TUI Hermes (тот же интерфейс, который вы получаете при hermes --tui) прямо в браузер. Всё, что вы можете делать в терминальном TUI — слэш-команды, выбор модели, карточки вызовов инструментов, потоковый Markdown, запросы clarify/sudo/approval, скины — работает здесь идентично, потому что дашборд запускает реальный TUI-бинарник и рендерит его ANSI-вывод через xterm.js с WebGL-рендерером для попиксельной разметки ячеек.
Как это работает:
-
/api/ptyоткрывает WebSocket, аутентифицированный токеном сессии дашборда -
Сервер запускает
hermes --tuiчерез POSIX-псевдотерминал -
Нажатия клавиш передаются в PTY; ANSI-вывод потоком возвращается в браузер
-
WebGL-рендерер xterm.js отрисовывает каждую ячейку в целочисленную пиксельную сетку; отслеживание мыши (SGR 1006), широкие символы (Unicode 11) и псевдографика отображаются нативно
-
Изменение размера окна браузера изменяет размер TUI через аддон
@xterm/addon-fit
Возобновление существующей сессии: на вкладке Сессии нажмите значок воспроизведения (▶) рядом с любой сессией. Это перейдёт на /chat?resume=<id> и запустит TUI с флагом --resume, загрузив полную историю.
Предварительные требования:
-
Node.js (то же требование, что и для
hermes --tui; TUI-сборка выполняется при первом запуске) -
ptyprocess— устанавливается расширениемpty(pip install 'hermes-agent[web,pty]', или[all]включает оба) -
Ядро POSIX (Linux, macOS или WSL2). Панель терминала
/chatтребует именно POSIX PTY — в нативном Windows Python нет аналога, поэтому в нативной установке Windows остальная часть дашборда (сессии, задачи, метрики, редактор конфигурации) работает, но вкладка/chatпокажет баннер с рекомендацией использовать WSL2 для этой функции.
Закройте вкладку браузера — PTY будет корректно завершён на сервере. Повторное открытие создаёт новую сессию.
Конфигурация
Форм-редактор для config.yaml. Все 150+ полей конфигурации автоматически обнаруживаются из DEFAULT_CONFIG и организованы по вкладкам-категориям:
-
model — модель по умолчанию, провайдер, базовый URL, настройки рассуждений
-
terminal — бэкенд (local/docker/ssh/modal), таймаут, настройки оболочки
-
display — скин, прогресс инструментов, отображение возобновления, настройки спиннера
-
agent — максимальное количество итераций, таймаут Gateway, уровень обслуживания
-
delegation — лимиты сабагентов, усилия на рассуждения
-
memory — выбор провайдера, настройки внедрения контекста
-
approvals — режим подтверждения опасных команд (ask/yolo/deny)
-
И другое — каждая секция config.yaml имеет соответствующие поля формы
Поля с известными допустимыми значениями (бэкенд терминала, скин, режим подтверждения и т.д.) отображаются как выпадающие списки. Логические значения — как переключатели. Всё остальное — как текстовые поля.
Действия:
-
Сохранить — немедленно записывает изменения в
config.yaml -
Сбросить на стандартные — возвращает все поля к значениям по умолчанию (не сохраняется до нажатия «Сохранить»)
-
Экспорт — скачивает текущую конфигурацию в формате JSON
-
Импорт — загружает JSON-файл конфигурации для замены текущих значений
API-ключи
Управление файлом .env, в котором хранятся API-ключи и учётные данные. Ключи сгруппированы по категориям:
-
LLM-провайдеры — OpenRouter, Anthropic, OpenAI, DeepSeek и др.
-
API-ключи инструментов — Browserbase, Firecrawl, Tavily, ElevenLabs и др.
-
Платформы мессенджеров — токены ботов Telegram, Discord, Slack и др.
-
Настройки агента — несекретные переменные окружения, такие как
API_SERVER_ENABLED
Каждый ключ отображает:
-
Установлен ли он в данный момент (с замаскированным превью значения)
-
Описание его назначения
-
Ссылку на страницу регистрации/получения ключа провайдера
-
Поле ввода для установки или обновления значения
-
Кнопку удаления
Продвинутые/редко используемые ключи по умолчанию скрыты за переключателем.
Сессии
Просматривайте и исследуйте все сессии агента. Каждая строка показывает название сессии, иконку платформы-источника (CLI, Telegram, Discord, Slack, cron), название модели, количество сообщений, количество вызовов инструментов и время последней активности. Активные сессии отмечены пульсирующим значком.
-
Поиск — полнотекстовый поиск по всем сообщениям с использованием FTS5. Результаты показывают подсвеченные фрагменты и автоматически прокручиваются к первому совпадающему сообщению при разворачивании.
-
Развернуть — нажмите на сессию, чтобы загрузить полную историю сообщений. Сообщения цветово кодируются по роли (пользователь, ассистент, система, инструмент) и отображаются в Markdown с подсветкой синтаксиса.
-
Вызовы инструментов — сообщения ассистента с вызовами инструментов показывают сворачиваемые блоки с именем функции и JSON-аргументами.
-
Удалить — удаляет сессию и её историю сообщений по иконке корзины.
Логи
Просмотр файлов логов агента, Gateway и ошибок с фильтрацией и отслеживанием в реальном времени.
-
Файл — переключение между файлами логов
agent,errorsиgateway -
Уровень — фильтрация по уровню логирования: ALL, DEBUG, INFO, WARNING или ERROR
-
Компонент — фильтрация по компоненту-источнику: all, gateway, agent, tools, cli или cron
-
Строки — выбор количества отображаемых строк (50, 100, 200 или 500)
-
Автообновление — включение отслеживания в реальном времени с опросом новых строк лога каждые 5 секунд
-
Цветовая кодировка — строки лога окрашены по серьёзности (красный для ошибок, жёлтый для предупреждений, тусклый для отладки)
Аналитика
Аналитика использования и стоимости на основе истории сессий. Выберите временной период (7, 30 или 90 дней), чтобы увидеть:
-
Карточки сводки — всего токенов (вход/выход), процент попаданий в кэш, общая расчётная или фактическая стоимость и общее количество сессий со среднедневным значением
-
График дневных токенов — столбчатая диаграмма с накоплением, показывающая использование входных и выходных токенов по дням, с всплывающими подсказками с детализацией и стоимостью
-
Таблица дневной разбивки — дата, количество сессий, входные токены, выходные токены, процент попаданий в кэш и стоимость за каждый день
-
Разбивка по моделям — таблица, показывающая каждую использованную модель, количество её сессий, использование токенов и расчётную стоимость
Cron (задачи по расписанию)
Создание и управление запланированными cron-задачами, которые выполняют промпты агента по регулярному расписанию.
-
Создать — укажите имя (опционально), промпт, cron-выражение (например,
0 9 * * *) и цель доставки (local, Telegram, Discord, Slack или email) -
Список задач — каждая задача показывает название, превью промпта, выражение расписания, значок состояния (включено/приостановлено/ошибка), цель доставки, время последнего и следующего запуска
-
Пауза / Возобновить — переключение задачи между активным и приостановленным состоянием
-
Запустить сейчас — немедленное выполнение задачи вне обычного расписания
-
Удалить — полное удаление cron-задачи
Навыки
Просмотр, поиск и включение/отключение навыков и наборов инструментов. Навыки загружаются из ~/.hermes/skills/ и сгруппированы по категориям.
-
Поиск — фильтрация навыков и наборов инструментов по имени, описанию или категории
-
Фильтр по категориям — нажмите на категории, чтобы сузить список (например, MLOps, MCP, Red Teaming, AI)
-
Включение/отключение — включение или отключение отдельных навыков с помощью переключателя. Изменения вступают в силу при следующей сессии.
-
Наборы инструментов — отдельная секция показывает встроенные наборы инструментов (файловые операции, веб-сёрфинг и т.д.) с их статусом активности/неактивности, требованиями к настройке и списком включённых инструментов