其他聊天平台
具有可用集成但尚未提取为独立指南的通道。每个通道都通过功能门控进行控制;在构建时启用相应的 channel-<name> 功能。
限制出站回复的速率(reply_min_interval_secs)
每个出站通道都接受一个可选的 reply_min_interval_secs = N 字段(范围为 0..=REPLY_MIN_INTERVAL_MAX_SECS,默认值为 0)。设置后,编排器会将该通道包装在一个按 (channel, recipient) 划分的节流层中,使得发往同一对端的连续出站回复之间至少间隔 N 秒。0(默认值)为直通模式,不会分配包装器,也不会产生额外开销。
当下限处于活动状态时,在下限耗尽前到达的发送请求会进入一个有界 FIFO 队列。后台工作进程会按下限速率排空队列,以便回复仍能按配置的节奏有序送达。队列深度默认为 16(适用于“智能体短暂突发“的情况),并以 REPLY_QUEUE_DEPTH_CEILING(1024)为上限。当队列已满时,会丢弃最新的发送请求,并发出一条带有 channel_alias、脱敏后的 recipient、queue_depth、queue_max 和 dropped_chars 的 WARN:消息正文内容不会写入日志。
单条回复中的流式草稿更新不会进行节奏控制(否则会冻结实时预览);只有最终的 send(以及末尾的 finalize_draft 写入)才会进入队列。不同收件人之间相互独立:对某个对端的节奏控制不会阻塞发往另一个对端的消息。该包装器通过空闲状态 LRU 淘汰机制,为最多 PACING_RECIPIENT_CAP(1024)个不同对端保留状态:只有没有排队任务且没有进行中发送的条目才会被回收,因此该上限是针对空闲状态的目标值,而非在全部活跃的突发场景下的无条件硬性边界。
用例:成对身份的通道,其中亚秒级回复是 AI 的破绽。在九个通道(Telegram、Discord、Slack、Mattermost、Webhook、iMessage、Matrix、Signal、WhatsApp)上存在端到端的线级覆盖;集成测试在 Telegram 和 WhatsApp Web 上锁定了下限 + 溢出契约。
Webhook 注意事项: 在同步 webhook 通道上,出站回复就是对调用方请求的 HTTP 响应。非零的
reply_min_interval_secs下限会使该响应保持打开状态,持续时间为下限时长,这可能超过调用方自己的请求超时时间。仅当 webhook 调用方能够容忍延迟响应时才设置该下限,否则将其保持为0并在上游进行节流。
iMessage
iMessage 可以使用 Linq Partner API([channels.linq.<alias>])或实验性的直接适配器([channels.imessage.<alias>])。
direct 适配器仅支持 macOS。它通过 AppleScript 自动化发送消息,并通过读取 ~/Library/Messages/chat.db 接收消息;需要授予“自动化”权限以控制“信息”应用,并授予“完全磁盘访问权限”以读取该数据库。
WeChat personal iLink Bot (微信个人号 iLink)
WeChat personal iLink Bot 使用二维码登录方式接入 iLink Bot API,用于处理个人 WeChat 对话。
WeCom (企业微信 / WeChat Work)
Two WeCom variants are implemented. They map to different WeCom products, build features, and config keys, so pick the one that matches how the bot is provisioned:
| Bot Webhook(群机器人) | AI Bot WebSocket (智能机器人) | |
|---|---|---|
| Build feature | channel-wecom | channel-wecom-ws |
| 配置键 | [channels.wecom.<alias>] | [channels.wecom_ws.<alias>] |
| 消息流 | 仅出站文本 | Bidirectional with streaming drafts |
| Endpoint | https://qyapi.weixin.qq.com/cgi-bin/webhook/send | wss://openws.work.weixin.qq.com 长连接 |
Bot Webhook(群机器人)
A WeCom 群机器人(group robot)可向其所在群聊发送文本消息。请在企业微信客户端中将机器人添加到目标群聊,从其 Webhook 地址中复制 key 参数值,然后在 default 别名下配置该渠道:
[channels.wecom.default]
enabled = true
webhook_key = "<GROUP-BOT-WEBHOOK-KEY>"
然后使用 channels = ["wecom"] 将其绑定到一个智能体。
该变体仅支持出站:WeCom 群机器人 Webhook 不提供 ZeroClaw 可订阅的回调,因此群消息不会通过它到达智能体。请使用它将智能体通知推送到群中。对于由 WeCom 入站消息发起的对话,请使用下方的 AI Bot WebSocket 变体。
AI Bot WebSocket (智能机器人)
WeCom 的 AI Bot(智能机器人)长连接 API 提供双向通道:它接收单聊和群聊消息,并通过同一连接回复,包括流式草稿更新。机器人凭证(bot_id 和 secret)在 WeCom 管理后台创建 AI Bot 时颁发。
[channels.wecom_ws.primary]
enabled = true
bot_id = "<AI-BOT-ID>"
secret = "<AI-BOT-SECRET>"
# 入站授权。空列表会拒绝所有请求:若未至少配置一个条目,将不接受任何入站消息。"*" 表示允许任何发送者并禁用白名单,因此建议优先使用具体 ID。
allowed_users = ["<wecom-user-id>"]
allowed_groups = ["<group-chat-id>"]
# 可选:群聊文本中提及机器人的方式,例如使用 "danya" 对应 "@danya say hi"。可让通用的回复意图预检识别出群消息是发给机器人的。
bot_name = "<BOT-NAME>"
然后使用配置键中的别名将其绑定到代理,示例为 channels = ["wecom_ws.primary"]。
默认设置需要了解:
- 下载的媒体附件会被解密并缓存到频道工作区中,超过
file_retention_days(默认 7 天)后自动清理;超过max_file_size_mb(默认 20 MB)的下载将被拒绝。 - 回复默认以草稿更新的方式流式输出(
stream_mode = "partial");设置stream_mode = "off"则改为整条回复一次性发送。该渠道仅支持partial和off,multi_message会在启动时被拒绝。 - 每个渠道的
proxy_url和excluded_tools字段照常生效。
入站发送者 ID 也可以来自 对等组,其 channel 为 wecom_ws 或 wecom_ws.<alias>,而不是上述的 allowed_* 列表。
DingTalk
阿里巴巴的企业级即时通讯工具。
Lark / 飞书
使用 channel-lark 为 Lark 或飞书进行构建。根 channel-feishu 特性是 channel-lark 的别名;运行时选择仍通过 use_feishu = true 进行。
Tencent 的消费级即时通讯应用。使用 Bot API 需要先完成开发者注册;[channels.qq.<alias>] 需填写控制台中的 app_id 和 app_secret。
入站发送者是平台的不透明 ID:单聊消息中为 user_openid,群聊 @-messages 中为 member_openid。请通过对等组(external_peers)对其授权。空的对等集合会拒绝所有人,因此已连接但从不回复的机器人,通常是因为发送者在对等组中没有对应条目。
对入站消息的回复是被动的(会回显触发它的 msg_id),因此不需要额外权限。非回复类的发送(定时任务投递、zeroclaw channel send)属于主动消息,会占用机器人的主动消息配额。实例地址使用 qq.<alias>,目标地址在单聊时使用 user:<user_openid>,群聊时使用 group:<group_openid>,其中群 ID 取自消息中的 group_openid,而非发送者的 member_openid。仅指定 --channel-id qq 时,只会解析别名为 default 的实例。
zeroclaw channel doctor 使用渠道凭据探测机器人自身身份(GET /users/@me),因此健康结论表示 API 接受发送和监听路径所使用的同一个 token,而不仅仅是应用密钥仍能换取 token。该探测无法验证接收方:平台不提供单聊对端 ID 的查询接口,因此无效地址只有在尝试发送时才会暴露出来。
IRC
经典 IRC。支持 SASL、NickServ 认证以及多频道。
Mochat
Notion
将 Notion 数据库视为消息表面。适用于“通道”为任务收件箱的异步工作流。
何时选择专用指南
具有更复杂设置(OAuth 流程、端到端加密、多设备考虑)的频道位于其各自的页面中:
- Matrix:端到端加密、设备验证、Synapse/Dendrite 相关细节
- Telegram:机器人创建、别名、配对与对等授权
- Discord
- Slack
- Mattermost
- LINE
- Nextcloud Talk
- Signal
如果您在上述任何渠道中遇到配置问题,请提交包含复现步骤的 Issue,我们将考虑将其提升为专门的指南。