Giải thích

Đưa Local LLM lên Discord: Trò chuyện với AI từ xa không cần mở cổng mạng

Kết nối mô hình AI cục bộ với Discord qua cơ chế Outbound WebSocket giúp người dùng tương tác từ xa an toàn, bỏ qua hoàn toàn các bước cấu hình VPN, mở cổng mạng hay thiết lập DNS phức tạp.

Tóm tắt nhanh

  • Cơ chế Outbound WebSocket của Discord giúp kết nối AI nội bộ ra ngoài mạng Internet mà không cần can thiệp vào tường lửa hay mở cổng (port forwarding).
  • Hệ thống vận hành trơn tru ngay cả khi mạng gia đình sử dụng NAT hoặc CGNAT.
  • Người dùng có thể chọn giải pháp gọn nhẹ như llmcord, hoặc các bộ khung agentic mạnh mẽ như Hermes Agent (đòi hỏi phần cứng cao).
  • Sự đánh đổi lớn nhất là tính bảo mật tuyệt đối, do dữ liệu hội thoại bắt buộc phải đi qua máy chủ của Discord.

Vượt rào tường lửa bằng Outbound WebSocket

llm local through discord
Mô hình AI cục bộ được kết nối ra ngoài thông qua Discord, loại bỏ nhu cầu mở cổng mạng.

Việc truy cập mô hình AI cục bộ (Local LLM) từ xa thường là một bài toán đau đầu với những người xây dựng homelab. Các giải pháp truyền thống đòi hỏi thiết lập proxy ngược (reverse proxy), cấu hình chứng chỉ bảo mật, mở cổng mạng (port forwarding) hoặc phải liên tục bật tắt VPN. Giải pháp đưa LLM lên Discord xử lý triệt để bài toán này thông qua cơ chế kết nối hướng ra ngoài (outbound connection).

discord bot for hermes in server
Bot Discord hoạt động như một kênh giao tiếp an toàn vượt qua các hệ thống NAT và CGNAT phức tạp.

Giống như ứng dụng Discord trên điện thoại, bot AI chỉ mở một luồng kết nối duy nhất hướng ra máy chủ Discord và chờ nhận tin nhắn. Máy chủ chứa LLM không cần thiết lập IP tĩnh, không yêu cầu bản ghi DNS và cũng không cần bất kỳ quy tắc định tuyến nào trên router. Hệ thống này hoạt động hoàn hảo ngay cả khi mạng nội bộ bị khóa sau nhiều lớp NAT hoặc CGNAT của nhà mạng.

Đánh đổi quyền riêng tư lấy sự tiện lợi

hermes discord bot replying in thread
Dữ liệu trò chuyện được lưu trữ trên Discord mang lại sự tiện lợi lớn nhưng đánh đổi bằng quyền riêng tư tuyệt đối.

Ưu điểm lớn nhất của mô hình tự lưu trữ (self-hosted) là quyền riêng tư tuyệt đối, nhưng việc sử dụng Discord làm giao diện giao tiếp phá vỡ đặc quyền này. Discord trở thành đơn vị trung chuyển toàn bộ nội dung trò chuyện giữa người dùng và bot, đồng nghĩa với việc nền tảng này có thể tiếp cận dữ liệu tin nhắn.

Tuy nhiên, sự đánh đổi này mang lại độ tiện dụng cao. Thay vì phải tự xây dựng và bảo trì một giao diện web, người dùng có sẵn một ứng dụng trò chuyện trên cả điện thoại và máy tính. Mọi lịch sử hội thoại với LLM đều được lưu trữ trực tuyến, dễ dàng tìm kiếm lại bất cứ lúc nào và không phụ thuộc vào thiết bị đang sử dụng. Lưu ý duy nhất là nếu máy chủ Discord gặp sự cố, luồng giao tiếp với AI cục bộ cũng sẽ bị gián đoạn.

Hermes Agent và bài toán phần cứng

hermes agent lxc configuration
Triển khai Hermes Agent đòi hỏi sức mạnh xử lý tốt và cấp quyền đọc tin nhắn từ Discord.

Việc triển khai agent trên Discord không chỉ đòi hỏi sức mạnh xử lý thuần túy mà còn yêu cầu dung lượng bộ nhớ lớn. Trong một thử nghiệm triển khai Hermes Agent trên môi trường Proxmox LXC (Debian 13) với 4 nhân CPU, 4GB RAM và mô hình gpt-oss-120b (chạy qua Lemonade Server trên cấu hình AMD Strix Halo), bộ khung này yêu cầu cửa sổ ngữ cảnh (context window) tối thiểu 64.000 token. Để hệ thống hoạt động trơn tru với các công cụ (tools) tích hợp sẵn, mô hình thậm chí phải được tải ở mức 131.072 token. Quá trình đọc lệnh hệ thống (system prompt) đồ sộ khiến các truy vấn đơn giản cũng mất khoảng 30 giây để phản hồi.

Hermes Agent mang đến hơn 39 công cụ mạnh mẽ như duyệt web hay nhắc việc (cron), nhưng bù lại, hệ thống cần cấp quyền Message Content Intent trên Discord Developer Portal để đọc tin nhắn. Đối với những người dùng chỉ cần một cổng trò chuyện thông thường mà không cần khả năng tự động hóa phức tạp, llmcord là một lựa chọn thay thế hợp lý hơn. Giải pháp này gói gọn trong một tệp Python khoảng 300 dòng mã, hoạt động hoàn toàn phi trạng thái (stateless) và tương thích tốt với hầu hết các máy chủ API LLM hiện nay.

Đây là giải pháp thiết lập phần mềm mã nguồn mở dành cho hạ tầng tự lưu trữ, hoàn toàn miễn phí và không liên quan đến các sản phẩm phần cứng thương mại.

Nguồn tham khảo: XDA Developers, Nous Research, GitHub (jakobdylanc)

Bài viết mới nhất