Install
openclaw skills install @thcjp/slack-api-toolkitopenclaw skills install @thcjp/slack-api-toolkit核心功能: 本技能提供中文交互、时使用、、工作流优化时使用等能力。
| 能力 | 免费版 | 付费版 |
|---|---|---|
| 基础功能 | 支持 | 支持 |
| 代码静态分析与质量评分 | 不支持 | 支持 |
| 依赖漏洞检测与升级建议 | 不支持 | 支持 |
| 批量代码审查与报告生成 | 不支持 | 支持 |
| CI/CD流水线集成 | 不支持 | 支持 |
| 代码复杂度可视化与重构建议 | 不支持 | 支持 |
| 能力 | 说明 | 专业版支持 |
|---|---|---|
| 托管OAuth连接 | 自动管理Token | 是 |
| 消息全操作 | 发送、回复、更新、删除、定时 | 是 |
| 频道全管理 | 创建、加入、离开、归档、重命名、设置主题 | 是 |
| 文件管理 | 上传、下载、删除、查询 | 是 |
| 消息与文件搜索 | 全工作区搜索 | 是 |
| 表情反应 | 添加、删除、查询反应 | 是 |
| 书签与置顶 | 书签增删改查、消息置顶 | 是 |
| 直接消息 | 打开DM、列出DM频道 | 是 |
| 批量操作 | 批量发消息、批量管理 | 是 |
| 定时消息 | 定时发送与取消 | 是 |
| 审计日志 | 操作全程留痕 | 是 |
| 多工作区管理 | 多连接切换 | 是 |
详细的输入输出格式请参考下方章节说明。
某公司需要在新员工入职时自动:创建欢迎频道、发送入职指南、邀请至相关频道、置顶重要文档。使用专业版工作流:批量创建频道 → 批量发送消息 → 批量邀请成员 → 置顶消息,全程自动化,操作留痕供审计.
集团有多个Slack工作区(按事业部划分)。管理员使用专业版多连接管理:建立多个工作区连接,通过--connection指定目标工作区,统一管理跨工作区的公告发布与频道治理.
金融行业客户要求所有Slack操作可追溯。专业版审计日志记录每次消息发送、文件上传、频道变更的操作者、时间、目标与结果,支持导出供合规审计。敏感操作(如批量删除消息)实时告警.
运营团队需要查找过去30天内所有提及"产品发布"的消息并归档。使用专业版搜索接口:search messages "产品发布",结果导出为报告,无需逐频道翻阅.
Agent根据业务事件自动执行Slack操作:如CI构建失败时,Agent搜索相关频道、发送带文件附件的告警、添加表情反应标记优先级、置顶关键信息。专业版提供完整API支撑此类复杂工作流.
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Slack网关账户 | 在线服务 | 必需 | 在网关控制台注册 |
| Slack工作区 | 在线服务 | 必需 | 在Slack创建或加入 |
| Node.js | 运行时 | 可选 | CLI安装需要 |
| Python | 运行时 | 可选 | Python SDK需要 |
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
SGW_API_KEY或通过sgw login保存| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 否 | slack-api-toolkit处理的内容输入 |
| strict_level | string | 否 | 审查严格度, 可选: strict/normal/loose, 默认: normal |
{
"success": true,
"data": {
"overall_grade": "A",
"total_score": 92,
"max_score": 100,
"summary": "处理完成",
"details": [
{
"item": "代码风格",
"status": "pass",
"score": 95,
"comment": "符合规范"
},
{
"item": "安全合规",
"status": "warn",
"score": 80,
"comment": "符合规范"
}
],
"improvements": [
{
"priority": "high",
"suggestion": "建议优化",
"expected_gain": "+5分"
},
{
"priority": "medium",
"suggestion": "建议优化",
"expected_gain": "+3分"
}
]
},
"error": null
}
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 400 Missing connection | 未建立Slack连接 | 运行sgw connection create slack |
| 401 Invalid API key | API Key无效或过期 | sgw login重新登录 |
| 429 Rate limited | 超过10请求/秒 | 降低频率或使用批量接口 |
| missing_scope | OAuth权限不足 | 在控制台为连接申请额外权限 |
| file_not_found | 文件ID错误 | 确认ID以F开头,从file list获取 |
| channel_not_found | 频道ID错误 | 确认ID格式(C/G/D开头) |
| 依赖项 | 类型 | 必需 | 说明 |
|---|---|---|---|
| LLM | 模型 | 是 | 需要LLM进行智能审查, 推荐GPT-4/智谱GLM-4/DeepSeek |
| API Key | 凭证 | 否 | 使用云端LLM时需要 |
国内替代方案:
# 列出文件(按频道、用户、类型过滤)
sgw slack file list --count 100
sgw slack file list --channel C0123456789 --user U0123456789 --types images,pdfs
# ...
# 上传文件
sgw slack file upload --file ./example.txt --channel C0123456789 --title '示例文件'
# ...
# 查看文件信息
sgw slack file view F0123456789
# ...
# 删除文件
sgw slack file delete F0123456789
# 创建定时消息
sgw slack schedule create --channel C0123456789 --text '每日站会提醒' --post-at 1734567890
# ...
# 列出定时消息
sgw slack schedule list
# ...
# 删除定时消息
sgw slack schedule delete --channel C0123456789 --id Q1234567890
# 添加反应
sgw slack reaction add --channel C0123456789 --ts 1234567890.123456 --emoji thumbsup
# ...
# 查看消息上的反应
sgw slack reaction get --channel C0123456789 --ts 1234567890.123456
# ...
# 添加书签
sgw slack bookmark add --channel C0123456789 --title '团队手册' --type link --link https://example.com/handbook
# ...
# 编辑书签
sgw slack bookmark edit --channel C0123456789 --bookmark-id Bk0123456789 --title '更新标题'
# ...
# 置顶消息
sgw slack pin add --channel C0123456789 --ts 1234567890.123456
import os
import requests
# ...
api_key = os.environ['SGW_API_KEY']
base = 'https://api.slack-gateway.com/slack/api'
# ...
# 搜索消息
resp = requests.get(f'{base}/search.messages',
headers={'Authorization': f'Bearer {api_key}'},
params={'query': '产品发布'})
print(resp.json())
# ...
# 上传文件
with open('./report.pdf', 'rb') as f:
resp = requests.post(f'{base}/files.upload',
headers={'Authorization': f'Bearer {api_key}'},
data={'channels': 'C0123456789', 'title': '月度报告'},
files={'file': f})
print(resp.json())
A:批量结果按项返回状态。失败项可单独重试。常见失败原因包括频道不存在、权限不足、速率限制.
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 请求重试;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |
A:单文件最大1GB(v2接口)。大文件建议使用files.getUploadURLExternal分片上传.
A:新上传文件与消息有索引延迟(通常几分钟)。搜索支持Slack查询语法细化结果,如in:#channel from:@user.
A:post_at使用Unix时间戳(UTC)。按本地时区计算后转换为UTC时间戳传入.
A:始终指定--connection或Maton-Connection头。默认连接可能与预期不符,显式指定最安全.
A:可以。本工具通过托管OAuth建立独立连接,不影响现有Slack App。两者可并行使用同一工作区.
A:专业版提供protocol endpoint集成适配,工具通过本工具调用Slack API。配置protocol server时指定网关地址与API Key,protocol endpoint即可操作Slack全部能力.
A:默认保留90天,可配置延长至1年。日志支持导出为JSONL格式供长期归档.
| 操作步骤 | 手动耗时 | 自动化耗时 | 时间节约 | 准确率提升 |
|---|---|---|---|---|
| 批量创建频道 | 30分钟/频道 | 5分钟/频道 | 25分钟/频道 | 100% |
| 批量发送消息 | 5分钟/条 | 1分钟/条 | 4分钟/条 | 100% |
| 批量邀请成员 | 10分钟/成员 | 2分钟/成员 | 8分钟/成员 | 100% |
| 定时发送消息 | 5分钟/条 | 1分钟/条 | 4分钟/条 | 100% |
| 审计日志生成 | 1小时/工作区 | 5分钟/工作区 | 55分钟/工作区 | 100% |
| 对比维度 | 本技能 | 手动操作 | Python脚本 | 专业软件 |
|---|---|---|---|---|
| 功能全面性 | 全API端点覆盖 | 部分功能支持 | 部分功能支持 | 全功能支持 |
| 操作便捷性 | 一键操作 | 逐个操作 | 编写脚本 | 需要配置 |
| 系统集成 | 一键集成 | 手动配置 | 需要集成 | 需要集成 |
| 成本效益 | 低成本 | 高成本 | 中等成本 | 高成本 |
| 支持服务 | 专业支持 | 无支持 | 社区支持 | 专业支持 |
| 痛点 | 描述 | 影响范围 | 解决方案 | 量化效果 |
|---|---|---|---|---|
| 自动化程度低 | 手动操作繁琐,效率低 | 影响工作效率 | 提供自动化工具 | 提高效率50% |
| 系统集成困难 | 集成不同系统需要大量工作 | 影响工作效率 | 提供集成工具 | 提高效率30% |
| 审计困难 | 操作无法追踪,难以审计 | 影响合规性 | 提供审计日志 | 提高合规性90% |
| 错误现象 | 可能原因 | 诊断步骤 | 解决方案 |
|---|---|---|---|
| 无法连接到Slack网关 | 网络连接问题 | 检查网络连接 | 修复网络连接 |
| API调用失败 | API Key无效 | 检查API Key | 更新API Key |
| 批量操作失败 | 参数错误 | 检查参数 | 修正参数 |
| 审计日志缺失 | 审计功能未开启 | 检查审计设置 | 开启审计功能 |
| 定时任务未执行 | 定时任务配置错误 | 检查定时任务配置 | 修正定时任务配置 |
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| API密钥泄露 | 高 | 通过环境变量配置,禁止硬编码 | 定期检查代码和配置文件 |
| 命令执行风险 | 高 | 仅执行白名单命令,避免拼接用户输入 | 使用沙箱环境测试 |
| 网络通信安全 | 中 | 使用HTTPS协议,验证SSL证书 | 定期检查证书有效期 |
| 敏感数据暴露 | 高 | 输出结果中不包含密钥、令牌等敏感信息 | 日志脱敏审查 |
| 未授权访问 | 中 | 限制访问权限,实施认证机制 | 定期审计访问日志 |
A1: Slack全功能集成方案,含文件、搜索、反应、书签、批量操作与审计日志。Slack API工具箱(专业版)为团队与企业提供Slack API的全功能集成方案,覆。支持文本指令和结构化参数输入,具体格式参考使用流程章节。
A2: 是的,部分功能需要配置对应平台的API Key。请在依赖说明章节查看具体要求,并通过环境变量安全配置。
A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。