> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.alephant.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.alephant.io/_mcp/server.

# Slack

> 使用部署支持的认证和访问模型配置 Slack 频道与消息串索引。

## 索引内容

Slack 连接器会索引 Slack Bot 可访问的未归档公开频道和私有频道中的消息串。一条根消息及其回复会成为一个可搜索文档。连接器的频道抓取范围不包括私信。

默认会过滤 Bot 和 App 消息。需要索引自动化信息流时可以将其纳入。还可以通过精确的小写名称或完全匹配的正则表达式限定频道，然后在包含过滤器之后应用单独的排除列表。

| 设置                           | 索引效果                                |
| ---------------------------- | ----------------------------------- |
| Channels                     | 留空时考虑凭据可访问的所有公开或私有频道；也可输入精确频道名缩小范围。 |
| Enable Channel Regex         | 将每个 Channels 值视为完全匹配的正则表达式。         |
| Channels to Exclude          | 在包含过滤器之后移除精确匹配的频道名。                 |
| Enable Exclude Channel Regex | 将每个排除项视为完全匹配的正则表达式。                 |
| Include Bot Messages         | 纳入默认会跳过的 Bot 和 App 消息。              |

## 前置条件

* OpenCore Admin 必须能够创建凭据和连接器。
* 在工作区安装 Slack App，并确保其 Bot 可以看到所有计划索引的频道。私有频道需要显式添加 Bot。
* 内置 OAuth 流程会请求频道历史/读取、私有频道历史/读取、加入频道、读取用户和邮箱、读取用户组以及私信历史 scope，但内置 OAuth 不会请求 `team:read`。普通单工作区可以使用该内置 OAuth；索引连接器仍只抓取公开和私有频道，不抓取私信。
* Enterprise Grid 验证会调用 `auth.teams.list`。当前内置 OAuth 不会请求 `team:read`，因此 Grid 部署必须使用带 `team:read` 的手工 Bot Token，除非部署已明确扩展内置 OAuth scope。
* 内置 OAuth 需要 `OAUTH_SLACK_CLIENT_ID`、`OAUTH_SLACK_CLIENT_SECRET`、正确的 `WEB_DOMAIN` 和部署的 OAuth 状态存储。如果这些条件不具备，请手工创建 Bot Token 凭据。

## 凭据

| 方式          | OpenCore 凭据值                         | 说明                                                                                                            |
| ----------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------- |
| Slack OAuth | 无需把 Token 粘贴到表单。                     | 仅当部署启用了 Slack OAuth 且配置了客户端环境时可用。适用于普通工作区；Enterprise Grid 需要部署扩展 `team:read` scope。OpenCore 会保存返回的 Bot Token。 |
| Bot Token   | `slack_bot_token: <SLACK_BOT_TOKEN>` | 使用已批准 Slack App 的 Bot Token。Enterprise Grid 需要包含 `team:read`。不要把用户 Token 或生产 Token 粘贴到文档或支持消息中。               |

Slack 已实现 OAuth。Admin UI 是否提供 OAuth 取决于部署配置。对于 Enterprise Grid，除非部署已扩展内置 OAuth 请求并加入 `team:read`，否则请使用手工 Bot Token 路径。

## 在 OpenCore 中配置

1. 在 Admin 后台打开 **Connectors**，选择 **Slack**，然后创建或选择 Slack 凭据。普通工作区可使用内置 OAuth；Enterprise Grid 应使用带 `team:read` 的手工 Bot Token，除非部署已扩展 OAuth。
2. 根据需要输入频道包含列表。频道名会被规范化为小写。
3. 仅当每个值都是有效的完全匹配模式时，才启用包含正则表达式。
4. 为绝不能索引的频道添加精确或正则排除项。
5. 决定是否纳入 Bot 和 App 消息。
6. 选择部署提供的文档访问模式，设置刷新和清理选项，然后创建连接器。
7. 将生成的文档集附加给 Agent 前，先运行首次索引尝试。

## 权限

Slack 源权限同步是一项有部署条件的能力。当 **Auto Sync Permissions** 可用且已选择时，OpenCore 会解析频道访问权，并为已索引消息串保存源访问规则。私有频道仅限解析出的成员。

对于 Enterprise Grid 公开频道，只有当工作区/Team 映射已知且非空，并且所涉及工作区的已解析用户并集不超过 5,000 条时，OpenCore 才会按该用户并集限制访问。如果映射未知或为空、频道所属工作区不在映射中，或用户并集超过 5,000 条的实现上限，权限同步会对该公开频道 fail-open，并将其保存为 OpenCore Public。此后所有 OpenCore 用户都能搜索该频道，范围可能大于 Slack 工作区成员。该回退仅适用于公开频道，不会把私有频道变为 Public。

源权限同步不可用或未选择时，搜索不会自动执行 Slack 频道成员关系。对于受限内容，请使用 OpenCore **Private** 访问模式并显式分配用户组；只有当所有 OpenCore 账号都可查看全部已索引 Slack 内容时，才使用 **Public**。

## 验证

1. 确认凭据验证能够完成认证并列出至少一个公开频道。
2. 启动索引尝试，确认完成时没有 `invalid_auth`、`not_authed`、`token_revoked` 或 `missing_scope` 错误。
3. 搜索所包含频道中的一条近期根消息和一条回复。
4. 确认被排除的频道和默认过滤的 Bot 消息没有出现。
5. 如果选择了 Auto Sync Permissions，分别使用一个可访问和一个不可访问私有频道的用户测试。
6. 在 Enterprise Grid 上，还要用不属于该频道所共享到任何 Slack 工作区的 OpenCore 用户验证一个公开频道。如果该用户能搜索到它，应将该频道视为 fail-open 的 OpenCore Public，并在发布前确认所有 OpenCore 用户都获准查看其内容。

## 故障排除

| 现象                               | 检查项                                                                                                 |
| -------------------------------- | --------------------------------------------------------------------------------------------------- |
| 列出频道或验证 Grid 时出现 `missing_scope` | 为 App 授予所需的公开/私有频道读取 scope。对于 Enterprise Grid，应使用带 `team:read` 的手工 Bot Token，除非部署已扩展内置 OAuth scope。 |
| 缺少某个私有频道                         | 将 Slack Bot 添加到该频道，并确认精确或正则过滤器没有将其排除。                                                               |
| 看不到 Bot 生成的内容                    | 启用 **Include Bot Messages**；该选项默认关闭。                                                                |
| 正则表达式导致连接器创建失败                   | 修复无效模式。包含和排除正则表达式都采用完全匹配语义。                                                                         |
| OAuth 失败或按钮未显示                   | 检查 Slack OAuth 客户端值、公开回调域名和 OAuth 状态存储；否则使用手工 Bot Token。                                            |
| Grid 公开频道在所属工作区之外可见              | 检查工作区/Team 发现或用户枚举是否失败、频道是否未映射到已知工作区，或解析出的用户并集是否超过 5,000 条。任一条件都可能使该公开频道变为 OpenCore Public。         |

## 相关页面

* [连接器与索引](/opencore/knowledge/connectors)
* [索引设置](/opencore/knowledge/index-settings)