sidebar_position: 12 sidebar_label: "Built-in Plugins" title: "Built-in Plugins" description: "Plugins shipped with Hermes Agent that run automatically via lifecycle hooks — disk-cleanup and friends" lang: ru


Встроенные плагины

Hermes поставляет небольшой набор плагинов в комплекте с репозиторием. Они находятся под <repo>/plugins/<name>/ и автоматически загружаются вместе с установленными пользователем плагинами в ~/.hermes/plugins/. Они используют ту же поверхность плагинов, что и сторонние плагины — хуки, инструменты, слэш-команды — только поддерживаются в дереве.

См. страницу Плагины для получения общей информации о системе плагинов и страницу Создание плагина Hermes, чтобы написать свой собственный.

Как работает обнаружение

PluginManager сканирует четыре источника в следующем порядке:

  1. В комплекте<repo>/plugins/<name>/ (о чем рассказывается на этой странице)
  2. Пользователь~/.hermes/plugins/<name>/
  3. Проект./.hermes/plugins/<name>/ (требуется HERMES_ENABLE_PROJECT_PLUGINS=1)
  4. Точки входа в пунктыhermes_agent.plugins

При конфликте имен более поздние источники выигрывают — пользовательский плагин с именем disk-cleanup заменит входящий в комплект.

plugins/memory/ и plugins/context_engine/ намеренно исключены из пакетного сканирования. Эти каталоги используют свои собственные пути обнаружения, поскольку поставщики памяти и механизмы контекста — это поставщики с одним выбором, настроенные с помощью hermes memory setup / context.engine в config.

Входящие в комплект плагины доступны по согласию

Плагины в комплекте поставляются отключенными. Discovery находит их (они появляются в hermes plugins list и интерактивном пользовательском интерфейсе hermes plugins), но они не загружаются, пока вы явно не включите их:

hermes plugins enable disk-cleanup

Or via ~/.hermes/config.yaml:

plugins:
  enabled:
    - disk-cleanup

Это тот же механизм, который используют плагины, установленные пользователем. Плагины в комплекте никогда не включаются автоматически — ни при новой установке, ни для существующих пользователей, переходящих на более новую версию Hermes. Вы всегда соглашаетесь явно.

Чтобы снова отключить встроенный плагин:

hermes plugins disable disk-cleanup
# or: remove it from plugins.enabled in config.yaml

В настоящее время отправлено

В репозитории эти входящие в комплект плагины поставляются под plugins/. Все они включены — включите их через hermes plugins enable <name>.

Плагин Вид Цель
disk-cleanup крючки + команда косой черты Автоматически отслеживать эфемерные файлы и очищать их по завершении сеанса
observability/langfuse крючки Отследить повороты/вызовы LLM/инструменты для Langfuse
spotify бэкэнд (7 инструментов) Нативное воспроизведение Spotify, очередь, поиск, плейлисты, альбомы, библиотека
google_meet автономный Присоединяйтесь к звонкам Meet, расшифровка субтитров в реальном времени, дополнительная двусторонняя аудиосвязь в реальном времени
image_gen/openai серверная часть изображений OpenAI gpt-image-2 серверная часть генерации изображений (альтернатива FAL)
image_gen/openai-codex серверная часть изображений Генерация изображений OpenAI через Codex OAuth
image_gen/xai серверная часть изображений xAI grok-2-image серверная часть
hermes-achievements вкладка приборной панели Коллекционные значки в стиле Steam, созданные на основе вашей реальной истории сеансов Hermes
example-dashboard пример панели управления Справочный плагин информационной панели для Расширение информационной панели
strike-freedom-cockpit кожа приборной панели Образец пользовательского скина панели управления

