qwen-code/docs/design/channels/channels-roadmap.md
tanzhenxin bac0ba0cc2 docs(channels): add design documentation for channels feature
- Architecture overview with platform adapters and ACP bridge
- Plugin system contract and extension loading
- Implementation guides for Telegram, WeChat, DingTalk
- Testing guide with mock servers and E2E scenarios
- Feature roadmap and known limitations

These docs provide the foundation for the external messaging integrations.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 12:47:01 +00:00

2.8 KiB

Channels Roadmap

Implemented (MVP)

  • 3 built-in channels — Telegram, WeChat, DingTalk
  • Plugin systemChannelBase SDK with connect/sendMessage/disconnect, extension manifest, compiled JS + .d.ts
  • Access controlallowlist, pairing (8-char codes, CLI approval), open policies
  • Group chatopen/disabled/allowlist group policy, requireMention per group, reply-as-mention
  • Session routinguser, thread, single scopes with per-channel cwd, model, instructions
  • Dispatch modessteer (default: cancel + re-prompt), collect (buffer + coalesce), followup (sequential queue). Per-channel and per-group config.
  • Working indicators — centralized onPromptStart/onPromptEnd hooks. Telegram: typing bar. WeChat: typing API. DingTalk: 👀 emoji reaction.
  • Block streaming — progressive multi-message delivery with paragraph-aware chunking
  • Streaming hooksonResponseChunk/onResponseComplete for plugins to implement progressive display
  • Media support — images (vision input), files/audio/video (saved to temp, path in prompt), Attachment interface on Envelope
  • Slash commands/help, /clear (/reset, /new), /status, custom via registerCommand()
  • Service managementqwen channel start/stop/status, PID tracking, crash recovery (auto-restart, session persistence)
  • Token security$ENV_VAR syntax in config

Future Work

Safety & Group Chat

  • Per-group tool restrictionstools/toolsBySender deny/allow lists per group
  • Group context history — ring buffer of recent skipped messages, prepended on @mention
  • Regex mention patterns — fallback mentionPatterns for unreliable @mention metadata
  • Per-group instructionsinstructions field on GroupConfig for per-group personas
  • /activation command — runtime toggle for requireMention, persisted to disk

Operational Tooling

  • qwen channel doctor — config validation, env vars, bot tokens, network checks
  • qwen channel status --probe — real connectivity checks per channel

Platform Expansion

  • Discord — Bot API + Gateway, servers/channels/DMs/threads
  • Slack — Bolt SDK, Socket Mode, workspaces/channels/DMs/threads

Multi-Agent

  • Multi-agent routing — multiple agents with bindings per channel/group/user
  • Broadcast groups — multiple agents respond to the same message

Plugin Ecosystem

  • Community plugin templatecreate-qwen-channel scaffolding tool
  • Plugin registry/discoveryqwen extensions search, version compatibility

Reference: OpenClaw Comparison

See channels-comparison.md for the detailed feature comparison between OpenClaw and Qwen-Code channels.