Skip to content
话题
openclaw
OpenClaw Discord 设置指南:DM 配对、服务器频道与语音

OpenClaw Discord 设置指南:DM 配对、服务器频道与语音

更新于

使用 bot token、DM 配对、guild allowlist、@mention 规则以及可选语音频道来设置 OpenClaw 与 Discord。一个实用指南,帮助你安全地运行一个私密的 Discord 工作区。

如果你想把 OpenClaw 和 Discord 一起使用,最快且安全的路径是:创建一个 Discord bot,在运行 OpenClaw 的机器上设置 bot token,启动 gateway,批准首次 DM 配对,然后把你的私有服务器变成一个 guild 工作区。

这条设置路径之所以重要,是因为 OpenClaw 在 Discord 上不只是“另一个 bot”。每个 Discord 频道都可以变成自己的 agent 会话,拥有独立的上下文、审批和路由规则。如果你跳过配对、allowlist 和 mention 设置,那么即使 bot token 有效,整个设置通常也会显得像坏了一样。

如果你搜索的是 OpenClaw Discord docs,主要的官方来源是 OpenClaw 的 Discord 频道指南:Discord setup docs (opens in a new tab)。这篇文章是在它之上的实践层:先配置什么、哪些东西要保持私密,以及如何从一个 DM 测试走向一个可用的私有 Discord 工作区。

如果你需要先了解更大的产品框架,可以阅读 NVIDIA NemoClaw vs OpenClaw vs ZeroClaw: Differences, Pi Agent, and Nanobot in 2026。如果你的真实目标是 repo 本地的编码帮助,而不是基于 Discord 的 assistant,那么 How to Use CodexHow to Use OpenCode 会是更好的起点。

快速回答:让 OpenClaw 在 Discord 中工作的最快方式是什么?

你的情况最佳第一步原因
你只想验证 bot 是否能工作设置 token,启动 gateway,并在 Discord DM 中完成配对这是获得可用回复循环的最短路径
你想要一个带多个频道的私有 Discord 工作区在 DM 配对之后,把你的服务器加入 guild allowlist这样每个频道都能变成独立的 OpenClaw 会话
你希望 bot 在自己的服务器里不需要 @mention 也能回复为该 guild 设置 requireMention: false这样工作区会更像真正的助手空间,而不是 bot 命令频道
你想在 Discord 里使用实时语音先在文本工作正常后再配置 channels.discord.voice语音很有用,但它不是最适合的第一层调试内容

可靠的设置顺序是:

  1. 创建 Discord bot
  2. 启用所需 intents
  3. 安全地设置 bot token
  4. 启动 gateway
  5. 批准首次 DM 配对
  6. 将你的服务器加入 guild allowlist
  7. 决定回复是否需要 @mention
  8. 只有在文本聊天稳定之后再添加语音

OpenClaw 在 Discord 上到底能提供什么

OpenClaw 在 Discord 上并不是一个共享记忆的单一 bot。

根据当前的 OpenClaw 文档,Discord 支持:

  • DMs
  • guild 文本频道
  • forum 频道的 thread 工作流
  • 原生命令处理
  • 审批按钮
  • 可选的语音频道会话

这很重要,因为它真正的产品形态是一个 Discord 工作区中的 agent 会话集合,而不只是一个 DM bot。

实际使用中,这意味着:

  • Discord DMs 可以作为第一个低风险配对通道
  • 每个 guild 频道都可以保留独立上下文
  • 审批和路由会绑定到请求发生的 Discord 表面
  • 如果你想要持续对话,语音可以后续再叠加

快速开始

官方 Discord 文档建议先创建 bot、设置 token,然后启动 gateway。最小可行版本如下:

export DISCORD_BOT_TOKEN="YOUR_BOT_TOKEN"
openclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN
openclaw config set channels.discord.enabled true --strict-json
openclaw gateway

如果 OpenClaw 已经作为后台进程运行,不要再启动第二个副本,而是重启 gateway。

然后在 Discord 里给你的 bot 发 DM,并批准配对代码。

这就是从“我有一个 Discord bot token”到“OpenClaw 确实可以在 Discord 中访问”的最短路径。

