AgentConnect
操作指南

共享 Slack 机器人路由

使用同一个共享的 Slack 身份,同时让每个频道分发给拥有各自模型、指令、工作区和触发条件的 Agent。

共享 Slack 机器人让一个 Slack 应用可以服务多个 AgentConnect Agent。人们邀请和提及的是同一个机器人身份,而 AgentConnect 会把每个频道的消息发送给配置为该频道默认分发的 Agent。

创建一个可以在多个 Agent 之间共享的 Slack 机器人身份

当不同频道需要不同的模型、仓库、工具或行为,而你又不想为每个 Agent 单独安装一个 Slack 应用时,这种方式很有用。

这是多 Agent 工作模式中的按上下文路由:一条入站消息只选择一个 Agent,而不是广播给所有 Agent。

Slack 对话默认分发触发条件示例角色
#engineeringengineering-agent所有消息实现与仓库工作
#securitysecurity-agent@ 提及威胁分析与敏感评审
#supportsupport-agent所有消息产品问题与 Issue 分诊

开始之前

你需要:

  • 两个或更多在线的 Agent;
  • 在 Slack 工作区中创建或安装 Slack 应用的权限。

在 AgentConnect Cloud 上,由 Relay(中继)支撑的 Slack 投递已经可用。共享机器人使用 HTTP (Events API);Socket 模式的机器人归 Daemon 所有,无法在多个 Agent 之间共享。

AgentConnect OSS 的运维人员应在创建应用之前先配置公开的 Relay URL。

1. 创建按频道划分的 Agent

为你需要的每种行为创建一个 Agent。在 Agent 页面上配置其模型、指令、工作区、工具和权限。

把差异体现在 Agent 本身。避免用一个根据频道名称分支的大提示词;共享机器人的频道路由应当选择已经专门化的 Agent。

例如:

  • engineering-agent 使用编码模型,并拥有主仓库的写入权限;
  • security-agent 使用推理能力更强的模型,只读访问,并配以聚焦安全的提示词;以及
  • support-agent 使用快速模型,并配备产品文档工具。

2. 让 Slack 机器人可共享

AgentConnect Cloud

从内置应用开始:

  1. 在内置的 agentconnect Agent 上,选择集成 → 添加集成 → Slack → 添加到 Slack,并批准工作区安装。如果已经连接,跳过这一步。
  2. 打开集成 → 消息应用 → Slack。
  3. 为内置的 AgentConnect 机器人开启可共享。

Cloud 应用已经使用 HTTP 投递,因此不需要配置回调 URL、签名密钥或传输方式。

自定义应用或自托管部署

在第一个 Agent 上,打开集成 → 添加集成 → Slack:

  1. 使用配置令牌或 manifest 流程创建一个 Slack 应用。
  2. 把投递方式设为 HTTP (Events API)。
  3. 启用共享机器人——允许多个 Agent 使用此机器人。
  4. 完成 Slack 安装并把它连接到该 Agent。

使用配置令牌流程时,AgentConnect 会自动获取签名密钥。使用 manifest 流程时,请粘贴 Slack 应用设置中显示的机器人令牌和签名密钥。

把该应用邀请到它应当服务的每个频道:

/invite @your-bot

Slack 上报机器人的成员身份后,这些频道会出现在 AgentConnect 中。

3. 把同一个应用连接到其他 Agent

对其余每个 Agent:

  1. 打开集成 → 添加集成 → Slack。
  2. 选择使用已有机器人。
  3. 选择你创建的共享机器人。
  4. 把它连接到该 Agent。

不要再创建另一个 Slack 应用。现在每个已连接的 Agent 都使用同一个 Slack 机器人身份和凭证,同时各自运行在自己的 Daemon 位置上。

4. 分配每个频道

打开集成 → 消息应用 → Slack并展开共享机器人。为每个频道选择其默认分发 Agent。如果想按对话挑选 Agent,选择或按决策选择,用一个决策来路由。

然后在任意一个已连接 Agent 的 Slack 集成中设置频道触发条件。触发条件属于这个共享机器人和频道,因此 AgentConnect 会把同样的有效设置复制到每个成员 Agent 的行上:

  • @ 提及——仅在机器人被提及时运行;在 Agent 已加入的线程(thread)中,未提及的后续消息会继续交给它。
  • 所有消息——对该频道中的每条消息都运行默认 Agent。
  • 关闭——屏蔽该共享机器人在此频道中的所有入站路由,包括提及、已有线程以及回退到同级或默认 Agent 的情况。受限 Agent 也会以关闭状态开始,直到编辑者启用该对话。

每个活跃的共享机器人频道都恰好有一个默认分发 Agent。在控制台中更改所有者不会影响该频道的触发条件。

路由行为

  1. 频道的默认分发和触发条件决定新消息交给哪个 Agent。
  2. 线程一旦分配给某个 Agent,未提及的后续消息就留在该 Agent。
  3. 回复使用同一个 Slack 应用身份。启用回复页脚后,页脚会标明实际的 AgentConnect Agent、Runtime 和模型。
  4. Agent 永远不会重新触发自己:AgentConnect 会在每个 Agent 自己的消息即将回流的位置将其丢弃。

频道中一条未指名的新消息只会选择一个 Agent,即该频道的默认分发。共享机器人是在一个身份背后为多个按频道划分的 Agent 做路由;它不是让每个 Agent 都回答的广播。

如果有人刻意把另一个共享机器人的 Agent 带入同一线程,两个 Agent 都会保留各自的会话和配置。如果这些 Agent 还需要直接相互委派,请使用 Agent 可见范围。

故障排查

症状检查
可共享不可用使用 HTTP 投递并有在线的 Relay;Cloud 已预先配置好
缺少某个频道邀请或重新邀请机器人;等待成员身份同步
回答的 Agent 不对检查默认分发和频道触发条件
后续消息仍由之前的 Agent 处理开启新线程或切换会话 Agent

安装细节见 Slack,模型、提示词、工作区和权限见配置 Agent。

How is this guide?

本页目录

How is this guide?