slack
作者 vercel-labs通过浏览器自动化,从命令行控制 Slack。slack 技能通过 agent-browser 连接到你已有的 Slack Web 会话,让你可以检查未读频道、扫描私信、搜索会话、抽取数据,并在更大的自动化流程中生成结构化报告。
Overview
What the slack skill does
slack 技能通过驱动浏览器中的 Slack Web 应用来自动化真实的 Slack 工作区。它使用 agent-browser 控制一个已经登录的 Slack 会话,因此你可以:
- 查看哪些频道和私信有未读消息
- 在 Slack 界面中自动导航(Activity、DMs、channels、search 等)
- 从 Slack 各种视图中提取结构化数据
- 截图并作为报告证据保存
- 把可重复的 Slack 检查步骤嵌入更大的自动化工作流
由于它直接作用于实时的 Slack Web 界面,这个技能会沿用你当前的权限、工作区布局和登录状态。
Who this skill is for
如果你符合以下情况,适合使用 slack 技能:
- 同时管理多个 Slack 工作区,需要快速、可重复的状态检查
- 运维、支持或事件处理流程依赖 Slack 消息
- 希望由 agent 或 CLI 任务扫描 Slack,并生成总结或报告
- 更倾向于用浏览器自动化(而不是自建 Slack app 或管理 API token)
它非常适合工程师、SRE/运维、分析师,以及任何在 Slack 之上构建**工作流自动化(workflow automation)或浏览器自动化(browser automation)**的人。
What problems it solves
人工反复检查 Slack 又慢又容易遗漏。slack 技能可以帮你:
- 系统化地找出所有未读频道和未读私信
- 为合规审计或事故复盘采集证据(截图、界面快照)
- 基于模板生成一致的 Slack 活动报告
- 复用成熟的导航路径,而不是每次都重新摸索界面
如果你在写脚本或配置 agent 时,经常想要做类似“check my Slack” 或 “show me all channels with unreads” 的动作,这个技能就是为此设计的。
When slack is not a good fit
在以下场景下,你可能需要考虑其他方式:
- 需要大规模数据导出或历史分析(更适合用 Slack API 或官方导出能力)
- 无法运行浏览器或无法开放调试端口(该技能依赖浏览器自动化)
- 要求完全无 UI 交互的纯编程访问
但对于很多日常运营类工作流,利用 agent-browser 直接操控现有 Slack Web UI 通常是最快上手的方式。
How to Use
Installation and setup
1. Add the slack skill
使用 npx 把 slack 技能安装到你的 agent skills 环境中:
npx skills add https://github.com/vercel-labs/agent-browser --skill slack
该命令会从 vercel-labs/agent-browser 仓库拉取 slack 技能定义及其相关文件(包括 SKILL.md、references 和 templates)。
2. Prepare a Slack browser session
slack 技能假设你已经在一个 agent-browser 可控的浏览器里打开了 Slack,或者能在该浏览器中打开 Slack。
常见的启动方式:
# Option A: 连接到已有浏览器会话(Slack 已经打开)
agent-browser connect 9222
# Option B: 如果 Slack 尚未启动,直接打开
agent-browser open https://app.slack.com
上面示例中的端口(9222)取决于你启动浏览器时配置的 remote debugging 端口,请根据自己的环境调整。
3. Confirm agent-browser access
连接或打开后,先抓取一次 snapshot,确认可以访问 Slack UI:
agent-browser snapshot -i
输出的 snapshot 会列出可交互元素(例如 @e1、@e2 等引用),之后你可以在命令中点击、读取并自动化这些元素。
Core workflow pattern
1. Connect or open Slack
每次会话都从连接 Slack Web 应用开始:
agent-browser connect 9222
# or
agent-browser open https://app.slack.com
2. Discover elements with a snapshot
使用 snapshot 查看当前 Slack 界面上有哪些内容:
agent-browser snapshot -i
你会看到类似 @e14(Activity 标签)、@e13(DMs 标签)或 “More unreads” 按钮对应的 ref。这些引用可以让你的脚本更稳定地驱动导航。
3. Navigate to the relevant view
根据需要点击标签、展开侧边栏或打开特定区域:
# 示例:打开 Activity 标签
agent-browser click @e14
agent-browser wait 1000
导航后可以再次使用 snapshot 来发现新的元素和文本。
4. Extract information or take actions
进入目标视图后,你可以:
- 从 snapshot 中读取消息文本、频道名称或计数
- 点击进入单个频道或私信
- 滚动并截图,为后续总结或分析做准备
检查未读的示例流程:
agent-browser connect 9222
agent-browser snapshot -i
# 在 snapshot 输出中查找 "More unreads"
agent-browser click @e21 # 示例:"More unreads" 按钮对应的 ref
agent-browser screenshot slack-unreads.png
5. Capture evidence
涉及 Slack 的审计、事故复盘或每日 standup 汇报时,通常需要截图和结构化记录。
可以使用:
agent-browser screenshot activity.png
然后结合下面提到的报告模板,把原始发现整理成标准化报告。
Common Slack automation tasks
仓库中提供了 references/slack-tasks.md,其中记录了常见工作流的分步操作模式。典型任务包括:
Check all unread messages across Slack
当你需要全局了解当前还有哪些未读内容时,可以使用这个模式。
高层步骤(完整细节见 references/slack-tasks.md):
- 连接 Slack:
agent-browser connect 9222 - 打开 Activity 标签,检查 Slack 是否提示没有未读。
- 切换到 DMs 标签,找到带未读标记的会话。
- 展开侧边栏中的 "More unreads",列出所有未读频道。
- 对各个视图进行截图,并整理成摘要。
这个模式适合用于定时执行的“check my Slack” 自动化任务,或在 agent 执行其他操作前,先确认你已经处理完 Slack 消息。
Find all channels in a workspace
当你需要盘点当前账号可访问的所有频道时:
- 连接并进行 snapshot:
agent-browser connect 9222 agent-browser snapshot -i - 在侧边栏中找到 "Channels" 区域。
- 点击展开并截图(例如保存为
all-channels.png)。 - 从 snapshot 输出中解析频道名称。
该流程可以作为自动化的基础,用于绘制频道结构、分类活跃度或生成工作区概览。
Using templates and references
Reference playbooks
references/ 文件夹中提供了可直接复用的 Slack 自动化操作说明:
references/slack-tasks.md– 关于检查未读、列出频道等常见工作流的详细模式。
你可以把它当作 agent 或脚本的“作战手册”,按需组合这些步骤序列。
Reporting templates
templates/ 文件夹中包含一个结构化报告模板:
templates/slack-report-template.md– 用于 Slack 分析的 Markdown 报告大纲。
模板包含以下内容:
- 按 Activity、DMs 和 channels 统计未读数量
- 未读频道和未读 DMs 列表
- 频道快照统计信息
- 最活跃频道与关键会话
使用该模板,可以统一自动化任务输出给干系人的 Slack 活动总结样式。
Files to review first
若想理解并扩展 slack 技能,建议优先查看仓库中的这些文件:
SKILL.md– slack 技能的主定义文件,包含描述与可用工具references/slack-tasks.md– 详细的任务流程与自动化模式templates/slack-report-template.md– 面向人的 Slack 报告结构
这些文件展示了预期的使用方式,无需通读整个仓库代码。
FAQ
What is the slack skill in agent-browser?
slack 技能是一个可复用的自动化配置(automation profile),用于指导 agent-browser 如何通过 Slack Web UI 与工作区交互。它专注于检查未读、导航频道和 DMs、搜索、抽取数据等任务,全程基于浏览器自动化,而不是直接调用 Slack API。
How do I install the slack skill?
通过 npx 从 vercel-labs/agent-browser 仓库安装:
npx skills add https://github.com/vercel-labs/agent-browser --skill slack
安装完成后,确保你可以运行 agent-browser,并能够连接到一个已经打开或可以打开 Slack 的浏览器。
Do I need a Slack app or API token to use this skill?
不需要。slack 技能是通过浏览器中的 Slack web application 进行操作。只要你已经在该浏览器中登录 Slack,且 agent-browser 能控制这个浏览器,技能就可以基于你现有的账号和权限执行操作。
Can this skill read all messages in my workspace?
该技能只能看到你的 Slack 账号通过 Web 界面能看到的内容,并不会绕过权限限制。它更适合做运营类检查(未读、频道列表、近期活动),而不是导出整个工作区全部历史消息。
How stable are element refs like @e14 or @e21?
像 @e14 这样的 ref 是每次执行 agent-browser snapshot 时动态生成的,可能会因会话不同或 Slack UI 更新而变化。references/slack-tasks.md 中展示了如何在 snapshot 输出里查找 "Activity"、"DMs" 或 "More unreads" 等文本,然后动态使用对应的 ref,而不是把具体数字写死在脚本里。
Is the slack skill suitable for headless or server environments?
只要你的环境能运行一个可供 agent-browser 通过 remote debugging 连接的浏览器,就可以使用该技能。如果环境完全无法运行或访问浏览器,这种基于浏览器的技能就不合适,此时更推荐基于 API 的集成方式。
What categories of automation does this skill support?
slack 技能主要属于 workflow-automation 工具,同时也属于 browser-automation 工具。它特别适合由 CLI 或 agent 驱动的工作流,用来:
- 在运行其他任务前检查 Slack 状态
- 在事故处理或支持流程中,从 Slack 收集关键信息
- 基于模板生成标准化的 Slack 活动报告
Where can I learn the detailed task flows?
在技能的 Files 视图中,查看以下文件:
SKILL.md:高层定义和快速上手示例references/slack-tasks.md:逐任务的操作说明templates/slack-report-template.md:报告结构
这些文档结合起来,可以帮助你判断如何将 slack 技能适配到自己现有的工作流和约束条件中。
