Level Up Your Cron Game: 5 Automation Patterns You Can Use Today
Cron Troubleshooting Guide — easy-to-understand guide based on official docs
Tingkatkan Permainan Cron-mu: 5 Pola Otomasi yang Bisa Langsung Kamu Pakai Hari Ini
Jadi, kamu sudah menyiapkan pekerjaan cron pertamamu dengan Hermes Agent dan sekarang kamu ketagihan. Tapi tahukah kamu kalau masih ada banyak hal lain yang bisa dilakukan? Tutorial bot briefing harian hanyalah permulaan. Mari kita jelajahi lima pola otomasi dunia nyata yang akan membuat hidupmu lebih mudah.
Aturan Emas: Prompt yang Mandiri
Sebelum kita mulai, ini hal terpenting yang perlu diingat: pekerjaan cron berjalan di sesi agen yang baru. Agenmu tidak punya ingatan sama sekali tentang obrolanmu saat ini. Jadi setiap prompt harus sepenuhnya mandiri — sertakan semua yang perlu diketahui agen, mulai dari konteks hingga perintah yang tepat.
Lewati LLM Saat Tidak Dibutuhkan
Tidak semua otomasi butuh model bahasa. Kamu punya dua opsi tanpa token:
- Watchdog berulang: Jika skripmu sudah menghasilkan pesan yang tepat (seperti peringatan memori atau detak jantung), gunakan pekerjaan cron khusus skrip. Cukup minta Hermes di obrolan — alat
cronjobtahu kapan harus menggunakanno_agent=Truedan menuliskan skripnya untukmu. - Sekali jalan dari skrip yang berjalan: Untuk langkah CI atau hook deploy, gunakan
hermes senduntuk mengalirkan output langsung ke Telegram atau Discord tanpa pengaturan cron apa pun.
Pola 1: Pemantau Perubahan Situs Web
Mau tahu kapan halaman harga berubah atau pesaing memperbarui situs mereka? Pola ini menggunakan skrip Python untuk pekerjaan mekanis, dan agen menangani penalarannya.
Pertama, buat skrip pemantauanmu:
mkdir -p ~/.hermes/scripts
import hashlib, json, os, urllib.request
URL = "https://example.com/pricing"
STATE_FILE = os.path.expanduser("~/.hermes/scripts/.watch-site-state.json")
# Fetch current content
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()
# Load previous state
prev_hash = None
if os.path.exists(STATE_FILE):
with open(STATE_FILE) as f:
prev_hash = json.load(f).get("hash")
# Save current state
with open(STATE_FILE, "w") as f:
json.dump({"hash": current_hash, "url": URL}, f)
# Output for the agent
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")
Sekarang 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: Trik [SILENT] itu emas. Saat tidak ada yang berubah, agen merespons hanya dengan [SILENT], dan pengiriman cron memperlakukannya sebagai penanda senyap. Kamu hanya akan diberi tahu saat sesuatu benar-benar terjadi — tidak ada spam di jam-jam sepi.
Pola 2: Laporan Mingguan
Kompilasi informasi dari berbagai sumber menjadi ringkasan terformat. Ini berjalan setiap Senin jam 9 pagi:
/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
Dari CLI, tampilannya seperti ini:
hermes cron create "0 9 * * 1" \
"Generate a weekly report covering the top AI news, trending ML GitHub repos, and most-discussed HN posts. Format with sections, include links, keep under 500 words." \
--name "Weekly AI digest" \
--deliver telegram
0 9 * * 1 adalah ekspresi cron standar: jam 9:00 pagi setiap hari Senin.
Pola 3: Pemantau Repositori GitHub
Pantau repo apa pun untuk issue, PR, atau rilis baru:
/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
Peringatan: Perhatikan bagaimana prompt menyertakan perintah gh yang tepat? Itu disengaja. Agen cron tidak punya riwayat percakapan — tulis semuanya secara eksplisit. (Memori persisten memang dimuat, jadi preferensi tahan lama yang disimpan ke MEMORY.md akan terbawa, tapi jangan andalkan itu untuk detail penting pekerjaan.)
Pola 4: Pipeline Pengumpulan Data
Ambil data secara berkala, simpan ke file, dan deteksi tren dari waktu ke waktu. Ini menggabungkan skrip untuk pengumpulan dengan agen untuk analisis:
import json, os, urllib.request
from datetime import datetime
DATA_DIR = os.path.expanduser("~/.hermes/data/prices")
os.makedirs(DATA_DIR, exist_ok=True)
# Fetch current data (example: crypto prices)
url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd"
data = json.loads(urllib.request.urlopen(url, timeout=30).read())
# Append to history file
entry = {"timestamp": datetime.now().isoformat(), "prices": data}
history_file = os.path.join(DATA_DIR, "history.jsonl")
with open(history_file, "a") as f:
f.write(json.dumps(entry) + "\n")
print(f"Collected prices at {entry['timestamp']}: BTC ${data['bitcoin']['usd']}, ETH ${data['ethereum']['usd']}")
Lalu atur pekerjaan cron yang menjalankan skrip dan meminta agen untuk menganalisis data yang terkumpul untuk tren.
Pola 5: Watchdog Khusus Skrip
Untuk peringatan di mana skrip sudah menghasilkan pesan yang tepat, lewati LLM sepenuhnya:
/cron add "every 5m" --script ~/.hermes/scripts/check-disk.py --no-agent --deliver slack
Alat cronjob otomatis memilih no_agent=True saat memang masuk akal, dan menuliskan skripnya untukmu.
Siap untuk Otomasi?
Pola-pola ini hanyalah titik awal. Campur dan cocokkan — gunakan skrip untuk pekerjaan mekanis, agen untuk penalaran, dan [SILENT] untuk menjaga notifikasimu tetap bersih. Untuk referensi fitur lengkap, lihat dokumentasi Tugas Terjadwal (Cron). Selamat berotomasi!
📖 Dokumentasi resmi
この記事は Hermes Agent のDokumentasi resmiに基づいています:Dokumentasi resmi › guides/automate-with-cron