BrowserSkill 浏览器自启动器:让 bsk 抓取任务自己拉起 Edge

前言

用 BrowserSkill(bsk)做网页抓取或浏览器自动化时,前置条件往往是:本机 Microsoft Edge 已打开,且 BrowserSkill 扩展已连上本地 daemon。定时脚本、流水线或无人值守任务很难在每次运行前让人工去开浏览器;一旦未连接,常见报错包括 “no browser is connected to the daemon” 或 browsers connected 0,后续 bsk navigate、bsk snapshot 等命令无法继续。

BrowserSkill 本身侧重浏览器内能力,不负责跨环境拉起浏览器进程。下面介绍 SkillHub 上的 BrowserSkill 浏览器自启动器(坐标 @user_656c2e70/bsk-browser-launcher):在任务侧做连接自检、按需启动 Edge,并约定退出码,供各类 bsk 抓取 skill 复用。

这是什么

BrowserSkill 浏览器自启动器(bsk-browser-launcher,v1.0.0)是社区来源(community)的 Agent Skill,分类为 data-analysis,由 SkillHub 用户 user_656c2e70 发布;标签 requires_api_key=false,不依赖额外 API Key。

一句话定位:在自动化/抓取任务中自动拉起本机 Edge 与 BrowserSkill 扩展,并确保 daemon 已连接。它是通用基础组件,只负责「让浏览器可用」,不包含登录、数据处理或发布等业务逻辑。

官方页面:SkillHub - BrowserSkill 浏览器自启动器。API 入口:https://api.skillhub.cn/user_656c2e70/bsk-browser-launcher。

核心功能

依据 Skill 包内 SKILL.md 与 scripts/launch_browser.py,已核实能力如下。

连接自检与自动启动

核心脚本为 scripts/launch_browser.py,流程为:

  1. 执行 bsk status,判断是否已有浏览器连上 daemon;
  2. 若未连接,启动本机 Edge(扩展随浏览器自启并尝试连接 daemon);
  3. 轮询等待连接(默认最长 40 秒,可用 --wait 调整);
  4. 连接成功则退出码 0 并打印确认信息。

退出码约定

码 含义 建议处理
0 浏览器已连 daemon;若带 --start-session 还会输出 SESSION=<id> 继续抓取
3 在等待时间内始终未连上 降级(如 WebFetch)或标记待补抓,避免整链阻断
4 --start-session 下会话创建失败或超时 重试或降级

会话创建辅助

可选参数 --start-session:在连接就绪后执行 bsk session start(脚本内带超时),打印 SESSION=<id>,便于下游步骤直接 bsk navigate --session <id> 等操作。包内 references/bsk_notes.md 还整理了 daemon/扩展架构、SPA 导航超时后仍可 snapshot、Windows 中文编码等与 bsk 自动化相关的注意点。

安装与启用

SkillHub 官方推荐让 Agent 按安装文档处理,或本地使用 skillhub CLI。安装前可先检查 CLI:

command -v skillhub && skillhub --version

未安装时,可按 SkillHub 安装文档 执行完整安装或仅 CLI:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
# 仅 CLI:
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only

安装本 Skill 时,必须用 --dir 指向当前 Agent 的 skills 目录(否则默认落在 ./skills/ 且可能不被识别)。示例:

skillhub install @user_656c2e70/bsk-browser-launcher --dir <skills 目录>

也可将以下提示交给 AI,让其按同一文档完成安装:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_656c2e70/bsk-browser-launcher。

常见 skills 目录(摘自 SkillHub 安装文档,以你本机 Agent 为准):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

本 Skill 基于通用 SKILL.md 格式;安装后 Agent 读取该 Skill 即可按文档调用 scripts/launch_browser.py。

典型用法

进入 Skill 目录(或在工作区中引用该脚本路径)后,先做连接自检:

python scripts/launch_browser.py

若希望连上后顺便创建会话并拿到会话 id,可执行:

python scripts/launch_browser.py --start-session

需要更长等待时间时(秒):

python scripts/launch_browser.py --wait 60

带会话的自动化最小骨架(与官方 SKILL.md 一致):

python scripts/launch_browser.py --start-session   # 输出 SESSION=xxxx
# 解析出 id 后:
bsk navigate --session <id> "https://example.com/..."
bsk snapshot --session <id> > snap.txt
# ... 抓取处理 ...
bsk session stop <id>

在新建会跑 bsk navigate / bsk snapshot / bsk click 等的 skill 或脚本时,宜在业务逻辑之前先跑上述启动步骤。

适用场景与注意

适合谁

  • 已使用 BrowserSkill 做抓取或 UI 自动化,且任务需要无人值守或批量调度;
  • 多个抓取类 Skill 共用同一套「浏览器就绪」前置,希望抽成独立组件;
  • 遇到 daemon 已运行但 browsers connected 0 时,需要可脚本化的拉起与重试策略。

限制与注意

  • 脚本通过 USERPROFILE 解析路径,默认查找 ~/.local/bin/bsk.exe 与常见 Windows Edge 安装路径(C:/Program Files (x86)/Microsoft/Edge/... 等)。非标准安装位置需自行确认可执行文件是否存在。
  • 当前实现面向 Windows + Edge + bsk.exe 的典型布局;Linux/macOS 上若路径不同,需按环境调整或手动保证浏览器与扩展已连接。
  • 扩展连接是异步的,应由 launch_browser.py 轮询完成,调用方不必再写固定 sleep。
  • Skill 不含业务凭证,仅做浏览器生命周期与连接管控;抓取与发布仍应分离(例如发布走开放 API 时不必强依赖浏览器登录态)。

SkillHub 统计(以抓取资料为准):评分 100000,下载 18303 次,安装计数 0;版本 1.0.0。

结尾

BrowserSkill 浏览器自启动器把「Edge 已开、扩展已连 daemon」从人工前置变成可脚本化的一步,并通过退出码和可选 SESSION= 输出与下游 bsk 命令对齐。若你的 Agent 工作流里已有 BrowserSkill 抓取任务,可先安装该 Skill,再在任务开头调用 launch_browser.py。

官方地址:https://www.skillhub.cn/skills/user_656c2e70/bsk-browser-launcher

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