Hermes Agent поддерживает cron-задачи — автоматические действия, которые запускаются по расписанию без вашего участия. Агент просыпается в нужное время, выполняет задачу и отправляет результат в Telegram, Discord, Slack или на почту. Никакого кода: вы описываете задачу на русском языке, а Hermes сам настраивает расписание.
Что такое cron-задачи в Hermes Agent?
Cron-задача в Hermes — это запланированное действие, которое AI-агент выполняет автоматически по расписанию. В отличие от обычных cron-задач в Linux, которые запускают фиксированные скрипты, Hermes добавляет слой интеллекта: агент может анализировать данные, принимать решения и генерировать текстовые отчёты.
Каждая cron-задача работает в изолированной сессии. Агент не помнит предыдущие запуски, но может получать контекст от других задач через параметр context_from. Задачи хранятся в файле ~/.hermes/cron/jobs.json, а результаты — в ~/.hermes/cron/output/.
Как создать cron-задачу: 3 способа
Способ 1: Через чат с Hermes
Самый простой вариант — попросить агента настроить задачу на русском языке:
Каждый день в 9:00 проверяй Hacker News на новости про AI и отправляй мне саммари в Telegram.
Hermes автоматически создаст cron-задачу с нужным расписанием и инструкциями.
Способ 2: Команда /cron в чате
Если вы общаетесь с Hermes через Telegram или Discord:
/cron add "every day at 9am" "Check Hacker News for AI news and send summary"
/cron add 30m "Remind me to check the build"
/cron add "every 2h" "Check server status"
Способ 3: Через CLI
Для тех, кто предпочитает терминал:
hermes cron create "every 2h" "Check server status"
hermes cron create "every 1h" "Summarize new feed items" --skill blogwatcher
Форматы расписания
Hermes поддерживает несколько форматов указания времени:
Относительные задержки (одноразовые)
30m → Через 30 минут
2h → Через 2 часа
1d → Через 1 день
Интервалы (повторяющиеся)
every 30m → Каждые 30 минут
every 2h → Каждые 2 часа
every 1d → Каждый день
Cron-выражения
0 9 * * * → Каждый день в 9:00
0 9 * * 1-5 → По будням в 9:00
0 */6 * * * → Каждые 6 часов
30 8 1 * * → 1-го числа каждого месяца в 8:30
0 0 * * 0 → Каждое воскресенье в полночь
Натуральный язык
every weekday at 9am
every Monday and Thursday at 6pm
every hour during business hours
Hermes сам переведёт эти описания в cron-синтаксис.
Куда отправлять результаты
При создании задачи вы указываете, куда доставить результат:
| Назначение | Описание | Пример |
|---|---|---|
| `origin` | Туда, откуда задача создана | По умолчанию для мессенджеров |
| `local` | Сохранить локально | По умолчанию для CLI |
| `telegram` | Домашний канал Telegram | Использует `TELEGRAM_HOME_CHANNEL` |
| `telegram:123456` | Конкретный чат Telegram | Прямая доставка |
| `telegram:-100123:17585` | Тема форума Telegram | Формат `chat_id:thread_id` |
| `discord` | Домашний канал Discord | Использует `DISCORD_HOME_CHANNEL` |
| `discord:#engineering` | Конкретный канал Discord | По имени канала |
| `slack` | Домашний канал Slack | — |
| `email` | Электронная почта | — |
| `all` | Все подключённые каналы | Решается при запуске |
Пример создания задачи с доставкой в Telegram:
hermes cron create "every day at 9am" "Summarize today's tasks" --deliver telegram
Скиллы в cron-задачах
Cron-задачи могут загружать скиллы перед выполнением. Это расширяет возможности агента без написания кода.
Один скилл
hermes cron create "every 1h" "Summarize new feed items" --skill blogwatcher
Несколько скиллов
hermes cron create "every 1h" "Use both skills and combine the result" \
--skill blogwatcher \
--skill maps
Скиллы загружается в указанном порядке. Промпт становится инструкцией, которая применяется поверх загруженных скиллов.
Управление задачами
Просмотр списка задач
hermes cron list
Вывод:
ID Schedule Task Delivery Next Run
──────────────────────────────────────────────────────
1 daily 9am daily report telegram 2026-04-14 09:00
2 weekly fri 5pm weekly summary discord 2026-04-19 17:00
3 hourly health check telegram 2026-04-13 17:00
Приостановка и возобновление
hermes cron pause
hermes cron resume
Ручной запуск
hermes cron run
Редактирование
hermes cron edit --schedule "every 4h"
hermes cron edit --prompt "Use the revised task"
hermes cron edit --skill blogwatcher --skill maps
hermes cron edit --remove-skill blogwatcher
hermes cron edit --clear-skills
Удаление
hermes cron remove
Все команды принимают как ID задачи, так и имя (регистронезависимо).
No-agent режим: скрипты без AI
Для задач, которые не требуют интеллекта — мониторинг диска, проверка памяти, пинг сервисов — можно использовать режим без агента:
hermes cron create "every 5m" \
--no-agent \
--script memory-watchdog.sh \
--deliver telegram \
--name "memory-watchdog"
Скрипт выполняется по расписанию, а его stdout отправляется напрямую. Пустой вывод = тишина. Ненулевой код выхода = алерт.
Пример скрипта мониторинга памяти:
#!/bin/bash
USAGE=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
if (( $(echo "$USAGE > 85" | bc -l) )); then
echo "⚠️ RAM usage: ${USAGE}%"
else
exit 0
fi
Цепочки задач: context_from
Задачи работают в изолированных сессиях, но могут получать контекст от других задач:
# Задача 1: Сбор данных
hermes cron create "0 7 * * *" "Fetch top 10 AI stories from HN. Save to ~/.hermes/data/raw.md" \
--name "AI News Collector"
# Задача 2: Анализ (получает вывод задачи 1)
hermes cron create "30 7 * * *" "Score each story 1-10. Output top 5 to ~/.hermes/data/ranked.md" \
--context-from "AI News Collector" \
--name "AI News Triage"
# Задача 3: Публикация (получает вывод задачи 2)
hermes cron create "0 8 * * *" "Write 3 tweet drafts from ranked stories" \
--context-from "AI News Triage" \
--name "AI News Brief"
Цепочка может быть любой длины. Каждая задача получает вывод предыдущей как контекст.
Практические примеры
Ежедневный дайджест новостей
hermes cron create "every day at 8am" \
"Check Hacker News, Reddit r/programming, and TechCrunch for AI news. Write a summary of 5 most interesting stories in Russian." \
--deliver telegram \
--name "Daily AI Digest"
Мониторинг сервера
hermes cron create "every 30m" \
"SSH into server 192.168.1.100 as user 'deploy', check if nginx is running with 'systemctl status nginx', and verify https://example.com returns HTTP 200." \
--deliver telegram \
--name "Server Health Check"
Автоматические отчёты
hermes cron create "every monday at 9am" \
"Generate a weekly report: summarize completed tasks, upcoming deadlines, and blockers. Format as markdown." \
--deliver email \
--name "Weekly Report"
Публикация контента
hermes cron create "every 3 days" \
"Take the next pending topic from pool.json, research it, write an SEO article, and publish to hermeswiki.ru" \
--skill hermeswiki-seo \
--deliver telegram \
--name "SEO Article Publisher"
Как это работает под капотом
Gateway-демон проверяет задачи каждые 60 секунд:
~/.hermes/cron/jobs.jsonnext_run_at against текущее времяAIAgent для каждой задачиФайл ~/.hermes/cron/.tick.lock предотвращает двойной запуск одной задачи.
Безопасность
Промпты cron-задач сканируются на prompt-injection и попытки утечки данных при создании и обновлении. Задачи с подозрительным содержимым блокируаться.
Cron-сессии не могут рекурсивно создавать новые cron-задачи. Hermes отключает инструменты управления cron внутри cron-выполнений, чтобы предотвратить бесконечные циклы.
FAQ
Можно ли создать cron-задачу через чат?
Да. Просто напишите Hermes на русском языке, что и когда нужно делать. Агент сам создаст задачу с правильным расписанием.
Что делать, если задача не запускается?
Проверьте статус: hermes cron status. Убедитесь, что gateway запущен: hermes gateway install. Проверьте логи в ~/.hermes/cron/output/.
Можно ли изменить расписание существующей задачи?
Да: hermes cron edit . Не нужно удалять и создавать заново.
Как работает доставка в Telegram?
Укажите --deliver telegram при создании задачи. Hermes отправит результат в канал, указанный в TELEGRAM_HOME_CHANNEL. Для конкретного чата: --deliver telegram:123456.
Что такое no-agent режим?
Режим, при котором скрипт выполняется без AI-агента. Используется для простых задач мониторинга, где не нужен интеллект. Экономит токены и деньги.