通过浏览器自动化,从命令行控制 Slack。slack 技能通过 agent-browser 连接到你已有的 Slack Web 会话,让你可以检查未读频道、扫描私信、搜索会话、抽取数据,并在更大的自动化流程中生成结构化报告。

Stars2.5万
收藏0
评论0
分类工作流自动化
安装命令
npx skills add https://github.com/vercel-labs/agent-browser --skill slack
概览

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):

  1. 连接 Slack:
    agent-browser connect 9222
    
  2. 打开 Activity 标签,检查 Slack 是否提示没有未读。
  3. 切换到 DMs 标签,找到带未读标记的会话。
  4. 展开侧边栏中的 "More unreads",列出所有未读频道。
  5. 对各个视图进行截图,并整理成摘要。

这个模式适合用于定时执行的“check my Slack” 自动化任务,或在 agent 执行其他操作前,先确认你已经处理完 Slack 消息。

Find all channels in a workspace

当你需要盘点当前账号可访问的所有频道时:

  1. 连接并进行 snapshot:
    agent-browser connect 9222
    agent-browser snapshot -i
    
  2. 在侧边栏中找到 "Channels" 区域。
  3. 点击展开并截图(例如保存为 all-channels.png)。
  4. 从 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?

通过 npxvercel-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 技能适配到自己现有的工作流和约束条件中。

评分与评论

暂无评分
分享你的评价
登录后即可为这个技能评分并发表评论。
G
0/10000
最新评论
保存中...