从消息平台使用 Ghast
Channels 让你在 Telegram、Discord、Feishu、Slack 或 Weixin 中向 Ghast 发送消息并接收回复。先在 设置 → 渠道 完成平台连接;每个平台的详细凭据和限制见 Channels 设置。
上线前完成一次闭环测试
- 在目标平台创建 Bot、App 或扫码会话。
- 在 Ghast 中填入凭据和允许范围。
- 选择默认模型和 Workspace。
- 启用 Channel,点击 保存,等待状态刷新;保存成功本身不证明连接已成功。
- 在支持允许列表的平台,用列表中的测试账号发送纯文本;Feishu 和 Weixin 没有该客户端允许列表控件,应先把平台账号或应用的可见范围收窄,再从非敏感测试会话验证。
- 确认 Ghast 收到消息并生成回复。
- 回到平台确认回复真正送达。
- 再分别测试群聊提及、线程、图片或文件。
不要一开始就在生产群测试。客户端里出现回复只证明 Ghast 生成成功;必须在平台侧看到消息,才算整条链路完成。
平台入口
| 平台 | 连接方式 | 主要范围控制 | 上线前重点检查 |
|---|---|---|---|
| Telegram | Bot Token | 用户 ID 列表限制私聊,不限制群成员;工作区绑定负责聊天路由 | BotFather 群聊/隐私设置、数字测试收件人、共享的群聊/话题上下文 |
| Discord | Bot Token | 服务器/频道列表只过滤服务器消息,不拦截私信;仅提及控制回复而非采集;工作区绑定负责路由 | Message Content Intent、Bot 权限、准确的频道/线程 ID、私信暴露范围 |
| 飞书 | App ID 与 App Secret;固定 WebSocket 长连接 | 默认模型及工作区绑定;没有 Ghast 用户/群白名单或提及开关 | 限制应用可用范围,分别核对单聊/群事件权限并发布;运行中不证明送达 |
| Slack | Bot Token 与 App Token | 精确会话白名单也限制私信;公开/私密频道可要求提及;工作区绑定 | Socket Mode、权限、bot 事件、同一应用的两个 Token;每条顶层消息创建独立对话 |
| 微信 | 扫码授权的机器人连接 | 默认模型、发送者会话到工作区的路由(不是允许列表) | 登录与保存的区别、回退工作区、准确远端 ID、消息合并、音频和会话过期 |
微信绑定只把该发送者会话路由到工作区,不是入站访问控制。消息能够到达已配置连接的未绑定发送者仍可能使用回退工作区,因此应收窄其范围。该机器人连接不会导入登录账号的全部聊天、联系人和群聊。扫码登录操作即时生效,独立于设置保存;请求二维码前先阅读 连接微信。
私聊
在已连接且符合当前平台范围控制的测试会话中,直接像普通对话一样发送任务。第一次测试建议包含唯一短语,例如“只回复 channel-ready-47”,这样可以确认回复来自本次请求。
Channel 任务会使用该平台配置的默认模型和 Workspace。如果配置未指定,页面会按当前可用默认值处理;涉及文件时必须先确认实际 Workspace,不要把含有多个项目的父目录绑定给外部 Bot。
群聊、频道和线程
群聊最容易误触发。建议:
- 启用 仅提及 / mention-only(平台提供时)。
- 平台提供客户端允许列表时,填写允许的服务器、频道、群组或用户 ID;Feishu 应在平台侧限制可见范围。Weixin 没有客户端允许列表,而且目标会话绑定只负责 Workspace 路由,不能用它阻止其他会话进入默认 Workspace。
- 只把 Bot 加入需要它的频道。
- 用一次明确
@Bot的消息测试。 - 再测试在线程中回复,确认没有发送到频道根部。
- 避免多个 Bot 互相触发。
关闭仅提及意味着普通群消息也可能进入 Ghast。只有在成员、Workspace 和数据范围都受控时才这样配置。
Discord 即使开启仅提及,也不代表未提及的消息不会被采集或进入之后的上下文;音频也可能先被转录。其服务器/频道列表同样不拦截私信。请遵循 Discord 的具体规则,不要套用通用的“只有 @Bot 才处理”假设。
Telegram 的 Ghast 设置页没有仅提及开关或群 ID 白名单,允许用户列表不限制群成员;话题也共享群级会话/工作区路由。接入群之前请阅读 Telegram 群聊行为。
Slack 又有不同:白名单也限制私信;开启仅响应提及时,公开/私密频道线程里的回复需要重新提及;每条顶层消息都会开启独立 Ghast 对话。请阅读 Slack 完整操作指南。
模型、Tools 和 Skills
Channel 的默认模型只决定从该平台启动任务时优先使用哪个模型。它不会绕过:
- 当前模型是否已在 0G Compute 中启用;
- Tool、Skill 和 MCP 的可用范围;
- 命令、网络和外部写入权限;
- Computer Use 的系统权限和应用批准;
- Workspace 文件边界。
外部消息中的链接、文件和指令都属于外部输入。它们不能自行要求 Ghast 扩大权限或把其他本地数据发送回平台。
图片、文件和语音
附件能力受平台和 Channel 实现共同限制。正式使用前分别测试:
- 图片是否能下载并进入当前消息;
- 文档类型和大小是否被平台接受;
- 回复文件是否落在正确会话或线程;
- 超长回复是否被拆分;
- Markdown 和代码块是否保持可读;
- 语音消息是否成功转写,语音回复模式是否符合预期。
语音回复设置见 语音输入与语音回复。
发送和写入确认
通过 Channel 发起的任务仍可能修改 Workspace、调用外部服务或控制应用。任务描述应写清:
- 允许读取和修改的目录;
- 是否允许运行命令;
- 是否允许向第三方发送内容;
- 哪些最终动作必须等待确认;
- 完成后如何验证。
例如,把“帮我发布这个版本”改成“检查构建和发布配置,列出待发布内容;不要执行发布”。
状态和日志
设置页会显示各平台的连接状态。Feishu、Slack 和 Weixin 还提供 Bot Log 或 Bridge Log。排查时按顺序看:
- Channel 是否启用且凭据完整。
- Runtime 是否在运行。
- 平台是否把事件送到 Bot/App。
- 允许列表或 mention-only 是否拦截消息。
- 模型是否生成成功。
- 平台发送是否返回成功。
日志可能包含消息、用户和频道 ID、文件名以及错误。分享前必须脱敏。
停用与撤销
在 Ghast 中关闭 Channel 会停止后续桥接,但不会删除平台已有消息,也不一定撤销平台凭据。停止使用时还应在平台侧轮换或撤销 Token、卸载 Bot/App、退出扫码会话,并检查仍保留的频道权限。