模型 / 数据集
LvcidPsyche/auto-browser avatar
LvcidPsyche/auto-browser

auto-browser:给 AI 代理一个真实浏览器,并且人随时能接管

为您的人工智能代理提供一个真正的浏览器,并由人类参与其中。开源 MCP 本机浏览器代理。

792 个 Star133 个 ForkPythonMIT

秒懂

它是什么?
auto-browser 是一个 MCP 原生的浏览器控制平面,让 LLM 代理、MCP 客户端和操作员共享同一个 Playwright 浏览器。它内置人工接管、认证复用、审批和审计痕迹,适合需要真实浏览器而非 HTML 抓取的工作流。
适合谁用?
auto-browser 适合那些需要真实浏览器、且流程中必须保留人工介入点的团队,尤其是内部仪表盘、QA 调试和登录复用场景。它不适合 CAPTCHA 破解、未经授权的抓取或任何绕过身份验证的工作,项目自身也明确划出了这条线。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 18 天前。
用什么语言写的?
主要是 Python(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决的痛点和目标用户

很多 AI 代理只能抓取 HTML,拿不到渲染后的页面状态,也无法处理登录、弹窗或动态交互。auto-browser 直接给代理一个 Playwright 驱动的真实浏览器,同时保留人工接管的能力。它的目标用户很明确:需要操作内部仪表盘的管理员、做 QA 调试的工程师、以及那些依赖登录态复用的账号工作流。项目文档特别强调这是授权工作流,不是爬虫工具。它明确声明不解决 CAPTCHA、不用于未经授权的抓取,也不做身份伪装。

MCP 原生架构:浏览器作为控制平面

auto-browser 的架构核心是 MCP 原生,浏览器控制面从一开始就打包成 MCP 服务器,而不是事后拼接。它支持通过 HTTP 或 stdio 与 MCP 客户端通信,也提供 REST API 供 curl 直接调用。浏览器会话由 Playwright 管理,支持截图、DOM 摘要、OCR 摘录、标签页控制、下载和网络检查。关键设计是人工接管:当网页变得脆弱,操作员可以通过 noVNC 接入同一个实时会话,而不是另开一个浏览器。这种共享会话机制让 AI 和人类在同一个页面上协作,而不是各干各的。

认证复用:登录一次,反复使用

项目中最有价值的流程是认证复用。你可以创建一个会话,手动登录需要人参与的网站,然后把会话保存为命名认证配置。之后打开新会话时直接复用该配置,无需重新认证。这个流程在 examples/login-and-save-profile.md 中有完整演示。对于需要频繁访问受保护资源的自动化任务,这省去了每次都要处理登录的麻烦。但要注意,认证配置的存储安全性取决于部署环境,文档提到 fork 状态导出在磁盘上加密,但未详细说明认证配置的加密细节。

安全机制:审批、审计和 Witness 收据

auto-browser 内置了多层安全机制。审批门禁可以阻止代理执行敏感操作,操作员身份通过请求头传递,审计事件记录所有会话活动。PII 清理功能试图在日志或审计中去除个人身份信息。最特别的是 Witness 收据链,使用 Ed25519 签名,导出的捆绑包可以通过 scripts/verify_witness_bundle.py 验证,而这个脚本不依赖项目自身代码,意味着接收方无需信任或运行控制器就能验证证据。项目还公开了一份对抗性审计文档 docs/audits/2026-08-execution-audit.md,记录了安全控制曾经报告成功但实际无效的问题,以及修复措施。这种公开自曝的方式在开源项目中很少见,值得肯定。

部署与启动:Docker Compose 和 Codespaces

快速启动很简单:克隆仓库后运行 docker compose up --build。所有发布端口默认绑定到 127.0.0.1,避免暴露到公网。API 文档在 http://127.0.0.1:8000/docs,操作员仪表盘在 http://127.0.0.1:8000/dashboard,noVNC 接管界面在 http://127.0.0.1:6080/vnc.html。可选的 make doctor 命令会检查本地 Docker 访问和 localhost 端口权限。Codespaces 可以自动配置整个栈,大约 90 秒内仪表盘和 noVNC 标签页就绪。对于不想在本地装 Docker 的人,Codespaces 是个快速体验的途径。

观察模式与文本读取:省钱的替代方案

v1.5.0 引入了 text 观察预设,它返回可访问性大纲、提取的文本和可交互元素,不进行截图也不做 OCR。这是代理读取页面的最便宜方式,适合对像素不敏感的任务。你可以通过设置 PERCEPTION_PRESET_DEFAULT=text 将其设为部署默认。另外,browser.find_elements 工具现在接受纯文本或正则查询,而不是 CSS 选择器,返回每个匹配项及其上下文,无需完整观察就能检查单个值。这些设计降低了代理的感知成本,对 token 消耗敏感的场景很有用。

模型适配与集成:OpenAI 兼容一切

v1.5.0 添加了一个通用适配器,可以驱动任何通过 OpenAI /chat/completions 端点可达的模型。支持 openrouter、xai、deepseek、minimax 和 openai_compatible 自定义 base URL,可以对接自托管的 Ollama、vLLM、LM Studio,以及 Azure、Together、Groq、Fireworks 等。它支持视觉和函数调用,并有一个内容解析回退机制,用于那些忽略 tool_choice 参数的端点。这意味着如果你已经有一个 OpenAI 兼容的模型服务,可以直接驱动 auto-browser,不需要为每个模型写专用适配器。

维护、升级与许可考量

auto-browser 采用 MIT 许可,这对商业使用友好。CI 强制要求 controller(pip)和 browser-node(npm)的 Playwright 版本严格一致,单侧升级会被阻止,避免 compose 部署崩溃循环。发布通过 PyPI 可信发布机制进行,SDK 和适配器分别打包。v1.6.0 和 v1.7.0 在 2026 年 8 月连续发布,说明维护活跃。但项目文档没有给出升级迁移指南,也没有说明长期支持承诺。如果你依赖这个项目,需要自己跟踪版本变化。另一个限制是,它明确不适合未经授权的自动化,如果你的需求涉及绕过登录或抓取公共网站,这个工具不是正确的选择。

编辑结论

auto-browser 适合那些需要真实浏览器、且流程中必须保留人工介入点的团队,尤其是内部仪表盘、QA 调试和登录复用场景。它不适合 CAPTCHA 破解、未经授权的抓取或任何绕过身份验证的工作,项目自身也明确划出了这条线。如果你要采用,先验证三件事:确认你的 MCP 客户端支持 HTTP 或 stdio 桥接,检查 Playwright 版本在 controller 和 browser-node 之间是否严格一致,否则 compose 部署可能崩溃循环,最后阅读 docs/audits/2026-08-execution-audit.md,了解哪些安全控制曾经失效以及修复后的门禁是否覆盖你的威胁模型。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记