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

Welcome Back to the Automation Party

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

Hermes tutorial

Chào Mừng Trở Lại Với Bữa Tiệc Tự Động Hóa

Trong Bài 20, chúng ta đã xây dựng một bot điểm tin buổi sáng để kiểm tra với bạn mỗi ngày. Dễ thương phải không? Vâng, hôm nay chúng ta sẽ nâng cấp lên một tầm cao mới. Hệ thống cron trong Hermes có thể làm được nhiều thứ hơn là chỉ nói “chào buổi sáng”. Chúng ta đang nói đến việc theo dõi website, bản tin tổng hợp hàng tuần, giám sát GitHub, và thậm chí cả các pipeline dữ liệu — tất cả đều chạy tự động.

Phần tuyệt nhất? Bạn không cần phải là lập trình viên để thiết lập những thứ này. Bạn chỉ cần biết mình muốn tự động hóa điều gì, và Hermes sẽ lo phần nặng nhọc còn lại.

Nguyên Tắc Vàng: Prompt Tự Chứa Đầy Đủ

Trước khi đi sâu vào các mẫu, có một khái niệm bạn nhất định phải hiểu: các tác vụ cron chạy trong phiên agent mới hoàn toàn. Điều đó có nghĩa là agent của bạn không có chút ký ức nào về cuộc trò chuyện hiện tại của bạn. Không có kiểu “nhớ những gì chúng ta đã nói hôm qua” — không có gì như vậy cả.

Vì vậy, mỗi prompt bạn viết phải hoàn toàn tự chứa đầy đủ. Bao gồm mọi thứ agent cần biết: các lệnh cần chạy, các nguồn cần kiểm tra, định dạng bạn muốn. Viết ra tất cả.

Hãy nghĩ về nó như việc viết hướng dẫn cho một thực tập sinh rất thông minh vừa mới bước vào cửa. Bạn sẽ không nói “làm cái việc chúng ta đã bàn ấy”. Bạn sẽ nói “đây chính xác là những gì cần làm, từng bước một”.

Mẫu 1: Trình Theo Dõi Thay Đổi Website

Muốn biết ngay khoảnh khắc đối thủ thay đổi trang giá của họ? Hoặc khi blog yêu thích của bạn cập nhật? Mẫu này theo dõi một URL và chỉ làm phiền bạn khi có gì đó thực sự thay đổi.

Bí quyết nằm ở tham số --script. Một script Python chạy trước mỗi lần thực thi, làm phần việc cơ học (tải trang, so sánh), và kết quả đầu ra của nó trở thành ngữ cảnh cho agent. Agent sau đó quyết định: sự thay đổi này có thú vị không?

Đây là script làm phần việc nặng nhọc:

# ~/.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")

Sau đó thiết lập tác vụ cron:

/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

Mẹo chuyên nghiệp: Bạn có để ý chỉ dẫn [SILENT] không? Đó là dấu hiệu im lặng của bạn. Khi agent trả lời chỉ với [SILENT], Hermes biết là không cần làm phiền bạn. Không spam trong giờ nghỉ của bạn.

Mẫu 2: Báo Cáo Hàng Tuần

Mẫu này hoàn hảo để cập nhật tin tức về ngành của bạn. Nó chạy lúc 9 giờ sáng thứ Hai hàng tuần và tổng hợp một bản tin từ nhiều nguồn.

/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

Cú pháp 0 9 * * 1 là cú pháp cron chuẩn: phút 0, giờ 9, bất kỳ ngày nào trong tháng, bất kỳ tháng nào, thứ Hai (1). Dễ hiểu khi bạn đã biết.

Mẫu 3: Trình Theo Dõi Kho Lưu Trữ GitHub

Theo dõi bất kỳ kho lưu trữ nào mà không cần refresh trang mỗi năm phút.

/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

Chú ý cách prompt bao gồm các lệnh gh chính xác? Đó chính là nguyên tắc tự chứa đầy đủ đang hoạt động. Agent sẽ không nhớ cách bạn đã làm điều này lần trước — bạn phải nói cho nó biết mỗi lần.

Mẫu 4: Pipeline Thu Thập Dữ Liệu

Mẫu này dành cho những ai mê dữ liệu. Thu thập giá cả, số liệu, hoặc bất kỳ dữ liệu API nào theo khoảng thời gian đều đặn, lưu vào file, và để agent phát hiện xu hướng.

Script đảm nhận việc thu thập (không lãng phí token LLM cho việc tải dữ liệu), còn agent đảm nhận việc phân tích. Kết hợp chúng lại để có một hệ thống phát hiện xu hướng mạnh mẽ.

Các Lựa Chọn Không Dùng Token

Không cần LLM chút nào? Có hai lựa chọn:

  1. Tác vụ cron chỉ dùng script: Nếu script của bạn đã tạo ra thông điệp chính xác (cảnh báo bộ nhớ, cảnh báo đĩa, tín hiệu heartbeat), hãy bỏ qua agent hoàn toàn. Chỉ cần yêu cầu Hermes thiết lập — công cụ cronjob biết khi nào nên dùng no_agent=True.

  2. Một lần từ script đang chạy: Sử dụng hermes send để chuyển stdout hoặc một file trực tiếp đến Telegram, Discord, hoặc Slack. Hoàn hảo cho các bước CI, hook sau commit, hoặc script triển khai.

Tổng Kết

Bạn đã có các mẫu. Giờ hãy đi tự động hóa một thứ gì đó nhàm chán. Bản thân bạn trong tương lai sẽ cảm ơn bạn.

Để xem tài liệu tham khảo đầy đủ về tính năng, hãy xem Tài liệu Tác vụ Định kỳ (Cron). Và hãy nhớ: prompt tự chứa đầy đủ, [SILENT] cho sự im lặng, và script cho phần việc cơ học. Đó là toàn bộ trò chơi.


📖 Tài liệu chính thức

この記事は Hermes Agent のTài liệu chính thứcに基づいています:Tài liệu chính thức › guides/automate-with-cron