OpenClaw&Discord 多 Agent 多频道配置实战:从零搭建你的 AI 团队(附踩坑实录)

OpenClaw&Discord 多 Agent 多频道配置实战:从零搭建你的 AI 团队(附踩坑实录)
本文记录了我从零开始配置 OpenClaw 多 Agent 多 Discord 频道的完整过程,基于最新的 OpenClaw 2026.2.22-2 版本,包含实际配置文件和踩坑实录。

一、背景与需求

1.1 为什么要多 Agent?

当 AI Agent 的应用场景越来越丰富时,单一 Agent 很难同时胜任多种专业任务:

  • 编程任务需要代码能力和技术深度
  • 内容创作需要写作技巧和文案感觉
  • 健康管理需要健身知识和营养学背景
  • 投资分析需要金融市场理解和数据敏感性

让每个 Agent 专注一个领域,比让一个 Agent 什么都懂但什么都不精要好得多。

1.2 为什么要多 Discord 频道?

在 Discord 场景中,不同的频道有不同的氛围和用途:

频道用途对应 Agent
#🎯-指挥台主沟通入口,任务分发Cypher (主控)
#💻-编程技术讨论、代码分享Forge (开发专家)
#✍️-创作文章写作、内容策划Muse (创作专家)
#💪-健康健身打卡、饮食记录Vitality (健康专家)
#📈-投资股市分析、交易记录Sigma (投资顾问)

每个频道有独立的 Agent 响应,用户体验更清晰。

1.3 最终架构

📋 指挥中心 └── #🎯-指挥台 → Cypher(调度中枢) 🛠️ 工作区 ├── #💻-编程 → Forge(开发专家) ├── #✍️-创作 → Muse(创作专家) ├── #💪-健康 → Vitality(健康专家) └── #📈-投资 → Sigma(投资顾问) 

Cypher 作为总调度,可以在 #🎯-指挥台 接收任务,然后委托给对应的专家 Agent。

discord频道


Discord群成员

二、Discord 端准备工

二、Discord 端准备工作

2.1 创建 Discord 服务器

如果你还没有 Discord 服务器,需要先创建一个:

  1. 打开 Discord(网页版或客户端)
  2. 点击左侧栏的「+」按钮
  3. 选择「创建我自己的服务器」
  4. 选择「仅供我和我的朋友使用」
  5. 输入服务器名称(如「AI 指挥中心」)
  6. 点击「创建」

2.2 创建频道结构

在服务器中创建以下频道结构:

📋 指挥中心 └── #🎯-指挥台 (ID: xx) → Cypher 🛠️ 工作区 ├── #💻-编程 (ID: xxx) → Forge ├── #✍️-创作 (ID: xxx) → Muse ├── #💪-健康 (ID: xxx) → Vitality └── #📈-投资 (ID: xxx) → Sigma 

创建频道步骤:

  1. 右键服务器名称 → 创建频道
  2. 选择「文字频道」
  3. 输入频道名称(可包含 Emoji)
  4. 点击「创建频道」

2.3 获取 Guild ID 和 Channel ID

配置 Bot 需要服务器 ID 和频道 ID,获取方法:

开启开发者模式:

  1. 点击左下角「用户设置」(齿轮图标)
  2. 选择「高级」
  3. 开启「开发者模式」

复制服务器 ID(Guild ID):

  1. 右键服务器名称
  2. 点击「复制服务器 ID」

复制频道 ID:

  1. 右键频道名称
  2. 点击「复制频道 ID」

2.4 创建 5 个 Discord Bot

Discord Developer Portal 创建 5 个 Bot:

步骤 1:创建应用
  1. 访问 https://discord.com/developers/applications
  2. 点击「New Application」
  3. 输入应用名称(如「Cypher Bot」)

点击「Create」

