> ## Documentation Index
> Fetch the complete documentation index at: https://cndoc-langchain.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 将 Slack 与代理集成

> 将 LangSmith Fleet 连接到您的 Slack 工作区，让您的代理能够在 Slack 中与用户沟通。

通过 LangSmith Fleet，您可以安全地将代理连接到 Slack 工作区，让您的代理能够在 Slack 中与用户沟通。

集成后，您的代理将能够：

* 直接从您的 Slack 机器人接收消息，并以消息内容开始新的运行。
* 处理消息后，向您的 Slack 工作区进行回复。
* 通过读取线程消息和对话历史，从 Slack 获取相关上下文。

LangSmith Fleet 提供两种将代理连接到 Slack 的方式：**自定义 Slack 机器人**（推荐）和**默认 Slack 机器人**。

## 自定义机器人与默认机器人

|              | [自定义 Slack 机器人](#设置自定义-slack-机器人) | [默认 Slack 机器人](#设置默认-slack-机器人) |
| ------------ | --------------------------------- | ------------------------------- |
| **Slack 应用** | 您自己的应用，通过 LangSmith 创建            | LangSmith 的 Slack 账户            |
| **触发方式**     | 直接使用 `@Bot_Name` 标记机器人            | 频道中的每条消息                        |
| **私信**       | ✅                                 | ❌                               |
| **最适合**      | 从 Slack 进行直接的双向沟通。                | 每当特定频道中有消息发送时开始一次运行             |

<Info>
  与 Fleet 的 Slack 集成本身不产生直接费用。但是，代理运行和跟踪会根据您组织的计划通过 [LangSmith 平台](https://smith.langchain.com) 进行计费。

  有关当前定价信息，请参阅 [LangSmith 定价页面](https://www.langchain.com/pricing)。
</Info>

## 设置自定义 Slack 机器人

自定义 Slack 机器人可让您的代理与 Slack 之间实现完全的双向通信。

### 前提条件

* Fleet 中已有一个代理（参见 [快速入门](/langsmith/fleet/quickstart) 创建一个）
* 拥有 Slack 工作区的管理员访问权限或安装应用的权限

### 创建 Slack 应用

<Steps>
  <Step title="创建新的 Slack 应用">
    1. 导航到 Fleet 中的 **集成** 页面，进入 **应用** 部分。
    2. 点击 **添加 Slack 应用**。
    3. 为机器人输入一个名称。
    4. 点击 **创建 Slack 应用**。您将被重定向到 Slack API 网站，并弹出一个窗口要求您选择一个工作区。

    <Warning>
      请勿在此流程之外创建单独的 Slack 应用。应用必须通过此弹出窗口创建。
    </Warning>
  </Step>

  <Step title="选择您的工作区">
    1. 选择您要安装机器人的工作区。
    2. 点击 **下一步**。
    3. 点击 **创建机器人**。
  </Step>

  <Step title="输入您的应用凭据">
    创建机器人后，您将收到应用凭据。在 Fleet 中输入以下凭据：

    * 应用 ID
    * 客户端 ID
    * 客户端密钥
    * 签名密钥

    <Note>
      请仔细复制完整的客户端密钥和签名密钥，以确保连接成功。
    </Note>
  </Step>

  <Step title="连接 OAuth">
    1. 点击 **连接 OAuth**。
    2. 点击 **允许** 以授予 Fleet 访问您的应用的权限。
  </Step>

  <Step title="完成设置">
    将您的 Slack 机器人链接到现有代理，或点击 **完成** 以稍后链接。
  </Step>
</Steps>

### 将 Slack 机器人链接到代理

您可以从集成页面或代理编辑器将 Slack 机器人链接到代理。每个代理只能有一个 Slack 应用，每个 Slack 应用只能链接到一个代理。

<Tabs>
  <Tab title="从集成页面">
    1. 导航到 Fleet 中 **集成** 页面的 **Slack 应用** 部分。
    2. 选择您要链接的机器人。
    3. 从下拉菜单中，选择您要链接到的代理。
    4. 验证机器人名称旁边是否显示 **\<代理名称>**。
  </Tab>

  <Tab title="从代理编辑器">
    1. 从左侧导航栏的 **我的代理** 中选择您的代理。

    2. 点击 <Icon icon="pencil" /> **编辑代理**。

    3. 滚动到 **频道** 部分。

           <Note>
             您可能需要先设置代理身份。点击右上角的 **设置身份**。
           </Note>

    4. 点击 **Slack**。

    5. 从下拉菜单中，选择您要链接的 Slack 应用。
  </Tab>
</Tabs>

### 邀请机器人到您的频道

1. 在 Slack 中，转到您要使用机器人的频道。
2. 输入 `/invite @YourSlackBotName` 以邀请机器人。
3. 发送一条提及机器人的消息以验证其是否响应。

### 配置代理行为（可选）

您的代理需要知道如何处理传入的 Slack 消息。通过在代理聊天中直接提示来更新其指令：

```
更新您的指令以处理 Slack 触发器和 Slack 工具，实现双向通信
```

根据您的用例调整指令——例如，您可能希望代理只响应某些类型的问题，或在回复前从特定来源拉取信息。

## 设置默认 Slack 机器人

默认 Slack 机器人使用 LangSmith 的 Slack 账户，并在连接的频道中发布的每条消息上触发您的代理。它无法接收私信。

<Steps>
  <Step title="通过 Slack 进行身份验证并获取频道 ID">
    1. 在 [Fleet > 集成页面](https://smith.langchain.com/agents/tools) 上，通过 Slack 进行身份验证。
    2. 在 Slack 中，将默认应用 (`@LangSmith Fleet`) 邀请到一个频道。
    3. 复制频道 ID。
  </Step>

  <Step title="打开代理编辑器">
    在 [Fleet](https://smith.langchain.com/agents) 中，选择您的代理并点击 <Icon icon="pencil" /> **编辑代理** 图标。
  </Step>

  <Step title="添加 Slack 频道">
    1. 在 **频道** 部分，点击 **Slack**。
    2. 导航到 **LangSmith Bot** 并点击 **添加频道**。
    3. 粘贴频道 ID 和频道名称。
  </Step>

  <Step title="开始运行">
    在频道中发送任何消息以开始一次运行。
  </Step>
</Steps>

## 添加 Slack 工具

Slack 工具让您的代理能够发送消息、在线程中回复以及读取频道历史记录。无论代理是如何触发的——无论是通过 Slack、Fleet UI、计划任务还是 webhook——它们都能工作。

例如，您可以在 Fleet 聊天 UI 中启动一个长时间运行的研究任务，并指示代理在完成后向您发送一条 Slack 消息。

<Tip>
  您也可以要求您的代理自行添加这些工具。在代理聊天中，尝试：“添加 Slack 工具，以便你可以响应消息。”
</Tip>

1. 在代理编辑器中，滚动到 **工具** 部分。
2. 点击 **+ 添加**。
3. 搜索“Slack”并添加您需要的工具（如果尚未添加）：
   * **slack\_send\_channel\_message**—向频道发布消息
   * **slack\_reply\_to\_message**—在线程中回复
   * **slack\_write\_private\_message**—发送私信
   * **slack\_read\_channel\_history**—读取最近的消息
   * **slack\_read\_thread\_messages**—读取线程回复
4. 如果出现提示，点击 **连接** 以授权 Slack 工具。
5. 点击 **保存更改**。

## 故障排除

### 代理不响应

如果您的代理没有响应，您可以尝试以下操作：

* 检查 Fleet 中的线程是否有需要人工输入的审批。
* 验证机器人是否已被邀请到频道。
* 检查 **动态** 选项卡是否有错误。
* 确保频道在 **频道** 部分中未被暂停。
* 尝试重新通过 Slack 进行身份验证，以确保 Fleet 存储了您最新的 Slack 用户 ID。

### 不允许标记机器人

如果您收到一条私信，说您不允许标记机器人，那么您的 Slack ID 未被授权用于该代理。代理的所有者需要与您共享代理——可以通过与整个工作区共享运行访问权限，或单独与您共享。

## 后续步骤

<CardGroup cols={3}>
  <Card title="添加更多工具" icon="puzzle" href="/langsmith/fleet/tools">
    将其他服务连接到您的代理
  </Card>

  <Card title="添加更多频道" icon="bolt" href="/langsmith/fleet/channels">
    设置电子邮件、计划任务或 webhook 频道
  </Card>

  <Card title="使用模板" icon="layout-grid" href="/langsmith/fleet/templates">
    从预构建的代理模板开始
  </Card>
</CardGroup>

***

<div className="source-links">
  <Callout icon="terminal-2">
    [将这些文档](/use-these-docs) 通过 MCP 连接到 Claude、VSCode 等，以获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/langsmith/fleet/slack-app.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
