Cập nhật lần cuối: 19/03/2026 | Phiên bản: 1.0
TL;DR: Heartbeat là “nhịp thở” — agent tỉnh dậy định kỳ, đọc checklist trong HEARTBEAT.md, và quyết định có gì cần chú ý không. Nếu không có gì, nó trả lời HEARTBEAT_OK rồi ngủ tiếp. Cron là “lịch hẹn” — chạy task cụ thể vào thời điểm chính xác, có thể cách ly khỏi phiên chat chính. Dùng heartbeat cho giám sát kiểu canh gác; dùng cron khi thời gian chính xác quan trọng.
Bối cảnh: Tại sao cần hai cơ chế?
OpenClaw mặc định là reactive — bạn nhắn tin, nó trả lời. Nhưng khi bật heartbeat hoặc cron, agent chuyển thành một dịch vụ biết tự theo dõi, nhắc việc và xử lý task định kỳ. Hai cơ chế này phục vụ hai nhu cầu khác nhau: heartbeat để quét và phán đoán, cron để chạy đúng lịch.
Heartbeat — “Nhịp thở” của Agent
Mỗi khoảng thời gian nhất định, Gateway đánh thức agent. Agent đọc HEARTBEAT.md, đi qua checklist ngắn gọn và quyết định có gì đáng báo không. Nếu mọi thứ ổn, nó trả lời HEARTBEAT_OK và hệ thống sẽ bỏ qua tin nhắn đó.
HEARTBEAT.md nên viết thế nào?
# Heartbeat checklist
- [ ] Inbox: quét email khẩn, nháp trả lời nếu cần
- [ ] Lịch: kiểm tra sự kiện trong 2 giờ tới, nhắc trước 15 phút
- [ ] VPS: kiểm tra disk và RAM, cảnh báo nếu vượt ngưỡng
- [ ] Nếu không có gì cần chú ý, trả lời HEARTBEAT_OK
- Viết ngắn và cụ thể.
- Luôn có điều kiện dừng rõ ràng.
- Giữ checklist ngắn để tránh tốn token.
- Không để bí mật trong file này.
Cấu hình heartbeat
{
"agents": {
"defaults": {
"heartbeat": {
"every": "30m",
"target": "last",
"activeHours": { "start": "07:00", "end": "23:00" }
}
}
}
}
Các tham số quan trọng gồm: every, target, activeHours, model override, lightContext và isolatedSession. Muốn tiết kiệm chi phí, hãy dùng model rẻ hơn, bật light context và tránh interval quá ngắn.
Cron — “Lịch hẹn” của Agent
Cron là hệ thống lập lịch bên trong Gateway. Không giống heartbeat, cron không quét rồi phán đoán; nó chạy một task cụ thể vào thời điểm cụ thể.
Ba kiểu lập lịch
- One-shot (
--at): chạy một lần cho nhắc nhở hoặc tác vụ hoãn. - Interval (
--every): lặp lại theo khoảng thời gian cố định. - Cron expression (
--cron): lịch phức tạp kiểu Unix.
openclaw cron add --name "Morning brief" --cron "0 7 * * *" --session isolated --message "Briefing sáng" --announce
openclaw cron add --name "Nộp báo cáo" --at "3h" --session main --system-event "Nhắc nhở: deadline chiều nay" --wake now
Main session vs Isolated session
- Main session: phù hợp cho nhắc việc cần bối cảnh chat gần đây.
- Isolated session: phù hợp cho báo cáo, task nặng, hoặc job không nên làm loạn chat chính.
Với hầu hết automation nghiêm túc, cron isolated là lựa chọn an toàn hơn.
So sánh trực tiếp: Cron vs Heartbeat
- Heartbeat: trả lời câu hỏi “Có gì cần chú ý không?”
- Cron: trả lời câu hỏi “Đã đến giờ làm việc X chưa?”
- Heartbeat có phán đoán; cron chạy đúng lịch.
- Heartbeat tốt để gộp nhiều kiểm tra; cron tốt cho thời gian chính xác.
- Heartbeat thường tiết kiệm hơn khi nhiều task cùng tần suất; cron tốn một lần chạy cho mỗi job.
Flowchart chọn đúng cơ chế
Nếu task cần chạy đúng thời điểm, dùng cron. Nếu không cần quá chính xác nhưng cần agent canh gác liên tục, dùng heartbeat. Nếu task cần model riêng, mức reasoning cao hoặc muốn cách ly khỏi main session, cron isolated thường là đáp án tốt hơn.
Pattern thực tế: Kết hợp cả hai
Thiết lập thường gặp là dùng heartbeat mỗi 30 phút để quét email khẩn, lịch và cảnh báo hệ thống; đồng thời dùng cron cho morning brief, weekly review và nhắc nhở đúng giờ. Nguyên tắc đơn giản: heartbeat để giám sát, cron để hành động đúng lịch.
Lỗi thường gặp
- Heartbeat spam tin nhắn vì thiếu dòng
HEARTBEAT_OK. - Heartbeat tốn tiền bất ngờ vì dùng model đắt và interval ngắn.
- Cron job không chạy vì scheduler bị disable hoặc delivery mode sai.
- Cron chạy nhưng không thấy output vì delivery để
none. - Heartbeat chạy giữa đêm vì chưa cấu hình
activeHours.
Bảo mật: Heartbeat và prompt injection
Khi heartbeat đọc email, web hoặc file bên ngoài, nó có thể gặp prompt injection. Vì vậy, hãy dùng model đủ mạnh cho nội dung không tin cậy, và luôn gate các hành động nhạy cảm như gửi email, xóa file hay thanh toán bằng xác nhận của người dùng.
Câu hỏi thường gặp
Bài viết cũng giải thích heartbeat có chạy khi máy ngủ không, file HEARTBEAT.md trống có tốn token không, agent có thể tự sửa HEARTBEAT.md hay không, và cách heartbeat tương tác với cron qua wake mode.
Xem thêm
Nguồn tham khảo: OpenClaw Docs, GitHub openclaw/openclaw và kinh nghiệm triển khai thực tế.

Bình Luận (0)
Đăng nhập để bình luận.