🤖HermesBlog
Hermes 消息平台接入 · 第3篇2026/8/9· Easy Understand Hermes Agent

Discord 接入——社区服务器里的 AI 助手

Hermes 消息平台接入第3篇:Discord。把 Hermes 加进你的 Discord 服务器。

messaging-discord

Discord 接入——社群伺服器裡的 AI 助手

把 Hermes Agent 接進 Discord,其實就是在你的伺服器裡養了一個 AI 小助手。它能在私聊裡陪你聊,也能在頻道裡被 @ 出來幹活,甚至還能聽語音訊息、收檔案、用斜線指令。今天咱們就把它領回家。

它在你的伺服器裡會怎麼表現?

先搞清楚脾氣,免得它不理你:

  • 私聊(DM):你說一句它回一句,不用 @ 它。每個私聊都是獨立會話,互不串味。
  • 一般頻道:預設只有你 @它 它才回話。不 @ 它,它就裝隱身。
  • 自由回覆頻道:如果你想讓某個頻道變成「隨便聊」模式,把它加進 DISCORD_FREE_RESPONSE_CHANNELS 設定裡,或者直接設 DISCORD_REQUIRE_MENTION=false 全域取消 @ 限制。這種頻道裡它會直接回覆,不搞執行緒,保持輕快。
  • 貼文(Thread):它會在貼文裡回覆,會話歷史跟主頻道分開。
  • 多人共用頻道:預設情況下,每個人在同一個頻道裡都有獨立的會話記錄。Alice 和 Bob 都在 #research 頻道裡聊,Hermes 會當成兩撥人在聊,互不干擾。
  • 訊息裡 @ 了別人但沒 @ 它:預設它不會插嘴(DISCORD_IGNORE_NO_MENTION=true)。想讓它啥都接話,改成 false 就行。

小撇步:想搞一個「機器人幫助頻道」,讓大家不用每次就 @ 就能問問題?把這個頻道加進 DISCORD_FREE_RESPONSE_CHANNELS 就搞定了。

會話模型:一人一個「小本本」

預設設定下,每個私聊、每個貼文、每個使用者在共用頻道裡都各自記一筆帳。這個行為由 config.yaml 控制:

group_sessions_per_user: true

如果你想讓整個房間共用一個會話(比如協作討論室),改成:

group_sessions_per_user: false

但要注意:共用會話意味著大家的上下文和 token 消耗是一起算的。一個人跑了個重任務,其他人的上下文也變臃腫;一個人正在跑的任務,可能會打斷另一個人的追問。

並發與打斷

預設模式下,Alice 打斷自己的任務只影響她自己,Bob 在同一個頻道裡繼續聊完全不受影響。但如果關了分組會話,整個房間共用一個運行槽,不同人的訊息就會互相排隊或打斷。

閘道健康檢查

Discord 的 REST 介面和 Gateway WebSocket 是兩條路。REST 回傳 200 不代表 WebSocket 還活著。所以 Hermes 會綜合檢查連線狀態、心跳 ACK 年齡、延遲等指標,連續不健康就自動重建連線。相關設定:

discord:
  websocket_liveness_interval_seconds: 15
  websocket_liveness_failure_threshold: 2
  websocket_heartbeat_ack_max_age_seconds: 60
  websocket_max_latency_seconds: 30

第一步:建立 Discord 應用程式

  1. 打開 Discord Developer Portal,登入你的 Discord 帳號。
  2. 點右上角 New Application
  3. 起個名字(比如 “Hermes Agent”),同意條款,點 Create
  4. 記下 Application ID,後面拼邀請連結要用。

第二步:建立機器人

  1. 左側選單點 Bot
  2. Discord 會自動幫你建好 bot 使用者,可以改名字。
  3. Authorization Flow 裡,把 Public Bot 設為 ON——這樣才能用 Discord 官方的邀請連結把機器人拉進伺服器。

接下來就是拿邀請連結、配權限、填 token,然後就能在伺服器裡跟你的 AI 助手聊天啦!


📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/messaging/discord