☰
agent-browser多会话并行完全指南:如何同时运行多个浏览器互不干扰
2026/11/6 1:22:15 网站建设 项目流程

agent-browser多会话并行完全指南:如何同时运行多个浏览器互不干扰

【免费下载链接】agent-browserBrowser automation CLI for AI agents项目地址: https://gitcode.com/GitHub_Trending/agen/agent-browser

agent-browser是一款面向 AI Agent 的浏览器自动化 CLI 工具,它的多会话(Session)机制让你能同时运行多个完全隔离的浏览器实例——每个会话拥有独立的 Cookie、存储、历史记录和登录状态,互不干扰。无论是多账号测试、并发抓取,还是让多个 AI 助手同时干活,本指南都会用最简单的步骤带你跑通。

一、为什么需要多会话并行?

单浏览器时代,常见痛点是这样的:

  • 抓取网站 A 时,网站 B 的登录态被冲掉;
  • 两个 AI Agent 共用一个浏览器,点来点去互相"抢"同一个标签页;
  • 想同时测试"游客视图"和"登录用户视图",却只能来回切换。

agent-browser 的解决方案很直接:用--session参数给每条命令指定会话名,每个会话就是一个独立的浏览器上下文。

会话管理的完整官方资料位于 session-management.md 和 sessions/page.mdx。

二、3 条命令创建你的第一个并行会话

无需任何额外配置,装好 agent-browser 后(npm install -g agent-browser),直接开两个会话:

# 会话 agent1:打开网站 A agent-browser --session agent1 open site-a.com # 会话 agent2:打开网站 B(完全独立) agent-browser --session agent2 open site-b.com

此时你的机器上同时跑着两个浏览器,彼此"看不见"对方。之后所有命令带上同样的--session即可操作对应会话:

agent-browser --session agent1 click "#btn" agent-browser --session agent2 get text body

不想每次敲--session?也可以用环境变量:

AGENT_BROWSER_SESSION=agent1 agent-browser click "#btn"

💡 省略--session时,命令默认作用在default会话上。

隔离了什么?

每个会话独立拥有以下资源,这也是"互不干扰"的本质:

隔离项说明
浏览器实例独立的 Chrome 进程
Cookie 与存储localStorage / SessionStorage / IndexedDB 完全分开
浏览历史各自独立
登录状态一个会话登录不影响另一个
打开的标签页各自的窗口和 tab

三、查看与检查当前会话

并行跑着多个会话时,随时可以"点名查看":

# 列出所有活跃会话 agent-browser session list # 输出示例: # -> default # agent1 # 显示当前命令所属会话 agent-browser session # 查看会话的守护进程、启动与状态恢复详情(JSON 格式) agent-browser session info --json

四、实战:并发抓取 3 个网站

这是多会话最经典的用法——三个浏览器同时开工,抓取速度直接翻倍:

# 同时启动 3 个会话(& 表示后台执行) agent-browser --session site1 open https://site1.com & agent-browser --session site2 open https://site2.com & agent-browser --session site3 open https://site3.com & wait # 各自提取正文,互不干扰 agent-browser --session site1 get text body > site1.txt agent-browser --session site2 get text body > site2.txt agent-browser --session site3 get text body > site3.txt # 用完后统一清理 agent-browser --session site1 close agent-browser --session site2 close agent-browser --session site3 close

同样的思路还能用于A/B 测试:两个会话分别打开?variant=a和?variant=b页面,各自截图对比。

五、进阶:多个会话共享同一个 Chrome(标签页固定)

每个会话独占一个浏览器最彻底,但更省资源的做法是让多个会话通过 CDP 协议共享同一个 Chrome 实例。此时隔离的维度变成了"标签页":

agent-browser --session agent1 --cdp 9222 --pin-tab open https://site-a.com agent-browser --session agent2 --cdp 9222 --pin-tab open https://site-b.com

关键在--pin-tab参数,它让每个会话"钉"在自己的标签页上:

  • ✅ 会话重启守护进程后,会重新绑定回自己的标签页,而不是误操作别人正在用的页面;
  • ✅ 如果绑定的标签页被关掉了,命令会明确报tab_gone错误(而不是偷偷去操作另一个会话的标签页);
  • ✅ 其他会话或用户新开的标签页,永远不会"抢走"已固定会话的活动标签。

这个标志对会话是"粘性"的:创建时传一次即可,后续命令和守护进程重启都保持严格绑定;用--no-pin-tab可以关闭。更多细节见 CDP 模式文档。

六、让会话"记忆"登录状态

并行会话常遇到的需求:每个会话登录自己的账号,且重启后不用重复登录。给会话加上--restore即可自动保存/恢复 Cookie 和 localStorage:

# 为项目生成一个稳定的会话 ID SESSION="$(agent-browser session id --scope worktree --prefix myapp)" # 登录一次,之后状态自动持久化 agent-browser --session "$SESSION" --restore open https://app.example.com/dashboard

要点:

  • 状态文件保存在~/.agent-browser/sessions/,导航前自动加载,关闭时自动保存;
  • 每个会话用不同的名字,登录态就互不串号——比如--session user-a --restore和--session user-b --restore各存各的;
  • 出于安全考虑,状态文件含明文令牌,记得加入.gitignore;需要加密可设置AGENT_BROWSER_ENCRYPTION_KEY(AES-256-GCM)。

七、清理与收尾

# 关闭指定会话 agent-browser --session auth close # 一键关闭所有活跃会话 agent-browser close --all # 再次确认没有残留 agent-browser session list

放心的是:即使忘了手动关闭,守护进程默认 1 小时无命令会自动保存状态并退出,不会无限泄漏资源。

八、多会话最佳实践清单

照着做,基本不会踩坑:

  1. 命名语义化:用github-auth、docs-scrape这类能说明用途的名字,避免s1、s2这种神秘代码;
  2. 用完即关:每个会话任务结束执行close,避免僵尸浏览器占内存;
  3. 稳定 ID 交给工具生成:agent-browser session id --scope worktree --prefix xxx生成的 ID 只含字母数字、连字符和下划线,天然合法;
  4. 共享 Chrome 时记得--pin-tab:否则open会沿用旧行为,直接驱动共享的活动标签页,多个会话就会撞车;
  5. 状态文件不进代码库:把*.auth-state.json之类加入.gitignore,用毕删除。

总结

agent-browser 的多会话机制可以概括为一句话:--session负责隔离,--restore负责记忆,--pin-tab负责共享时的分寸。从两条命令的并行起步,到共享 Chrome 的精细管控,这套浏览器自动化 CLI 能让你的 AI Agent 们各占一窗、并行作战、互不打架。

相关资料索引:

  • 会话管理技能文档:session-management.md
  • 官方会话文档页:sessions/page.mdx
  • 完整命令速查:README.md

【免费下载链接】agent-browserBrowser automation CLI for AI agents项目地址: https://gitcode.com/GitHub_Trending/agen/agent-browser

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询