Cổng nhắn tin
Trò chuyện với Hermes từ Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom hoặc trình duyệt của bạn. Cổng là một quy trình nền duy nhất kết nối với tất cả các nền tảng được định cấu hình của bạn, xử lý các phiên, chạy các công việc định kỳ và gửi tin nhắn thoại.
Để biết bộ tính năng giọng nói đầy đủ — bao gồm chế độ micrô CLI, trả lời bằng giọng nói trong tin nhắn và cuộc trò chuyện trên kênh thoại Discord — hãy xem Chế độ giọng nói và Sử dụng Chế độ giọng nói với Hermes.
So sánh nền tảng
| Nền tảng | Giọng nói | Hình ảnh | Tập tin | Chủ đề | Phản ứng | Đang gõ | Truyền phát |
|---|---|---|---|---|---|---|---|
| Điện tín | ✅ | ✅ | ✅ | ✅ | — | ✅ | ✅ |
| Bất hòa | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Chần chừ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| — | ✅ | ✅ | — | — | ✅ | ✅ | |
| Tín hiệu | — | ✅ | ✅ | — | — | ✅ | ✅ |
| SMS | — | — | — | — | — | — | — |
| — | ✅ | ✅ | ✅ | — | — | — | |
| Trợ lý tại nhà | — | — | — | — | — | — | — |
| Quan trọng nhất | ✅ | ✅ | ✅ | ✅ | — | ✅ | ✅ |
| Ma trận | ✅ | ✅ | ✅ | ✅ | — | ✅ | ✅ |
| DingTalk | — | — | — | — | — | ✅ | ✅ |
| Feishu/Lark | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| WeCom | ✅ | ✅ | ✅ | — | — | ✅ | ✅ |
Giọng nói = Trả lời bằng âm thanh TTS và/hoặc chép lại tin nhắn thoại. Hình ảnh = gửi/nhận hình ảnh. Tệp = gửi/nhận tệp đính kèm. Chủ đề = cuộc trò chuyện theo chuỗi. Phản ứng = biểu tượng cảm xúc trên tin nhắn. Đang gõ = chỉ báo đang gõ trong khi xử lý. Truyền phát = cập nhật tin nhắn liên tục thông qua chỉnh sửa.
Kiến trúc
Mỗi bộ điều hợp nền tảng nhận tin nhắn, định tuyến chúng qua kho lưu trữ phiên trên mỗi cuộc trò chuyện và gửi chúng đến AIAgent để xử lý. Cổng cũng chạy bộ lập lịch cron, đánh dấu 60 giây một lần để thực hiện mọi công việc đến hạn.
Thiết lập nhanh
Cách dễ nhất để định cấu hình nền tảng nhắn tin là trình hướng dẫn tương tác:
hermes gateway setup
# Interactive setup for all messaging platforms
Phần này hướng dẫn bạn cách định cấu hình từng nền tảng bằng lựa chọn phím mũi tên, hiển thị nền tảng nào đã được định cấu hình và đề xuất khởi động/khởi động lại cổng khi hoàn tất.
Lệnh cổng
hermes gateway
# Run in foreground
hermes gateway setup
# Configure messaging platforms interactively
hermes gateway install
# Install as a user service (Linux) / launchd service (macOS)
sudo hermes gateway install --system
# Linux only: install a boot-time system service
hermes gateway start
# Start the default service
hermes gateway stop
# Stop the default service
hermes gateway status
# Check default service status
hermes gateway status --system
# Linux only: inspect the system service explicitly
Lệnh trò chuyện (Nhắn tin bên trong)
| Lệnh | Mô tả |
|---|---|
/new hoặc /reset | Bắt đầu một cuộc trò chuyện mới |
/model [provider:model] | Hiển thị hoặc thay đổi mô hình (hỗ trợ cú pháp provider:model) |
/provider | Hiển thị các nhà cung cấp có sẵn với trạng thái xác thực |
/personality [name] | Đặt tính cách |
/retry | Thử lại tin nhắn cuối cùng |
/undo | Xóa trao đổi cuối cùng |
/status | Hiển thị thông tin phiên |
/stop | Dừng tác nhân đang chạy |
/approve | Phê duyệt lệnh nguy hiểm đang chờ xử lý |
/deny | Từ chối lệnh nguy hiểm đang chờ xử lý |
/sethome | Đặt cuộc trò chuyện này làm kênh chính |
/compress | Nén ngữ cảnh hội thoại theo cách thủ công |
/title [name] | Đặt hoặc hiển thị tiêu đề phiên |
/resume [name] | Tiếp tục phiên được đặt tên trước đó |
/usage | Hiển thị mức sử dụng mã thông báo cho phiên này |
/insights [days] | Hiển thị thông tin chi tiết và phân tích về cách sử dụng |
/reasoning [level|show|hide] | Thay đổi nỗ lực lập luận hoặc chuyển đổi hiển thị lý luận |
/voice [on|off|tts|join|leave|status] | Kiểm soát phản hồi bằng giọng nói trong tin nhắn và hoạt động của kênh thoại Discord |
/rollback [number] | Liệt kê hoặc khôi phục các điểm kiểm tra hệ thống tập tin |
/background <prompt> | Chạy lời nhắc trong phiên nền riêng biệt |
/reload-mcp | Tải lại máy chủ MCP từ config |
/update | Cập nhật Hermes Agent lên phiên bản mới nhất |
/help | Hiển thị các lệnh có sẵn |
/<skill-name> | Gọi bất kỳ kỹ năng nào đã cài đặt |
Quản lý phiên
Sự kiên trì của phiên
Các phiên vẫn tồn tại trên các tin nhắn cho đến khi chúng được đặt lại. Nhân viên ghi nhớ bối cảnh cuộc trò chuyện của bạn.
Đặt lại chính sách
Đặt lại phiên dựa trên các chính sách có thể định cấu hình:
| Chính sách | Mặc định | Mô tả |
|---|---|---|
| Hàng ngày | 4:00 sáng | Đặt lại vào một giờ cụ thể mỗi ngày |
| Nhàn rỗi | 1440 phút | Đặt lại sau N phút không hoạt động |
| Cả hai | (kết hợp) | Cái nào kích hoạt trước |
Định cấu hình ghi đè trên mỗi nền tảng trong ~/.hermes/gateway.json :
{
"reset_by_platform": {
"telegram": { "mode": "idle", "idle_minutes": 240 },
"discord": { "mode": "idle", "idle_minutes": 60 }
}
}
Bảo mật
Theo mặc định, cổng từ chối tất cả người dùng không nằm trong danh sách cho phép hoặc được ghép nối qua DM. Đây là chế độ mặc định an toàn cho bot có quyền truy cập terminal.
# Restrict to specific users (recommended):
TELEGRAM_ALLOWED_USERS=123456789,987654321
DISCORD_ALLOWED_USERS=123456789012345678
SIGNAL_ALLOWED_USERS=+155****4567,+155****6543
SMS_ALLOWED_USERS=+155****4567,+155****6543
EMAIL_ALLOWED_USERS=trusted@example.com,colleague@work.com
MATTERMOST_ALLOWED_USERS=3uo8dkh1p7g1mfk49ear5fzs5c
MATRIX_ALLOWED_USERS=@alice:matrix.org
DINGTALK_ALLOWED_USERS=user-id-1
# Or allow
GATEWAY_ALLOWED_USERS=123456789,987654321
# Or explicitly allow all users (NOT recommended for bots with terminal access):
GATEWAY_ALLOW_ALL_USERS=true
Ghép nối DM (Thay thế cho danh sách cho phép)
Thay vì định cấu hình ID người dùng theo cách thủ công, những người dùng không xác định sẽ nhận được mã ghép nối một lần khi họ DM bot:
# The user sees: "Pairing code: XKGH5N7P"
# You approve them with:
hermes pairing approve telegram XKGH5N7P
# Other pairing commands:
hermes pairing list
# View pending + approved users
hermes pairing revoke telegram 123456789
# Remove access
Mã ghép nối sẽ hết hạn sau 1 giờ, có giới hạn tốc độ và sử dụng tính ngẫu nhiên của mật mã.
Làm gián đoạn tác nhân
Gửi bất kỳ tin nhắn nào trong khi tác nhân đang làm việc để làm gián đoạn nó. Các hành vi chính:
- Các lệnh đầu cuối đang thực hiện sẽ bị hủy ngay lập tức (SIGTERM, sau đó là SIGKILL sau 1 giây)
- Cuộc gọi công cụ bị hủy — chỉ lệnh hiện đang thực hiện chạy, phần còn lại bị bỏ qua
- Nhiều tin nhắn được kết hợp — các tin nhắn được gửi trong thời gian bị gián đoạn sẽ được nối vào một lời nhắc
- ** Lệnh
/stop** — ngắt mà không xếp hàng tin nhắn tiếp theo
Thông báo tiến độ công cụ
Kiểm soát lượng hoạt động của công cụ được hiển thị trong ~/.hermes/config.yaml :
display:
tool_progress: all
# off
| new | all | verbose
tool_progress_command: false
# set to true to enable /verbose in messaging
Khi được bật, bot sẽ gửi thông báo trạng thái khi hoạt động:
💻 `ls -la`...
🔍 web_search...
📄 web_extract...
🐍 execute_code...
Phiên nền
Chạy lời nhắc trong một phiên nền riêng biệt để nhân viên hỗ trợ hoạt động độc lập trong khi cuộc trò chuyện chính của bạn vẫn phản hồi:
/background Check all servers in the cluster and report any that are down
Hermes xác nhận ngay:
🔄 Background task started: "Check all servers in the cluster..."
Task ID: bg_143022_a1b2c3
Cách thức hoạt động
Mỗi lời nhắc /background sinh ra một phiên bản tác nhân riêng biệt chạy không đồng bộ:
- Phiên riêng biệt — tác nhân nền có phiên riêng với lịch sử hội thoại riêng. Nó không biết ngữ cảnh trò chuyện hiện tại của bạn và chỉ nhận được lời nhắc bạn cung cấp.
- Cấu hình tương tự — kế thừa mô hình, nhà cung cấp, bộ công cụ, cài đặt lý luận và định tuyến của nhà cung cấp từ thiết lập cổng hiện tại.
- Không chặn — cuộc trò chuyện chính của bạn vẫn hoàn toàn tương tác. Gửi tin nhắn, chạy các lệnh khác hoặc bắt đầu nhiều tác vụ nền hơn trong khi nó hoạt động.
- Gửi kết quả — khi tác vụ kết thúc, kết quả sẽ được gửi trở lại cùng một cuộc trò chuyện hoặc kênh nơi bạn đã đưa ra lệnh, có tiền tố là " ✅ Hoàn thành tác vụ trong nền". Nếu không thành công, bạn sẽ thấy thông báo "❌ Background task failed" kèm theo lỗi.
Thông báo quá trình nền
Khi tổng đài viên chạy phiên nền sử dụng terminal(background=true) để bắt đầu các quy trình chạy dài (máy chủ, bản dựng, v.v.), cổng có thể đẩy các cập nhật trạng thái vào cuộc trò chuyện của bạn. Kiểm soát điều này bằng display.background_process_notifications trong ~/.hermes/config.yaml :
display:
background_process_notifications: all
# all
| result | error | off
| Chế độ | Những gì bạn nhận được |
|---|---|
all | Cập nhật đầu ra đang chạy và thông báo hoàn thành cuối cùng (mặc định) |
result | Chỉ thông báo hoàn thành cuối cùng (bất kể mã thoát) |
error | Chỉ có thông báo cuối cùng khi mã thoát khác 0 |
off | Không có thông báo theo dõi quá trình nào cả |
Bạn cũng có thể thiết lập điều này thông qua biến môi trường:
HERMES_BACKGROUND_NOTIFICATIONS=result
Trường hợp sử dụng
- Giám sát máy chủ — "/background Kiểm tra tình trạng của tất cả các dịch vụ và thông báo cho tôi nếu có sự cố"
- Bản dựng dài — "/background Xây dựng và triển khai môi trường chạy thử" trong khi bạn tiếp tục trò chuyện
- Nhiệm vụ nghiên cứu — "/background Nghiên cứu giá của đối thủ cạnh tranh và tóm tắt trong bảng"
- Thao tác tệp — "/background Sắp xếp ảnh trong ~/Tải xuống theo ngày vào các thư mục"
Các tác vụ nền trên nền tảng nhắn tin có thể thực hiện nhanh chóng — bạn không cần phải đợi hoặc kiểm tra chúng. Kết quả sẽ tự động đến trong cùng một cuộc trò chuyện khi nhiệm vụ kết thúc.
Quản lý dịch vụ
Linux (hệ thống)
hermes gateway install
# Install as user service
hermes gateway start
# Start the service
hermes gateway stop
# Stop the service
hermes gateway status
# Check status
journalctl --user -u hermes-gateway -f
# View logs
# Enable lingering (keeps running after logout)
sudo loginctl enable-linger $USER
# Or install a boot-time system service that still runs as your user
sudo hermes gateway install --system
sudo hermes gateway start --system
sudo hermes gateway status --system
journalctl -u hermes-gateway -f
Sử dụng dịch vụ người dùng trên máy tính xách tay và hộp phát triển. Sử dụng dịch vụ hệ thống trên VPS hoặc máy chủ không đầu sẽ quay trở lại khi khởi động mà không cần dựa vào systemd nán lại.
Tránh cài đặt cả thiết bị cổng hệ thống và người dùng cùng một lúc trừ khi bạn thực sự có ý định đó. Hermes sẽ cảnh báo nếu phát hiện cả hai vì hành vi bắt đầu/dừng/trạng thái trở nên mơ hồ.
Nếu bạn chạy nhiều bản cài đặt Hermes trên cùng một máy (với các thư mục HERMES_HOME khác nhau), thì mỗi bản cài đặt sẽ có tên dịch vụ systemd riêng. ~/.hermes mặc định sử dụng hermes-gateway ; các cài đặt khác sử dụng hermes-gateway-<hash> . Các lệnh hermes gateway sẽ tự động nhắm mục tiêu đúng dịch vụ cho HERMES_HOME hiện tại của bạn.
macOS (launchd)
hermes gateway install
# Install as launchd agent
hermes gateway start
# Start the service
hermes gateway stop
# Stop the service
hermes gateway status
# Check status
tail -f ~/.hermes/logs/gateway.log
# View logs
Số nguyên được tạo tồn tại ở ~/Library/LaunchAgents/ai.hermes.gateway.plist . Nó bao gồm ba biến môi trường:
- PATH — shell PATH đầy đủ của bạn khi cài đặt, với venv
bin/vànode_modules/.binđược thêm vào trước. Điều này đảm bảo các công cụ do người dùng cài đặt (Node.js, ffmpeg, v.v.) có sẵn cho các quy trình con cổng như cầu WhatsApp. - VIRTUAL_ENV — trỏ đến virtualenv Python để các công cụ có thể phân giải các gói một cách chính xác.
- HERMES_HOME — xác định phạm vi cổng vào quá trình cài đặt Hermes của bạn.
các lệnh khởi chạy là tĩnh — nếu bạn cài đặt các công cụ mới (ví dụ: phiên bản Node.js mới qua nvm hoặc ffmpeg qua Homebrew) sau khi thiết lập cổng, hãy chạy lại hermes gateway install để nắm bắt PATH đã cập nhật. Cổng sẽ phát hiện số nguyên cũ và tự động tải lại.
Giống như dịch vụ systemd của Linux, mỗi thư mục HERMES_HOME có nhãn launchd riêng. ~/.hermes mặc định sử dụng ai.hermes.gateway ; các cài đặt khác sử dụng ai.hermes.gateway-<suffix> .
Bộ công cụ dành riêng cho nền tảng
Mỗi nền tảng có bộ công cụ riêng:
| Nền tảng | Bộ công cụ | Khả năng |
|---|---|---|
| CLI | hermes-cli | Toàn quyền truy cập |
| Điện tín | hermes-telegram | Công cụ đầy đủ bao gồm cả terminal |
| Bất hòa | hermes-discord | Công cụ đầy đủ bao gồm cả terminal |
hermes-whatsapp | Công cụ đầy đủ bao gồm cả terminal | |
| Chần chừ | hermes-slack | Công cụ đầy đủ bao gồm cả terminal |
| Tín hiệu | hermes-signal | Công cụ đầy đủ bao gồm cả terminal |
| SMS | hermes-sms | Công cụ đầy đủ bao gồm cả terminal |
hermes-email | Công cụ đầy đủ bao gồm cả terminal | |
| Trợ lý tại nhà | hermes-homeassistant | Đầy đủ công cụ + điều khiển thiết bị HA (ha_list_entities, ha_get_state, ha_call_service, ha_list_services) |
| Quan trọng nhất | hermes-mattermost | Công cụ đầy đủ bao gồm cả terminal |
| Ma trận | hermes-matrix | Công cụ đầy đủ bao gồm cả terminal |
| DingTalk | hermes-dingtalk | Công cụ đầy đủ bao gồm cả terminal |
| Feishu/Lark | hermes-feishu | Công cụ đầy đủ bao gồm cả terminal |
| WeCom | hermes-wecom | Công cụ đầy đủ bao gồm cả terminal |
| Máy chủ API | hermes (mặc định) | Công cụ đầy đủ bao gồm cả terminal |
| Webhooks | hermes-webhook | Công cụ đầy đủ bao gồm cả terminal |