用途
cyrus-setup-slack 是 Cyrus 的一个配置技能,用于为 Cyrus 建立 Slack 集成,使 Cyrus 能够响应 Slack 频道中的消息。它通过预置的 manifest 创建 Slack 应用,并引导用户完成凭据保存。
主要能力
- 检查 ~/.cyrus/.env 中是否已存在 SLACK_BOT_TOKEN,若已配置则跳过并提示重新配置的方法。
- 读取 CYRUS_BASE_URL(由 setup-endpoint 设置)以及 AGENT_NAME、AGENT_DESCRIPTION(来自编排器 Step 0 的对话上下文)。
- 构建 Slack 应用 manifest JSON,其中事件订阅路径必须为 /slack-webhook,并包含指定的 user 与 bot 权限范围(scopes)。
- 支持三种创建路径:claude-in-chrome 浏览器自动化、agent-browser 自动化、或手动引导用户操作。
- 引导用户将应用安装到工作区,并在 ~/.cyrus/.env 中添加 SLACK_BOT_TOKEN 与 SLACK_SIGNING_SECRET 占位符,打开文件供用户手动粘贴凭据。
- 验证两项凭据均已填写(非空)。
使用方式
技能按步骤执行:
- 检查现有配置:使用 grep 检查 ~/.cyrus/.env 中的 SLACK_BOT_TOKEN。
- 读取变量:获取 CYRUS_BASE_URL、AGENT_NAME、AGENT_DESCRIPTION。
- 构建 manifest JSON,替换占位符为实际值。
- 创建 Slack 应用:优先使用 claude-in-chrome MCP 工具;若 agent-browser 已连接 Chrome 调试会话则使用 agent-browser;否则走手动路径。所有路径均使用“From a manifest”流程,不使用“From scratch”。
- 安装应用并收集凭据:引导用户点击 Install to Workspace 并 Allow;通过 Bash 命令向 ~/.cyrus/.env 追加占位符行;打开文件供用户填写 Bot User OAuth Token(以 xoxb- 开头)与 Signing Secret;最后用 grep 验证两项均非空。
适用场景
适用于需要让 Cyrus 在 Slack 频道中响应消息的配置场景,尤其是希望通过 manifest 快速创建 Slack 应用并安全保存凭据的流程。
限制与安全约束
- 严禁对 ~/.cyrus/.env 或 ~/.cyrus/ 内任何文件使用 Read、Edit、Write 工具,只能使用 Bash 命令(grep、printf >> 等)操作环境变量文件,密钥不得进入对话上下文。
- 严禁从网页抓取、提取或读取密钥值,必须引导用户手动复制。
- 创建应用后不得对凭据页面截图或尝试抓取密钥。
- 事件订阅路径必须为 /slack-webhook,不能使用 /slack/events 或其他路径。
- manifest 中的权限范围列表需与 Slack 应用配置及指定常量文件保持同步。
- 在 Cyrus 实际运行之前,事件订阅的 request_url 无法通过 Slack 的验证挑战;Cyrus 启动后需重新输入 URL 触发验证,或等待 Slack 自动重试。
完成标志
- 已从 manifest 创建并安装 Slack 应用。
- Bot token 与 signing secret 已保存到 ~/.cyrus/.env。