Куратор

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

Он существует для того, чтобы навыки, созданные посредством цикла самоулучшения, не накапливались бесконечно. Каждый раз, когда агент решает новую задачу и сохраняет навыки, этот навык отображается в ~/.hermes/skills/. Без обслуживания вы продолжаете десятки узких почти дубликатов, которые засоряют каталог и проводят токены.

Куратор никогда не трогает встроенные навыки (поставляемые с репозиторием) или навыки, установленные из хаба (с agentskills.io). В последнее время это только навыки, созданные самим агентом. Он также никогда не удаляется автоматически — исходный исход — архивирование в ~/.hermes/skills/.archive/, откуда можно восстановить.

Отслеживается в issue #7816.

Как он работает

Куратор запускается по сторонам бездействия, а не демоном cron. При запуске CLI-сессии и при повторяющемся тике внутри потока cron-тика шлюза Hermes вчера:

  1. Прошло достаточно времени с момента запуска куратора (interval_hours, по умолчанию 7 дней), и
  2. Был агент ли достаточно долго бездействующим (min_idle_hours, по умолчанию 2 часа).

Если оба условия истинны, он генерирует фоновый форк AIAgent — тот же самый шаблон, который используется для подсказок самоулучшения памяти/навыков. Форк работает в собственном кеше-промптов и никогда не касается активного разговора.

ℹ️ Info

Поведение при первом запуске При новой установке (или при первой установке после hermes update при установке, где куратор ещё не запустился) куратор не запускается сразу. Первое наблюдение устанавливает last_run_at на "сейчас" и откладывает первый реальный проход на один полный interval_hours. Это дает вам полный интервал для просмотра ваших функций библиотеки, обеспечения важных или полного отказа от куратора до того, как он что-либо тронет.

Если вы хотите увидеть, что куратор сделал бы, то до фактического запуска выполните hermes curator run --dry-run — он создаёт тот же отчёт проверок, не изменяя библиотеки.

Запуск состоять из двух фаз:

  1. Автоматические переходы (определенные, без LLM). Навыки, не использовавшиеся stale_after_days (30) дней, становятся stale; навыки, не использованные archive_after_days (90) дней, перемещаются в ~/.hermes/skills/.archive/.
  2. Проверка LLM (один проход вспомогательной модели, max_iterations=8). Форкнутый агент просматривает навыки, созданные агентом, может читать любые из них с помощью skill_view и решает для каждого навыка: оставить, исправить (через skill_manage), перекрывающие или архивировать с помощью инструмента терминала.

Закреплённые навыки необходимы как для автоматических переходов куратора, так и для инструмента skill_manage самого агента. См. Закрепление навыка ниже.

Конфигурация

Все настройки находятся в config.yaml в разделе curator: (не .env — это не секрет). Значения по умолчанию:

curator:
  enabled: true
  interval_hours: 168          # 7 дней
  min_idle_hours: 2
  stale_after_days: 30
  archive_after_days: 90

Чтобы полностью отключить, установите curator.enabled: false.

Запуск проверки на более дешёвой вспомогательной модели

Проход проверки LLM куратора — это обычный слот вспомогательной задачи — auxiliary.curator — показан с Vision, Compression, Session Search и т.д. "Auto" означает "использовать мою основную чат-модель"; переопределите слот, чтобы закрепить указание провайдера + модель для проверки прохождения.

Самый простой способ — модель Гермеса:

hermes model                   # → "Вспомогательные модели — маршрутизация побочных задач"
                               # → выберите "Curator" → выберите провайдера → выберите модель

Тот же выбор доступен на веб-панели на вкладке Модели.

Прямая настройка config.yaml (эквивалент):

auxiliary:
  curator:
    provider: openrouter
    model: google/gemini-3-flash-preview
    timeout: 600               # щедрый — проверка может занять несколько минут

Оставление provider: auto (по умолчанию) направляет проход проверки через ту же модель, что и ваш основной чат, который соответствует поведению всех остальных вспомогательных задач.:::Примечание Устаревшая конструкция В более ранних версиях использовался блок curator.auxiliary.{provider,model}. Этот путь всё ещё работает, но выдаёт предупреждение об устаревании — пожалуйста, взгляните на auxiliary.curator выше, чтобы куратор использовал ту же инфраструктуру (hermes model, вкладка Models в панели, base_url, api_key, timeout, extra_body), что и все остальные вспомогательные задачи.

интерфейс командной строки

hermes curator status         # последний запуск, количество, список закреплённых, топ-5 по LRU
hermes curator run            # запустить проверку сейчас (блокируется до завершения прохода LLM)
hermes curator run --background  # запустить и забыть: запустить проход LLM в фоновом потоке
hermes curator run --dry-run  # только предпросмотр — отчёт без изменений
hermes curator backup         # сделать ручной снимок ~/.hermes/skills/
hermes curator rollback       # восстановить из новейшего снимка
hermes curator rollback --list     # список доступных снимков
hermes curator rollback --id <ts>  # восстановить конкретный снимок
hermes curator rollback -y         # пропустить запрос подтверждения
hermes curator pause          # остановить запуски до возобновления
hermes curator resume
hermes curator pin <skill>    # никогда не переводить этот навык автоматически
hermes curator unpin <skill>
hermes curator restore <skill>  # переместить архивированный навык обратно в активные

