Fleet 可以将任何智能体变成 Slack 团队成员,团队成员可以在频道中提及它,也可以直接向它发送消息。机器人本身就是智能体,而不是位于智能体前面的中转层:它使用智能体自己的指令、工具和权限运行。每个智能体都可以拥有自己的 Slack 应用,因此一个 Slack 工作区可以运行与智能体数量相同的 Slack 机器人:一个负责分类支持请求,一个负责关注值班轮换,另一个负责深入研究资料。

选择设置路径

LangSmith Cloud

连接一次 Slack,然后只需单击一下即可将 Slack 应用添加到任意智能体。

Self-hosted

配置 Slack OAuth 提供商,然后为每个智能体创建自定义 Slack 应用。
设置完成后,请参阅:

智能体可以在 Slack 中执行的操作

连接后,智能体可以:
  • 从频道中的提及、直接消息或群组直接消息启动运行。
  • 在提及它的消息所在的线程中回复。
  • 读取线程和频道历史记录,以获取上下文。
  • 读取它所接收消息中的文件附件。
  • 在敏感工具处暂停,并在 Slack 中收集您的审批。
每个智能体恰好对应一个 Slack 应用。
AI 生成的内容:Slack 中智能体的所有回复均由 AI 生成,可能包含错误或不准确的信息。请务必核实重要信息。
Fleet 的 Slack 集成不收取任何直接费用。不过,智能体运行和跟踪记录会根据您所在组织的计划,通过 LangSmith 平台 计费。如需了解当前价格信息,请参阅 LangSmith 定价页面。

在 LangSmith Cloud 上设置 Slack

在 LangSmith Cloud 上,Fleet 会为您创建并安装每个智能体的 Slack 应用。连接一次 Slack,然后只需单击一下即可将 Slack 应用添加到任意智能体。

前提条件

  • Fleet 中已有一个智能体。请参阅快速入门以创建智能体。
  • 您拥有应用安装权限的 Slack 工作区。

第 1 步:连接 Fleet Slack 管理器

Fleet Slack 应用充当您工作区的管理器。一次连接可以提供以下两项能力:
  • Slack 工具访问权限:机器人可以获得智能体发布消息、读取频道和线程历史记录以及发送直接消息所需的权限范围。
  • 应用管理:Fleet 可以为智能体创建专用 Slack 应用,并代表您将其安装到工作区中;这正是实现一键部署的关键。
要进行连接,请打开 Fleet 中的 Integrations 页面,搜索 Slack,然后在 Slack 卡片上单击 Connect。第一次向智能体添加 Slack 应用时,Fleet 也会在流程中执行此连接,因此您可以直接跳到第 2 步,并在出现提示时进行授权。
工作区中的某人首次连接时,Slack 可能会将请求转交给 Slack 工作区管理员。管理员审核后,可以选择:
  • 允许 Fleet 安装应用:之后,工作区中的任何人都可以直接从 Fleet 创建 Slack 智能体,无需再次审批。
  • 要求每个应用单独审批:Fleet 创建的每个 Slack 智能体都需要管理员单独审批后才能安装。
如果您的工作区要求每个应用单独审批,请按照添加需要管理员审批的应用中的步骤操作。

第 2 步:将 Slack 应用添加到智能体

1

Add Slack to the agent

在 Fleet 中选择您的智能体,然后打开其配置侧边栏。展开 Channels 抽屉并选择 Slack。单击 Add to Slack。如果您尚未连接 Slack,Fleet 会先执行管理器授权。(可选)展开 Advanced 并启用 Allow bot triggers,以允许其他 Slack 机器人的消息启动运行。
2

Confirm the install

Fleet 会使用智能体的名称、描述和图标创建 Slack 应用,并将其安装到您的工作区中。随后,机器人会向您发送一条直接消息,介绍如何邀请它加入频道以及如何提及它。要确认应用已连接,请展开智能体配置侧边栏中的 Channels 抽屉。实时 Slack 频道会显示 Active 状态。

添加需要管理员审批的应用

如果您的 Slack 工作区要求管理员审批每个应用,Fleet 会将新应用保存为草稿,而不是直接安装。完成设置需要经过两轮操作:
  1. 在待处理的 Slack 行上单击 Finish setup。Slack 会打开一个窗口,您可以在其中单击 Request,向工作区管理员发送应用请求。
  2. 管理员批准后,返回 Fleet 并再次单击 Finish setup。Fleet 会安装应用并激活频道。

在 Self-hosted 上设置 Slack

