tutorial channels

构建多频道 AI 助手:Telegram + Discord + WhatsApp

ZeroClaws.io

ZeroClaws.io

@zeroclaws

2026年2月25日

7 分钟

构建多频道 AI 助手:Telegram + Discord + WhatsApp

这种情况大多数人都熟悉:你的工作团队在 Slack 上沟通,亲密朋友在 WhatsApp,游戏社区在 Discord,个人联系人偏好 Telegram。你最终打开四个应用,管理四个通知流,维护四个独立的上下文。

现在想象你的 AI 助手同时在所有这些平台上工作——共享记忆,所以它记得你在 Telegram 上告诉它的事情,当你在 Discord 上问起时。一个助手,在你已经在的每个地方。

这就是 ZeroClaw 的多频道架构使之成为可能的,而且设置比你想象的更简单。

底层工作原理

ZeroClaw 的频道系统建立在 Rust trait 上。每个频道——Telegram、Discord、WhatsApp、Signal、Matrix、IRC——是一个实现相同接口的独立适配器。它们共享单个 AI 提供商连接、单个记忆数据库、单个配置文件,以及作为单个二进制文件运行的单个进程。

实际结果是当你在 Telegram 上告诉机器人某件事时,它在 Discord 上问起时会记得。记忆是频道无关的。ZeroClaw 在统一的 SQLite 数据库中存储对话,带有关于每条消息来自哪个频道的元数据,但检索跨所有频道工作。你的上下文跟随你。

设置 Telegram

在 Telegram 上给 @BotFather 发消息创建新机器人并获取你的 token。然后给 @userinfobot 发消息获取你的用户 ID。将这个添加到你的配置:

```toml [channels.telegram] token = "123456:ABCdefGHIjklMNO" allowed_users = [your_user_id] ```

`allowed_users` 列表很重要——它确保只有你(或你指定的任何人)可以与你的机器人交互。

设置 Discord

去 discord.com/developers,创建一个应用,添加一个机器人,复制 token。在机器人设置中启用消息内容意图——没有这个,机器人无法读取消息。使用 OAuth2 URL 生成器将机器人邀请到你的服务器。

```toml [channels.discord] token = "MTk4NjIz..." guild_ids = [your_server_id] allowed_roles = ["ai-users"] ```

`allowed_roles` 字段让你限制哪些 Discord 用户可以与机器人交互——如果你将它添加到共享服务器,这很有用。

设置 WhatsApp

ZeroClaw 使用不需要任何特殊 API 访问的 WhatsApp Web 桥接:

```toml [channels.whatsapp] enabled = true allowed_numbers = ["+1234567890"] ```

第一次启动时,ZeroClaw 在终端显示二维码。用手机上的 WhatsApp 扫描它进行配对。之后,它会自动保持连接。

启动一切

```bash zeroclaw start ```

一条命令。所有三个频道同时连接:

``` [INFO] Telegram channel connected [INFO] Discord channel connected (1 guild) [INFO] WhatsApp channel paired [INFO] ZeroClaw ready — 3 channels active ```

实践中的共享记忆

跨频道记忆是让这真正有用而不只是技术上有趣的功能。实际效果是这样的:

你在 Telegram 上发送消息: > "记住我的项目截止日期是 3 月 15 日" > "好的——你的项目截止日期是 3 月 15 日。"

之后,在 Discord 上: > "我的截止日期是什么时候?" > "你的项目截止日期是 3 月 15 日,正如你之前提到的。"

机器人不需要被再次告知。不需要你在同一个频道。记忆在整个 ZeroClaw 实例中共享。

按频道调整行为

不同平台有不同的惯例。Discord 用户期望 Markdown 格式和简洁的响应。WhatsApp 对话更随意,不渲染 Markdown。Telegram 支持更长、更详细的回复。ZeroClaw 让你按频道调整行为:

```toml [channels.discord] token = "..." system_prompt_append = "You are in a Discord server. Keep responses concise. Use markdown formatting." max_response_length = 1500

[channels.telegram] token = "..." system_prompt_append = "You are in a private Telegram chat. Be conversational and detailed." max_response_length = 4000

[channels.whatsapp] enabled = true system_prompt_append = "You are on WhatsApp. Keep responses short — no markdown, plain text only." max_response_length = 500 ```

同一个 AI,同一个记忆,每个平台不同的风格。

访问控制

当你的机器人可以跨多个频道访问时,访问控制很重要。ZeroClaw 给你每个频道的控制:

```toml [channels.telegram.permissions] tools = ["web_search", "file_read", "file_write"]

[channels.discord.permissions] tools = ["web_search"] # 在公共服务器上只读 ```

你可以给你的私人 Telegram 聊天完整的工具访问权限,同时保持 Discord 机器人仅限于网络搜索。权限在频道级别强制执行,而不是用户级别。

添加更多频道

ZeroClaw 支持 30+ 个频道。添加另一个只是更多配置:

```toml [channels.slack] token = "xoxb-..." channels = ["C01234567"]

[channels.signal] enabled = true phone_number = "+1234567890"

[channels.matrix] homeserver = "https://matrix.org" username = "@zeroclaw:matrix.org" password = "..." ```

每个额外的频道增加大约 0.5MB RAM。十个频道同时运行仍然总共不到 10MB。

更大的图景

多频道设置解决了一个真实问题:你的生活不在一个应用里发生,你的 AI 助手也不应该如此。一个二进制文件,一个配置文件,一个记忆数据库,你的助手就出现在你使用的每个对话平台上——跨所有平台记住上下文,使用的 RAM 比单个浏览器标签还少。

没有微服务。没有消息队列。没有容器编排。只是一个恰好能说三十种不同聊天协议的单个进程。

保持关注

获取新版本、集成和 Rust 驱动的 Agent 基础设施更新。不发垃圾邮件,随时退订。