🤖HermesBlog
Hermes Feature Guides · Parte 178/9/2026

Nâng Cấp Kỹ Năng Cron Của Bạn: 5 Mẫu Tự Động Hóa Bạn Có Thể Dùng Ngay Hôm Nay

Cron Troubleshooting Guide — easy-to-understand guide based on official docs

guide-cron-troubleshooting

Nâng Cấp Kỹ Năng Cron Của Bạn: 5 Mẫu Tự Động Hóa Bạn Có Thể Dùng Ngay Hôm Nay

Vậy là bạn đã thiết lập công việc cron đầu tiên với Hermes Agent và bạn đã “nghiện”. Nhưng bạn có biết rằng còn rất nhiều điều thú vị bạn có thể làm không? Hướng dẫn bot điểm tin hàng ngày chỉ mới là khởi đầu. Hãy cùng khám phá năm mẫu tự động hóa thực tế sẽ giúp cuộc sống của bạn dễ dàng hơn.

Nguyên Tắc Vàng: Câu Lệnh Tự Chứa Đầy Đủ

Trước khi đi sâu vào chi tiết, đây là điều quan trọng nhất cần nhớ: các công việc cron chạy trong các phiên agent mới hoàn toàn. Agent của bạn không có bất kỳ ký ức nào về cuộc trò chuyện hiện tại của bạn. Vì vậy, mỗi câu lệnh phải hoàn toàn tự chứa — bao gồm mọi thứ agent cần biết, từ ngữ cảnh đến các lệnh cụ thể.

Bỏ Qua LLM Khi Không Cần Thiết

Không phải tự động hóa nào cũng cần đến mô hình ngôn ngữ. Bạn có hai lựa chọn không tốn token:

  • Watchdog định kỳ: Nếu script của bạn đã tạo ra thông điệp chính xác (như cảnh báo bộ nhớ hoặc tín hiệu heartbeat), hãy dùng cron job chỉ với script. Chỉ cần yêu cầu Hermes trong chat — công cụ cronjob sẽ biết khi nào dùng no_agent=True và tự viết script cho bạn.
  • Một lần từ script đang chạy: Cho các bước CI hoặc deploy hooks, dùng hermes send để chuyển output trực tiếp đến Telegram hoặc Discord mà không cần thiết lập cron nào.

Mẫu 1: Trình Giám Sát Thay Đổi Trang Web

Muốn biết khi nào trang giá thay đổi hoặc đối thủ cập nhật website của họ? Mẫu này dùng script Python để làm phần việc cơ học, còn agent sẽ xử lý phần suy luận.

Đầu tiên, tạo script giám sát của bạn:

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")

# Lấy nội dung hiện tại
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()

# Tải trạng thái trước đó
prev_hash = None
if os.path.exists(STATE_FILE):
    with open(STATE_FILE) as f:
        prev_hash = json.load(f).get("hash")

# Lưu trạng thái hiện tại
with open(STATE_FILE, "w") as f:
    json.dump({"hash": current_hash, "url": URL}, f)

# Output cho 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")

Bây giờ thiết lập cron job:

/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: Thủ thuật [SILENT] là vàng. Khi không có gì thay đổi, agent chỉ phản hồi bằng [SILENT], và cron delivery coi đó là dấu hiệu im lặng. Bạn chỉ được thông báo khi có điều gì đó thực sự xảy ra — không spam trong giờ yên tĩnh.


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

Tổng hợp thông tin từ nhiều nguồn thành một bản tóm tắt có định dạng. Việc này chạy lúc 9 giờ sáng thứ Hai hàng tuầ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

Từ CLI, nó trông như thế này:

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 là biểu thức cron chuẩn: 9:00 sáng mỗi thứ Hai.


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

Theo dõi bất kỳ kho lưu trữ nào để biết các issue, PR hoặc release mới:

/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

Cảnh báo: Hãy chú ý cách câu lệnh bao gồm các lệnh gh chính xác? Điều đó có chủ đích. Cron agent không có lịch sử hội thoại — hãy viết ra mọi thứ. (Bộ nhớ bền vững có được tải, vì vậy các tùy chọn lâu dài được lưu trong MEMORY.md sẽ được kế thừa, nhưng đừng dựa vào đó cho các chi tiết quan trọng của công việc.)


Mẫu 4: Đường Ống Thu Thập Dữ Liệu

Thu thập dữ liệu theo các khoảng thời gian đều đặn, lưu vào tệp và phát hiện xu hướng theo thời gian. Mẫu này kết hợp script để thu thập với agent để phân tích:

import json, os, urllib.request
from datetime import datetime

DATA_DIR = os.path.expanduser("~/.hermes/data/prices")
os.makedirs(DATA_DIR, exist_ok=True)

# Lấy dữ liệu hiện tại (ví dụ: giá crypto)
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())

# Thêm vào tệp lịch sử
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']}")

Sau đó thiết lập cron job chạy script và yêu cầu agent phân tích dữ liệu thu thập được để tìm xu hướng.


Mẫu 5: Watchdog Chỉ Dùng Script

Đối với các cảnh báo mà script đã tạo ra thông điệp chính xác, hãy bỏ qua LLM hoàn toàn:

/cron add "every 5m" --script ~/.hermes/scripts/check-disk.py --no-agent --deliver slack

Công cụ cronjob tự động chọn no_agent=True khi cần thiết và tự viết script cho bạn.


Sẵn Sàng Tự Động Hóa?

Những mẫu này chỉ là điểm khởi đầu. Hãy kết hợp chúng — dùng script cho công việc cơ học, agent cho việc suy luận, và [SILENT] để giữ thông báo của bạn gọn gàng. Để tham khảo đầy đủ các tính năng, hãy xem tài liệu Tác Vụ Định Kỳ (Cron). Chúc bạn tự động hóa vui vẻ!

📖 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