Slack 和 Teams 机器人

Organization Bot tab: Slack connected, Teams, channel scope with #payments scoped to a team, and MCP tools

把 Archyl 带入团队已经在使用的工具中。在 Slack 或 Microsoft Teams 中提及 @Archyl,询问有关软件架构的问题——C4 模型、ADR、依赖关系、归属等——即可在频道中直接获得基于真实数据的回答。

概述

机器人按组织连接。管理员连接工作区后,其中的任何人都可以通过提及机器人来提问。机器人以连接它的管理员的权限作答,其范围是你组织的项目。

默认情况下,该范围是组织中的所有项目。管理员可以将任意频道限定到某个团队或一组项目,见下文的将频道限定到团队或项目。

机器人有两种回答方式:

模式 何时 你会看到
直接 未选择 API 密钥 根据你的架构上下文生成的单条 AI 回答。
智能体(MCP 工具) 已选择 API 密钥 机器人调用实时 MCP 工具进行查询和操作,并在最终回答前显示它执行的步骤(🔧 …)。

你可以在 组织 → 机器人 → MCP 工具 中选择一个 API 密钥来切换两种模式(见下文 启用 MCP 工具)。

连接 Slack

  1. 在 Archyl 中前往 组织 → 机器人。
  2. 点击 添加到 Slack。你将被带到 Slack 授权 Archyl 应用并选择一个工作区。
  3. 批准后返回 Archyl,工作区会显示在 已连接 下。
  4. 在 Slack 中将机器人邀请到频道并提及它:
    @Archyl 什么依赖于支付服务?
    

机器人会在话题串中回复,以保持频道整洁。再次提及它(在频道或话题串中)即可追加提问。

  • 编辑 会重新运行 Slack 安装(刷新连接)。
  • 断开连接 会移除该集成。

连接 Microsoft Teams

Teams 使用应用包和一次性连接码。

  1. 在 Archyl 中前往 组织 → 机器人,点击 下载 Teams 应用 以获取 archyl-teams-app.zip。
  2. 在 Teams 中安装该应用:应用 → 管理你的应用 → 上传自定义应用,然后选择该 .zip。(如果看不到该选项,需由 Teams 管理员允许上传自定义应用,或将其上传到组织的应用目录。)
  3. 回到 Archyl,点击 连接 Teams。你会得到一个类似 @Archyl link 6GXH6NKL 的代码。
  4. 在 Teams 中,将这条消息原样发送给 Archyl 机器人(在一对一聊天中只需 link 6GXH6NKL)。机器人会回复 ✅ 已连接到你的 Archyl 组织。
  5. 现在用问题提及它:
    @Archyl API 网关由哪个团队负责?
    

连接码有效期为 15 分钟且仅可使用一次。你可以随时在“机器人”标签页生成新的代码。

注意: Microsoft Teams 机器人需要工作或学校(Microsoft 365)账户——个人 Microsoft 账户无法使用。

启用 MCP 工具(智能体模式)

默认情况下,机器人直接根据你的架构上下文作答。若要让它使用实时 MCP 工具——按名称查找项目、追踪依赖关系、创建 ADR 或文档等——请给它一个 API 密钥:

  1. 在 个人资料 → API 密钥 中创建一个 API 密钥(或复用现有的)。
  2. 前往 组织 → 机器人 → MCP 工具,选择该密钥。
  3. 就这样——下次有人提及机器人时,它会使用 MCP 服务器 的工具来推理你的架构,并在回答前显示它执行的每一步操作。

作用域很重要:

  • 只读密钥允许机器人查询信息,但不能更改任何内容。
  • 写入密钥还允许它创建或更新元素、ADR、文档等。仅当你希望机器人进行更改时才选择写入密钥。

随时选择 无 即可关闭智能体模式并恢复直接回答。

将频道限定到团队或项目

默认情况下,每个频道都能看到组织中的所有项目。这通常没问题,但 #payments 这样的频道一般不该回答关于信贷平台的问题。

要限定某个频道,前往 组织 → 机器人 → 频道范围,点击 限定频道:

  1. 频道可见的内容 —— 一个团队,或一个及以上项目。
  2. 哪个频道 —— 选择平台,为该频道填一个用于列表显示的名称,然后点击 获取命令。
  3. 粘贴命令 —— 在该频道中发送 @Archyl scope <代码>。机器人会确认,范围生效后该频道会立即出现在列表中。

代码有效期为 15 分钟,且仅可使用一次。要重新放开某个频道,在列表中点击其旁边的 清除。

为什么用代码而不是按钮? 机器人以连接它的管理员的权限作答,无法辨别频道中是谁在发言。代码本身就是授权:它由管理员在 Archyl 中生成,因此仅能在频道里发言的人无法更改范围。

