用途:通过 Slack Web API 读写 Slack 工作区数据,属于面向 Slack 平台的工具技能,覆盖频道、消息、线程、搜索、文件与 Webhook 签名验证。频道 ID(C...)是稳定主键,使用前先把频道名解析为 ID。
主要能力与用法:提供仅依赖标准库的 slack-cli 脚本,读取默认有界,默认 limit 20、最大 100。只读操作可自由使用,例如 channels list、messages list、threads list、search messages、files list,并支持 --json 输出。发送是唯一的写操作,必须先由人工明确指示频道,再用 --dry-run 预览、用 --yes 确认,脚本在缺少二者时拒绝并返回退出码 1,绝不调用 API;发送需确认返回的 ts 与频道。
Webhook 验证:对入站事件/命令/交互端点,取原始请求体,检查 X-Slack-Request-Timestamp 在约 5 分钟内(防重放),以 HMAC_SHA256 计算 v0=... 并与 X-Slack-Signature 做常量时间比较,失败返回 401。可用 slack-cli webhook verify --body-file body.json --signature "v0=..." --timestamp <unix> 执行该检查。
限制:不用于构建 Slack 应用或机器人(Block Kit、Bolt、OAuth 等应用开发)、工作区管理(用户增删、组织设置、SSO/SAML、组织级数据导出),也不覆盖 Discord、Mattermost、Teams 等其他平台。脚本不下载文件内容,仅返回文件名、ID 与永久链接,需要内容时由人工另行发起带认证的请求。退出码:0 成功,1 API 错误或验证失败,2 用法错误。
适用场景:需要了解某频道说了什么、查找历史消息、跟进线程上下文、确认共享文件存在,或在人工确认后回复消息的日常智能体工作流。