🤖HermesBlog
Hermes Official Tutorials · Parte 218/9/2026

Selamat Datang Kembali ke Pesta Otomasi

Tutorial 21: Scheduled Tasks (Cron) — easy-to-understand guide based on official docs

Hermes tutorial

Selamat Datang Kembali ke Pesta Otomasi

Di Tutorial 20, kita membangun bot briefing harian yang menyapa kamu setiap pagi. Lucu, kan? Nah, hari ini kita naik level. Sistem cron di Hermes bisa melakukan jauh lebih banyak daripada sekadar bilang “selamat pagi.” Kita bicara soal pemantau website, ringkasan mingguan, monitor GitHub, bahkan pipeline data — semuanya berjalan otomatis.

Bagian terbaiknya? Kamu nggak perlu jadi programmer untuk mengatur semua ini. Kamu cuma perlu tahu apa yang mau kamu otomatiskan, dan Hermes yang mengurus kerja beratnya.

Aturan Emas: Prompt yang Mandiri

Sebelum kita masuk ke pola-pola ini, ada satu konsep yang wajib kamu pahami: pekerjaan cron berjalan di sesi agen yang benar-benar baru. Artinya, agen kamu punya memori nol dari chat kamu saat ini. Nggak ada “ingat nggak yang kita bahas kemarin” — nggak ada yang kayak gitu.

Jadi setiap prompt yang kamu tulis harus sepenuhnya mandiri. Sertakan semua yang perlu diketahui agen: perintah yang harus dijalankan, sumber yang harus dicek, format yang kamu inginkan. Tulis semuanya dengan lengkap.

Anggap saja seperti menulis instruksi untuk anak magang yang sangat pintar yang baru saja masuk ruangan. Kamu nggak akan bilang “kerjakan hal yang sudah kita bahas.” Kamu akan bilang “ini yang harus kamu lakukan, langkah demi langkah.”

Pola 1: Pemantau Perubahan Website

Mau tahu saat pesaing mengubah halaman harga mereka? Atau saat blog favoritmu update? Pola ini memantau sebuah URL dan hanya mengganggumu saat ada yang benar-benar berubah.

Triknya ada di parameter --script. Sebuah skrip Python berjalan sebelum setiap eksekusi, melakukan kerja mekanis (mengambil data, membandingkan), dan keluarannya menjadi konteks untuk agen. Agen kemudian memutuskan: apakah perubahan ini menarik?

Ini skrip yang melakukan kerja beratnya:

# ~/.hermes/scripts/watch-site.py
import hashlib, json, os, urllib.request

URL = "https://example.com/pricing"
STATE_FILE = os.path.expanduser("~/.hermes/scripts/.watch-site-state.json")

req = urllib.request.Request(URL, headers={"User-Agent": "Hermes-Monitor/1.0"})
content = urllib.request.urlopen(req, timeout=30).read().decode()
current_hash = hashlib.sha256(content.encode()).hexdigest()

prev_hash = None
if os.path.exists(STATE_FILE):
    with open(STATE_FILE) as f:
        prev_hash = json.load(f).get("hash")

with open(STATE_FILE, "w") as f:
    json.dump({"hash": current_hash, "url": URL}, f)

if prev_hash and prev_hash != current_hash:
    print(f"CHANGE DETECTED on {URL}")
    print(f"Previous hash: {prev_hash}")
    print(f"Current hash: {current_hash}")
    print(f"\nCurrent content (first 2000 chars):\n{content[:2000]}")
else:
    print("NO_CHANGE")

Lalu atur pekerjaan cron-nya:

/cron add "every 1h" "If the script output says CHANGE DETECTED, summarize what changed on the page and why it might matter. If it says NO_CHANGE, respond with just [SILENT]." --script ~/.hermes/scripts/watch-site.py --name "Pricing monitor" --deliver telegram

Tips pro: Perhatikan instruksi [SILENT]? Itu penanda diam kamu. Saat agen merespons hanya dengan [SILENT], Hermes tahu untuk tidak mengganggumu. Nggak ada spam di jam-jam santaimu.

Pola 2: Laporan Mingguan

Yang satu ini sempurna untuk tetap update dengan industrimu. Berjalan setiap Senin jam 9 pagi dan menyusun ringkasan dari berbagai sumber.

/cron add "0 9 * * 1" "Generate a weekly report covering:

1. Search the web for the top 5 AI news stories from the past week
2. Search GitHub for trending repositories in the 'machine-learning' topic
3. Check Hacker News for the most discussed AI/ML posts

Format as a clean summary with sections for each source. Include links.
Keep it under 500 words — highlight only what matters." --name "Weekly AI digest" --deliver telegram

0 9 * * 1 adalah sintaks cron standar: menit 0, jam 9, tanggal berapa pun, bulan apa pun, Senin (1). Gampang kan kalau sudah tahu.

Pola 3: Pemantau Repositori GitHub

Pantau repo apa pun tanpa perlu me-refresh halaman setiap lima menit.

/cron add "every 6h" "Check the GitHub repository NousResearch/hermes-agent for:
- New issues opened in the last 6 hours
- New PRs opened or merged in the last 6 hours
- Any new releases

Use the terminal to run gh commands:
  gh issue list --repo NousResearch/hermes-agent --state open --json number,title,author,createdAt --limit 10
  gh pr list --repo NousResearch/hermes-agent --state all --json number,title,author,createdAt,mergedAt --limit 10

Filter to only items from the last 6 hours. If nothing new, respond with [SILENT].
Otherwise, provide a concise summary of the activity." --name "Repo watcher" --deliver discord

Perhatikan bagaimana prompt-nya menyertakan perintah gh yang persis? Itulah aturan mandiri yang bekerja. Agen nggak akan ingat cara kamu melakukan ini sebelumnya — kamu harus memberitahunya setiap saat.

Pola 4: Pipeline Pengumpulan Data

Yang satu ini untuk para pecinta data. Kumpulkan harga, metrik, atau data API apa pun secara berkala, simpan ke file, dan biarkan agen menemukan tren.

Skrip menangani pengumpulan (nggak ada token LLM yang terbuang untuk mengambil data), dan agen menangani analisis. Gabungkan keduanya untuk sistem deteksi tren yang powerful.

Alternatif Tanpa Token

Nggak butuh LLM sama sekali? Ada dua opsi:

  1. Pekerjaan cron khusus skrip: Jika skripmu sudah menghasilkan pesan yang persis (peringatan memori, peringatan disk, heartbeat), lewati agen sepenuhnya. Cukup minta Hermes untuk mengaturnya — alat cronjob tahu kapan harus menggunakan no_agent=True.

  2. Sekali jalan dari skrip yang berjalan: Gunakan hermes send untuk mengirim stdout atau file langsung ke Telegram, Discord, atau Slack. Sempurna untuk langkah CI, hook setelah commit, atau skrip deploy.

Penutup

Kamu sudah punya pola-polanya. Sekarang pergi dan otomatiskan sesuatu yang membosankan. Diri kamu di masa depan akan berterima kasih.

Untuk referensi fitur lengkap, cek dokumentasi Tugas Terjadwal (Cron). Dan ingat: prompt yang mandiri, [SILENT] untuk mode diam, dan skrip untuk kerja mekanis. Itu inti permainannya.

📖 Dokumentasi resmi

この記事は Hermes Agent のDokumentasi resmiに基づいています:Dokumentasi resmi › guides/automate-with-cron