跳到主要内容

渠道配置

这一页聚焦“怎么把 CountBot 接到外部渠道,并让它在实际聊天里按预期工作”。如果你更关心渠道运行机制,请看 渠道与机器人;如果你要查 IM 命令,请看 IM 命令

先理解两层配置

第一层:渠道本身

这层解决“消息怎么进来”:

  • 是否启用渠道
  • 该渠道使用哪个机器人账号
  • 凭证是什么
  • 是否允许指定用户或群访问
  • 是否挂载多个账号

第二层:渠道账号的高级行为

这层解决“消息进来以后怎么处理”:

  • 默认路由模式是 ai 还是 direct
  • 默认外部编码工具是哪个 profile

这两个高级选项不是只影响 Web 页面,它们会直接影响 IM 渠道里普通消息的实际走向。

当前支持的渠道节点

配置模型中包含以下渠道节点:

  • telegram
  • discord
  • qq
  • dingtalk
  • feishu
  • weibo
  • wecom
  • wechat
  • xiaozhi

文档应以当前代码中的 schema 和运行实现为准。某些节点可能已经有配置结构,但运行时能力仍是预留状态。

通用账号字段

所有渠道账号都继承一组共同字段:

  • enabled
  • display_name
  • account_id
  • allow_from
  • routing_mode
  • external_coding_profile

其中最容易被忽略的是最后两个:

  • routing_mode:默认路由模式,只允许 aidirect
  • external_coding_profile:默认外部编码工具 profile,例如 codexclaude

如果某个账号把 routing_mode 设为 direct,但没有配置 external_coding_profile,保存渠道配置时会被后端拒绝。

多账号结构

同一个渠道支持一个主账号加多个附加账号。主账号直接写在渠道根节点里,其他账号写在 accounts 下。

示例:

{
"channels": {
"telegram": {
"enabled": true,
"display_name": "主机器人",
"account_id": "default",
"token": "123456:main_token",
"routing_mode": "ai",
"external_coding_profile": "codex",
"allow_from": [],
"accounts": {
"ops": {
"enabled": true,
"display_name": "运维机器人",
"account_id": "ops",
"token": "123456:ops_token",
"routing_mode": "direct",
"external_coding_profile": "codex",
"allow_from": []
}
}
}
}
}

适合的拆分方式:

  • 按业务拆账号,例如研发、客服、运营
  • 按环境拆账号,例如生产、预发、测试
  • 按团队拆账号,例如开发团队、内容团队、支持团队

routing_modeexternal_coding_profile 怎么生效

ai

普通消息先进入 CountBot 主 Agent 流程,再由主模型决定是否调用工具、是否调度团队、是否转外部编码工具。

direct

普通消息会直接转给当前账号绑定的外部编码工具,不走常规 Agent 决策链路,更适合把 IM 聊天窗口当成编码入口。

这两个默认值可以被聊天内命令临时覆盖

IM 渠道支持:

  • /route ai
  • /route direct
  • /route default
  • /coder codex
  • /coder claude
  • /coder default

这些命令只影响“当前聊天上下文”,不会回写渠道账号的持久化默认配置。也就是说:

  • 后台高级设置决定默认行为
  • /route/coder 决定当前聊天临时行为

IM 渠道里常用命令

目前帮助文本中已经内置以下命令组:

  • 会话管理:/new/list/all/switch/clear
  • 个性化:/personality/provider
  • 编码代理:/route/coder
  • 团队协作:/team
  • 控制:/stop/help

完整说明单独放在 IM 命令

常见渠道字段示例

Telegram

{
"channels": {
"telegram": {
"enabled": true,
"display_name": "主机器人",
"account_id": "default",
"token": "你的 Bot Token",
"proxy": "",
"routing_mode": "ai",
"external_coding_profile": "",
"allow_from": [],
"accounts": {}
}
}
}

QQ

{
"channels": {
"qq": {
"enabled": true,
"display_name": "主机器人",
"account_id": "default",
"app_id": "你的 AppID",
"secret": "你的 AppSecret",
"markdown_enabled": true,
"group_markdown_enabled": true,
"routing_mode": "ai",
"external_coding_profile": "",
"allow_from": [],
"accounts": {}
}
}
}

钉钉

{
"channels": {
"dingtalk": {
"enabled": true,
"display_name": "主机器人",
"account_id": "default",
"client_id": "你的 Client ID",
"client_secret": "你的 Client Secret",
"routing_mode": "ai",
"external_coding_profile": "",
"allow_from": [],
"accounts": {}
}
}
}

飞书

{
"channels": {
"feishu": {
"enabled": true,
"display_name": "主机器人",
"account_id": "default",
"app_id": "cli_xxxxx",
"app_secret": "你的 App Secret",
"routing_mode": "ai",
"external_coding_profile": "",
"allow_from": [],
"accounts": {}
}
}
}

企业微信

{
"channels": {
"wecom": {
"enabled": true,
"display_name": "主机器人",
"account_id": "default",
"bot_id": "你的 Bot ID",
"secret": "你的 Secret",
"websocket_url": "wss://openws.work.weixin.qq.com",
"routing_mode": "ai",
"external_coding_profile": "",
"allow_from": [],
"accounts": {}
}
}
}

微博

{
"channels": {
"weibo": {
"enabled": true,
"display_name": "主机器人",
"account_id": "default",
"app_id": "你的 App ID",
"app_secret": "你的 App Secret",
"token_endpoint": "http://open-im.api.weibo.com/open/auth/ws_token",
"ws_endpoint": "ws://open-im.api.weibo.com/ws/stream",
"routing_mode": "ai",
"external_coding_profile": "",
"allow_from": [],
"accounts": {}
}
}
}

小智

{
"channels": {
"xiaozhi": {
"enabled": true,
"display_name": "小智入口",
"account_id": "default",
"endpoint": "ws://127.0.0.1:8765",
"enable_conversation": false,
"routing_mode": "ai",
"external_coding_profile": "",
"allow_from": [],
"accounts": {}
}
}
}

推荐配置顺序

  1. 先打通一个渠道的一个主账号。
  2. 先确认消息能收发,再配置 allow_from
  3. 外部编码工具 profile 先单独配置并检测通过。
  4. 再去渠道账号的高级设置里绑定 routing_modeexternal_coding_profile
  5. 最后再扩展同渠道的多账号。

常用渠道 API

方法路径说明
GET/api/channels/list获取渠道摘要
GET/api/channels/status获取渠道运行状态
POST/api/channels/test测试渠道连通性
POST/api/channels/update保存并重载渠道配置
GET/api/channels/{channel}/config获取单个渠道配置

相关文档