第 1 步:正确创建 Discord bot

在官方 Discord setup docs (opens in a new tab) 中,OpenClaw 推荐标准的 Discord bot 流程:

  1. 前往 Discord Developer Portal
  2. 创建一个新 application
  3. 添加一个 bot
  4. 复制 bot token

对于 OAuth URL,基础 scopes 是:

  • bot
  • applications.commands

常见的基础 permissions 是:

  • View Channels
  • Send Messages
  • Read Message History
  • Embed Links
  • Attach Files

除非你真的需要,否则不要使用 Administrator。一个权限最小化的私有服务器是更好的默认选择。

第 2 步:在调试其他任何东西之前,先启用正确的 intents

这是最容易浪费时间的地方之一。

OpenClaw Discord 文档列出的 intents 有:

  • Message Content Intent:必需
  • Server Members Intent:推荐,并且对于 role allowlist 和名称匹配是必需的
  • Presence Intent:可选

如果 bot 已经加入服务器但行为异常,缺少 intents 往往是首先要检查的事项之一。

第 3 步:把 token 留在聊天之外

你的 Discord bot token 是秘密信息。不要把它粘贴到和 agent 的聊天中。

请在运行 OpenClaw 的机器上使用环境变量或基于 SecretRef 的配置路径。文档明确建议先在本地设置 token,然后把配置指向那个本地 secret。

安全的基础做法如下:

export DISCORD_BOT_TOKEN="YOUR_BOT_TOKEN"
openclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN
openclaw config set channels.discord.enabled true --strict-json

然后启动 gateway:

openclaw gateway

如果在这之后文本聊天仍然无法工作,在动 guild 策略之前,先停止并排查 token、intents 和 gateway。

第 4 步:先在 Discord DM 中配对

OpenClaw 当前的 Discord 文档把 DMs 视为最简单的第一个检查点。

实际流程是:

  1. 确保 gateway 正在运行
  2. 在 Discord 中向 bot 发送 DM
  3. 等待 pairing code
  4. 从已有的 OpenClaw 频道或通过 CLI 批准这个 code

为什么先从 DM 配对开始:

  • 这是验证 bot token 和路由的最短闭环
  • 它把首次测试中的 guild 级策略移除
  • 它能让你在把整个服务器变成工作区之前,先确认 bot 是活着的

如果你的第一条 DM 一直没有回应,就先不要往下做。问题通常是以下之一:

  • token 错了
  • gateway 没有运行
  • DMs 被阻止
  • intents 不完整

第 5 步:把私有 Discord 服务器变成 guild 工作区

一旦 DM 配对成功,下一步最有价值的操作不是“到处添加更多频道”,而是“把一个私有 Discord 服务器正确地搭起来”。

官方文档推荐使用 guild 工作区,因为每个频道都会得到自己独立的 OpenClaw 会话。这正是 Discord 在这里有吸引力的原因。你可以创建诸如以下频道:

  • #coding
  • #research
  • #home
  • #ops

并且每个频道都可以保存不同上下文。

第一个配置动作是把你的服务器加入 guild allowlist:

{
  channels: {
    discord: {
      groupPolicy: "allowlist",
      guilds: {
        YOUR_SERVER_ID: {
          requireMention: true,
          users: ["YOUR_USER_ID"],
        },
      },
    },
  },
}

这是更安全的默认设置,因为它限制了 bot 会在哪些地方响应,以及谁可以使用它。

第 6 步:决定你的服务器是否应该要求 @mention

默认情况下,OpenClaw 在 Discord 上比“方便”更偏向“安全”。

对于共享服务器来说,这通常是正确的。但在一个只有你和 bot 的私有服务器里,要求每条消息都必须 @mention 会让工作区显得很笨重。

文档显示,你可以为特定 guild 关闭只在 mention 时响应的行为:

{
  channels: {
    discord: {
      guilds: {
        YOUR_SERVER_ID: {
          requireMention: false,
        },
      },
    },
  },
}

只应在受信任的服务器中这样做。如果是共享服务器,保持 mention 要求开启。

第 7 步:在期待“共享上下文”之前,先理解记忆模型

