SuperAPI AI 工具集

slack-connect

办公与效率

查看项目

更新于 10-15 13:50

技能介绍

Slack Connect 是所有 Slack 操作的入口技能。它会校验配置、发现工作区,并把请求路由到合适的子技能。

用途与触发场景 当用户提到以下内容时可加载本技能:slack、connect slack、slack connect;send slack message、message [channel];list slack channels、slack channels;search slack、find in slack;slack users、who's on slack;以及任何对 Slack 操作的引用。

工作流程 第一步:校验配置。始终先运行:python 00-system/skills/slack/slack-master/scripts/check_slack_config.py --json。若 ai_action 为 proceed_with_operation,则进入第二步;若为 run_oauth_setup,则告知用户“Slack needs to be set up. Let me guide you through authorization.”,并运行 python 00-system/skills/slack/slack-master/scripts/setup_slack.py,完成后重新检查配置;若为 create_slack_app,则引导用户创建 Slack App,加载 slack-master/references/setup-guide.md,应用创建后运行设置向导。

第二步:识别用户意图。根据用户说法路由:发送消息到频道走 Messaging → send_message.py;列出频道走 Channels → list_channels.py;获取某频道消息走 Channels → channel_history.py;搜索消息走 Search → search_messages.py;列出用户走 Users → list_users.py;上传文件走 Files → upload_file.py;添加表情回应、置顶消息、设置提醒分别参见 Reactions、Pins、Reminders 相关阶段。

第三步:执行操作。使用 slack-master/scripts/ 下的对应脚本。消息操作包括发送消息(send_message.py --channel --text --json)、更新消息(update_message.py --channel --ts --text --json)、删除消息(delete_message.py --channel --ts --json)。频道操作包括列出频道(list_channels.py --types --limit --json)、获取频道信息(channel_info.py --channel --json)、获取频道历史(channel_history.py --channel --limit --json)。用户操作包括列出用户(list_users.py --limit --json)、获取用户信息(user_info.py --user --json)。搜索操作包括搜索消息(search_messages.py --query --count --json)、搜索文件(search_files.py --query --count --json)。文件操作包括上传文件(upload_file.py --file --channels --title --json)、列出文件(list_files.py --channel --limit --json)。

第四步:处理结果。成功时向用户展示相关信息并格式化输出(频道名、用户名等);出错时可加载 slack-master/references/error-handling.md。常见错误包括 channel_not_found(帮助用户找到正确频道)、missing_scope(添加权限并重新授权)、rate_limited(等待后重试)。

脚本与 API 对应 消息类:send_message.py 对应 chat.postMessage;update_message.py 对应 chat.update;delete_message.py 对应 chat.delete;schedule_message.py 对应 chat.scheduleMessage。会话类:list_channels.py 对应 conversations.list;channel_info.py 对应 conversations.info;channel_history.py 对应 conversations.history;create_channel.py 对应 conversations.create。用户类:list_users.py 对应 users.list;user_info.py 对应 users.info。文件类:upload_file.py 对应 files.upload;list_files.py 对应 files.list。搜索类:search_messages.py 对应 search.messages;search_files.py 对应 search.files。所有脚本均位于 00-system/skills/slack/slack-master/scripts/。

频道与用户解析 当用户以名称引用频道(如 #general)时,先运行 python list_channels.py --json,在响应中找到匹配频道,再使用频道 ID(如 C1234567890)执行操作。当用户以名称引用某人(如 @john)时,先运行 python list_users.py --json,找到匹配用户,再使用用户 ID(如 U1234567890)执行操作。

交互示例 发送消息:用户说“Send 'Hello team!' to #general”,依次执行检查配置、列出频道找到 #general 的 ID、发送消息(send_message.py --channel C1234567890 --text "Hello team!" --json),最后确认“Message sent to #general”。搜索 Slack:用户说“Search slack for 'quarterly report'”,检查配置后执行 search_messages.py --query "quarterly report" --json,展示结果并附带频道名与片段。列出我的频道:用户说“What slack channels am I in?”,检查配置后执行 list_channels.py --types "public_channel,private_channel" --json,展示频道名与成员数。

错误处理 配置错误:无 token 时运行 setup_slack.py;token 无效时重新认证;token 被撤销时重新认证。操作错误:channel_not_found 时列出频道并帮助用户找到正确的频道;missing_scope 时向应用添加权限并重新授权;rate_limited 时等待 retry_after 秒后重试;not_in_channel 时先加入频道。详细错误处理可加载 slack-master/references/error-handling.md。

相关资源 设置指南:slack-master/references/setup-guide.md;API 参考:slack-master/references/api-reference.md;认证:slack-master/references/authentication.md;错误:slack-master/references/error-handling.md。版本 1.0,创建于 2025-12-17,状态为 Production Ready。