Self-hosted 部署不使用 Fleet Slack 管理器。相反,您需要先为实例配置一次 Slack OAuth 提供商,然后根据 Fleet 生成的清单为每个智能体创建自定义 Slack 应用。

第 1 步:设置 Slack OAuth 提供商

每个 Self-hosted 实例都需要完成一次此设置,之后智能体才能使用 Slack。此设置会为智能体启用 Slack 工具并开启 Slack 频道,从而允许您在第 2 步中添加自定义应用。
1

Configure Helm

选择一个提供商 ID,例如 slack-oauth-provider。将其与存放 OAuth 提供商的组织一起添加到您的 langsmith_config.yaml 中,然后执行部署:
确认 Fleet Pod 已重启。此时提供商 ID 还只是一个名称。接下来的步骤会创建它所引用的提供商。
2

Create a Slack app for the provider

转到 api.slack.com/apps,然后单击 Create New App。
3

Add bot scopes

在 OAuth & Permissions 中,添加以下机器人令牌权限范围:
  • channels:history
  • channels:read
  • chat:write
  • files:write
  • groups:history
  • groups:read
  • im:history
  • im:read
  • im:write
  • mpim:history
  • mpim:read
  • team:read
  • users:read
  • users:read.email
4

Register the provider in LangSmith

从 Slack 应用的 Basic Information 中复制 Client ID 和 Client Secret。在 LangSmith 中,转到 Settings > OAuth Providers 并添加一个提供商:
  • Provider ID:设置为 slackOAuthProvider 的 ID。
  • Client ID:Slack 应用中的值。
  • Client Secret:Slack 应用中的值。
  • Authorization URL:https://slack.com/oauth/v2/authorize
  • Token URL:https://slack.com/api/oauth.v2.access
请在您设置为 providerOrgId 的组织中注册该提供商。Fleet 会从该组织解析提供商,因此在其他位置注册的提供商会导致未知提供商错误。
5

Add the redirect URI to Slack

在 Slack 应用中,转到 OAuth & Permissions > Redirect URLs,然后添加以下地址,将 <hostname> 替换为您的 LangSmith 主机名,将 <provider-id> 替换为您的提供商 ID:
在设置 slackOAuthProvider 之前,Fleet 不会注册 Slack 触发器,Add Slack App 会保持禁用状态,并且 Slack 频道不会显示在智能体上。
第 2 步中的每个自定义 Slack 应用都会获得自己的 OAuth 提供商,向导会根据您粘贴的凭据注册该提供商。这就是第 2 步要求提供单独的客户端 ID、客户端密钥和签名密钥的原因。

第 2 步:创建自定义 Slack 应用

请从您希望机器人运行的智能体开始此流程,这样 Fleet 会在您完成设置时自动为您关联应用。
1

Open the Slack setup dialog

选择您的智能体并打开其配置侧边栏。展开 Channels 抽屉并选择 Slack。您也可以从 Integrations 页面开始:在左侧导航中选择 Slack & Teams,然后在 Slack Apps 部分单击 Add Slack App。
2

Create the app in Slack

  1. 输入机器人的名称。
  2. 单击 Create Slack App。Fleet 会打开 Slack API 网站,并预填应用清单。
  3. 选择您要安装机器人的工作区。
不要在此流程之外创建 Slack 应用。生成的清单会设置 Fleet 所需的事件订阅 URL、交互 URL、OAuth 重定向 URL 和权限范围。手动创建的应用无法接收事件。
3

Enter your app credentials

返回 Fleet,单击 Continue To Credentials,然后从新的 Slack 应用中复制以下值:
  • App ID:来自 Basic Information。
  • Client ID:来自 Basic Information > App Credentials。
  • Client secret:来自 Basic Information > App Credentials。在 Slack 中单击 Show,然后复制完整值。
  • Signing secret:来自 Basic Information > App Credentials。在 Slack 中单击 Show,然后复制完整值。
(可选)启用 Allow bot triggers,以允许其他 Slack 机器人的消息启动运行。单击 Save Credentials。
4

Connect OAuth

  1. 单击 Connect OAuth。Slack 会打开授权窗口。
  2. 单击 Allow,将应用安装到您的工作区中。
需要 Slack 管理员审批的应用:如果 Slack 显示的是 Request 而不是 Allow,则说明您的工作区需要管理员审批:
  1. 在 Slack 窗口中单击 Request,向管理员发送安装请求。这一步才会真正通知管理员。
  2. 返回 Fleet,单击 Save & Request Approval。尽管名称如此,该按钮只会将应用保存为草稿,以便您在管理员批准后继续操作。
请参阅完成 Slack 应用草稿设置。
5

Finish setup

