Dựng hệ thống automation với Hermes Agent
Từ "nhắn gì làm nấy" sang hệ thống tự chạy: việc theo giờ, việc theo sự kiện, nhiều agent phối hợp — vẫn giữ quyền quyết định tiền bạc ở bạn. Tài liệu nội bộ Aduca, chia sẻ cho học viên.
Bốn cách kích hoạt và ba mức tự động
| Kích hoạt | Ví dụ | Tính năng Hermes |
|---|---|---|
| Theo giờ | 8h sáng báo cáo quảng cáo; 21h tổng kết đơn | Lịch tự động (cron) |
| Theo sự kiện | Có khách điền form → phân loại, báo sale ngay | Webhook |
| Giao việc giữa các agent | Agent Tổng giao Agent Nội dung viết bài, Agent Quảng cáo lấy số | Bảng Kanban, agent con |
| Phần mềm khác gọi vào | Cầu nối Fanpage/Zalo hỏi agent tiếp khách | API server, MCP |
| Mức | Agent được làm | Áp dụng cho |
|---|---|---|
| 1. Báo cáo | Đọc dữ liệu, tổng hợp, gửi bạn | Mọi thứ — bắt đầu ở đây |
| 2. Đề xuất chờ duyệt | Soạn sẵn (bài đăng, chiến dịch tạm dừng, tin nhắn), chờ bạn "DUYỆT" | Việc đụng tới khách, tiền, thương hiệu |
| 3. Tự làm | Tự thực hiện việc rủi ro thấp, đã chạy ổn ở mức 2 vài tuần | Ghi Sheet, phân loại, nhắc việc nội bộ |
Nguồn: Security – cron_mode, unattended_mode
Lịch tự động (cron)
Cách dễ nhất: nói với bot như giao việc cho người. Hermes tự tạo lịch và gửi kết quả về đúng đoạn chat đó.
Mỗi ngày 8h sáng, trừ Chủ nhật: đọc Sheet "Đơn hàng", gửi tôi số đơn và doanh thu hôm qua theo kênh, so với cùng ngày tuần trước.Hoặc tạo trên VPS (đặt tên dễ quản lý, gắn kỹ năng, chọn nơi nhận):
hermes cron create "every 1d at 08:00" "Tóm tắt 5 tin ngành <ngành> đáng chú ý trong 24 giờ, kèm link" \
--name "Tin ngành sáng" --deliver telegram
hermes cron create "every monday 9am" "Tổng hợp tin đối thủ tuần qua" --skill competitor-news-monitor --name "Đối thủ tuần" --paused--paused: tạo ở trạng thái tạm dừng để chạy thử trước. Cách ghi giờ được hỗ trợ: in 30m (1 lần), every 2h, every monday 9am, weekdays at 9am, every 1d at 08:00, biểu thức cron, hoặc ngày giờ cụ thể.
Quản lý lịch
hermes cron list # danh sách lịch
hermes cron run <id> # chạy thử ngay
hermes cron pause <id> # tạm dừng · resume để chạy lại
hermes cron remove <id> # xoá
hermes cron status # bộ hẹn giờ có đang chạy không
hermes cron doctor # tìm lịch lỗi, lịch quá hạn- Lịch chỉ chạy khi cổng nhắn tin đang chạy (Phần 1, Bước 6).
- Kết quả gửi đi được tự che mã bí mật.
- Lịch không tạo được lịch mới (tránh vòng lặp).
- Có thể đặt model rẻ hơn riêng cho lịch tự động (mục
cron.modeltrong cấu hình).
Lịch không tốn tiền AI: script canh gác
Việc chỉ cần kiểm tra số (ổ đĩa đầy, website sập) không cần AI. Hermes chạy script và chỉ nhắn khi có chuyện (script không in gì = im lặng).
mkdir -p ~/.hermes/scripts && cat > ~/.hermes/scripts/canh-gac.sh <<'EOF'
#!/bin/bash
d=$(df -P / | awk 'NR==2{gsub("%","",$5); print $5}'); [ "${d:-0}" -gt 80 ] && echo "⚠ Ổ đĩa VPS đã dùng ${d}%"
code=$(curl -s -o /dev/null -w '%{http_code}' --max-time 15 https://<website của bạn>); [ "$code" != 200 ] && echo "⚠ Website trả mã $code"
exit 0
EOF
chmod +x ~/.hermes/scripts/canh-gac.sh
hermes cron create "every 15m" --no-agent --script canh-gac.sh --deliver telegram --name "Canh gác"10 lịch mẫu cho kinh doanh
| Giờ | Việc | Mức |
|---|---|---|
| 7h30 hằng ngày | Báo cáo "còn sống": ổ đĩa, RAM, lịch lỗi (Phần 8) | 1 |
| 8h hằng ngày | Chi tiêu – kết quả quảng cáo hôm qua, chiến dịch cần xem | 1 |
| 8h hằng ngày | Giá đối thủ, khuyến mãi mới | 1 |
| Mỗi 2 giờ (8h–22h) | Cảnh báo chiến dịch tiêu nhiều chưa ra kết quả | 1 |
| 9h thứ Hai | Lịch nội dung tuần + 7 bài nháp chờ duyệt | 2 |
| 10h hằng ngày | Danh sách khách cần chăm sóc lại + tin nhắn soạn sẵn | 2 |
| 17h thứ Sáu | Tổng kết tuần: doanh thu, chi phí, bài học, việc tuần sau | 1 |
| 21h hằng ngày | Tổng kết đơn, đơn chưa xử lý quá 24 giờ | 1 |
| Ngày 1 hằng tháng | Báo cáo tháng gửi kèm file Excel | 1 |
| Mỗi 15 phút | Script canh gác website, ổ đĩa (không tốn tiền AI) | 1 |
Nguồn: Cron – tạo, quản lý, giao kết quả, no-agent · Automate with Cron · Cron troubleshooting
Webhook: tự chạy khi có sự kiện
Webhook là "chuông cửa": phần mềm khác (website, Google Form, cửa hàng online, hệ thống thanh toán) bấm chuông khi có sự kiện, Hermes nghe thấy và làm việc ngay. Mỗi lần bấm chuông phải kèm chữ ký bảo mật (HMAC); không có chữ ký đúng, Hermes từ chối.
Bước 1 — Mở cổng web an toàn (làm 1 lần, dùng chung cho Phần 5, 6)
Cần một tên miền phụ trỏ về VPS (bản ghi A, vd hook.tenmien.vn → IP VPS). Đăng nhập bằng tài khoản quản trị, cài Caddy (tự cấp chứng chỉ HTTPS miễn phí):
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg /etc/apt/sources.list.d/caddy-stable.list
sudo apt update && sudo apt install -y caddy
sudo ufw allow 80,443/tcp # mở cổng web cho Caddy
sudo nano /etc/caddy/CaddyfileXoá nội dung cũ, dán (thay tên miền). Chỉ đường dẫn /webhooks/ được chuyển vào Hermes, còn lại trả 404:
<hook.tenmien.vn> {
handle /webhooks/* {
reverse_proxy 127.0.0.1:8644
}
handle {
respond 404
}
}sudo systemctl reload caddy # Caddy tự xin chứng chỉ HTTPSBước 2 — Bật webhook trong Hermes (tài khoản hermes)
hermes config set WEBHOOK_ENABLED true
hermes config set WEBHOOK_PORT 8644
hermes gateway restart
curl -s http://127.0.0.1:8644/health # thấy "status":"ok" là đượcBước 3 — Tạo "chuông" cho khách mới
S=$(openssl rand -hex 32) # tạo mã bí mật ngẫu nhiên cho chuông này
hermes webhook subscribe khach-moi --secret "$S" --deliver telegram \
--prompt "Khách mới từ {nguon}: {ten}, nhu cầu {nhu_cau}, ngân sách {ngan_sach}. Phân loại NÓNG/ẤM/LẠNH, ghi vào Sheet 'Khách hàng', gợi ý câu mở đầu cuộc gọi."
echo "$S"; unset S # copy mã này dán vào Apps Script ở Bước 4 (không gửi qua chat)Bước 4 — Cho Google Form/Sheet bấm chuông
Trong Google Sheet nhận câu trả lời: Tiện ích mở rộng → Apps Script. Vào Cài đặt dự án → Thuộc tính tập lệnh, thêm HERMES_SECRET = mã vừa copy. Dán đoạn mã dưới, rồi vào Trình kích hoạt → thêm khiCoKhachMoi chạy "Khi gửi biểu mẫu".
// Apps Script gắn với Google Form hoặc Sheet nhận khách: gửi khách mới sang Hermes (có chữ ký bảo mật)
function guiSangHermes(duLieu) {
const url = 'https://<hook.tenmien.vn>/webhooks/khach-moi';
const secret = PropertiesService.getScriptProperties().getProperty('HERMES_SECRET'); // không ghi mã vào code
const body = JSON.stringify(duLieu);
const ts = Math.floor(Date.now() / 1000).toString();
const sig = Utilities.computeHmacSha256Signature(ts + '.' + body, secret)
.map(b => ('0' + (b & 0xff).toString(16)).slice(-2)).join('');
UrlFetchApp.fetch(url, { method: 'post', contentType: 'application/json', payload: body,
headers: { 'X-Webhook-Signature-V2': sig, 'X-Webhook-Timestamp': ts }, muteHttpExceptions: true });
}
// Ví dụ khi có câu trả lời Google Form mới (Trình kích hoạt: Khi gửi biểu mẫu)
function khiCoKhachMoi(e) {
const r = e.namedValues;
guiSangHermes({ ten: r['Họ tên'][0], nhu_cau: r['Nhu cầu'][0], ngan_sach: r['Ngân sách'][0], nguon: 'Google Form' });
}Chỉ cần báo tin, không cần AI xử lý (tiết kiệm tiền)? Thêm --deliver-only khi tạo chuông: nội dung --prompt được gửi nguyên văn vào Telegram.
Nguồn: Webhooks – setup, HMAC, direct delivery · CLI – hermes webhook subscribe · Toolsets – hermes-webhook · Caddy install
Đội nhiều agent: mỗi agent một việc
| Agent (profile) | Việc | Quyền | Bot Telegram |
|---|---|---|---|
| Tổng (mặc định) | Nhận việc từ chủ, chia việc, tổng hợp báo cáo | Đầy đủ, chỉ nhận lệnh từ ID của bạn | Có |
| ads | Báo cáo, phân tích, đề xuất quảng cáo | Đọc dữ liệu quảng cáo; thay đổi phải chờ duyệt | Có |
| content | Lịch nội dung, bài viết, kịch bản, ảnh | Không giữ mã bí mật tài khoản quảng cáo | Có |
| cskh | Trả lời khách qua Fanpage/Zalo | Tắt chạy lệnh, file, trình duyệt (Phần 8) | Tuỳ chọn |
Tạo từng agent theo Phần 1, Bước 9. Trên một VPS, một cổng nhắn tin chung phục vụ tất cả. Từ 3–4 agent trở lên nên dùng VPS 8 GB RAM.
Cách A (khuyên dùng) — Bảng việc Kanban: agent giao việc cho nhau
Kanban là bảng việc chung của mọi agent trên máy. Bạn (hoặc agent Tổng) tạo thẻ việc và gán cho agent phụ trách; cổng nhắn tin tự gọi agent đó làm, ghi kết quả vào thẻ.
hermes kanban init # tạo bảng (1 lần)
hermes kanban create "Viết 7 bài Fanpage tuần này theo lịch nội dung" --assignee content
hermes kanban list # xem các thẻ việc · hermes kanban watch để theo dõi trực tiếpĐể agent Tổng tự chia việc, thêm vào cuối ~/.hermes/SOUL.md:
GIAO VIỆC: dùng bảng Kanban để giao việc cho agent chuyên trách:
- Quảng cáo (báo cáo, phân tích, đề xuất) → assignee "ads"
- Nội dung (bài viết, kịch bản, lịch đăng) → assignee "content"
Mỗi thẻ ghi rõ: mục tiêu, dữ liệu đầu vào, định dạng kết quả, hạn. Khi các thẻ xong, tổng hợp và báo chủ.Giao agent ads tổng hợp chi tiêu tuần này, giao agent content lên lịch 7 bài tuần sau. Xong thì gộp lại báo tôi.Cách B — Agent con tạm thời (trong cùng một agent)
Việc lớn chia được thành nhiều phần độc lập (vd nghiên cứu 10 đối thủ): chỉ cần nói "chia cho các agent con làm song song". Hermes tạo tối đa 10 agent con cùng lúc (mặc định), mỗi agent con chỉ trả về bản tóm tắt. Nhanh nhưng tốn token hơn — dùng khi thật cần.
Cách C — API nội bộ (cho cầu nối Fanpage, Zalo, phần mềm khác)
Hermes có API giống OpenAI tại 127.0.0.1:8642 (chỉ trong VPS). Khi nhiều agent dùng chung cổng, mỗi agent có đường dẫn riêng /p/<tên>/ và mã API riêng:
hermes config set API_SERVER_ENABLED true
hermes config set API_SERVER_KEY "$(openssl rand -hex 32)" # mã cho agent chính
hermes -p cskh config set API_SERVER_KEY "$(openssl rand -hex 32)" # mã riêng cho agent cskh
hermes gateway restart
K=$(grep '^API_SERVER_KEY=' ~/.hermes/profiles/cskh/.env | cut -d= -f2-)
curl -s http://127.0.0.1:8642/p/cskh/v1/chat/completions -H "Authorization: Bearer $K" -H "Content-Type: application/json" \
-d '{"model":"cskh","messages":[{"role":"user","content":"Xin chào"}]}' | head -c 400; unset K127.0.0.1, không mở cổng 8642 ra Internet; chỉ cầu nối chạy trên chính VPS được gọi. Agent nhận tin từ khách (cskh) phải tắt quyền chạy lệnh.Nguồn: Kanban · Delegation · API Server – multi-profile routing · Multi-profile gateways
Nối thêm dịch vụ bằng MCP
MCP là chuẩn chung giúp agent dùng "bộ công cụ" của dịch vụ khác (quảng cáo, thiết kế, quản lý dự án…). Hermes nối được MCP chạy trên máy hoặc MCP từ xa có đăng nhập OAuth.
hermes mcp catalog # danh sách MCP đã được Nous duyệt
hermes mcp list # MCP đang nốimcp_servers:
ten-dich-vu:
url: "https://<địa chỉ MCP của dịch vụ>"
auth: oauth
tools:
exclude: [<công cụ nguy hiểm, vd xoá hoặc kích hoạt chi tiêu>]- Đăng nhập OAuth bằng
hermes mcp login <tên>trong Termius, không qua Telegram. - Dùng
tools.excludeđể loại bỏ công cụ có thể tiêu tiền hoặc xoá dữ liệu; agent không thấy thì không dùng được. - Chỉ nối MCP của nhà cung cấp chính thức hoặc mã nguồn bạn đã đọc.
Ví dụ thực tế với Meta Ads: Phần 5.
Nguồn: MCP – HTTP servers, OAuth, tool filtering · Use MCP with Hermes
Checklist trước khi để hệ thống tự chạy
- Mỗi lịch, mỗi chuông webhook có tên rõ ràng và người chịu trách nhiệm
- Đã chạy thử từng lịch bằng
hermes cron runtrước khi để tự chạy - Việc đụng tới khách, tiền, đăng công khai luôn ở mức 2 (chờ duyệt)
- Webhook có chữ ký; cổng 8642 (API) không mở ra Internet
- Đã thử
hermes pause/hermes resumevà biết dùng khi khẩn cấp - Có báo cáo "còn sống" mỗi sáng và sao lưu tự động (Phần 1, Phần 8)
- Đặt hạn mức chi tiêu ở nhà cung cấp AI — lịch chạy nhiều lần mỗi ngày cộng dồn chi phí
Tài liệu liên quan
- Hermes Agent · AI AgentHermes Agent với TikTok, YouTube, Google Ads, Shopify, SEOMột công thức nối mọi nền tảng và lộ trình từng kênh: TikTok, TikTok Shop, YouTube, Google Ads Scripts và MCP, Shopify, SEO website — luôn chờ duyệt.
- Hermes Agent · AI AgentCài đặt Hermes Agent trên VPS an toànTừng bước: VPS bảo mật, cài Hermes, kết nối model AI, bot Telegram chỉ nghe lời bạn, chạy 24/7, sao lưu tự động, Google Sheets/Drive.
- AI AgentAI Agent là gì? Khác gì ChatGPT, chatbot, phần mềm tự động hoáAI Agent là gì, hoạt động ra sao, khác ChatGPT, chatbot và phần mềm tự động hoá thế nào; 1 ngày làm việc của Agent và 20 việc giao được ngay.
- Hermes Agent · AI AgentHermes Agent là gì? AI Agent biết tự học của Nous ResearchHermes Agent là gì: AI Agent mã nguồn mở của Nous Research biết tự học kỹ năng, nhớ bạn qua nhiều phiên, chạy 24/7 trên VPS; 7 điểm khác biệt, chi phí.
Xem tất cả tài liệu hướng dẫn →
Muốn có đội AI Agent chạy thật cho doanh nghiệp?
Khóa Meta Ads AI Automation do Nguyễn Đức – Chủ tịch Aduca Group đào tạo trực tiếp 3 ngày: dựng AI Agent quảng cáo, nội dung, chăm sóc khách trên chính tài khoản của bạn, chọn công cụ (OpenClaw hoặc Hermes) phù hợp với đội của bạn.
Nguồn tham khảo
Thông tin kỹ thuật trong bài lấy từ các tài liệu dưới đây (đã ghi nguồn ngay dưới từng mục). Phần diễn giải, ví dụ và quy trình là của Aduca.
- Hermes – Scheduled Tasks (Cron)
- Hermes – Automate with Cron
- Hermes – Daily briefing bot
- Hermes – Cron troubleshooting
- Hermes – Webhooks (HMAC, direct delivery, routes)
- Hermes – CLI hermes webhook
- Hermes – Kanban (bảng việc nhiều agent)
- Hermes – Subagent Delegation
- Hermes – API Server (định tuyến /p/<profile>/)
- Hermes – Running Many Gateways
- Hermes – MCP
- Hermes – Security (cron_mode, unattended_mode)
- Caddy – Cài đặt trên Ubuntu
- Google Apps Script – computeHmacSha256Signature
Lịch sử cập nhật
- 02/10/2026 — Bản đầu, theo Hermes v0.21.5 (cơ chế một cổng nhắn tin chung).
Miễn trừ trách nhiệm
Tài liệu này thuộc bộ tài liệu nội bộ Aduca dùng để triển khai AI Agent và giảng dạy, được chia sẻ công khai miễn phí cho mục đích học tập. Nội dung do Aduca viết mới, đối chiếu với tài liệu chính thức của Hermes Agent (Hermes v0.21.5 (24/09/2026)) và của các nền tảng liên quan tại ngày cập nhật; những chỗ là nhận định riêng của Aduca được ghi rõ.
- Phần mềm của bên thứ ba: Hermes Agent là phần mềm mã nguồn mở (giấy phép MIT) do Nous Research phát triển. Aduca không phải đơn vị phát triển, đối tác hay đại diện của Nous Research. Telegram, Meta, Google, Zalo, TikTok, nhà cung cấp VPS và nhà cung cấp model AI là dịch vụ của bên thứ ba; lệnh, giao diện, giá và chính sách có thể thay đổi so với tài liệu.
- Trách nhiệm của người áp dụng: bạn tự chịu trách nhiệm về VPS, tài khoản, mã bí mật, dữ liệu, chi phí phát sinh (VPS, API AI, ngân sách quảng cáo) và mọi hành động do Agent của bạn thực hiện. Đọc kỹ từng lệnh trước khi chạy, sao lưu trước khi thay đổi lớn.
- Tuân thủ: khi Agent xử lý dữ liệu khách hàng, bạn có trách nhiệm tuân thủ điều khoản của từng nền tảng và pháp luật Việt Nam, bao gồm quy định về bảo vệ dữ liệu cá nhân. Các cách kết nối không chính thức (ví dụ Zalo cá nhân) có thể khiến tài khoản bị khoá.
- Giới hạn trách nhiệm: trong phạm vi pháp luật cho phép, Aduca không chịu trách nhiệm cho thiệt hại trực tiếp hay gián tiếp (mất dữ liệu, lộ thông tin, khoá tài khoản, chi phí quảng cáo, gián đoạn kinh doanh…) phát sinh từ việc sử dụng tài liệu.
- Không phải tư vấn chuyên sâu: tài liệu không thay thế đánh giá bảo mật chuyên nghiệp. Hệ thống quan trọng nên được chuyên gia rà soát riêng.
- Không thu thập thông tin bí mật: Aduca không bao giờ yêu cầu bạn gửi token, mật khẩu, mã OTP hay file bí mật.
- Bản quyền: © 2026 Công ty Cổ phần Giáo dục Aduca. Được trích dẫn khi ghi rõ nguồn aduca.vn. Hermes Agent, Nous Research và các nhãn hiệu nêu trên thuộc về chủ sở hữu tương ứng.