SuperAPI AI 工具集

slack-expert

编程与开发

查看项目

更新于 10-15 08:47

技能介绍

用途

Slack Expert 提供 Slack 平台开发的综合能力,专注于 Slack 应用开发、Block Kit UI 设计和 API 集成。它用于构建健壮、可扩展的 Slack 应用,涵盖安全最佳实践、事件处理和交互式组件。

适用场景

  • 构建或开发 Slack 机器人或应用
  • 需要 Slack API 集成以实现功能
  • 需要实现事件处理或斜杠命令
  • 需要 Block Kit UI 组件或模态框
  • 需要为 Slack 认证实现 OAuth 流程
  • 对 Slack 集成进行安全审计或性能优化

主要能力

Slack Bolt SDK(@slack/bolt)

  • 事件处理模式与中间件架构
  • 自定义中间件的创建与链式调用
  • 动作、快捷方式和视图提交处理器
  • Socket Mode 与 HTTP 模式的实现及权衡
  • 错误处理与优雅降级策略
  • TypeScript 集成与完整类型安全
  • 应用生命周期管理与初始化

Slack Web API

  • Web API 方法掌握与速率限制策略
  • Events API 订阅与验证
  • Conversations API 用于频道/私信/多人私信管理
  • Users API 用于用户在线状态与资料数据
  • Files API 用于文件分享与管理
  • Admin API 用于 Enterprise Grid 功能
  • 分页与游标处理

Block Kit 与 UI 设计

  • Block Kit Builder 模式与最佳实践
  • 交互式组件:按钮、选择菜单、溢出菜单
  • 模态框工作流与多步骤表单设计
  • Home 标签页设计与 App Home 定制
  • 使用 mrkdwn 和纯文本进行消息格式化
  • Attachment 与 Block Kit 迁移策略
  • 块中的输入验证与错误处理

认证与安全

  • OAuth 2.0 流程(V2 实现与 V1 迁移)
  • 机器人令牌与用户令牌的使用模式
  • 令牌轮换与安全存储策略
  • 权限范围与最小权限原则
  • 请求签名验证(时间戳与 HMAC)
  • PKCE(Proof Key for Code Exchange)实现
  • 生产环境中的安全令牌管理

现代 Slack 功能

  • Workflow Builder 自定义步骤
  • Slack Canvas API 集成
  • Slack Lists 用于任务管理
  • Huddles API 用于语音功能
  • Slack Connect 用于外部协作
  • 书签与快捷方式
  • 应用清单配置

错误处理与可靠性

  • 所有 API 调用的全面错误处理
  • 使用指数退避处理速率限制
  • 瞬时故障的重试逻辑
  • 请求超时管理
  • 优雅降级策略
  • 错误日志与监控
  • 用户友好的错误消息

使用方式

该技能通过分析、实现和优化三个阶段工作:

  1. 分析阶段:审查现有 Slack 代码与配置,分析 API 使用模式并识别已弃用功能,评估安全漏洞与令牌管理,评估架构可扩展性,识别速率限制与性能问题。
  2. 实现阶段:设计事件处理器与中间件架构,创建 Block Kit 布局与交互式组件,实现斜杠命令与快捷方式,构建模态框与多步骤表单,设置 OAuth 2.0 V2 认证流程,配置 Webhook 与 Socket Mode/HTTP 模式,添加全面的错误处理与日志记录。
  3. 优化阶段:实现请求签名验证,添加带指数退避的速率限制,确保正确的令牌管理与安全,优化性能与可扩展性,创建全面文档,设置监控与告警。

工具限制

主要工具包括 Read、Write、Edit、Bash 用于 Slack 应用代码实现;Glob、Grep 用于代码分析与重构;WebFetch、WebSearch 用于 Slack API 文档与更新。

无法直接:在未经授权的情况下访问生产 Slack 工作区;将 Slack 应用安装到工作区;管理工作区设置;访问用户令牌或凭据;在未经所有者许可的情况下修改现有 Slack 应用。

最佳实践

应始终:使用 Block Kit 而非旧版 attachment 实现丰富 UI;使用 conversations.* API(而非已弃用的 channels.*);使用 chat.postMessage 配合 blocks 发送结构化消息;使用 response_url 进行延迟响应与更新;使用指数退避处理速率限制;使用环境变量存储令牌与密钥;在 @slack/bolt 中使用 TypeScript 保证类型安全;对所有 API 调用进行正确的错误处理。

绝不应:在代码或版本控制中存储令牌;在生产环境跳过请求签名验证;忽略速率限制头与警告;使用已弃用 API 而不制定迁移计划;向用户发送未格式化或晦涩的错误消息;硬编码工作区 ID 或用户 ID;实现不带 PKCE 的 OAuth;忽略 TypeScript 类型错误。

开发工作流

  • 使用 Socket Mode 进行本地开发
  • 在开发工作区中充分测试
  • 从一开始就实现正确的错误处理
  • 添加日志用于调试与监控
  • 为事件处理器编写单元测试
  • 记录 API 使用与集成点
  • 使用真实用户场景进行测试
  • 监控生产错误与性能

输出格式

标准交付物结构包括:Slack 应用代码(完整的 @slack/bolt TypeScript 实现)、Block Kit 组件(所有 UI 元素的 JSON 结构)、OAuth 流程实现(完整认证代码)、API 文档(集成指南与使用示例)、环境配置(.env 模板与部署配置)、监控设置(错误跟踪与性能监控)、测试套件(单元测试与集成测试)。

代码质量标准:TypeScript 严格类型检查、全面错误处理、请求签名验证、带退避的速率限制、正确的令牌管理、清晰的代码注释、一致的代码风格。

反模式

安全反模式:缺少签名验证、硬编码凭据、弱 OAuth 实现、过度授权范围。

事件处理反模式:未处理的事件、阻塞操作、错误静默、忽略速率限制。

UI/UX 反模式:反馈不清晰、过度使用模态框、复杂导航、设计不一致。

性能反模式:无界循环、内存泄漏、无缓存、响应时间慢。