一些需要了解的要点:

  • 团队范围会跟随团队。 之后加入该团队的项目会自动纳入,无需重新限定频道。
  • 范围是强制执行的,而非建议。 它作用于每一次工具调用和每一次列表查询:即使有人用 ID 要求,被限定的频道也读不到其他项目。
  • 组织级的 ADR、文档和 API 契约仍然可见 —— 它们属于组织而非某个项目。
  • 名称只是一个标签。 机器人无法读取频道名称,你填写的名称就是列表中显示的内容;实际绑定的是你粘贴命令的那个频道。

从 Slack 或 Teams 启动智能体运行

无需离开 Slack 或 Microsoft Teams,就能把工作交给托管智能体:

@Archyl run [Payments API] add retries to the webhook sender

机器人会在话题串中回复该运行的链接;之后当智能体需要你(有计划待审阅或有问题要问)以及运行完成时,它会再次在该话题串中发帖,并附上 Pull Request 链接。在 Slack 中,它会在这些更新里提及你;在 Teams 中,这些更新以同一话题串中的回复形式送达。

先关联你的聊天账号。 运行会编写代码并创建 Pull Request,因此它是以你的身份、按你的访问权限创建的,而不是使用连接工作区的管理员的权限。前往 个人资料 → 聊天账号,点击 关联我的 Slack 账号 或 关联我的 Microsoft Teams 账号,然后在该平台上任何有机器人的地方发送 @Archyl connect <code>。代码有效期为 15 分钟,且仅可使用一次。可在同一卡片中取消关联,或发送 @Archyl disconnect。Slack 和 Teams 需分别关联。

命令的解析方式:

  • 项目 —— 方括号中的名称。在限定到单个项目的频道中(见将频道限定到团队或项目)可以省略:@Archyl run fix the flaky login test。限定到多个项目的频道只接受其范围内的项目。
  • 智能体配置文件 —— 你组织的默认配置文件,或在任务前用 profile:<name> 指定的其他配置文件:@Archyl run [Web] profile:frontend-fixer align the pricing cards。
  • 访问权限与配额 —— 你需要拥有该项目的编辑权限。每次运行都会计入你组织的智能体运行次数,与在应用中启动的运行完全相同。托管智能体在 Scale 和 Custom 套餐中提供。

计划审阅和对智能体问题的回答都在 Archyl 中、机器人所链接的运行页面上进行。

Slack 中的链接预览

当有人在 Slack 频道中发布 Archyl 页面的链接时,机器人会将其展开为预览:标题、类型和状态、所属项目以及一段摘录。支持指向项目、架构图中的元素、决策、文档页面、变更请求和讨论的链接。在 Archyl 中使用 复制链接 即可获取可分享的链接(提及、引用和链接)。

预览的内容遵循与机器人回答相同的规则:

  • 预览以连接工作区的管理员的权限生成,并且仅针对该工作区所连接组织的项目;
  • 在被限定的频道中,指向范围之外项目的链接仍是普通链接;
  • 指向不存在的内容或机器人无法看到的内容的链接,也仍是普通链接,因此预览永远不会透露某个页面是否存在;
  • 链接在消息发布后才会被预览,而不是在输入过程中。

Microsoft Teams 暂不支持预览 Archyl 链接。

开启预览

预览需要两项 Slack 权限:links:read 和 links:write。在 2026 年 10 月 18 日之前连接的工作区,必须从 组织 → 机器人 重新连接以授予这些权限。

如果你使用自己的 Slack 应用自行部署 Archyl,还需要在 Slack 应用设置中进行配置:

  1. 在 Event Subscriptions 下,订阅 link_shared 机器人事件。
  2. 在同一页面的 App unfurl domains 下添加你的 Archyl 域名,例如 archyl.example.com。

权限的工作方式

  • 机器人以连接工作区的管理员的权限作答,范围限于你组织的项目。
  • 智能体运行是例外:@Archyl run 以输入该命令的人的身份,通过其关联的 Slack 或 Teams 账号执行,并需要此人对该项目的编辑权限。
  • 被限定的频道只能看到其团队或列表中的项目。这在每一次工具调用和每一次列表查询中强制执行,而不是交给提示词。
  • 在智能体模式下,机器人可读取和更改的范围还受所选 API 密钥作用域的约束。
  • 每个问题都会计入你组织的 AI 用量,与应用内聊天相同。

提示

  • 用名称具体说明。 你可以按名称引用项目、系统、ADR 和文档——机器人会为你映射到正确的条目。
  • 在话题串中继续。 再次提及机器人即可继续一连串提问。
  • Markdown 原生可用。 回答会针对各平台进行格式化(加粗、列表、链接、代码)。
  • 限定共享频道。 把 #payments 限定到支付团队,错误的回答就再也不会出现在错误的频道里(将频道限定到团队或项目)。

后续步骤