Поставщики памяти (plugins/memory/*) и механизмы контекста (plugins/context_engine/*) перечислены отдельно в Поставщики памяти — ими управляют через hermes memory и hermes plugins соответственно. Полная информация о каждом плагине для двух долго работающих плагинов на основе перехватчиков приведена ниже.

очистка диска

Автоматически отслеживает и удаляет эфемерные файлы, созданные во время сеансов — тестовые сценарии, временные выходные данные, журналы cron, устаревшие профили Chrome — не требуя от агента не забыть вызвать инструмент.

Как это работает:

Крюк Поведение
post_tool_call Когда write_file / terminal / patch создает файл, соответствующий test_*, tmp_* или *.test.* внутри HERMES_HOME или /tmp/hermes-*, отслеживайте его без уведомления как test / temp / cron-output.
on_session_end Если какие-либо тестовые файлы были автоматически отслежены во время поворота, запустите безопасную очистку quick и запишите однострочный отчет. В противном случае молчит.

Правила удаления:

Категория Порог Подтверждение
test конец каждой сессии Никогда
temp >7 дней с момента отслеживания Никогда
cron-output >14 дней с момента отслеживания Никогда
пустые каталоги под HERMES_HOME всегда Никогда
research >30 дней, более 10 новейших Всегда (только глубокий)
chrome-profile >14 дней с момента отслеживания Всегда (только глубокий)
файлы >500 МБ никогда авто Всегда (только глубокий)

Команда косой черты/disk-cleanup доступна как в сеансах CLI, так и в сеансах шлюза:

/disk-cleanup status                     # breakdown + top-10 largest
/disk-cleanup dry-run                    # preview without deleting
/disk-cleanup quick                      # run safe cleanup now
/disk-cleanup deep                       # quick + list items needing confirmation
/disk-cleanup track <path> <category>    # manual tracking
/disk-cleanup forget <path>              # stop tracking (does not delete)

Состояние — все живет по адресу $HERMES_HOME/disk-cleanup/:

Файл Содержание
tracked.json Отслеживаемые пути с указанием категории, размера и отметки времени
tracked.json.bak Резервное копирование вышеуказанного с атомарной записью
cleanup.log Контрольный журнал каждой дорожки только для добавления/пропуска/отклонения/удаления

Безопасность — очистка затрагивает только пути под HERMES_HOME или /tmp/hermes-*. Монтирования Windows (/mnt/c/...) отклонены. Хорошо известные каталоги состояний верхнего уровня (logs/, memories/, sessions/, cron/, cache/, skills/, plugins/, disk-cleanup/ сами по себе) никогда не удаляются, даже если они пусты — новая установка не уничтожается при первом завершении сеанса.

Включение: hermes plugins enable disk-cleanup (или установите флажок hermes plugins).

Повторное отключение: hermes plugins disable disk-cleanup.

наблюдаемость/langfuse

Отслеживает повороты Гермеса, вызовы LLM и вызовы инструментов в Langfuse — платформе наблюдения LLM с открытым исходным кодом. Один диапазон за ход, одно поколение на вызов API, одно наблюдение инструмента на вызов инструмента. Общие сведения об использовании, количество токенов каждого типа и оценки затрат получаются из канонических чисел Hermes agent.usage_pricing, поэтому на информационной панели Langfuse отображается та же разбивка (вход/выход/ cache_read_input_tokens / cache_creation_input_tokens / reasoning_tokens), которая появляется в hermes logs.

Плагин работает в режиме отказоустойчивости: ни SDK не установлен, ни учетные данные, ни временная ошибка Langfuse — все это приводит к молчаливому останову работы в перехватчике. Цикл агента никогда не затрагивается.

Настройка (интерактивная — рекомендуется):

hermes tools          # → Langfuse Observability → Cloud or Self-Hosted

Мастер собирает ваши ключи, pip installs langfuse SDK и добавляет observability/langfuse в plugins.enabled для вас. Перезапустите Гермес, и следующий ход отправит след.

Настройка (ручная):

pip install langfuse
hermes plugins enable observability/langfuse

Затем введите учетные данные в ~/.hermes/.env:

HERMES_LANGFUSE_PUBLIC_KEY=pk-lf-...
HERMES_LANGFUSE_SECRET_KEY=sk-lf-...
HERMES_LANGFUSE_BASE_URL=https://cloud.langfuse.com   # or your self-hosted URL

Как это работает:

Крюк Поведение
pre_api_request / pre_llm_call Откройте (или повторно используйте) корневой диапазон «Поворот Гермеса» для каждого хода. Запустите дочернее наблюдение generation для этого вызова API с сериализованными последними сообщениями в качестве входных данных.
post_api_request / post_llm_call Закройте генерацию, прикрепите usage_details, cost_details, finish_reason, вывод помощника + вызовы инструментов. Если вызовы инструментов отсутствуют и содержимое непустое, закройте поворот.
pre_tool_call Начните tool наблюдение за детьми с помощью продезинфицированного args.
post_tool_call Закройте наблюдение за инструментом с помощью продезинфицированного result. Полезные данные read_file суммируются (голова + хвост + количество пропущенных строк), поэтому чтение огромного файла остается под HERMES_LANGFUSE_MAX_CHARS.

Группировка сеансов отключается от идентификатора сеанса Hermes (или идентификатора задачи для субагентов) через langfuse.propagate_attributes, поэтому все в одном сеансе hermes chat находится в рамках одного сеанса Langfuse.

Проверьте:

hermes plugins list                 # observability/langfuse should show "enabled"
hermes chat -q "hello"              # check the Langfuse UI for a "Hermes turn" trace

Дополнительная настройка.env):

Переменная По умолчанию Цель
HERMES_LANGFUSE_ENV Тег среды на трассировках (production, staging, …)
HERMES_LANGFUSE_RELEASE Тег выпуска/версии
HERMES_LANGFUSE_SAMPLE_RATE 1.0 Частота дискретизации, переданная в SDK (0,0–1,0)
HERMES_LANGFUSE_MAX_CHARS 12000 Усечение по каждому полю для содержимого сообщения/аргументов инструмента/результатов инструмента
HERMES_LANGFUSE_DEBUG false Подробная регистрация плагина на agent.log

Допускаются как префикс Hermes, так и стандартные переменные окружения SDK (LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY, LANGFUSE_BASE_URL). При этом префикс Hermes выигрывает, если установлены оба.

Производительность: клиент Langfuse кэшируется после первого вызова перехватчика. Если учетные данные или SDK отсутствуют, это решение также кэшируется — последующие перехваты быстро возвращаются без повторной проверки переменных окружения или перезагрузки конфигурации.

Отключение: hermes plugins disable observability/langfuse. Модуль плагина по-прежнему обнаруживается, но код модуля не запускается, пока вы его повторно не включите.

google_meet

Позволяет агенту присоединяться, расшифровывать и участвовать в звонках Google Meet — делать заметки о встрече, подводить итоги по итогам, следить за конкретными моментами и (необязательно) озвучивать ответы во время звонка через TTS.

Что это добавляет:

– Виртуальный участник без головы, который присоединяется к URL-адресу Meet с помощью автоматизации браузера. - Прямая транскрипция звука собрания через настроенного провайдера STT. - Набор инструментов meet_summarize / meet_speak / meet_followup, который агент вызывает, чтобы действовать в соответствии с услышанным. - Артефакты после встречи (стенограмма, заметки докладчика, действия), сохраненные в папке ~/.hermes/cache/google_meet/<meeting_id>/.

Настройка:

hermes plugins enable google_meet
# Prompts you to sign in via the plugin's OAuth flow on first use —
# needs a Google account with Meet access. Host approval may be required
# if the meeting enforces "only invited participants can join".

Использование из чата:

«Присоединяйтесь к сайту meet.google.com/abc-defg-hij и делайте заметки. После звонка пришлите мне сводку с указанием действий».

Агент запускает присоединение к собранию, передает транскрипцию обратно в контекст по мере продолжения вызова и создает структурированное резюме, когда собрание заканчивается (или когда вы приказываете ему остановиться).

Когда его использовать: повторяющиеся стендапы, на которых бот должен расшифровывать и подводить итоги для асинхронных участников; интервью в стиле дачи показаний, где вам нужны структурированные заметки; в любом случае, когда вам в противном случае понадобятся Светлячки / Выдра / Зерно. Если вы не хотите, чтобы ИИ прослушивал вас, не включайте его.

Отключение: hermes plugins disable google_meet. Любые кэшированные расшифровки и записи остаются в ~/.hermes/cache/google_meet/, пока вы их не удалите.

hermes-достижения

Добавляет на панель управления вкладку достижений в стиле Steam — более 60 коллекционных многоуровневых значков, созданных на основе вашей реальной истории сеансов Hermes. Навыки цепочки инструментов, шаблоны отладки, особенности кодирования вибрации, использование навыков/памяти, разнообразие моделей/провайдеров, особенности образа жизни (выходные и ночные сеансы). Первоначально автор @PCinkusz как внешний плагин; внесено в дерево, чтобы оно соответствовало изменениям функций Hermes.

Как это работает:

Уровень: Медь → Серебро → Золото → Бриллиант → Олимпиец. На каждой карточке есть раздел «Что имеет значение», в котором перечислены точные отслеживаемые показатели.

Достижение гласит:

Государство Значение
Разблокировано Достигнут хотя бы один уровень
Обнаружено Известные достижения, прогресс видим, но еще не заработан
Секрет Скрыто до тех пор, пока Hermes не обнаружит первый соответствующий сигнал в вашей истории

API — маршруты монтируются под /api/plugins/hermes-achievements/:

Конечная точка Цель
GET /achievements Полный каталог с состоянием разблокировки каждого значка (возвращает ожидающий заполнитель во время первого холодного сканирования)
GET /scan-status Состояние фонового сканера: idle / running / failed, продолжительность последней работы, количество запусков
GET /recent-unlocks Двадцать последних разблокированных значков, сначала самые новые
GET /sessions/{id}/badges Значки, полученные в основном за одну конкретную сессию
POST /rescan Синхронное повторное сканирование вручную (блокируется; используется, когда пользователь нажимает кнопку повторного сканирования)
POST /reset-state Очистить историю разблокировки и кэшированный снимок

Файлы состояния — находятся под $HERMES_HOME/plugins/hermes-achievements/:

Файл Содержание
state.json История разблокировки: какие значки вы заработали и когда. Стабильно во всех обновлениях Hermes.
scan_snapshot.json Полезные данные последнего завершенного сканирования (отправляются сразу при загрузке информационной панели)
scan_checkpoint.json Кэш статистики по сеансам с ключом по отпечатку пальца (ускоряет повторное сканирование)

Примечания к производительности:

Включение: Включать нечего: hermes-achievements — это плагин только для информационной панели (без перехватчиков жизненного цикла и инструментов, видимых для модели). Он автоматически регистрируется как вкладка в hermes dashboard при первом запуске. Конфигурация plugins.enabled ограничивает только плагины жизненного цикла/инструментов; Плагины информационной панели обнаруживаются исключительно через их dashboard/manifest.json.

Отказ: Удалите или переименуйте plugins/hermes-achievements/dashboard/manifest.json или замените его одноименным пользовательским плагином в ~/.hermes/plugins/hermes-achievements/, который не поставляется с информационной панелью. Файлы состояния плагина под $HERMES_HOME/plugins/hermes-achievements/ сохраняются — при переустановке сохраняется история разблокировки.

Добавляем плагин в комплекте

Плагины в комплекте написаны точно так же, как и любой другой плагин Hermes — см. Создание плагина Hermes. Единственные различия:

Плагин является хорошим кандидатом для объединения, когда:

Контрпримеры — вещи, которые должны оставаться в виде устанавливаемых пользователем плагинов, а не в комплекте: сторонние интеграции с ключами API, нишевые рабочие процессы, большие деревья зависимостей, все, что по умолчанию может существенно изменить поведение агента.