Discord 集成

Discord 集成提供两种互相独立的连接:

  • Agent 机器人:把一个 HiFox Agent 绑成 Discord 机器人,在私信、频道 @ 和线程中对话。
  • 任务助手:每个空间一个系统助手。从 Discord 集成页绑定后,可以在频道里根据聊天上下文整理需求并创建任务,也可以查询和修改该空间的任务。

两者都用 Discord 机器人令牌连接,可以同时使用,但需要分别配置。任务助手不是普通 Agent:它不会出现在 Agent 列表、处理人选择器和站内私聊里。

连接前需要准备什么?

准备项说明
Discord 应用在 Discord Developer Portal 创建应用,进入 Bot 页重置并复制机器人令牌。
Message Content Intent在同一 Bot 页的 Privileged Gateway Intents 里开启并保存。不开启时机器人读不到消息内容,频道消息触发、表情触发和聊天上下文都不能用。
服务器管理权限把机器人加入服务器需要目标服务器的管理权限。
Agent绑定 Agent 机器人需要一个 HiFox Agent;没有时先创建 Agent。

从哪里进入?

  • 进入组织后,打开 外部应用集成,进入 Discord 详情页;
  • 或进入某个 Agent 的详情页,在 集成 页签中配置,这种方式会直接绑定当前 Agent。

连接 Agent 机器人

  1. 打开 连接 Discord 弹窗。
  2. 选择要绑定的 Agent。
  3. 粘贴 Discord Developer Portal 给出的机器人令牌。
  4. 点击连接,令牌验证通过后会弹出 Discord 授权页。
  5. 在 Discord 里选择服务器并授权,把机器人加入服务器。

机器人要先加入一个服务器才能收发消息,连私聊也要求你和机器人在同一个服务器。授权完成后,集成页会显示已加入的服务器;没有检测到授权完成时,可以重新打开授权页,或使用设置页上的安装链接。

绑定任务助手

  1. 打开 外部应用集成,进入 Discord 详情页的 任务助手 分组。
  2. 找到你加入的空间,选择 绑定 Discord。
  3. 选择运行该空间任务助手的 Runtime。
  4. 粘贴机器人令牌,并把机器人加入服务器。

每个空间只能有一个任务助手。绑定后可以补充附加提示词(会追加在系统内置的创建任务提示词后面)、更换 Runtime,或解绑。

在 Discord 中怎么使用?

私信机器人

在 Discord 里直接给机器人发私信,可以和绑定的 Agent 对话。第一次私信会创建对应的 Agent 会话,之后在同一私信里继续发送,Agent 会基于这个会话回复。

在频道中 @ 机器人

在频道里 @ 机器人并输入问题或指令,这是默认触发方式。Agent 回复时会带上附近消息的聊天上下文;已经在线程里 @ 则回在当前线程。

可选:表情触发、消息触发

在 Agent 的集成设置里可以按条开启触发方式,开关名称以线上为准,常见有:

  • 频道内被 @ 到(默认);
  • 频道内表情触发:对消息添加指定表情会触发 Agent,并带上该消息附近的上下文;
  • 频道内消息直接触发:所选频道里的每条消息都会触发 Agent,无需 @。

这些触发都依赖 Message Content Intent;未开启时只有私信和 @ 到机器人的消息能用。

使用 /new 新开会话

在和机器人的会话中使用 /new,可以开始一个新的 Agent 会话,不会带上之前的上下文。

发送文件

Agent 回复里的文件会回到原来的 Discord 会话。机器人需要「发送文件」权限;若只有某个频道发不出,请检查该频道的权限覆盖。

管理和断开

回到 Discord 集成页可以查看已连接的机器人列表,包括绑定的 Agent、所在服务器和当前状态,并进行重试或断开。断开后,这个 Agent 不再通过该机器人收发消息;已有 HiFox 会话和历史消息不会因此删除。

常见状态

状态说明
令牌被拒绝Discord 拒绝了机器人令牌,请在 Developer Portal 重置令牌后重新连接。
消息处理失败某条消息反复处理失败时会被跳过,以免堵住后面的消息;可以让发送者再发一次。
无法发文件机器人缺少「发送文件」权限,文字回复不受影响;用安装链接重新授权一次。
限流中Discord 正在限制机器人建立连接的频率,机器人会自动重试。

常见问题

机器人收不到频道消息怎么办?

先确认 Developer Portal 里已开启 Message Content Intent,再确认机器人仍在服务器里、连接状态正常。未开启 Intent 时,机器人只能看到私信和 @ 到它的消息。

频道里的普通消息会触发 Agent 吗?

默认不会。要先 @ 机器人、加触发表情,或在已有 Agent 参与的线程里继续回复。需要所有消息都触发时,在集成设置里为指定频道打开消息触发。

Discord 消息会变成 HiFox 任务吗?

Agent 机器人不会自动把消息变成任务。需要把频道里的讨论整理成任务时,使用空间的任务助手:在频道里 @ 任务助手,它会根据聊天上下文创建任务;之后也可以在 Discord 里继续查询和修改任务。

断开机器人会删除消息吗?

不会。断开只停止 HiFox 和 Discord 之间的收发,Discord 里的历史消息和 HiFox 里的会话记录都保留。