跳到主要内容

从消息平台使用 Ghast

Channels 让你在 Telegram、Discord、Feishu、Slack 或 Weixin 中向 Ghast 发送消息并接收回复。先在 设置 → 渠道 完成平台连接;每个平台的详细凭据和限制见 Channels 设置。

上线前完成一次闭环测试​

  1. 在目标平台创建 Bot、App 或扫码会话。
  2. 在 Ghast 中填入凭据和允许范围。
  3. 选择默认模型和 Workspace。
  4. 启用 Channel,点击 保存,等待状态刷新;保存成功本身不证明连接已成功。
  5. 在支持允许列表的平台,用列表中的测试账号发送纯文本;Feishu 和 Weixin 没有该客户端允许列表控件,应先把平台账号或应用的可见范围收窄,再从非敏感测试会话验证。
  6. 确认 Ghast 收到消息并生成回复。
  7. 回到平台确认回复真正送达。
  8. 再分别测试群聊提及、线程、图片或文件。

不要一开始就在生产群测试。客户端里出现回复只证明 Ghast 生成成功;必须在平台侧看到消息,才算整条链路完成。

平台入口​

平台连接方式主要范围控制上线前重点检查
TelegramBot Token用户 ID 列表限制私聊,不限制群成员;工作区绑定负责聊天路由BotFather 群聊/隐私设置、数字测试收件人、共享的群聊/话题上下文
DiscordBot Token服务器/频道列表只过滤服务器消息,不拦截私信;仅提及控制回复而非采集;工作区绑定负责路由Message Content Intent、Bot 权限、准确的频道/线程 ID、私信暴露范围
飞书App ID 与 App Secret;固定 WebSocket 长连接默认模型及工作区绑定;没有 Ghast 用户/群白名单或提及开关限制应用可用范围,分别核对单聊/群事件权限并发布;运行中不证明送达
SlackBot Token 与 App Token精确会话白名单也限制私信;公开/私密频道可要求提及;工作区绑定Socket Mode、权限、bot 事件、同一应用的两个 Token;每条顶层消息创建独立对话
微信扫码授权的机器人连接默认模型、发送者会话到工作区的路由(不是允许列表)登录与保存的区别、回退工作区、准确远端 ID、消息合并、音频和会话过期

微信绑定只把该发送者会话路由到工作区,不是入站访问控制。消息能够到达已配置连接的未绑定发送者仍可能使用回退工作区,因此应收窄其范围。该机器人连接不会导入登录账号的全部聊天、联系人和群聊。扫码登录操作即时生效,独立于设置保存;请求二维码前先阅读 连接微信。

私聊​

在已连接且符合当前平台范围控制的测试会话中,直接像普通对话一样发送任务。第一次测试建议包含唯一短语,例如“只回复 channel-ready-47”,这样可以确认回复来自本次请求。

Channel 任务会使用该平台配置的默认模型和 Workspace。如果配置未指定,页面会按当前可用默认值处理;涉及文件时必须先确认实际 Workspace,不要把含有多个项目的父目录绑定给外部 Bot。

群聊、频道和线程​

群聊最容易误触发。建议:

  1. 启用 仅提及 / mention-only(平台提供时)。
  2. 平台提供客户端允许列表时,填写允许的服务器、频道、群组或用户 ID;Feishu 应在平台侧限制可见范围。Weixin 没有客户端允许列表,而且目标会话绑定只负责 Workspace 路由,不能用它阻止其他会话进入默认 Workspace。
  3. 只把 Bot 加入需要它的频道。
  4. 用一次明确 @Bot 的消息测试。
  5. 再测试在线程中回复,确认没有发送到频道根部。
  6. 避免多个 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。排查时按顺序看:

  1. Channel 是否启用且凭据完整。
  2. Runtime 是否在运行。
  3. 平台是否把事件送到 Bot/App。
  4. 允许列表或 mention-only 是否拦截消息。
  5. 模型是否生成成功。
  6. 平台发送是否返回成功。

日志可能包含消息、用户和频道 ID、文件名以及错误。分享前必须脱敏。

停用与撤销​

在 Ghast 中关闭 Channel 会停止后续桥接,但不会删除平台已有消息,也不一定撤销平台凭据。停止使用时还应在平台侧轮换或撤销 Token、卸载 Bot/App、退出扫码会话,并检查仍保留的频道权限。