Slack Bot
AIephant OpenCore Bot 允许已批准的 Slack 用户通过 OpenCore Slack listener 提问。Slack app、token、频道成员关系与回复策略仍属于管理员负责的边界。
仅当部署正在运行 Slack bot listener,并且管理员可以访问 Slack Bots 设置时,此能力才可用。在 OpenCore 中创建记录不会创建 Slack app,也不会启动已被部署禁用的 listener。
可用性与前置条件
通过 manifest 创建 Slack app
OpenCore 表单只接收 token,不会生成 Slack app manifest。请在 Slack 中选择从 app manifest 创建,审查请求的 scope,再安装到已批准 workspace。以下模板匹配当前 listener 的 Socket Mode 事件和 API 调用;管理员仍须按 Slack 当前要求复核,并移除未使用的可选能力。
可选 slash command 与 User Token scope 分别用于相应 listener 路径和增强的私有频道搜索路径。如果部署不使用这些能力,只能在测试变更后的工作流后再移除。
在 Slack 中创建具备 Socket Mode 连接 scope 的 app-level token;只要 Slack 提示 scope 或事件变化需要重新安装,就重新安装 app。将 AIephant OpenCore Bot 邀请到它应接收消息的每个私有或公开频道;scope 不会授予频道成员关系。
在 OpenCore 中添加 token
打开 Admin Panel → Slack Bots → New Slack Bot,并使用精确可见名称 AIephant OpenCore Bot。后端会在保存前通过 Slack 验证每个已提供 token。
只在密码字段和已批准的密钥管理流程中保存 token。不要把它们粘贴到 manifest、聊天、工单、日志、截图或源代码控制中。
频道与回复边界
禁用默认配置后,Bot 不再回复私信,只保留显式配置的频道。问号筛选、仅标记模式、回复有效性检查、选定知识来源与每频道 disabled 状态还可能进一步抑制回复。
知识与隐私
公开频道回复只使用选定范围内的公开知识。包含自动同步权限感知连接器的文档集或搜索 Agent 不能用于普通频道可见回复,因为答案可能暴露私有内容。
当选定搜索路径支持时,私密 ephemeral 回复可以使用请求用户已获授权的内容。Slack 用户仍可复制或分享回复,因此 ephemeral 回复不能替代来源授权或公司共享政策。
更新、启停与移除
更改 Bot 或 App token 后,listener reconciliation loop 会关闭已有 socket client,并使用新的 token 对重新连接。重命名本地记录不会重命名 Slack app;请单独更新 Slack app display name,并将两处名称都保持为 AIephant OpenCore Bot。
关闭 Enabled 后,该 Bot 记录收到的请求会被忽略。重新开启后,listener 下次读取记录时恢复处理。删除记录并不保证清理 socket:只有租户已经没有任何 Bot 记录时,reconciliation 才会关闭全部 client;如果仍有其他 Bot,被删除 Bot 的遗留 socket 不会被显式移除。删除前先禁用该 Bot,并撤销该记录关联的全部 Slack 端 token——Bot、App,以及已配置的 User token;需要确保清除内存状态时重启 listener。对于仍要保留的 Bot,token rotation 仍是安全路径。
验证
- 确认 Socket Mode 已启用、app 已安装,并且 listener 在不记录 token 值的情况下建立连接。
- 在已批准频道中标记 AIephant OpenCore Bot,确认只产生一条 thread 回复。
- 发送私信并验证其遵循默认配置;禁用默认配置后,确认私信不再触发回复。
- 分别测试未配置频道、已配置频道、非成员、allowlist 成员、Bot 消息和私密回复。
- 轮换 App 与 Bot token,在 OpenCore 中更新后先确认 listener 重连,再撤销旧 token。