Skip to content

渠道

侧栏 → 渠道 → 新建

选择渠道类型,填写凭据,再分配 Agent + Saver + Memory。每个用户 / 群聊的会话自动隔离。

支持的渠道

类型必填字段
Lark / 飞书App ID、App Secret
SlackBot Token(xoxb-...)、App Token(xapp-...
企业微信 WeComBot ID、Secret
微信 WeChat扫码登录(凭据自动获取)
钉钉 DingTalkClient ID、Client Secret
QQ(官方 Bot)App ID、Client Secret
OneBot(QQ 完整协议)WS Host、WS Port、可选 Access Token
小爱 XiaoAI小米账号 ID、密码、设备名称

Lark / 飞书

  1. 飞书开放平台 创建自建应用(国际版用 Lark Developer Console
  2. 开启 机器人 能力
  3. 权限管理 中开通以下权限(也可在 批量开通 中导入下方 JSON):
权限说明
im:message:send_as_bot以机器人身份发送消息
im:message.p2p_msg:readonly接收私聊消息
im:message.group_at_msg:readonly接收群聊 @机器人 消息
im:message.group_msg接收群聊所有消息
im:message:readonly读取消息内容
im:chat:readonly读取群信息
im:resource读取消息中的文件和图片
contact:user.base:readonly读取用户基本信息
contact:contact.base:readonly读取通讯录基本信息
批量导入 JSON
json
{
  "scopes": {
    "tenant": [
      "contact:contact.base:readonly",
      "contact:user.base:readonly",
      "im:chat:readonly",
      "im:message.group_at_msg:readonly",
      "im:message.group_msg",
      "im:message.p2p_msg:readonly",
      "im:message:readonly",
      "im:message:send_as_bot",
      "im:resource"
    ],
    "user": []
  }
}
  1. 事件与回调 中将订阅方式设置为 长连接
  2. 在 Web UI → 渠道 中创建 Lark 渠道,填入 App IDApp Secret

支持事件去重、互动卡片、多用户上下文隔离,以及文件和图片的收发。

Slack

  1. api.slack.com/apps 创建 Slack 应用
  2. 启用 Socket Mode,生成带 connections:write 权限的 App-Level Token(xapp-...
  3. 添加 Bot Scope:chat:writeim:historyim:readapp_mentions:readchannels:historygroups:historyfiles:read
  4. 把应用安装到工作区,并复制 Bot User OAuth Tokenxoxb-...
  5. 在 Web UI → 渠道 中创建 Slack 渠道,填入两个 Token

企业微信 WeCom

  1. 企业微信管理后台 创建智能应用,获取 Bot IDSecret
  2. 在 Web UI → 渠道 中创建 WeCom 渠道,填入 Bot ID 和 Secret

通过 WebSocket 实时接收和回复消息,支持文件和图片收发。

微信 WeChat

  1. 在 Web UI → 渠道 中创建 WeChat 渠道
  2. 点击扫码登录,使用微信扫描二维码完成认证
  3. 认证成功后凭据自动保存,渠道立即上线

微信渠道基于 iLink Bot API 接入,支持文件和图片的收发。

钉钉 DingTalk

通过钉钉官方 Stream 模式 长连接接入,无需公网 IP / Webhook 服务器。

申请后台参数

  1. 打开 钉钉开放平台
  2. 进入 应用开发 → 企业内部应用 → 创建应用
  3. 应用能力 → 添加应用能力 中添加 机器人
  4. 在机器人设置中:
    • 消息接收模式 选择 Stream 模式(流式接收)
    • 发布机器人
  5. 应用发布 → 版本管理与发布 中创建一个新版本,填好基础信息后保存并发布
  6. 回到 基础信息 → 凭证与基础信息,复制:
    • Client ID(即 AppKey)
    • Client Secret(即 AppSecret)

在 sbot 中创建渠道

在 Web UI → 渠道 中创建 DingTalk 渠道,填入:

字段说明
Client ID应用的 Client ID(AppKey)
Client Secret应用的 Client Secret(AppSecret)
群聊回复时 @ 发送者可选,群聊回复是否 @ 提问者

与机器人对话

  • 单聊:在钉钉的搜索框搜索机器人名称 → 找到机器人 → 直接对话
  • 群聊:在群设置 → 机器人 → 添加机器人,添加后在群里 @ 机器人 即可触发

已知限制(标准模式)

  • 钉钉普通 markdown 消息无法原地编辑,因此 Agent 流式输出会累积到结束时一次性发出(无打字机效果)。
  • 不支持卡片按钮 / 表单回调(如需 Allow / Deny 审批按钮、Ask 表单交互,需切换 AI Card 模式,配置 card_template_id 后实现,本仓库尚未集成)。
  • 暂不支持图片 / 文件的收发(钉钉 Open API 路径需另接 access_token + 阿里云 SDK)。

QQ(官方开放平台 Bot)

直接对接 QQ 开放平台 的官方 Bot WebSocket Gateway,不需要 NapCat / Lagrange。如需个人号或更完整的 QQ 协议,请使用 OneBot 渠道。

申请后台参数

  1. 打开 QQ 开放平台
  2. 创建 机器人应用 → 进入应用编辑页面
  3. 回调配置
    • 单聊事件 中勾选 C2C 消息事件
    • 群事件 中勾选 群消息事件 / AT 事件
    • 确认配置
  4. 沙箱配置 → 消息列表配置项:点击 添加成员,把自己加进去
  5. 开发管理 页面获取:
    • AppID
    • AppSecret(即 Client Secret)
  6. IP 白名单:添加运行 sbot 的服务器公网 IP(在终端执行 curl ifconfig.me 查看)。

    提示:使用魔搭创空间部署可填 47.92.200.108

  7. 在沙箱配置中用 QQ 扫码,把机器人加到消息列表

在 sbot 中创建渠道

在 Web UI → 渠道 中创建 QQ 渠道,填入:

字段说明
App IDQQ 机器人 App ID
Client SecretQQ 机器人 AppSecret
群聊回复时 @ 发送者可选

与机器人对话

  • C2C 私聊:通过沙箱测试列表中的 QQ 私聊,直接发消息
  • 群聊:把机器人添加到测试群后,在群中 @机器人 即可触发

已知限制(标准模式)

  • 文本消息中不允许包含 URL(QQ 平台限制);本实现自动将 URL 替换为 [链接已省略],不会让消息被驳回。
  • 官方 Bot API 不支持原地编辑消息,Agent 流式输出累积到结束时一次性发出。
  • 不支持 Markdown 模板(需在 QQ 平台单独申请 Markdown 权限和模板 ID)。
  • 不支持卡片按钮 / 表单:审批 / Ask 在 QQ 模式下没有交互 UI(按超时策略处理)。如需完整 QQ 体验请考虑 OneBot 渠道。
  • 同一 msg_id 下的回复 msg_seq 必须自增,本实现已自动处理。

OneBot(QQ / Telegram 桥接 等)

OneBot 是 NapCatLagrange 等 QQ 适配器使用的标准反向 WS 协议。

  1. 在 Web UI → 渠道 中创建 OneBot 渠道并配置:
字段说明默认值
WS HostWebSocket 服务器绑定地址0.0.0.0
WS PortWebSocket 服务器端口6700
Access Token可选认证 Token
群聊需要 @ 机器人群聊中只在被 @ 时回复true
  1. 配置 OneBot 客户端(NapCat / Lagrange 等)通过反向 WS 连接到 ws://<sbot-host>:<wsPort>,使用相同的 Access Token

小爱(XiaoAI)

把小爱智能音箱当作 sbot 渠道使用。

  1. 在 Web UI → 渠道 中创建 XiaoAI 渠道并填入:
字段说明
小米 ID小米账号 ID
登录方式passToken(推荐,通过 sbox 获取),或小米账号密码
密码 / passToken与所选登录方式对应的凭据
登录设备 ID可选,PassportSDK 的 deviceId,通过 sbox 获取
设备名称目标设备名(需与账号下的设备一致)
  1. 机器人登录到小米云,监听设备上的语音消息,并通过音箱 TTS 回复

通过 sbox 获取 passTokendeviceId

小米账号在服务器上常因风控 / 二次验证导致密码登录失败,推荐用桌面工具箱 sbox 登录一次,再把它提取出的凭据填入上面的字段:

  1. releases 页面 下载 sbox 并启动。
  2. 打开 小爱登录 工具,在弹出窗口中完成小米账号登录。
  3. sbox 会列出你的设备并显示 passTokendeviceId,复制填入上面的渠道字段即可。

基于 MIT 许可证发布。