🤖HermesBlog
Nền tảng Nhắn tin Hermes · Parte 228/9/2026

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.

messaging-ntfy

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