Резервное копирование и откат

Перед каждым реальным проходом куратора Hermes создаёт tar.gz-снимок ~/.hermes/skills/ в ~/.hermes/skills/.curator_backups/<utc-iso>/skills.tar.gz. Если проход архивирует или выполняет что-то, что вы не хотите трогать, вы можете отменить запуск всего одной команды:

hermes curator rollback        # восстановить новейший снимок (с подтверждением)
hermes curator rollback -y     # пропустить запрос
hermes curator rollback --list # показать все снимки с причиной + размером

Сам откат наоборот: перед заменой дерева навыков Гермес делает ещё один снимок с тегом pre-rollback to <target-id>, так что ошибочный откат можно отменить, откатившись вперёд к нему с помощью --id.

Вы также можете делать ручные снимки в любое время с помощью hermes curator backup --reason "before-refactor". Строка --reason появляется в manifest.json снимке и отображается в --list.

Снимки обрезаются до curator.backup.keep (по умолчанию 5), чтобы оценить использование диска:

curator:
  backup:
    enabled: true
    keep: 5

Установите curator.backup.enabled: false, чтобы исключить возможность создания кадров. Ручная команда hermes curator backup всё ещё работает, когда резервное копирование отключено, только если сначала установить enabled: true — флаг симметрично блокирует оба пути, так что случайно невозможно пропустить предварительный снимок при изменяющихся запусках.

«Статус куратора Гермеса» также выводит пять последних недавно использованных инструментов — быстрый способ увидеть, что, вероятно, станет офисом ниже.

Те же подкоманды доступны как слэш-команда /curator внутри запущенной сессии (CLI или шлюза платформы).

Что значит "создан агентом"

Навык считается созданным агентом, если его имя не находится в:

Всё остальное в ~/.hermes/skills/ честной добычей для куратора. Это включает:

Перед первым реальным проходом (по умолчанию через 7 дней после установки) укажите время:

  1. Выполните hermes curator run --dry-run, чтобы точно увидеть, что предлагает куратор.
  2. Используйте «Значок куратора Гермеса <имя>», чтобы оградить то, что вы не хотите трогать.
  3. Или установите curator.enabled: false в config.yaml, если предпочитаете управлять библиотекой самостоятельно.

Архивы всегда можно восстановить через hermes curator rest <имя>, но проще закрепить заранее, чем потом разобраться с объединением. Если вы хотите защитить конкретный навык от любых изменений — например, изменений, написанных с помощью навыков рук, на которые вы нажимаете — вскормите «значок куратора Гермеса <имя>». См. следующий раздел.

Закрепление навыка

Закрепление защитных навыков от удаления — как автоматические проходы архивирования куратора, так и вызов инструмента skill_manage(action="delete") агентом. После закрепления навыков:

Закрепить и открепить можно с помощью:

hermes curator pin <skill>
hermes curator unpin <skill>

Флаг хранится как "pinned": true в записи навыков в ~/.hermes/skills/.usage.json, поэтому он сохраняется между сессиями.

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

Если вам нужна более сильная гарантия, чем «не удалять» — например, полная заморозка навыка, пока агент всё ещё его читает — отредактируйте ~/.hermes/skills/<name>/SKILL.md непосредственно своим редактором. Крепление стойки для удаления с помощью инструментов, а не от вашего собственного доступа к файловой системе.

Использование телеметрии

Куратор ведет вспомогательный файл ~/.hermes/skills/.usage.json с одной записью по навыкам:

{
  "my-skill": {
    "use_count": 12,
    "view_count": 34,
    "last_used_at": "2026-04-24T18:12:03Z",
    "last_viewed_at": "2026-04-23T09:44:17Z",
    "patch_count": 3,
    "last_patched_at": "2026-04-20T22:01:55Z",
    "created_at": "2026-03-01T14:20:00Z",
    "state": "active",
    "pinned": false,
    "archived_at": null
  }
}

Счётчики меняются, когда:

Встроенные и установленные навыки хаба исключены из записей телеметрии.

Отчёты о запусках

Каждый запуск куратора записывает каталог с меткой времени в ~/.hermes/logs/curator/:

~/.hermes/logs/curator/
└── 20260429-111512/
    ├── run.json      # машиночитаемый: полная точность, статистика, вывод LLM
    └── REPORT.md     # человекочитаемая сводка

REPORT.md — это быстрый способ увидеть конкретный запуск: какие навыки перешли, что сказал рецензент LLM, какие навыки он исправил. Хорошо для аудита без необходимости grep agent.log.

Восстановление архивированного навыка

Если куратор заархивировал то, что вам всё ещё нужно:

hermes curator restore <skill-name>

Это перемещает навыки обратно из ~/.hermes/skills/.archive/ в активное дерево и сбрасывает его состояние в active. Восстановление отменяется, если с тех пор был установлен встроенный или хабовский навык с тем же именем (будет затеять вышестоящий).

Отключение для рассмотрения окружения

Куратор включен по умолчанию. Чтобы выделить его:

Куратор также отказывается от запуска, если не прошло min_idle_hours, поэтому на активной машине разработчика он продолжает активироваться только в тихие периоды.

См. также