第 4 章 · 通道深度配置
OpenClaw 的核心卖点不是"又一个聊天机器人框架",而是让你的 AI Agent 同时出现在你日常使用的所有聊天工具里。这一章,我们逐一配置每个通道,从最受欢迎的 WhatsApp 和 Telegram 开始,到企业级的 Slack 和 Discord,再到注重隐私的 Signal 和苹果生态的 iMessage。
4.1 通道体系总览
OpenClaw 支持 20+ 种消息通道,覆盖了从个人用户到企业级场景的几乎所有主流平台。但通道不是简单地"接上去就能用"——每个通道有自己的认证方式、消息模型、权限体系和行为特性。
通道对比速查表
| 通道 | 认证方式 | 推荐场景 | 群组支持 | 媒体支持 | 配置难度 |
|---|---|---|---|---|---|
| QR 扫码配对 | 个人用户、全球覆盖 | 完整 | 完整 | 中等 | |
| Telegram | Bot Token | 个人/开发者、快速上手 | 完整 | 完整 | 简单 |
| Discord | Bot Token | 个人/社区、互动性强 | 完整 | 完整 | 中等 |
| Slack | App Token + Bot Token | 企业团队 | 完整 | 完整 | 较复杂 |
| Signal | signal-cli | 隐私敏感场景 | 完整 | 附件 | 较复杂 |
| iMessage | BlueBubbles / imsg | 苹果生态用户 | 有限 | 附件 | 复杂 |
| WebChat | 内置 | 开发调试、本地使用 | N/A | 完整 | 最简单 |
通道的通用规则
在深入每个通道之前,有几个所有通道共享的规则需要理解:
1. 路由是确定性的
OpenClaw 不会让模型"选择"回复哪个通道。消息从哪个通道进来,回复就一定回到哪个通道。这听起来是限制,其实是设计——确定性路由让你可以精确控制每个通道的行为。
2. DM 和群组使用不同的会话
默认情况下,同一个通道的 DM 会合并到 Agent 的主会话(session.dmScope: "main"),而每个群组都有独立的隔离会话。这意味着你在 Discord 服务器 A 的 #coding 频道和 #general 频道聊的内容是互不可见的。
3. 所有通道共享同一套访问控制模型
OpenClaw 对所有通道使用统一的安全模型:
- dmPolicy:控制谁能通过私聊和 Agent 对话(
pairing/allowlist/open/disabled) - groupPolicy:控制 Agent 在群组中的行为(
open/allowlist/disabled) - allowFrom:允许的发送者列表
- requireMention:群组中是否需要 @提及才响应
4. 通道可以同时运行
配置多个通道后,OpenClaw 会根据消息来源自动路由。你可以在 WhatsApp 上问 Agent 一个问题,然后在 Telegram 上继续追问——它们共享同一个 Agent 主会话。
💡 经验之谈:如果你只是想快速体验 OpenClaw,Telegram 是最快的入口——只需要一个 Bot Token,几分钟就能跑起来。WhatsApp 需要 QR 扫码配对,流程稍长。Discord 的设置步骤最多,但功能也最丰富。
4.2 WhatsApp 通道
WhatsApp 是 OpenClaw 最受欢迎的通道,也是最复杂的一个。它通过 Baileys 协议(WhatsApp Web 的非官方实现)连接,需要 QR 码配对。
4.2.1 快速配置
# 安装 WhatsApp 插件
openclaw plugins install @openclaw/whatsapp
# 扫码配对
openclaw channels login --channel whatsapp
# 查看状态
openclaw channels status
配置文件:
{
channels: {
whatsapp: {
dmPolicy: "pairing",
allowFrom: ["+8613800138000"],
groupPolicy: "allowlist",
groupAllowFrom: ["+8613800138000"],
},
},
}
启动 Gateway 并批准配对:
openclaw gateway
openclaw pairing list whatsapp
openclaw pairing approve whatsapp <CODE>
配对码 1 小时后过期,每个通道最多同时 3 个待处理配对请求。
4.2.2 部署模式选择
专用号码(推荐)
这是最干净的运营方式:用一个独立的手机号运行 OpenClaw,避免与个人账号混淆。
{
channels: {
whatsapp: {
dmPolicy: "allowlist",
allowFrom: ["+8613800138000"],
},
},
}
个人号码回退
如果你不想办新卡,也可以用自己现有的 WhatsApp 号。Onboarding 向导会自动配置 selfChatMode: true,防止 Agent 回复自己发给自己消息时的死循环。
⚠️ 踩坑记录
问题:用个人号码时,Agent 偶尔会回复自己的消息
原因:Baileys 的消息同步机制在特定时序下可能产生
fromMe消息的事件解决:确保
selfChatMode: true,并且allowFrom包含你自己的号码。OpenClaw 会在运行时自动跳过fromMeDM 的配对
4.2.3 WhatsApp 的消息行为细节
消息分块
WhatsApp 单条消息有长度限制。OpenClaw 默认按 4000 字符分块:
{
channels: {
whatsapp: {
textChunkLimit: 4000,
chunkMode: "newline", // 优先按段落分块,而不是硬切
},
},
}
newline 模式比默认的 length 模式体验更好——它优先在空行处分割,保持段落的完整性。
已读回执
已读回执默认开启。Agent 读完你的消息后会自动标记为已读。如果你不想暴露"已读"状态:
{
channels: {
whatsapp: {
sendReadReceipts: false,
},
},
}
确认反应(Ack Reaction)
你可以让 Agent 在处理消息时立即发送一个 emoji 反应(比如 👀),让你知道"你的消息已经被接收了":
{
channels: {
whatsapp: {
ackReaction: {
emoji: "👀",
direct: true, // DM 中发送
group: "mentions", // 群组中仅在 @提及时发送
},
},
},
}
4.2.4 多账号
WhatsApp 支持多个独立账号同时运行。每个账号有独立的配置覆盖:
{
channels: {
whatsapp: {
accounts: {
work: {
dmPolicy: "allowlist",
allowFrom: ["+8613800138000"],
sendReadReceipts: false,
},
personal: {
dmPolicy: "pairing",
selfChatMode: true,
},
},
},
},
}
4.2.5 常见问题
| 症状 | 可能原因 | 解决方案 |
|---|---|---|
| 通道状态显示"未链接" | QR 码配对过期 | 重新运行 openclaw channels login --channel whatsapp |
| 频繁断连重连 | 网络不稳定 | openclaw doctor + openclaw logs --follow 排查 |
| 群组消息被忽略 | 群策略配置有误 | 检查 groupPolicy、groupAllowFrom、groups 白名单 |
| 发送失败"No active listener" | Gateway 未运行 | 确认 Gateway 正在运行且账号已链接 |
⚠️ 踩坑记录
问题:Bun 运行时下 WhatsApp 不稳定
原因:Baileys 和 grammY(Telegram 通道)在 Bun 运行时下存在兼容性问题
解决:WhatsApp 和 Telegram 的 Gateway 必须使用 Node.js 运行时,不要用 Bun
4.3 Telegram 通道
Telegram 是配置最简单的通道——只需要一个 Bot Token,不需要扫码配对。
4.3.1 快速配置
第一步:在 BotFather 创建 Bot
- 打开 Telegram,搜索
@BotFather(确认用户名完全一致) - 发送
/newbot,按提示设置名称和用户名 - 保存返回的 Bot Token
第二步:配置 OpenClaw
{
channels: {
telegram: {
enabled: true,
botToken: "123456:ABC-DEF...",
dmPolicy: "pairing",
groups: {
"*": { requireMention: true },
},
},
},
}
环境变量备选:
TELEGRAM_BOT_TOKEN=123456:ABC-DEF...
第三步:启动并配对
openclaw gateway
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>
4.3.2 Telegram 的独特优势
实时流式输出(Streaming)
Telegram 是所有通道中对"实时打字效果"支持最好的。OpenClaw 可以在 Agent 思考的同时,实时更新消息内容:
{
channels: {
telegram: {
streaming: "partial", // 实时更新预览消息
},
},
}
效果是:Agent 先发一条临时消息,然后随着生成的进行不断编辑这条消息的内容。读者看到的是一个"逐渐变长"的回复,而不是等了很久后突然收到一大段文字。
Inline Buttons
Telegram 支持在消息下方嵌入交互按钮:
{
channels: {
telegram: {
capabilities: {
inlineButtons: "allowlist",
},
},
},
}
Agent 可以通过消息动作发送按钮,用户点击后结果会作为回调传回给 Agent。
Forum Topics(论坛主题)
Telegram 的 Forum 群组支持主题(Topic)功能,OpenClaw 完整支持了这一特性——每个 Topic 有独立的会话,甚至可以路由到不同的 Agent:
{
channels: {
telegram: {
groups: {
"-1001234567890": {
topics: {
"1": { agentId: "main" },
"3": { agentId: "coder" },
"5": { agentId: "reviewer" },
},
},
},
},
},
}
这意味着在同一个 Telegram 群组中,#综合讨论 路由到 main Agent,#代码审查 路由到 coder Agent,#产品评审 路由到 reviewer Agent——每个 Agent 有自己的工作空间和会话。
4.3.3 隐私模式与群组可见性
Telegram Bot 默认开启 Privacy Mode,这意味着在群组中,Bot 只能看到 @提及它的消息。
如果你的 Bot 需要看到所有群消息(比如用于监控或自动回复),有两种方式:
- 在 BotFather 中执行
/setprivacy→ Disable - 将 Bot 设为群组管理员(管理员自动获得所有消息权限)
⚠️ 踩坑记录
问题:关闭 Privacy Mode 后 Bot 仍然看不到群组消息
原因:Telegram 要求修改 Privacy Mode 后,需要先移除 Bot 再重新添加到群组,修改才会生效
解决:从群组中移除 Bot,然后重新添加
4.3.4 查找 Telegram User ID
所有 allowFrom 都使用数字 User ID,不是用户名。获取方式:
方法一(最安全):
- DM 你的 Bot
- 运行
openclaw logs --follow - 在日志中找到
from.id
方法二(API):
curl "https://api.telegram.org/bot<bot_token>/getUpdates"
方法三(第三方 Bot):给 @userinfobot 或 @getidsbot 发消息
4.3.5 Long Polling vs Webhook
默认使用 Long Polling(轮询)。如果你有公网服务器,可以切换到 Webhook 模式以获得更低的延迟:
{
channels: {
telegram: {
webhookUrl: "https://your-domain.com/telegram-webhook",
webhookSecret: "your-webhook-secret",
webhookHost: "0.0.0.0", // 绑定到所有网络接口
webhookPort: 8787,
},
},
}
💡 提示:对于大多数个人用户,Long Polling 完全够用。Webhook 主要用于生产部署和需要极低延迟的场景。
4.4 Discord 通道
Discord 是功能最丰富的通道——支持 Slash Commands、交互组件(按钮/选择器/表单)、语音频道、线程绑定等。
4.4.1 快速配置
Discord 的设置步骤最多,但每一步都很清晰:
第一步:创建 Discord Application
- 访问 Discord Developer Portal
- 点击 New Application
- 进入 Bot 页面,设置用户名
- 启用 Privileged Gateway Intents:
- Message Content Intent(必需)
- Server Members Intent(推荐)
- Presence Intent(可选)
- 复制 Bot Token
第二步:生成邀请 URL
- 进入 OAuth2 页面
- Scopes:勾选
bot和applications.commands - Bot Permissions:View Channels、Send Messages、Read Message History、Embed Links、Attach Files
- 复制生成的 URL,在浏览器中打开,选择你的服务器
第三步:收集 ID
在 Discord 中启用 Developer Mode(用户设置 → 高级 → Developer Mode),然后:
- 右键服务器图标 → 复制服务器 ID
- 右键自己的头像 → 复制用户 ID
第四步:配置 OpenClaw
{
channels: {
discord: {
enabled: true,
token: {
source: "env",
provider: "default",
id: "DISCORD_BOT_TOKEN",
},
groupPolicy: "allowlist",
guilds: {
"YOUR_SERVER_ID": {
requireMention: true,
users: ["YOUR_USER_ID"],
},
},
},
},
}
或者用 CLI 命令:
export DISCORD_BOT_TOKEN="your-bot-token"
openclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN --dry-run
openclaw config set channels.discord.enabled true --strict-json
openclaw gateway
4.4.2 Guild 工作空间
Discord 的服务器是天然的工作空间。你可以为每个频道分配独立的 Agent 会话:
{
channels: {
discord: {
guilds: {
"123456789012345678": {
requireMention: false, // 私有服务器可以关闭 @mention 要求
channels: {
general: { allow: true },
coding: { allow: true, requireMention: true },
help: { allow: true },
},
},
},
},
},
}
每个频道(如 #coding、#general)都有独立的会话上下文。Agent 在 #coding 频道的对话内容,在 #general 频道是完全不可见的。
4.4.3 交互组件(Components v2)
Discord 通道支持丰富的交互 UI:
{
action: "send",
channel: "discord",
to: "channel:123456789012345678",
components: {
reusable: true,
text: "部署到哪个环境?",
blocks: [
{
type: "actions",
buttons: [
{ label: "Production", style: "success", allowedUsers: ["123456789"] },
{ label: "Staging", style: "primary" },
{ label: "Cancel", style: "danger" },
],
},
],
modal: {
title: "部署详情",
triggerLabel: "填写备注",
fields: [
{ type: "text", label: "原因" },
{ type: "select", label: "优先级", options: [
{ label: "高", value: "high" },
{ label: "低", value: "low" },
]},
],
},
},
}
用户点击按钮后,回调会作为消息传回给 Agent 处理。
4.4.4 语音频道
Discord 是唯一支持语音频道的通道。Agent 可以加入语音频道进行实时对话:
{
channels: {
discord: {
voice: {
enabled: true,
autoJoin: [
{
guildId: "123456789012345678",
channelId: "234567890123456789",
},
],
tts: {
provider: "openai",
openai: { voice: "alloy" },
},
},
},
},
}
4.4.5 角色路由(Role-based Routing)
Discord 独有的特性:根据用户的角色(Role ID)路由到不同的 Agent:
{
bindings: [
{
agentId: "opus",
match: {
channel: "discord",
guildId: "123456789012345678",
roles: ["111111111111111111"],
},
},
{
agentId: "sonnet",
match: {
channel: "discord",
guildId: "123456789012345678",
},
},
],
}
管理员看到的消息路由到 opus Agent(更强大),普通用户的消息路由到 sonnet Agent(更快速更便宜)。
4.5 Slack 通道
Slack 是企业团队最常用的通道,OpenClaw 通过 Bolt SDK 连接。
4.5.1 快速配置
Socket Mode(默认)
-
在 Slack App 设置中:
- 启用 Socket Mode
- 创建 App Token(
xapp-...),需要connections:writescope - 安装 App,复制 Bot Token(
xoxb-...)
-
配置 OpenClaw:
{
channels: {
slack: {
enabled: true,
mode: "socket",
appToken: "xapp-...",
botToken: "xoxb-...",
},
},
}
HTTP Events API 模式
{
channels: {
slack: {
enabled: true,
mode: "http",
botToken: "xoxb-...",
signingSecret: "your-signing-secret",
webhookPath: "/slack/events",
},
},
}
4.5.2 Slack 的 Scope 清单
Slack Bot 需要以下 OAuth Scopes:
chat:write, channels:history, channels:read, groups:history,
im:history, im:read, im:write, mpim:history, mpim:read, mpim:write,
users:read, app_mentions:read, assistant:write, reactions:read,
reactions:write, pins:read, pins:write, emoji:read, commands,
files:read, files:write
⚠️ 踩坑记录
问题:Bot 能看到消息但不回复
原因:忘记在 Slack App 设置中订阅 Bot Events
解决:确保订阅了
app_mention、message.channels、message.im等 Events,同时启用 Messages Tab
4.5.3 Slack 的线程特性
Slack 的线程模型与其他通道不同——线程消息在主频道中是隐藏的。OpenClaw 对此有特殊处理:
{
channels: {
slack: {
replyToMode: "off", // 默认关闭回复线程
thread: {
historyScope: "thread", // 线程内上下文
initialHistoryLimit: 20,
},
},
},
}
如果你希望 Agent 的回复以线程形式出现(不污染主频道),设置 replyToMode: "first"。
4.6 Signal 通道
Signal 是注重隐私的用户的首选。通过 signal-cli 外部工具集成。
4.6.1 两种注册方式
方式 A:QR 链接(最简单)
如果你已经有一个 Signal 账号,可以直接链接:
signal-cli link -n "OpenClaw"
# 用 Signal 扫描 QR 码
方式 B:SMS 注册专用号码
如果你想用一个独立的号码运行 Agent:
# 安装 signal-cli
VERSION=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/AsamK/signal-cli/releases/latest | sed -e 's/^.*\/v//')
curl -L -O "https://github.com/AsamK/signal-cli/releases/download/v${VERSION}/signal-cli-${VERSION}-Linux-native.tar.gz"
sudo tar xf "signal-cli-${VERSION}-Linux-native.tar.gz" -C /opt
sudo ln -sf /opt/signal-cli /usr/local/bin/
# 注册(可能需要验证码)
signal-cli -a +<BOT_PHONE_NUMBER> register
# 如果需要验证码
signal-cli -a +<BOT_PHONE_NUMBER> register --captcha '<SIGNALCAPTCHA_URL>'
signal-cli -a +<BOT_PHONE_NUMBER> verify <CODE>
配置:
{
channels: {
signal: {
enabled: true,
account: "+15551234567",
cliPath: "signal-cli",
dmPolicy: "pairing",
allowFrom: ["+15557654321"],
},
},
}
⚠️ 踩坑记录
问题:signal-cli 注册后,手机上的 Signal 应用被登出
原因:注册一个号码会在 Signal 服务器上创建新的设备,可能使旧设备的会话失效
解决:使用专用 Bot 号码,或使用 QR 链接模式(不会影响现有设备)
4.6.2 Signal 的特殊之处
- 没有原生 @提及:Signal 不支持 @mention,所以 OpenClaw 使用正则模式来检测是否需要响应
- UUID 标识:Signal 用户可能通过 UUID(而非手机号)标识,存储为
uuid:<id>格式 - 媒体大小限制:默认只有 8MB(WhatsApp 和 Telegram 是 50-100MB)
4.7 iMessage 通道
iMessage 通过 BlueBubbles 桥接(推荐)或传统的 imsg CLI 集成。
4.7.1 BlueBubbles(推荐新部署使用)
BlueBubbles 是一个运行在 Mac 上的 REST API 服务器,它充当 iMessage 和外部应用之间的桥接层。
⚠️ 重要:BlueBubbles 需要一台 macOS 设备持续运行。如果你没有 Mac,iMessage 通道不可用。
4.7.2 传统 imsg 集成(已弃用)
OpenClaw 还支持通过 imsg CLI 的传统方式,但官方已标记为 legacy。如果你已经有 imsg 配置在运行,可以继续使用,但新部署请使用 BlueBubbles。
imsg 的核心要求:
- Mac 上已安装并登录 Messages
- OpenClaw/
imsg进程有 完全磁盘访问权限 - OpenClaw/
imsg进程有 自动化权限(发送消息需要)
⚠️ 踩坑记录
问题:imsg 在无头模式下不工作
原因:macOS 的权限弹窗需要 GUI 交互
解决:如果 Gateway 以 LaunchAgent 或 SSH 运行,需要在同一个用户会话中先手动运行一次
imsg chats --limit 1来触发权限弹窗
4.8 通道路由
当你配置了多个通道后,OpenClaw 如何决定消息应该由哪个 Agent 处理?这就是路由(Routing)的作用。
4.8.1 路由优先级
当一条消息到达时,OpenClaw 按以下优先级匹配 Agent:
1. 精确匹配(bindings + peer.id)
2. 父级匹配(线程继承)
3. Guild + 角色匹配(Discord 特有)
4. Guild 匹配(Discord 特有)
5. Team 匹配(Slack 特有)
6. 账号匹配(accountId)
7. 通道匹配(任何账号)
8. 默认 Agent
4.8.2 多 Agent 路由示例
假设你有两个 Agent:main(日常助手)和 coder(编程助手),想让 Discord 的 #coding 频道路由到 coder:
{
agents: {
list: [
{ id: "main", name: "助手", workspace: "~/.openclaw/workspace" },
{ id: "coder", name: "程序员", workspace: "~/.openclaw/workspace-coder" },
],
},
bindings: [
{
match: {
channel: "discord",
peer: { kind: "channel", id: "222222222222222222" },
},
agentId: "coder",
},
],
}
4.8.3 广播组(Broadcast)
默认情况下,一条消息只由一个 Agent 处理。广播组可以让一条消息同时触发多个 Agent:
{
broadcast: {
strategy: "parallel",
"120363403215116621@g.us": ["alfred", "baerbel"],
},
}
当你在这个 WhatsApp 群里发消息时,alfred 和 baerbel 两个 Agent 会并行处理并各自回复。
4.8.4 会话键结构
理解会话键的结构有助于调试路由问题:
DM(合并到主会话):
agent:main:main
群组(独立会话):
agent:main:whatsapp:group:120363403215116621@g.us
agent:main:telegram:group:-1001234567890
频道(独立会话):
agent:main:discord:channel:123456789012345678
线程:
agent:main:discord:channel:123456789012345678:thread:987654
4.9 访问控制深度指南
4.9.1 DM 策略四种模式
| 模式 | 行为 | 适用场景 |
|---|---|---|
pairing |
陌生人收到配对码,批准后才能对话 | 默认推荐 |
allowlist |
只有白名单中的用户能对话 | 明确知道谁能访问 |
open |
任何人都能对话(需要 allowFrom: ["*"]) |
公开 Bot |
disabled |
完全关闭 DM | 只用群组功能 |
4.9.2 群组策略三层控制
群组的访问控制有三层,全部通过才放行:
第一层:群组白名单(groups)
↓ 通过
第二层:发送者白名单(groupAllowFrom / allowFrom)
↓ 通过
第三层:@提及要求(requireMention)
↓ 通过
→ Agent 处理消息
4.9.3 配置示例:完整安全配置
{
channels: {
telegram: {
enabled: true,
botToken: "your-token",
dmPolicy: "allowlist",
allowFrom: ["8734062810"], // 只有我能私聊
groupPolicy: "allowlist",
groups: {
"-1001234567890": {
requireMention: true, // 群里需要 @Bot 才响应
allowFrom: ["8734062810", "745123456"], // 只有我能触发
},
},
},
whatsapp: {
dmPolicy: "pairing",
groupPolicy: "allowlist",
groupAllowFrom: ["+8613800138000"],
groups: {
"120363403215116621@g.us": true,
},
},
discord: {
enabled: true,
groupPolicy: "allowlist",
guilds: {
"123456789012345678": {
requireMention: false, // 私有服务器不需要 @
users: ["987654321098765432"],
channels: {
general: { allow: true },
bot-commands: { allow: true },
},
},
},
},
},
}
4.10 多通道联动实战
配置多个通道后,你可以实现一些有趣的工作流。
4.10.1 同一 Agent,多通道访问
这是最简单的模式——所有通道连接到同一个 Agent。你在 WhatsApp 问了一个问题,下班后在电脑上打开 Discord 继续追问,上下文是连续的(因为 DM 合并到了同一个主会话)。
4.10.2 不同通道,不同 Agent
将不同通道绑定到不同 Agent,每个 Agent 有自己的人格、工作空间和记忆:
{
agents: {
list: [
{ id: "work", name: "工作助手", workspace: "~/.openclaw/workspace-work" },
{ id: "life", name: "生活助手", workspace: "~/.openclaw/workspace-life" },
],
},
bindings: [
{ match: { channel: "slack" }, agentId: "work" },
{ match: { channel: "telegram" }, agentId: "life" },
],
}
4.10.3 场景:WhatsApp 接收工作通知,Discord 处理
{
agents: {
list: [
{ id: "notifier", name: "通知转发", workspace: "~/.openclaw/workspace-notifier" },
{ id: "worker", name: "工作处理", workspace: "~/.openclaw/workspace-worker" },
],
},
bindings: [
{ match: { channel: "whatsapp" }, agentId: "notifier" },
{ match: { channel: "discord", peer: { kind: "channel", id: "coding" } }, agentId: "worker" },
],
}
WhatsApp 负责接收通知并转发摘要,Discord 的 #coding 频道负责实际的编程工作。
本章小结
- OpenClaw 支持 20+ 种消息通道,统一通过 Gateway 管理
- 每个通道有自己的认证方式和行为特性,但共享统一的访问控制模型
- Telegram 配置最简单(只需 Bot Token),功能最丰富的是 Discord
- 通道路由支持精确匹配、账号匹配、角色匹配等多种策略
- 多通道联动的核心是
bindings配置——将通道/账号/群组映射到不同的 Agent
下一步
现在你的 Agent 已经能在多个平台上和你对话了。但 Agent 的"大脑"还只是默认状态——它不知道你是谁,不知道应该用什么语气和你说话,也不知道应该记住什么。下一章,我们将深入 Agent 工作空间,学会通过 SOUL.md、USER.md 和 AGENTS.md 来定制 Agent 的行为。