开源 playwright-pool 会话池来了

开源 playwright-pool 会话池来了

GitHub:github.com/jianzhangg/...

最近我把自己在用的 playwright-pool 开源了。

它不是替代官方 @playwright/mcp,而是补一层我自己反复踩到的能力缺口:浏览器池化管理。

官方 Playwright MCP 在单会话场景里已经很好用,但一旦进入真实使用,问题就来了:

  • 多个会话并行时,要手工配多份实例
  • 每份实例都要自己管 profile 和输出目录
  • 想复用登录态也很麻烦
  • 客户端异常退出后,浏览器资源不容易收干净

这些事情都能手工做,但做久了很碎,也不稳定。

所以我写了 playwright-pool。

它做了什么

你可以把它理解成 Playwright MCP 外面的一层浏览器池:

  • 一次性准备多个浏览器 slot
  • 每个 slot 对应独立持久化 profile
  • 会话自动绑定 slot,减少串状态
  • 初始化时复制本机 Chrome profile,尽量复用已有登录态
  • 用租约和心跳管理占用关系
  • 客户端断开或异常退出时尽快回收资源
  • 对外继续暴露官方那套 Playwright MCP 工具
  • 额外提供 pool_status 用来排障

简单说,官方负责浏览器操作能力,我补的是浏览器资源调度能力。

这个项目适合什么场景

如果你有下面这些需求,这个项目会比较有用:

  • 多个 AI 会话并行操作浏览器
  • 自动化流程依赖登录后的后台系统
  • 想直接复用本机已有登录态
  • 不想手工维护一堆 Playwright MCP 实例
  • 想知道当前浏览器池到底被谁占着

如果你只是偶尔开一个页面跑单任务,官方方案通常就够了。

但只要开始多会话、长会话、真实登录态,这层池化基本迟早都要补。

快速开始

初始化:

bash 复制代码
npx @jianzhangg/playwright-pool@latest init

启动:

bash 复制代码
npx @jianzhangg/playwright-pool@latest

如果你的 MCP 客户端支持命令接入,直接指向它就行。例如:

toml 复制代码
[mcp_servers.playwright_pool]
command = "npx"
args = ["@jianzhangg/playwright-pool@latest"]
enabled = true

注意我自己的两张截图是放到了 D 盘

最后

我做这个项目的判断很简单:很多人并不缺浏览器自动化能力,缺的是浏览器运行时管理能力。

playwright-pool 解决的就是这一层问题。

如果你也碰到了多实例配置麻烦、登录态复用麻烦、资源回收麻烦这几件事,可以直接试试:

GitHub:github.com/jianzhangg/...

有问题或者建议,欢迎提 issue。

相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万5 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋5 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁5 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄5 天前
JavaScript 隐式全局变量解析
javascript
lpfasd1235 天前
2026年第38周GitHub趋势周报
python·科技·github
汉堡大王95275 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
u1301305 天前
GitHub 热榜项目:日榜(2026-09-21)
人工智能·github