Bug Description
当同时启用飞书和微信两个渠道时,OpenClaw 会绕过系统自动路由机制,导致消息发送到错误的渠道。
Environment
- OpenClaw version: 2026.3.13
- Channels enabled: feishu, openclaw-weixin
- Primary agent: main
Reproduction Steps
- 配置飞书渠道(channels.feishu.enabled = true)
- 配置微信渠道(channels.wechat.enabled = true,通过 openclaw-weixin 插件)
- 在微信渠道发送消息
- Agent 回复时,有时消息会被发送到飞书渠道而不是微信渠道
Expected Behavior
- 微信渠道收到的消息,回复应该自动路由回微信渠道
- 飞书渠道收到的消息,回复应该自动路由回飞书渠道
- 每个渠道的 session 应该完全隔离
Actual Behavior
- 系统有时会混淆渠道路由
- 微信消息的回复被发送到飞书
- 飞书消息的回复被发送到微信
Root Cause Analysis
1. Session 状态混淆
- 当前 session 的 deliveryContext 可能未正确更新
- 示例:微信消息激活了微信 session,但 deliveryContext 仍指向飞书
2. 手动调用 API 绕过路由
- 当使用飞书 API 直接发送消息时(如 requests.post 到 open.feishu.cn)
- 绕过了系统的自动路由机制
- 导致消息发送到错误的渠道
3. Session Key 管理
- 多渠道场景下,session key 应该包含渠道信息
- 当前实现可能存在渠道信息丢失的问题
Technical Details
当前 Session 状态示例
{
"deliveryContext": {
"channel": "feishu"
},
"origin": {
"provider": "feishu"
}
}
正确的路由机制
# ✅ 正确:使用 message 工具,系统自动路由
message(action="send", media="/path/to/image.png")
# ❌ 错误:手动调用飞书 API
requests.post('https://open.feishu.cn/open-apis/im/v1/messages')
Impact and Severity
- Severity: High
- Impact:
- 用户体验混乱(消息发送到错误的渠道)
- 会话隔离失效
- 可能导致敏感信息泄漏到错误的渠道
Suggested Fix
- 强化 Session 隔离 - 确保每个渠道有独立的 session key
- 自动路由机制 - 所有消息发送必须经过系统路由
- Context Token 管理 - 微信渠道需要 contextToken 来关联对话
- 文档更新 - 添加多渠道配置的最佳实践和测试用例
Additional Context
- 微信插件版本:@tencent-weixin/openclaw-weixin v1.0.2
- 测试环境:macOS, OpenClaw 2026.3.13
Bug Description
当同时启用飞书和微信两个渠道时,OpenClaw 会绕过系统自动路由机制,导致消息发送到错误的渠道。
Environment
Reproduction Steps
Expected Behavior
Actual Behavior
Root Cause Analysis
1. Session 状态混淆
2. 手动调用 API 绕过路由
3. Session Key 管理
Technical Details
当前 Session 状态示例
{ "deliveryContext": { "channel": "feishu" }, "origin": { "provider": "feishu" } }正确的路由机制
Impact and Severity
Suggested Fix
Additional Context