单击 Finish。如果您是从智能体开始的,Fleet 会将应用关联到该智能体。如果您是从 Integrations 页面开始的,请从下拉菜单中选择一个智能体,或单击 Finish Without Agent,稍后再进行关联。

完成 Slack 应用草稿设置

单击 Save & Request Approval 会将应用保存为草稿,因此 Slack 管理员审核安装请求期间,您可以保留当前进度。草稿会显示在 Slack Apps 部分的 Pending Slack admin approval 下。 管理员批准应用后:
  1. 在 Integrations 页面中,在左侧导航选择 Slack & Teams,打开 Slack Apps 部分。
  2. 在草稿上单击 Resume Setup。
  3. 重新输入 Client secret 和 Signing secret。Fleet 不会在草稿中存储密钥,因此请再次从 Slack 中复制。
  4. 单击 Save Credentials,然后单击 Connect OAuth,最后在 Slack 中单击 Allow。
  5. 选择要关联应用的智能体,然后单击 Finish。
每个智能体只能拥有一个 Slack 应用,每个 Slack 应用也只能关联一个智能体。

在 Slack 中使用您的智能体

应用安装完成后,邀请智能体加入频道,通过提及它来启动运行,并且无需离开 Slack 即可响应审批请求。

邀请智能体加入频道

  1. 在 Slack 中,转到您希望使用智能体的频道。
  2. 输入 /invite @YourAgentName 邀请它加入。
  3. 使用 @YourAgentName 提及智能体以启动运行。智能体会在线程中回复。
您也可以向机器人发送直接消息,或将它添加到群组直接消息中。

在 Slack 中批准或拒绝操作

当智能体在需要审批的工具处暂停时,它会直接在 Slack 中发起请求。消息会列出工具和操作,并提供 Approve 和 Deny 按钮,因此您无需离开 Slack 即可做出响应。 如需更多信息,请参阅人在回路中。

Slack 中的错误消息

如果智能体在运行期间遇到错误,它会在线程中回复,而不会保持沉默。对于某些错误类型(例如身份验证错误),回复会包含更多详细信息,帮助您解决问题。

添加 Slack 工具

Slack 工具允许您的智能体发送消息、在线程中回复、读取历史记录以及发送直接消息。无论智能体是通过 Slack、Fleet UI、计划任务还是 webhook 触发的,这些工具都可以使用。 例如,您可以在 Fleet 聊天界面中启动一项长期运行的研究任务,并指示智能体完成后向您发送 Slack 消息。 添加 Slack 工具:
  1. 打开您的智能体,然后在侧边栏中展开 Connections 抽屉。
  2. 单击 Add connection,如果尚未连接 Slack,则添加 Slack。
  3. 添加所需的 Slack 工具:
    • Send Channel Message:向频道发布消息。
    • Reply to Message:在线程中回复。
    • Write Private Message:发送直接消息。
    • Read Channel History:读取最近的频道消息。
    • Read Thread Messages:读取线程中的回复。
  4. 如果系��提示���请授权 Slack 连接。
您也可以让智能体自行添加这些工具。在智能体聊天中尝试输入:“添加 Slack 工具,以便你可以回复消息。”
将每个工具设置为 Auto,即可在无需审批的情况下运行;设置为 Ask,则每次运行前都需要审批。如需更多信息,请参阅人在回路中。

故障排除

智能体不响应

如果智能体没有响应,请尝试以下操作:
  • 在 Fleet UI 中检查线程是否有错误。
  • 确认已邀请智能体加入频道。
  • 确认 Channels 抽屉中的 Slack 频道未暂停。
  • 在 Channels 抽屉中删除 Slack 应用,然后重新设置。

无法提及机器人

如果您收到一条私信,提示您无权提及机器人,则表示您的 Slack ID 未获授权使用该智能体。智能体所有者需要与您共享该智能体,可以将运行访问权限分享给整个 LangSmith 工作区,也可以单独分享给您。

Slack 应用一直处于待审批状态

一直处于待处理状态的 Slack 行表示正在等待 Slack 管理员审批。请让管理员在 Slack 中批准应用,然后再次单击 Finish setup。请参阅添加需要管理员审批的应用。

Add Slack App 处于禁用状态

在 Self-hosted 上,Slack Apps 部分中的 Add Slack App 按钮会一直处于禁用状态,直到设置 fleet.oauth.slackOAuthProvider。请参阅设置 Slack OAuth 提供商。

后续步骤

Add more tools

为智能体连接更多服务

Add more channels

设置电子邮件、计划任务或 webhook 频道

Use templates

从预构建的智能体模板开始