Back to Lobehub

渠道概览

docs/usage/channels/overview.zh-CN.mdx

2.1.568.5 KB
Original Source

渠道

渠道功能允许您将 LobeHub 代理连接到外部消息平台。一旦连接,用户可以直接在他们已经使用的聊天应用中与您的 AI 助手互动,无需访问 LobeHub。

[!NOTE]

微信渠道目前需要有效订阅。如果您使用的是没有订阅的社区版,渠道设置中可能暂时不会显示微信选项。

支持的平台

平台描述
Discord连接到 Discord 服务器,用于频道聊天和私信
Slack连接到 Slack,用于频道和私信对话
Telegram连接到 Telegram,用于私人和群组对话
QQ连接到 QQ,用于群聊和私信
微信通过 iLink Bot 连接到微信,用于私聊和群聊(需要有效订阅)
飞书连接到飞书,用于团队协作(中国版)
Lark连接到 Lark,用于团队协作(国际版)

工作原理

每个渠道集成都通过将目标平台上的机器人账户与 LobeHub 代理连接来实现。当用户向机器人发送消息时,LobeHub 会通过代理处理消息并将响应发送回同一对话。

  • 按代理配置 — 每个代理可以拥有自己的一组渠道连接,因此不同的代理可以服务于不同的平台或社区。
  • 同时支持多个渠道 — 单个代理可以同时连接到 Discord、Slack、Telegram、QQ、微信、飞书和 Lark。LobeHub 会自动将消息路由到正确的代理。
  • 安全的凭据存储 — 所有机器人令牌和应用密钥在存储前都会被加密。

快速开始

  1. 前往您的代理设置页面,选择 渠道 标签
  2. 选择一个平台并按照设置指南操作:

如果您在渠道列表中看不到 微信,请先确认当前账户是否拥有有效订阅。

功能支持

所有平台均支持文本消息。某些功能因平台而异:

功能DiscordSlackTelegramQQ微信飞书Lark
文本消息
私人消息
群组聊天
表情反应部分支持部分支持
图片 / 文件附件

允许的用户(全局)

高级设置 里的 允许的用户 (allowFrom) 是一道全局用户级闸门。填入后,所有入站消息(私信和群聊 @提及 都算)都必须来自列表里的用户,无论私信策略 / 群组策略选什么都生效。留空则不做用户级过滤,由各 scope 的策略自行决定。

填入后的行为:

入口不在白名单的发送者
私信被拒绝,对方在私信里收到一条 "您没有私信此机器人的权限" 的系统提示。
群组 / 频道 @提及被拒绝,会在 @ 所在的同一线程里发一条 "您没有与该机器人交互的权限" 的提示(Discord 上这是 @ 时自动创建的 thread,不会污染父频道;其他平台则可见于该群组)。

每行填一个用户:左边是平台用户 ID(必填),右边是可选的 备注 —— 这个备注只会在设置页展示给你自己,让你日后回看时不用费力辨认 U01ABCXYZ 到底是张三还是值班号;运行时完全不读它。

防自我锁出:如果你已经填了 你的平台用户 ID(AI 工具字段),那个 ID 会被全局白名单隐式信任。即便你把 bot 收紧到只给朋友、忘了把自己加进 允许的用户,也不会被锁出。

私信策略

私信策略只影响私信 — 群聊里的 @提及 由下面的 群组策略 单独管理。全局 允许的用户 的用户级过滤也会同时生效;各 scope 的策略叠加在上面。

策略行为
开放 (Open)平台上的任何用户都可以私信机器人(如设置了全局白名单则受其约束)。适合面向所有人开放的助手。
白名单 (Allowlist)私信需要发送者在 允许的用户 里。和 Open 的差别在白名单为空时:Allowlist 模式下会全部拒绝,而 Open 模式下任何人都能私信。
禁用 (Disabled)机器人会忽略所有私信。适合那种 " 只在群里被 @ 时才回复 " 的场景。

群组策略

同样适用于支持群聊的那些平台,每个渠道都有一个 群组策略 (Group Policy),用来控制机器人在群组、频道、子话题里的响应范围。它跟私信策略相互独立:groupPolicy=disabled 的机器人仍会接收私信(受私信策略约束),反之亦然。

策略行为
开放 (Open)在机器人能读取的任何群组、频道、子话题里被 @ 都响应(默认)。
白名单 (Allowlist)只有 允许的频道 里列出的频道 / 群组 / 会话才会响应,其他都忽略。
禁用 (Disabled)忽略所有非私信流量,机器人退化为纯私信模式。

选择 白名单 时会出现 允许的频道 编辑器:每行填一个平台原生的频道 / 群组 / 会话 ID,可附带一个备注(比如 #general),备注只展示给你自己,方便日后辨认每个 ID 是哪个频道。

Discord 父频道:在 Discord 频道里 @提及 机器人时,平台会自动开一个 reply thread,入站 thread ID 不等于 Discord「复制频道 ID」给你的那个值。这里直接粘贴父频道 ID 就行 —— 它会让父频道下的所有自动 reply thread 都通过白名单。如果你只想放行某个具体 thread,也可以填那个 thread 的 ID,效果就是只放行该 thread。

各平台默认值

所有支持的平台两个策略默认都为 开放 (Open),开箱即用。需要私有化时按渠道改成 白名单 (Allowlist)禁用 (Disabled) 即可。微信因本身就是 DM 模式,没有这两个策略选项。

如何获取用户的平台 ID

  • Discord — 在用户设置里开启开发者模式,右键用户头像选 复制用户 ID
  • Slack — 打开用户资料 → 点击 菜单 → 复制成员 ID(以 U 开头)。
  • Telegram — 让用户私信 @userinfobot,或者从机器人收到的 update 里读 from.id
  • QQ — 使用 OpenAPI 事件 payload 里的 tiny_id(用户对外可见的 QQ 号不一定就是平台 ID)。
  • 飞书 / Lark — 使用事件 payload 里的 open_id,或开发者后台显示的 User ID

如何获取频道 / 群组 ID

  • Discord — 开启开发者模式,右键频道选 复制频道 ID
  • Slack — 打开频道详情面板,底部能看到频道 ID(以 C 开头)。
  • Telegram — 把群里的一条消息转发给 @userinfobot,或者从机器人收到的 update 里读 chat.id(群组是负数)。
  • 飞书 / Lark — 使用事件 payload 里的 chat_id