跳转到内容

Channel 总览

OpenCorvus 原生适配器与明确标记为 planned 的 provider 接入层。

packages/channel-runtime/ 把外部平台统一映射为 platform : channel : thread。每个 thread 对应一个 OpenCorvus session,后续回复继续使用同一任务上下文。

已支持的 Channel

ChannelCatalog 共暴露 27 个 channel identity:13 个原生适配器 runtime-ready,14 个 provider 接入仍为 planned。共享 catalog 是后端配置、运行时构造、Overlay 设置界面和文档链接的唯一来源。

OpenCorvus 原生适配器

Channel文档连接方式
Slack配置Socket Mode
Telegram配置Long polling
Discord配置Gateway WebSocket
飞书 / Lark配置Webhook
WhatsApp配置WhatsApp Business webhook
Google Chat配置Webhook
Microsoft Teams配置Webhook
LINE配置Webhook
Matrix配置Long polling
Mattermost配置Webhook
Signal配置Signal CLI 服务
企业微信配置Webhook
钉钉配置Webhook

Planned provider 接入

其余 14 个 identity 尚未 runtime-ready。现有上游包依赖 OpenClaw application runtime,而不是薄的独立 provider contract。OpenCorvus 不嵌入该 application runtime,也不维护大规模兼容 runtime。

Channel官方文档候选来源
ClickClackOpenClaw@openclaw/clickclack
iMessageOpenClawopenclaw runtime
IRCOpenClaw@openclaw/irc
Nextcloud TalkOpenClaw@openclaw/nextcloud-talk
NostrOpenClaw@openclaw/nostr
QQ BotOpenCorvus 字段 · OpenClaw@openclaw/qqbot
RaftOpenClaw@openclaw/raft
ReefOpenClawopenclaw runtime
SMSOpenClaw@openclaw/sms
Synology ChatOpenClaw@openclaw/synology-chat
TlonOpenClaw@openclaw/tlon
TwitchOpenClaw@openclaw/twitch
ZaloOpenClaw@openclaw/zalo
Zalo PersonalOpenClaw@openclaw/zalouser

运行 channel-runtime

Terminal window
cd packages/channel-runtime
cp .env.example .env
bun run dev

registerAdapters() 只启动已配置的原生 channel,并跳过 planned 条目。

消息流

平台 gateway
-> ChannelAdapter.onMessage(IncomingMessage)
-> ChannelRuntime.handleMessage()
-> 创建或复用 session
-> client.session.prompt()
-> 返回精确 assistant 响应
OpenCorvus 事件流
-> ChannelRuntime.handleEvent()
-> 平台插件自己的 sendText/sendMedia

Session、channel link、权限、附件和模型执行仍由 OpenCorvus 统一负责。

新增 Channel

  • 只有 provider 暴露薄的独立 lifecycle / ingress / outbound contract 时,才能把 planned 条目提升为 ready;禁止复刻另一个应用的 runtime surface。
  • OpenCorvus 特有 channel:新增一个原生 adapter,并在原生 factory projector 注册。
  • 禁止添加 provider switch、第二份 channel 清单或大规模兼容 runtime。

共享控制项见 环境变量参考