Discord首页
步骤 2:获取 Bot Token
  1. 进入左侧「Bot」选项卡
  2. 点击「Reset Token」
  3. 复制 Token(只能查看一次,务必保存好
步骤 3:开启 Privileged Gateway Intents

在同一页面,开启以下二个 Intent:

  • Server Members Intent
  • Message Content Intent(必需,否则无法读取消息内容)
在这里插入图片描述
步骤 4:邀请 Bot 加入服务器
  1. 进入左侧「OAuth2」→「URL Generator」
  2. 在「Scopes」中勾选「bot」
  3. 在「Bot Permissions」中勾选:
    • Send Messages
    • Read Messages/View Channels
    • Use Slash Commands
    • Embed Links
    • Attach Files
    • Read Message History
  4. 复制生成的 URL,在浏览器中打开
  5. 选择你的服务器,点击「继续」
  6. 确认权限后点击「授权」

Add Reactions

Discord Bot 权限配置图
频道邀请确认图

重复以上步骤,创建 5 个 Bot:

Bot 名称用途Token 占位符
Cypher Bot主控 BotYOUR_CYPHER_BOT_TOKEN
Forge Bot开发专家YOUR_FORGE_BOT_TOKEN
Muse Bot创作专家YOUR_MUSE_BOT_TOKEN
Vitality Bot健康专家YOUR_VITALITY_BOT_TOKEN
Sigma Bot投资顾问YOUR_SIGMA_BOT_TOKEN

2.5 设置频道权限

为了安全起见,建议设置每个频道只允许对应的 Bot 发送消息:

设置步骤(以 #💻-编程 为例):

  1. 右键频道 → 频道设置
  2. 选择「权限」选项卡
  3. 点击「+」添加成员
  4. 选择「Forge Bot」
  5. 设置权限:
    • ✅ 查看频道
    • ✅ 发送消息
    • ✅ 读取消息历史
  6. 将 @everyone 的「发送消息」设为 ❌

重复以上操作,为每个频道设置对应 Bot 的专属权限。

三、配置多 Agent 工作区

3.1 创建 Agent 工作区

为每个 Agent 创建独立的工作区:

openclaw agents add forge --workspace ~/.openclaw/workspace-forge openclaw agents add muse --workspace ~/.openclaw/workspace-muse openclaw agents add vitality --workspace ~/.openclaw/workspace-vitality openclaw agents add sigma --workspace ~/.openclaw/workspace-sigma 

这会创建对应的目录结构:

~/.openclaw/ ├── workspace/ # Cypher (main) 主工作区 ├── workspace-forge/ # Forge 工作区 ├── workspace-muse/ # Muse 工作区 ├── workspace-vitality/ # Vitality 工作区 ├── workspace-sigma/ # Sigma 工作区 └── agents/ ├── main/ ├── forge/ ├── muse/ ├── vitality/ └── sigma/ 

3.2 配置多 Discord Bot

编辑 ~/.openclaw/openclaw.json,在 channels.discord 中配置多个账号:

{"channels":{"discord":{"enabled":true,"groupPolicy":"allowlist","streaming":"block","accounts":{"default":{"token":"YOUR_CYPHER_BOT_TOKEN","groupPolicy":"allowlist","blockStreaming":true,"streaming":"block","guilds":{"YOUR_GUILD_ID":{"slug":"YourServer","channels":{"🎯-指挥台":{"allow":true,"requireMention":false,"autoThread":true},"📋-归档":{"allow":true,"requireMention":false,"autoThread":true}}}}},"forge":{"token":"YOUR_FORGE_BOT_TOKEN","groupPolicy":"allowlist","blockStreaming":true,"streaming":"block","guilds":{"YOUR_GUILD_ID":{"channels":{"1474332097371046010":{"allow":true,"requireMention":false,"autoThread":false}}}}},"muse":{"token":"YOUR_MUSE_BOT_TOKEN","groupPolicy":"allowlist","blockStreaming":true,"streaming":"block","guilds":{"YOUR_GUILD_ID":{"channels":{"1474331895859777576":{"allow":true,"requireMention":false,"autoThread":false}}}}},"vitality":{"token":"YOUR_VITALITY_BOT_TOKEN","groupPolicy":"allowlist","blockStreaming":true,"streaming":"block","guilds":{"YOUR_GUILD_ID":{"channels":{"1474331960770953334":{"allow":true,"requireMention":false,"autoThread":false}}}}},"sigma":{"token":"YOUR_SIGMA_BOT_TOKEN","groupPolicy":"allowlist","blockStreaming":true,"streaming":"block","guilds":{"YOUR_GUILD_ID":{"channels":{"1474332013673578592":{"allow":true,"requireMention":false,"autoThread":false}}}}}}}}}

关键配置说明:

字段说明
accounts.defaultCypher 主 Bot,使用 default 账号名
accounts.forgeForge 专家 Bot
guilds服务器配置,用服务器 ID 作为 key
channels频道权限配置,可用频道名或频道 ID
allow: true允许该频道
requireMention: false不需要 @Bot 就能触发
autoThread: true自动创建线程回复
blockStreaming: true阻塞式流式输出(推荐)
⚠️ 注意:建议使用频道数字 ID 而非名称,避免权限审计受限。

3.3 配置 Agent 路由绑定

openclaw.jsonbindings 中配置路由规则:

{"bindings":[{"agentId":"main","match":{"channel":"discord","accountId":"default"}},{"agentId":"forge","match":{"channel":"discord","accountId":"forge"}},{"agentId":"muse","match":{"channel":"discord","accountId":"muse"}},{"agentId":"vitality","match":{"channel":"discord","accountId":"vitality"}},{"agentId":"sigma","match":{"channel":"discord","accountId":"sigma"}}]}

路由逻辑:

  • 当 Cypher Bot (default) 收到消息 → 路由给 main Agent
  • 当 Forge Bot 收到消息 → 路由给 forge Agent
  • 以此类推…

四、Agent 间通信配置(重要:避坑指南)

4.1 ⚠️ 踩坑实录:配置位置错误导致 Gateway 启动失败

在配置 Agent 间通信时,我犯了一个致命错误:subagents 配置放在了 openclaw.json 的根级别

错误配置(导致 Gateway 启动失败):

{"subagents":{"allowAgents":["forge","muse","vitality","sigma"]}}

正确配置位置subagents.allowAgents 必须在 agents.list[].subagents 下,每个 Agent 都需要单独配置

{"agents":{"list":[{"id":"main","subagents":{"allowAgents":["main","forge","muse","vitality","sigma"]}},{"id":"forge","name":"forge","workspace":"/root/.openclaw/workspace-forge","agentDir":"/root/.openclaw/agents/forge/agent","subagents":{"allowAgents":["main","forge","muse","vitality","sigma"]}},{"id":"muse","name":"muse","workspace":"/root/.openclaw/workspace-muse","agentDir":"/root/.openclaw/agents/muse/agent","subagents":{"allowAgents":["main","forge","muse","vitality","sigma"]}},{"id":"vitality","name":"vitality","workspace":"/root/.openclaw/workspace-vitality","agentDir":"/root/.openclaw/agents/vitality/agent","subagents":{"allowAgents":["main","forge","muse","vitality","sigma"]}},{"id":"sigma","name":"sigma","workspace":"/root/.openclaw/workspace-sigma","agentDir":"/root/.openclaw/agents/sigma/agent","subagents":{"allowAgents":["main","forge","muse","vitality","sigma"]}}]}}

踩坑总结:

  • ❌ 不要把 subagents 放在根级别
  • ✅ 必须在每个 Agent 的 agents.list[] 条目下添加
  • ✅ 每个 Agent 的 allowAgents 要包含所有需要通信的 Agent ID(包括自己)
  • 🔧 修改后必须重启 Gateway:openclaw gateway restart

4.2 启用 Agent-to-Agent 通信

openclaw.json 中添加 tools.agentToAgent 配置:

{"tools":{"agentToAgent":{"enabled":true,"allow":["main","forge","muse","vitality","sigma"]}}}
注意:这是用于 sessions_send 的跨 Agent 通信,和上面的 subagents 配置是互补的。

4.3 验证配置是否生效

使用 CLI 检查允许的 Agent 列表:

$ openclaw agents list 

输出应显示所有 5 个 Agent:

{"requester":"main","allowAny":false,"agents":[{"id":"main","configured":true},{"id":"forge","name":"forge","configured":true},{"id":"muse","name":"muse","configured":true},{"id":"sigma","name":"sigma","configured":true},{"id":"vitality","name":"vitality","configured":true}]}

如果只看到 main,说明配置未生效,请检查配置位置。

4.4 测试 Agent 间通信

在配置完成后,可以通过 Cypher 测试向其他 Agent 发送消息:

$ openclaw sessions_send \ --agent-id muse \--task"写一篇关于 AI Agent 的短文"

或使用工具调用:

{"tool":"sessions_send","params":{"sessionKey":"muse","message":"测试 Agent 通信"}}

4.5 Cypher 的调度逻辑

在 Cypher 的 SOUL.md 中定义工作流程:

## 工作流程 1. **收到 Channing 的请求后,先判断任务类型** 2. **简单闲聊和问答**:直接回复 3. **专业任务**:使用 `sessions_send` 委托给对应专家,并告知 Channing 已委托 4. **跨领域任务**:协调多个专家,汇总结果 ## 任务委托规则 - **编程/技术问题** → `sessions_send` 给 `forge` - **写作/创作需求** → `sessions_send` 给 `muse` - **健康/健身/饮食** → `sessions_send` 给 `vitality` - **投资/股票/财经** → `sessions_send` 给 `sigma` ## 绝对禁止 - ❌ 不要将任务委托给自己(`agentId: main` 或 `cypher`) - ❌ 收到专家返回结果后,直接汇总,不要再次委托 - ❌ 不要创建超过 2 层的委托链 

五、实际使用示例

5.1 场景一:直接联系专家

在 #💻-编程 频道发消息:

帮我写一个 Python 脚本,批量重命名文件 

→ Forge 响应,提供代码实现

5.2 场景二:通过 Cypher 中转

在 #🎯-指挥台 频道发消息:

@Cypher 帮我写篇文章,关于 AI Agent 架构的 

→ Cypher 收到后,使用 sessions_send 委托给 Muse
→ Muse 完成文章后返回给 Cypher
→ Cypher 汇总后回复给用户

5.3 场景三:跨领域任务

在 #🎯-指挥台 频道发消息:

帮我分析一下 AI 行业的投资机会,需要技术趋势和市场数据 

→ Cypher 同时委托给 Forge(技术趋势)和 Sigma(市场分析)
→ 收到两者结果后,Cypher 综合汇总
→ 给出完整的投资分析报告

六、常见问题

6.1 Bot 没有响应?

检查清单:

  • ✅ Bot 已加入服务器
  • ✅ Bot 有频道读取/发送权限
  • ✅ Message Content Intent 已开启
  • ✅ Token 配置正确
  • ✅ Gateway 已重启:openclaw gateway restart

6.2 消息路由错误?

检查 bindings 配置中的 accountId 是否和 channels.discord.accounts 中的 key 匹配。

6.3 Agent 间通信失败?

确保以下两处配置都正确:

  1. 每个 Agent 的 subagents.allowAgents 包含目标 Agent ID
  2. tools.agentToAgent.allow 包含所有需要通信的 Agent ID

6.4 流式输出卡顿?

建议使用 blockStreaming: truestreaming: "block" 配置,获得更稳定的输出体验。

七、配置版本信息

本文基于以下版本配置:

  • OpenClaw 版本:2026.2.22-2
  • Node.js:v22.22.0
  • 模型:Kimi Code (kimi-for-coding)
  • 更新日期:2026-02-28

八、总结

通过 OpenClaw 的多 Agent 多频道配置,我们可以:

  • 专业化分工 - 每个 Agent 专注一个领域
  • 清晰的交互边界 - 不同频道对应不同 Agent
  • 灵活的调度机制 - Cypher 作为总控,可单可群
  • 可扩展的架构 - 随时添加新的专家 Agent

这种架构让 AI 助手从"全能但平庸"进化为"专业且协同",每个任务都能找到最适合的专家来处理。

Read more

(第四篇)Spring AI 实战进阶:Ollama+Spring AI 构建离线私有化 AI 服务(脱离 API 密钥的完整方案)

(第四篇)Spring AI 实战进阶:Ollama+Spring AI 构建离线私有化 AI 服务(脱离 API 密钥的完整方案)

前言 作为企业级开发者,我们在使用大模型时常常面临三大痛点:依赖第三方 API 密钥导致的成本不可控、外网依赖导致的合规风险、用户数据上传第三方平台导致的安全隐患。尤其是金融、政务等敏感行业,离线私有化部署几乎是硬性要求。 笔者近期基于 Ollama+Spring AI 完成了一套离线 AI 服务的落地,从模型拉取、量化优化到 RAG 知识库构建全程无外网依赖,彻底摆脱了 API 密钥的束缚。本文将从实战角度,完整拆解离线 AI 服务的开发全流程:包含 Ollama 部署、Spring AI 深度对接、模型量化优化、离线 RAG 知识库落地,所有代码均经过生产环境验证,同时结合可视化图表清晰呈现核心逻辑,希望能为企业级离线 AI 部署提供可落地的参考方案。 一、项目背景与技术选型 1.1 核心痛点与解决方案 业务痛点解决方案技术选型依赖第三方

OpenClaw 全攻略:从入门到精通的 AI 智能体部署指南

OpenClaw 全攻略:从入门到精通的 AI 智能体部署指南

第一部分:认知篇 —— 什么是 OpenClaw? 1.1 定义与定位 OpenClaw(原名 Clawdbot / Moltbot)是一个本地优先、隐私至上、多渠道集成的自托管 AI 助手平台。它标志着人工智能从“对话式交互”迈入“自主行动”的第三阶段。 通俗理解: 传统 AI(如网页版 ChatGPT):你问一句,它答一句,像个顾问。 OpenClaw:你给它一个目标(如“帮我整理本月财报并发送给团队”),它能自己规划步骤、搜索数据、处理文件、发送邮件,像个员工。 1.2 核心架构:App、Gateway 与 CLI 要玩转 OpenClaw,必须理解它的三个核心组件: Gateway(网关)

AI 原生架构:鸿蒙App的下一代形态

AI 原生架构:鸿蒙App的下一代形态

子玥酱(掘金 / 知乎 / ZEEKLOG / 简书 同名) 大家好,我是子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚焦于业务型系统的工程化建设与长期维护。 我持续输出和沉淀前端领域的实战经验,日常关注并分享的技术方向包括前端工程化、小程序、React / RN、Flutter、跨端方案, 在复杂业务落地、组件抽象、性能优化以及多端协作方面积累了大量真实项目经验。 技术方向:前端 / 跨端 / 小程序 / 移动端工程化 内容平台:掘金、知乎、ZEEKLOG、简书 创作特点:实战导向、源码拆解、少空谈多落地 文章状态:长期稳定更新,大量原创输出 我的内容主要围绕 前端技术实战、真实业务踩坑总结、框架与方案选型思考、行业趋势解读 展开。文章不会停留在“API 怎么用”,而是更关注为什么这么设计、在什么场景下容易踩坑、

电脑端 搜狗输入法自动弹皮肤推荐、AI旺仔关闭方法

电脑端 搜狗输入法自动弹皮肤推荐、AI旺仔关闭方法

1. 背景 1. 电脑端 搜狗输入法 莫名其妙多了一个狗头,叫“AI旺仔”。即下方输入法快捷栏最后一个狗头就是。点击狗头会出现以下界面。 2. 有时 输入法快捷栏 上方也会出现皮肤等,很占屏幕空间 3. 还有选中自动取词,本来是想选中复制的,结果每次选中都会有弹框 2. 自动弹皮肤推荐/宠物弹泡 关闭方法 点击搜狗输入法状态栏S图标→常用设置→更多设置→点击属性设置中高级→滚动页面到底部,关闭皮肤推荐、皮肤弹泡推荐右边的按钮,全部给关闭。 3. 关闭 AI旺仔 方法 1. 关闭自启动:点状态栏AI汪仔图标→右下角【齿轮设置】→更多设置→关闭【自启动AI汪仔】 2. 关闭快捷键弹出:点状态栏AI汪仔图标→右下角【齿轮设置】→可以关闭快捷键按【=】或【