ntfy — Thông báo Đẩy Nhẹ Nhàng
ntfy — Thông báo Đẩy Nhẹ Nhàng — hướng dẫn dễ hiểu dựa trên tài liệu chính thức
Từng ước gì chiếc điện thoại của bạn có thể “rung” ngay khi một script chạy xong—mà không cần cài thêm một ứng dụng nào? Đó chính là phép màu thường ngày của ntfy: nó biến bất kỳ chủ đề (topic) nào thành một kênh pub-sub mà bạn có thể “ping” chỉ bằng một yêu cầu HTTP đơn giản.
Đối với người dùng Hermes Agent, ntfy là cách dễ nhất để mang “trợ lý AI” của bạn trong túi quần. Không SDK, không daemon, không Node.js—chỉ cần một tên topic và ứng dụng di động ntfy miễn phí. Đây là cách để kết nối chúng.
Tại sao ntfy “hợp cạ” với Hermes
Hermes tập trung vào tự động hóa nhẹ nhàng. ntfy hoàn toàn phù hợp với triết lý đó:
- Không phụ thuộc thư viện — adapter sử dụng
httpx, vốn đã được tích hợp sẵn trong Hermes. - Bất kỳ HTTP client nào cũng dùng được — curl, Python, thậm chí cả đồng hồ thông minh.
- Tự lưu trữ được — chạy máy chủ ntfy của riêng bạn cho các topic riêng tư, hoặc dùng dịch vụ công cộng miễn phí
ntfy.sh.
Bạn đăng ký (subscribe) một topic trên điện thoại, gửi tin nhắn đến topic đó từ Hermes, và nhận phản hồi dưới dạng thông báo. Đó là push messaging không rườm rà.
Bắt đầu nhanh: Trình hướng dẫn thiết lập
Cách nhanh nhất là sử dụng trình hướng dẫn:
hermes gateway setup
Chọn ntfy từ menu, nhập tên topic của bạn (ví dụ: hermes-myname-2026), và thế là xong. Trình hướng dẫn sẽ ghi cấu hình vào tệp ~/.hermes/.env.
Cấu hình thủ công qua Biến môi trường
Thích chỉnh sửa tệp hơn? Thêm những dòng này vào ~/.hermes/.env:
NTFY_TOPIC=hermes-myname-2026
NTFY_ALLOWED_USERS=hermes-myname-2026
NTFY_HOME_CHANNEL=hermes-myname-2026
Đó là cấu hình tối thiểu. Dưới đây là ý nghĩa của từng biến:
| Biến | Bắt buộc | Mục đích |
|---|---|---|
NTFY_TOPIC |
Có | Topic để đăng ký (tin nhắn đến) |
NTFY_SERVER_URL |
Không | Mặc định https://ntfy.sh; trỏ đến máy chủ tự lưu trữ để bảo mật |
NTFY_TOKEN |
Không | Bearer token (tk_xyz) hoặc user:pass để xác thực |
NTFY_PUBLISH_TOPIC |
Không | Topic riêng cho các phản hồi (mặc định là NTFY_TOPIC) |
NTFY_MARKDOWN |
Không | Đặt true để gửi phản hồi với X-Markdown: true |
NTFY_ALLOWED_USERS |
Khuyến nghị | Danh sách tên topic phân tách bằng dấu phẩy, được coi là ID người dùng |
NTFY_ALLOW_ALL_USERS |
Không | Cho phép mọi nhà xuất bản — chỉ an toàn cho các topic riêng tư |
NTFY_HOME_CHANNEL |
Không | Topic mặc định cho cron / thông báo |
NTFY_HOME_CHANNEL_NAME |
Không | Nhãn hiển thị cho kênh chính |
Mô hình định danh: Đọc kỹ trước khi triển khai
Đây là điểm hạn chế của ntfy: nó không có tài khoản người dùng thực sự. Trường title trên một tin nhắn do nhà xuất bản kiểm soát—bất kỳ ai cũng có thể giả mạo. Vì vậy, Hermes không sử dụng title để phân quyền.
Thay vào đó, chính tên topic là danh tính. Mọi tin nhắn trên topic được coi là đến từ cùng một người dùng logic. NTFY_ALLOWED_USERS thường chỉ là chính tên topic—một danh sách cho phép chỉ có một mục.
Hàm ý bảo mật: bất kỳ ai biết topic của bạn đều có thể trò chuyện với agent của bạn. Để tạo ra một ranh giới tin cậy thực sự:
- Tự lưu trữ ntfy và khóa topic bằng Access Control.
- Chỉ các client được ủy quyền mới có thể xuất bản hoặc đăng ký.
Mẹo thực tế cho việc sử dụng hàng ngày
Đặt NTFY_MARKDOWN=true nếu bạn muốn các phản hồi được định dạng (in đậm, danh sách, khối mã) hiển thị đẹp mắt trong ứng dụng ntfy. Điều này giúp việc đọc các phản hồi dài của agent trên màn hình điện thoại dễ dàng hơn nhiều.
Tổng kết
ntfy cung cấp cho Hermes một kênh push cực kỳ đơn giản: đăng ký trên điện thoại, cấu hình ba biến môi trường, và bạn đã sẵn sàng. Không cần tài khoản đám mây, không dịch vụ phụ trợ, không cần học hỏi gì thêm.
Mẹo cuối cùng: hãy bắt đầu với một topic độc nhất như hermes-<tênbạn>-<năm>—gần như không thể trùng lặp trên máy chủ công cộng. Sau đó, khi bạn đã tin tưởng quy trình làm việc, hãy tự lưu trữ ntfy và thêm kiểm soát truy cập để có một kênh thực sự riêng tư. Agent của bạn giờ đây chỉ cách một “rung” duy nhất.
📖 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 › user-guide/messaging/ntfy