这是 Discord 文档中最重要的概念细节之一。

OpenClaw 并不会把每个 Discord 对话都当成一个巨大的共享记忆池。

文档指出:

  • DMs 可以并入主 agent 会话
  • guild 频道是隔离的会话
  • 长期记忆不会自动以相同方式加载到每个 guild 频道

这意味着你不应该期待 #research#home 会自动像同一个 assistant 线程那样工作。这种隔离是有用的,但前提是你知道它存在。

如果你需要在任何地方都保持稳定的共享指令,请把它们放在全局 agent instruction 层,而不是假设频道记忆会自动传递。

只有在文本聊天工作后再添加语音

OpenClaw 也支持 Discord 语音频道,但这应该放在文本稳定之后。

文档说明语音需要:

  • 启用 native commands
  • 配置 channels.discord.voice
  • 在目标语音频道中拥有 Connect 和 Speak 权限

一个最小的自动加入配置如下:

{
  channels: {
    discord: {
      voice: {
        enabled: true,
        autoJoin: [
          {
            guildId: "123456789012345678",
            channelId: "234567890123456789",
          },
        ],
      },
    },
  },
}

这很强大,但它不是你的第一个里程碑。先确认:

  • DM 配对能工作
  • guild 文本路由能工作
  • allowlist 的行为符合预期

然后再添加语音。

常见陷阱

把 bot token 发到聊天里

不要这样做。在运行 OpenClaw 的机器上本地设置 token,然后让 OpenClaw 配置指向那个本地 secret。

在 DM 配对之前先尝试 guild 频道

如果你跳过 DM 检查点,就会把 token、intents、gateway、guild policy 和 mention 一起调试,问题会变得很乱。

在私有服务器里保留 requireMention,然后以为 bot 坏了

在私有服务器中,bot 可能是正常的,但仍然会在被 mention 之前忽略消息。这是策略,不是故障。

期待每个 Discord 频道都有一个共享记忆

Guild 频道本来就是要彼此隔离的。这通常很有用,但会让那些以为自己在用全局聊天历史的人感到意外。

在文本聊天可用之前就开启语音

语音会增加另一层调试难度。先从文本开始。

故障排查清单

如果 OpenClaw 在 Discord 中没有响应,请按顺序检查以下内容:

  1. gateway 是否正在运行
  2. bot token 是否有效并且已在本地设置
  3. Message Content Intent 是否已启用
  4. DMs 是否允许用于配对
  5. 如果你在测试 guild 频道,服务器是否已加入 guild allowlist
  6. requireMention 的配置是否符合预期
  7. 发送者是否被用户或 guild 策略阻止

OpenClaw 文档也提供了一些有用的诊断命令:

openclaw doctor
openclaw channels status --probe
openclaw logs --follow

什么时候不该从这个 Discord 设置开始

如果你的真实目标是以下任一项,就不要从这里开始:

  • repo 本地编码助手
  • 面向嵌入式部署的 zero-UI runtime
  • 对 OpenClaw 替代方案的通用比较

在这些情况下,更适合阅读以下内容:

FAQ

我在 OpenClaw Discord 设置中最先应该测试什么?

先测试 Discord DM 配对。它是确认 token、gateway 和基础路由是否正常的最短方式。

我需要在每个 Discord 频道里都使用 @mention 吗?

不一定。在私有服务器中,很多用户会希望把 requireMention 设为 false。在共享服务器中,保留 mention 要求是更安全的默认设置。

为什么我的 OpenClaw Discord bot 显示在线,但没有回复?

最常见的原因是 token 错误、缺少 Message Content Intent、gateway 已停止、DM 被阻止,或者 guild 策略阻止了在没有 allowlist 或 mention 匹配时的回复。

我应该先启用 Discord 语音吗?

不应该。先让 DM 配对和 guild 文本频道工作起来,然后再添加语音。

这会比一个通用的 “How to use OpenClaw” 指南更好吗?

对于实际搜索意图来说,是的。Discord 设置有一个更明确的任务:帮助读者让一个真实集成先跑起来,而不是试图在一页里总结整个 OpenClaw 产品。

相关文章

📚