Skip to main content

Discord

This guide will walk you through setting up Hermes Agent as a Discord bot, enabling it to interact with your Discord server using natural language.

Prerequisites:

  • A Discord account and server (preferably with admin permissions)
  • A Discord Application created
  • A bot token from the Discord Developer Portal
  • Node.js (v18 or higher) installed
  • Access to the hermes-agent repository or package

Step 1: Create a Discord Application

  1. Go to Discord Developer Portal
  2. Click New Application
  3. Enter a name (e.g., Hermes-Agent-Bot)
  4. Click Create

Step 2: Create a Bot User

  1. In your new application dashboard, go to Bot in the left sidebar
  2. Click Add Bot
  3. Confirm the creation
  4. Copy the Token (you'll need this later)

🔐 Security Note: Never share your bot token publicly. Store it securely.


Step 3: Enable Required Permissions

In the Bot settings:

  • Under Privileged Gateway Intents, enable:
    • Server Members Intent
    • Message Content Intent (required for reading message content)
  • Under Scopes, ensure the bot has the following permissions:
    • Send Messages
    • Read Message History
    • View Channels

⚠️ The Message Content Intent is required for Hermes Agent to read and respond to messages.


Step 4: Invite the Bot to Your Server

  1. Go to OAuth2 > URL Generator
  2. Select bot under Scopes
  3. Under Bot Permissions, select:
    • Send Messages
    • Read Message History
    • View Channels
  4. Generate the URL and open it in your browser
  5. Choose your server and authorize the bot

Step 5: Install Hermes Agent

npm install hermes-agent

Option B: Clone from GitHub

git clone https://github.com/your-repo/hermes-agent.git
cd hermes-agent
npm install

Step 6: Configure Environment Variables

Create a .env file in your project root:

DISCORD_TOKEN=your-bot-token-here
OPENAI_API_KEY=your-openai-api-key
MODEL_NAME=gpt-4o # or gpt-4-turbo, etc.
MAX_CONTEXT_LENGTH=8192
LOG_LEVEL=info

📌 Replace your-bot-token-here and your-openai-api-key with actual values.


Step 7: Run the Bot

Start the bot with:

node index.js

Or if using a script:

npm start

You should see output like:

[INFO] Hermes Agent connected to Discord as "Hermes-Agent-Bot"
[INFO] Ready! Use @Hermes-Agent-Bot in any channel to start chatting.

Step 8: Test the Bot

  1. In your Discord server, type:
    @Hermes-Agent-Bot Hello, how can you help me today?
  2. The bot should respond with a helpful, context-aware reply.

Optional: Customize Behavior

Edit config.json or use environment variables to customize:

  • RESPONSE_PREFIX: Add a prefix to all bot responses
  • ENABLE_MEMORY: Enable persistent conversation memory
  • MAX_HISTORY_MESSAGES: Limit how many past messages are remembered
  • DEFAULT_CHANNEL: Set a default channel for bot activity

Example:

{
"responsePrefix": "🤖 Hermes says:",
"enableMemory": true,
"maxHistoryMessages": 10
}

Troubleshooting

IssueSolution
Bot not respondingCheck Message Content Intent is enabled
Missing permissionsRe-invite bot with correct scopes
API errorsVerify OPENAI_API_KEY is valid
Not joining serverEnsure invite URL was used correctly

Next Steps


🛠️ Pro Tip: Use @Hermes-Agent-Bot help to see available commands and features.

For more details, visit: https://agentskills.io or check out the official docs at https://docs.hermes-agent.io


✅ You're now running Hermes Agent as a Discord bot! Let it handle queries, automate tasks, and assist your community."

Discord 设置

Hermes Agent 作为 Discord 机器人集成,让你可以通过私信或服务器频道与你的 AI 助手聊天。该机器人接收你的消息,通过 Hermes Agent 处理管道(包括工具使用、记忆和推理)进行处理,并实时回复。它支持文本、语音消息、文件附件以及斜杠命令。

在开始设置之前,这里是你最关心的部分:Hermes 进入你的服务器后会如何表现。

Hermes 的行为模式

上下文行为
私信 (DMs)Hermes 对每条消息都会响应。无需 @mention。每个私信对话都有独立的会话。
服务器频道默认情况下,Hermes 只有在你 @mention 它时才会回应。如果你在频道中发帖但未提及它,Hermes 会忽略该消息。
自由响应频道你可以将特定频道设为无需提及(DISCORD_FREE_RESPONSE_CHANNELS),或全局禁用提及(DISCORD_REQUIRE_MENTION=false)。
线程 (Threads)Hermes 在同一线程中回复。除非该线程或其父频道被配置为自由响应,否则仍遵循提及规则。线程会与其父频道隔离,保持独立的会话历史。
多人共享的频道默认情况下,Hermes 会在频道内为每位用户单独维护会话历史,以确保安全性和清晰度。两个人在同一频道交谈不会共享同一段对话记录,除非你明确关闭此功能。
提及其他用户的消息DISCORD_IGNORE_NO_MENTION 设置为 true(默认值)时,如果消息 @ 提及了其他人但未提及机器人,Hermes 将保持沉默。这可防止机器人介入针对其他人的对话。若希望机器人对所有消息作出响应(无论是否提及),请将其设为 false。此设置仅适用于服务器频道,不适用于私信。
tip

如果你想创建一个普通帮助频道,让成员无需每次@机器人即可与 Hermes 交流,只需将该频道添加到 DISCORD_FREE_RESPONSE_CHANNELS 即可。

Discord 网关模型

Hermes 在 Discord 上并非无状态的 webhook 回复机制。它通过完整的消息网关运行,这意味着每条进入的消息都会经过以下流程:

  1. 授权验证 (DISCORD_ALLOWED_USERS)
  2. 提及 / 自由响应检查
  3. 会话查找
  4. 会话历史加载
  5. 正常的 Hermes 代理执行(包括工具调用、记忆、斜杠命令等)
  6. 响应返回至 Discord

这一点非常重要,因为繁忙服务器中的行为取决于 Discord 的路由策略和 Hermes 的会话策略。

Discord 中的会话模型

默认情况下:

  • 每个私信拥有独立会话
  • 每个服务器线程拥有独立的会话命名空间
  • 每个在共享频道中的用户拥有该频道内的独立会话

因此,如果 Alice 和 Bob 都在 #research 与 Hermes 交流,即使他们使用的是同一个可见的 Discord 频道,Hermes 默认也会将其视为两个独立的对话。

这一行为由 config.yaml 控制:

group_sessions_per_user: true

仅当你明确希望整个房间共享一个统一对话时,才将其设为 false

group_sessions_per_user: false

共享会话对于协作型房间很有用,但也意味着:

  • 用户共享上下文增长和 token 成本
  • 一个人长时间的工具任务可能导致他人上下文膨胀
  • 一个人正在进行的任务可能中断另一个人的后续提问

中断与并发

Hermes 通过会话键追踪正在运行的代理。

在默认 group_sessions_per_user: true 设置下:

  • Alice 中断自己的正在进行的请求,只影响她自己在该频道的会话
  • Bob 可以继续在同一个频道中发言,不会继承 Alice 的历史记录,也不会干扰 Alice 的运行

group_sessions_per_user: false 设置下:

  • 整个房间共享一个运行中的代理槽位(针对该频道/线程)
  • 不同人发出的后续消息可能会相互中断或排队等待

本指南将带你完成完整设置流程——从在 Discord 开发者门户创建机器人,到发送第一条消息。

第一步:创建 Discord 应用

  1. 访问 Discord 开发者门户,使用你的 Discord 账号登录。
  2. 点击右上角的 新建应用 (New Application)
  3. 输入应用名称(例如:“Hermes Agent”),并接受开发者服务条款。
  4. 点击 创建 (Create)

你将进入 通用信息 (General Information) 页面。请记下 应用 ID —— 后续生成邀请链接时需要用到。

第二步:创建机器人

  1. 在左侧边栏点击 机器人 (Bot)
  2. Discord 会自动为你创建一个机器人用户。你会看到机器人的用户名,可以自行修改。
  3. 授权流程 (Authorization Flow) 区域:
    • 公开机器人 (Public Bot) 设为 开启 (ON) —— 使用 Discord 提供的邀请链接所必需(推荐)。这允许“安装 (Installation)”标签页生成默认授权 URL。
    • 保持 需要 OAuth2 代码授权 (Require OAuth2 Code Grant)关闭 (OFF)
tip

你可以在本页面为机器人设置自定义头像和横幅。这是用户在 Discord 中看到的内容。

私有机器人替代方案

如果你希望保持机器人私密(即关闭 Public Bot),则必须在第 5 步使用 手动 URL 方法,而非“安装”标签页。Discord 提供的链接要求 Public Bot 必须启用。

第三步:启用高权限网关意图(Gateway Intents)

这是整个设置过程中最关键的一步。如果没有正确启用意图,你的机器人虽然能连接到 Discord,但无法读取消息内容

机器人 (Bot) 页面,向下滚动至 高权限网关意图 (Privileged Gateway Intents)。你会看到三个开关:

意图用途是否必需?
状态意图 (Presence Intent)查看用户在线/离线状态可选
服务器成员意图 (Server Members Intent)访问成员列表,解析用户名必需
消息内容意图 (Message Content Intent)读取消息的文本内容必需

请将“服务器成员意图”和“消息内容意图”都开启(设为 ON)

  • 若缺少 消息内容意图,机器人虽能收到消息事件,但消息文本为空——机器人根本看不到你说什么。
  • 若缺少 服务器成员意图,机器人无法解析允许用户列表中的用户名,可能无法识别是谁在与它通信。
这是 Discord 机器人无法工作的首要原因

如果发现机器人在线但从未响应消息,几乎可以肯定是 消息内容意图 被禁用了。请返回 开发者门户,选择你的应用 → 机器人 → 高权限网关意图,确保 消息内容意图 已开启。点击 保存更改 (Save Changes)

关于服务器数量说明:

  • 如果你的机器人在 少于 100 个服务器 中,可以自由切换意图。
  • 如果你的机器人在 100 个及以上服务器 中,Discord 要求提交验证申请才能使用高权限意图。对于个人使用,这通常不是问题。

点击页面底部的 保存更改 (Save Changes)

第四步:获取机器人令牌(Token)

机器人令牌是 Hermes Agent 用来以你的机器人身份登录的凭证。仍在 机器人 (Bot) 页面:

  1. 令牌 (Token) 区域,点击 重置令牌 (Reset Token)
  2. 如果你的 Discord 账号启用了双重验证,请输入你的 2FA 验证码。
  3. Discord 将显示你的新令牌。请立即复制
令牌仅显示一次

令牌仅显示一次。一旦丢失,必须重置并生成新令牌。切勿公开分享令牌,也切勿将其提交到 Git。任何人持有此令牌均可完全控制你的机器人。 ::

将令牌妥善保存(例如使用密码管理器)。你将在第 8 步用到它。

第五步:生成邀请链接

你需要一个 OAuth2 链接来邀请机器人加入你的服务器。有两种方法可选:

选项 A:使用“安装”标签页(推荐):::note[需要公开机器人]

此方法要求在第2步中将 公开机器人 设置为 开启。如果将公开机器人设为关闭,请改用下方的手动链接方法。

  1. 在左侧边栏中,点击 安装
  2. 安装上下文 下,启用 服务器安装
  3. 对于 安装链接,选择 Discord 提供的链接
  4. 服务器安装的默认设置 下:
    • 作用域(Scopes):选择 botapplications.commands
    • 权限(Permissions):选择以下列出的权限。

选项 B:手动链接

您可以直接使用以下格式构造邀请链接:

https://discord.com/oauth2/authorize?client_id=YOUR_APP_ID&scope=bot+applications.commands&permissions=274878286912

YOUR_APP_ID 替换为您在第1步中获取的应用程序 ID。

所需权限

这是您的机器人所需的最低权限:

  • 查看频道 — 查看其有访问权限的频道
  • 发送消息 — 回复您的消息
  • 嵌入链接 — 格式化富文本回复
  • 附加文件 — 发送图片、音频和文件输出
  • 阅读消息历史 — 维持对话上下文

推荐额外权限

  • 在线程中发送消息 — 回复线程内的对话
  • 添加反应 — 通过表情符号对消息进行确认

权限整数

等级权限整数包含内容
最小117760查看频道、发送消息、阅读消息历史、附加文件
推荐274878286912上述全部权限,外加嵌入链接、在线程中发送消息、添加反应

第6步:将机器人邀请至您的服务器

  1. 在浏览器中打开邀请链接(来自安装标签页或您自行构建的手动链接)。
  2. 添加到服务器 下拉菜单中,选择您的服务器。
  3. 点击 继续,然后点击 授权
  4. 如果提示,请完成验证码验证。
info

您需要在 Discord 服务器上拥有 管理服务器 权限才能邀请机器人。如果您在下拉菜单中看不到自己的服务器,请让服务器管理员使用该邀请链接。

授权完成后,机器人将出现在您的服务器成员列表中(它会显示为离线状态,直到您启动 Hermes 网关)。

第7步:查找您的 Discord 用户 ID

Hermes Agent 使用您的 Discord 用户 ID 来控制谁可以与机器人互动。如何查找:

  1. 打开 Discord(桌面版或网页版)。
  2. 进入 设置高级 → 将 开发者模式 切换为 开启
  3. 关闭设置。
  4. 右键点击您自己的用户名(在消息中、成员列表中或个人资料中)→ 复制用户 ID

您的用户 ID 是一个很长的数字,例如 284102345871466496

tip

开发者模式还允许您以相同方式复制 频道 ID服务器 ID —— 右键点击频道或服务器名称并选择“复制 ID”。如果您希望手动设置主频道,则需要频道 ID。

第8步:配置 Hermes Agent

选项 A:交互式设置(推荐)

运行引导式设置命令:

hermes gateway setup

当提示时选择 Discord,然后粘贴您的机器人令牌和用户 ID。

选项 B:手动配置

将以下内容添加到您的 ~/.hermes/.env 文件中:

# Required
DISCORD_BOT_TOKEN=your-bot-token
DISCORD_ALLOWED_USERS=284102345871466496

# Multiple allowed users (comma-separated)
# DISCORD_ALLOWED_USERS=284102345871466496,198765432109876543

然后启动网关:

hermes gateway

机器人应在几秒内于 Discord 中上线。向其发送一条消息——无论是私信还是它能看见的频道中的消息——以进行测试。

tip

您可以将 hermes gateway 在后台运行,或作为 systemd 服务运行,以实现持久化操作。详情请参阅部署文档。

配置参考

Discord 的行为由两个文件控制:~/.hermes/.env 用于凭据和环境级别开关,以及 ~/.hermes/config.yaml 用于结构化设置。当两者都设置时,环境变量优先于 config.yaml 中的值。

环境变量 (.env)

变量是否必需默认值说明
DISCORD_BOT_TOKENDiscord 开发者门户 获取的机器人令牌。
DISCORD_ALLOWED_USERS允许与机器人互动的 Discord 用户 ID 列表,用逗号分隔。若未设置,网关将拒绝所有用户。
DISCORD_HOME_CHANNEL机器人发送主动消息(如定时任务输出、提醒、通知)的频道 ID。
DISCORD_HOME_CHANNEL_NAME"Home"日志和状态输出中主频道的显示名称。
DISCORD_REQUIRE_MENTIONtruetrue 时,机器人仅在被 @mentioned 时才响应服务器频道中的消息。设为 false 可使机器人在每个频道中响应所有消息。
DISCORD_FREE_RESPONSE_CHANNELS用逗号分隔的频道 ID 列表,机器人在此类频道中无需 @mention 即可响应,即使 DISCORD_REQUIRE_MENTIONtrue 也适用。
DISCORD_IGNORE_NO_MENTIONtruetrue 时,若消息未提及机器人但涉及其他用户,机器人将保持沉默。防止机器人介入针对他人的对话。仅适用于服务器频道,不适用于私信。
DISCORD_AUTO_THREADtruetrue 时,每当在普通文本频道中收到 @mention,机器人会自动创建一个新线程,使每次对话独立(类似 Slack 的行为)。已存在于线程或私信中的消息不受此设置影响。
DISCORD_ALLOW_BOTS"none"控制机器人如何处理来自其他 Discord 机器人的消息。"none" — 忽略所有其他机器人。"mentions" — 仅接受明确提及 Hermes 的机器人消息。"all" — 接受所有机器人消息。
DISCORD_REACTIONStruetrue 时,机器人在处理消息期间会添加表情反应(👀 表示开始,✅ 成功,❌ 错误)。设为 false 可完全禁用反应。
DISCORD_IGNORED_CHANNELS用逗号分隔的频道 ID 列表,机器人在此类频道中 永远不回应,即使 @mentioned 也适用。优先级高于所有其他频道设置。
DISCORD_NO_THREAD_CHANNELS用逗号分隔的频道 ID 列表,机器人在此类频道中直接回复,而非创建线程。仅在 DISCORD_AUTO_THREADtrue 时相关。
DISCORD_REPLY_TO_MODE"first"控制回复引用行为:"off" — 永不回复原消息;"first" — 仅在第一个消息块时回复引用(默认);"all" — 在每个消息块中都进行回复引用。

配置文件 (config.yaml)

discord 部分在 ~/.hermes/config.yaml 中镜像上述环境变量。config.yaml 中的设置作为默认值应用——如果已设置同名环境变量,则环境变量优先。

# Discord-specific settings
discord:
require_mention: true # Require @mention in server channels
free_response_channels: "" # Comma-separated channel IDs (or YAML list)
auto_thread: true # Auto-create threads on @mention
reactions: true # Add emoji reactions during processing
ignored_channels: [] # Channel IDs where bot never responds
no_thread_channels: [] # Channel IDs where bot responds without threading

# Session isolation (applies to all gateway platforms, not just Discord)
group_sessions_per_user: true # Isolate sessions per user in shared channels

discord.require_mention

类型: 布尔值 — 默认值: true

启用后,机器人仅在被直接 @mentioned 时才会在服务器频道中响应。私信始终会得到回复,与此设置无关。

discord.free_response_channels

类型: 字符串或列表 — 默认值: ""

机器人在此类频道中无需 @mention 即可响应所有消息。支持逗号分隔字符串或 YAML 列表格式:

# String format
discord:
free_response_channels: "1234567890,9876543210"

# List format
discord:
free_response_channels:
- 1234567890
- 9876543210

如果某个线程的父频道在此列表中,则该线程也会变为无需提及。

discord.auto_thread

类型: 布尔值 — 默认值: true

启用后,每当在常规文本频道中收到 @mention,机器人会自动创建一个新线程来展开对话。这能保持主频道整洁,并为每次对话提供独立的会话历史记录。一旦线程创建,后续发往该线程的消息不再需要 @mention — 机器人已知其正在参与。

已在现有线程或私信中发送的消息不受此设置影响。

discord.reactions

类型: 布尔值 — 默认值: true

控制机器人是否在处理消息时添加表情反应作为视觉反馈:

  • 👀 在机器人开始处理您的消息时添加
  • ✅ 在成功交付响应时添加
  • ❌ 在处理过程中发生错误时添加如果发现反应功能令人分心,或机器人的角色没有 添加反应 权限,请禁用此功能。

discord.ignored_channels

类型: 字符串或列表 — 默认值: []

指定机器人从不响应的频道 ID 列表,即使消息直接 @ 了机器人也如此。该设置具有最高优先级——只要某个频道在此列表中,机器人将静默忽略该频道内的所有消息,无论其他任何设置(如 require_mentionfree_response_channels 等)如何配置。

# String format
discord:
ignored_channels: "1234567890,9876543210"

# List format
discord:
ignored_channels:
- 1234567890
- 9876543210

若一个线程的父频道在此列表中,则该线程中的消息也会被忽略。

discord.no_thread_channels

类型: 字符串或列表 — 默认值: []

指定机器人在这些频道中直接回复到原频道,而不是自动创建新线程。此设置仅在 auto_threadtrue(默认值)时生效。在这些频道中,机器人会像普通消息一样直接回复,而非生成新线程。

discord:
no_thread_channels:
- 1234567890 # Bot responds inline here

适用于专门用于与机器人交互的频道,避免线程带来不必要的干扰。

group_sessions_per_user

类型: 布尔值 — 默认值: true

这是一个全局网关设置(非 Discord 特有),控制同一频道内的用户是否拥有独立的会话历史。

true 时:Alice 和 Bob 在 #research 中与 Hermes 的对话各自独立,互不干扰。
false 时:整个频道共享一份对话记录和一个运行中的代理槽位。

group_sessions_per_user: true

有关每种模式的完整影响,请参阅上方的 会话模型 部分。

display.tool_progress

类型: 字符串 — 默认值: "all"可选值: off, new, all, verbose

控制机器人在处理过程中是否向聊天中发送进度提示(例如:“正在读取文件...”、“正在执行终端命令...”)。这是一个全局网关设置,适用于所有平台。

display:
tool_progress: "all" # off | new | all | verbose
  • off — 不显示任何进度消息
  • new — 每轮仅显示第一个工具调用
  • all — 显示所有工具调用(网关消息中截断为 40 个字符)
  • verbose — 显示完整的工具调用详情(可能产生较长的消息)

display.tool_progress_command

类型: 布尔值 — 默认值: false

启用后,将在网关中提供 /verbose 斜杠命令,允许您无需编辑 config.yaml 即可切换工具进度模式(off → new → all → verbose → off)。

display:
tool_progress_command: true

交互式模型选择器

在 Discord 频道中发送 /model 且不带参数,即可打开基于下拉菜单的模型选择器:

  1. 服务商选择 — 显示可用服务商的下拉菜单(最多 25 个)。
  2. 模型选择 — 第二个下拉菜单,列出所选服务商下的模型(最多 25 个)。

选择器在 120 秒后超时。只有授权用户(位于 DISCORD_ALLOWED_USERS 中的用户)才能使用。如果您知道具体模型名称,可直接输入 /model <name>

技能的原生斜杠命令

Hermes 会自动将已安装的技能注册为 原生 Discord 应用程序命令。这意味着技能会出现在 Discord 的自动补全 / 菜单中,与内置命令并列。

  • 每个技能都会变成一个 Discord 斜杠命令(例如 /code-review/ascii-art
  • 技能支持可选的 args 字符串参数
  • Discord 对每个机器人限制最多 100 个应用命令;若您安装的技能数量超过可用槽位,多余技能将被跳过,并在日志中发出警告
  • 技能在机器人启动时与内置命令(如 /model/reset/background)一同注册

无需额外配置——通过 hermes skills install 安装的任何技能,在下次网关重启时都会自动注册为 Discord 斜杠命令。

主频道设置

您可以指定一个“主频道”,让机器人主动发送消息(如定时任务输出、提醒和通知)。有两种方式设置:

使用斜杠命令

在任意有机器人的 Discord 频道中输入 /sethome,该频道即成为主频道。

手动配置

在您的 ~/.hermes/.env 中添加以下内容:

DISCORD_HOME_CHANNEL=123456789012345678
DISCORD_HOME_CHANNEL_NAME="#bot-updates"

将 ID 替换为实际频道 ID(开启开发者模式后右键点击 → 复制频道 ID)。

语音消息支持

Hermes Agent 支持 Discord 语音消息:

  • 传入语音消息:将自动使用配置的语音转文字(STT)服务进行转录:本地 faster-whisper(无需密钥)、Groq Whisper (GROQ_API_KEY) 或 OpenAI Whisper (VOICE_TOOLS_OPENAI_KEY)。
  • 文本转语音:使用 /voice tts 可让机器人在发送文字回复的同时,附带语音音频回应。
  • Discord 语音频道:Hermes 还可以加入语音频道,聆听用户发言,并在频道中进行语音回应。

完整设置与操作指南请参见:

故障排除

机器人在线但不响应消息

原因:未启用消息内容意图(Message Content Intent)。

解决方法:前往 开发者门户 → 您的应用 → Bot → 高级网关意图 → 启用 消息内容意图 → 保存更改。重启网关。

启动时报 “Disallowed Intents” 错误

原因:您的代码请求了开发者门户中未启用的意图。

解决方法:在 Bot 设置中启用全部三项高级网关意图(状态、服务器成员、消息内容),然后重启。

机器人无法查看特定频道的消息

原因:机器人的角色缺少查看该频道的权限。

解决方法:在 Discord 中进入该频道设置 → 权限 → 为机器人的角色添加 查看频道阅读消息历史 权限。

出现 403 Forbidden 错误

原因:机器人缺少必要的权限。

解决方法:使用第 5 步提供的链接重新邀请机器人,或手动在服务器设置 → 角色中调整机器人的权限。

机器人离线

原因:Hermes 网关未运行,或令牌错误。

解决方法:检查 hermes gateway 是否正在运行。确认 DISCORD_BOT_TOKEN 在您的 .env 文件中正确无误。若最近重置过令牌,请更新。

“用户不允许” / 机器人无视你

原因:你的用户 ID 未在 DISCORD_ALLOWED_USERS 中。

解决方法:将你的用户 ID 添加至 DISCORD_ALLOWED_USERS~/.hermes/.env 中,并重启网关。

同一频道中的用户意外共享上下文

原因group_sessions_per_user 未启用,或平台无法为该上下文中的消息提供用户 ID。

解决方法:在 ~/.hermes/config.yaml 中设置如下内容,并重启网关:

group_sessions_per_user: true

若您有意实现共享房间对话,可保持关闭——但需接受共享对话历史和共享中断行为。

安全性

warning

始终设置 DISCORD_ALLOWED_USERS 以限制谁可以与机器人互动。未设置时,网关默认拒绝所有用户,作为安全措施。仅添加您信任的用户 ID——授权用户将获得对代理功能的完全访问权限,包括工具使用和系统访问。

有关保护您的 Hermes Agent 部署的更多信息,请参阅 安全指南