自动化与运维 browser-automationmcpplaywrightself-hostednovncdockerfastapihuman-in-the-loop

Auto Browser

给 AI 智能体一个真实浏览器,并在流程变脆时让人类随时接管——一个开源的 MCP 原生浏览器控制平面。

FollowAgents 评估 · FARS-2.1
谨慎使用
62/ 100 五分制 3.1 / 5
1 2 3 4 5 6
1信任安全13 / 29 · 2.2/5

证据显示默认端口绑定 127.0.0.1、默认 curated 工具档、敏感操作(harness 毕业、隔离、漂移检查)需 MCP_TOOL_PROFILE=full,最小权限有可核对的默认值设计(2 分)。审批门、审计事件、PII 清洗、加密存储、Witness 签名回执均只在 README 中宣称,本次证据未包含 controller/policy 实现代码,无法核实其真实行为——尤其 SECURITY.md 本身承认曾有'安全控件报告成功但实际未生效'的漏洞(GHSA-32ph),这些声明只能给 1 分。依赖安全有 CI 中 pip-audit + npm audit + 锁文件的具体证据(2 分)。外部效果上浏览器自动化天然外向,allowlist 仅是宣称;回滚仅限 shadow-browse 场景的宣称。归属方面 MIT 许可证(JAI Studios)与公开审计记录存在,但发布者身份未经验证(2 分)。

2可靠稳定9 / 14 · 3.2/5

README、SECURITY.md、CI 工作流与客户端测试之间相互一致:CI 注释解释了 unittest→pytest 的修复、Playwright 双侧 pin 校验、版本一致性脚本,客户端测试具体验证了错误映射为 AutoBrowserError 而非裸 httpx 异常(2 分)。依赖可用性由 Docker Compose、uvx 零设置桥、锁文件安装支撑(2 分)。错误消息改进(字段级报错、handler 消息透传)在 v1.5.0 说明与回归测试中有据(2 分)。未观察到执行证据,全部为静态一致性判断。

3适用触发12 / 18 · 3.3/5

受众与场景描述充分:Good Fits/Not the Goal 明确列出入与不入的场景,兼容 Claude Desktop、Cursor、任意 MCP 客户端与 REST 调用者(3 分)。能力边界有专门章节且与 SECURITY.md 的 out-of-scope 相互印证(2 分)。触发精度证据薄弱:curated 工具档被宣称能改善工具选择,但工具清单与描述本身未在证据中(1 分)。环境适配覆盖本地、Codespaces、多种模型提供商(2 分,未扣满因实际配置面未在证据中验证)。

4规范维护14 / 18 · 3.9/5

信息架构优秀:Repo Guide、Documentation Map、Common Commands 三张表清晰映射路径与用途(3 分)。安装说明具体到命令级:git clone + docker compose up、pip/uvx、.env.example、make doctor(3 分)。命名稳定性有 CI 强制的版本一致性、桥副本一致性、弃用别名警告(2 分)。examples 与 FAQ 被引用但文件内容未在证据中,仅路径可信(2 分)。已知局限通过公开审计文档承认自身历史漏洞,罕见且诚实(2 分)。MIT 许可证全文在案(3 分)。版本化与 CHANGELOG 由 tag-版本一致性门与 extract_changelog 脚本支撑,但 CHANGELOG 本身未见(2 分)。维护责任有安全响应流程与咨询分诊脚本,但发布者未验证、单人色彩明显(2 分)。

5有效结果9 / 13 · 3.5/5

输出可用性:observe 预设、text 低成本观测、REST/SDK/MCP 三通道、客户端测试验证了 API 形状与参数序列化(2 分)。边际价值:相对众多浏览器 MCP 服务器,HITL 接管、签名回执、可独立验证的 bundle 脚本是宣称的差异化点,代码层面仅 verify 脚本路径可核(2 分)。成本收益:Docker 全栈部署较重,text 预设宣称降低感知成本,属于合理但未经执行验证的权衡(2 分)。

6证据核验5 / 8 · 3.1/5

声明可追溯:README 中几乎每项功能声明都指向具体路径(脚本、文档、示例),审计文档直接承认失败并附修复门(2 分)。跨源印证成立:SECURITY.md 的 GHSA 记录与 README 的'公开自我审计'叙述一致,CI 注释与测试代码印证了所述修复(如 stream_events 的 ResponseNotRead 回归)(2 分)。事实与推断基本分离,但存在营销化措辞('grade A'、mcptoplist 徽章)混入叙述,且部分未来日期(2026 年审计)未经独立证实(2 分)。

证据充分度: 评估于 2026年9月10日 审查版本 aa99c42bbb4e
使用前请注意
  • 静态审查未能核实审批门、PII 清洗、加密与 Witness 签名的实际实现;该项目曾有安全控件'报告成功但未生效'的前科(GHSA-32ph),部署前应自行验证这些控件真实生效。
  • 生产部署务必按 README 设置 API_BEARER_TOKEN、REQUIRE_OPERATOR_ID、AUTH_STATE_ENCRYPTION_KEY 等,否则默认配置仅适用于本机;历史上曾出现过 Codespaces 场景下 API 未认证暴露的漏洞(GHSA-xmh3)。
  • 发布者身份未经验证;PyPI 包 auto-browser-client / auto-browser-mcp 的供应链信任需自行评估。
  • 浏览器自动化本质上是外向性操作,allowlist 与 stealth 关闭声明的实际行为需在受控环境中先行测试。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Auto Browser 是一个自托管的 MCP 原生浏览器控制平面,为 MCP 客户端、LLM 智能体和运维人员提供共享的 Playwright 浏览器会话。其架构由三部分组成:browser-node 运行 Chromium、Xvfb、x11vnc 和 noVNC;controller 基于 FastAPI 暴露 REST API、MCP over HTTP 传输、stdio 桥接以及审批与审计等策略轨道;data 目录保存运行时产物、认证状态和审计日志。它支持人工通过 noVNC 接管同一会话,可保存命名认证配置实现一次登录多次复用,并内置审批门、操作者身份、PII 清洗和 Ed25519 签名的 Witness 凭证链。模型侧为 OpenAI、Claude、Gemini 提供一等适配器,并通过通用 OpenAI 兼容适配器接入 OpenRouter、Grok、DeepSeek、MiniMax 及自托管 Ollama/vLLM 等。整套栈通过 Docker Compose 在本地部署,默认所有端口绑定 127.0.0.1。

端到端流程:通过 docker compose up --build 启动后,向 POST /sessions 发送带 name 和 start_url 的 JSON 创建 Playwright 会话;用 GET /sessions/<id>/observe 观察页面(截图、DOM 摘要、OCR 摘录、可交互元素,v1.5.0 新增零截图的 text 预设);LLM 通过 http://127.0.0.1:8000/mcp 的 MCP 端点或 uvx auto-browser-mcp 的 stdio 桥接调用 browser.create_sessionbrowser.find_elements(v1.5.0 起接受文本/正则 query)等工具;人可随时在 http://127.0.0.1:6080/vnc.html 通过 noVNC 接管同一会话。登录一次后可将会话保存为命名认证配置,新会话直接复用。控制器执行审批门、操作者身份头、审计事件(可用 browser://audit/events MCP 资源读取)、PII 清洗和 Witness 凭证链,导出的凭证包可用独立脚本 scripts/verify_witness_bundle.py 验证。收敛测试床(Stage 0 convergence harness)可运行任务契约、记录防篡改 trace、产出带签名溯源的暂存技能候选。

  1. 运维或支持团队操作内部后台与管理系统,需要智能体执行但关键步骤需人工确认
  2. QA 工程师对脆弱站点做辅助调试,站点流程失败时人工通过 noVNC 恢复
  3. 需要登录一次、后续会话免重新认证的账号工作流(保存认证配置复用)
  4. 使用 Claude Desktop 或 Cursor 的智能体用户,需要真实浏览器而非简单 HTML 抓取
  5. 合规要求严格的团队,需要审批记录、PII 清洗和可独立验证的签名凭证链
  6. 希望在 OpenAI 兼容端点(含本地 Ollama/vLLM)上用自选模型驱动浏览器的自托管用户

这个 Agent 有哪些优点和局限?

优点
  • MCP 原生设计:浏览器能力直接打包为 MCP 服务器(HTTP 端点加 stdio 桥接),Claude Desktop、Cursor 等 MCP 客户端开箱即用,另有 REST 供 curl 优先的调用方
  • 人工接管与可复用认证:noVNC 让人接管同一实时会话;命名认证配置实现登录一次、新会话免认证,这是许多纯自动化方案缺失的能力
  • 安全与审计机制具体可验证:审批门、操作者身份、PII 清洗、Ed25519 签名的 Witness 凭证链,且验证脚本不依赖本项目代码,接收方无需信任控制器
  • 模型无关:一等支持 OpenAI/Claude/Gemini,通用 OpenAI 兼容适配器覆盖 OpenRouter、Grok、DeepSeek、MiniMax 及自托管端点,并有公开的自审文档(docs/audits/)
局限
  • 部署门槛不低:完整栈需要 Docker Compose 运行 Chromium、Xvfb、x11vnc、noVNC 和 FastAPI 控制器等多个组件,非单二进制方案
  • 生产化需显式配置:默认配置面向本地开发,公网暴露必须自行设置 Bearer Token、Fernet 加密密钥、操作者身份、速率限制等一整套环境变量
  • 部分能力有档位限制:收敛测试床的写入类工具和 graduation 需 MCP_TOOL_PROFILE=full 或直接走 REST,默认 curated 档不可用
  • Playwright 版本被 CI 强制在 pip 与 npm 两侧完全一致,自行升级依赖时需同步两端,否则 compose 部署可能崩溃循环
  • 明确排除 CAPTCHA 破解、未授权抓取和绕过工具,需要这类能力的用户不适用

如何安装或部署这个 Agent?

1) 克隆并启动:git clone https://github.com/LvcidPsyche/auto-browser.git && cd auto-browser && docker compose up --build。2) 可选:cp .env.example .env && make doctor 做就绪检查。3) 需要本机 Docker 权限;Python 3.10+ 可选用于宿主机测试。SDK 与桥接也可从 PyPI 安装:pip install auto-browser-clientpip install auto-browser-langchainuvx auto-browser-mcp。生产部署至少设置 APP_ENV=productionAPI_BIND_SCOPE=exposedAPI_BEARER_TOKENREQUIRE_OPERATOR_ID=trueAUTH_STATE_ENCRYPTION_KEY(44 字符 Fernet 密钥)、REQUIRE_AUTH_STATE_ENCRYPTION=true 等;可用 COMPLIANCE_TEMPLATE=strictbalanced 应用预设策略。

如何使用这个 Agent?

启动后打开 API 文档 http://127.0.0.1:8000/docs、操作者仪表盘 http://127.0.0.1:8000/dashboard、noVNC 接管页 http://127.0.0.1:6080/vnc.html?autoconnect=true&resize=scale。创建会话:curl -s http://127.0.0.1:8000/sessions -X POST -H 'content-type: application/' -d '{"name":"demo","start_url":"https://example.com"}'。观察页面:curl -s http://127.0.0.1:8000/sessions/<session-id>/observe。MCP 调用:向 http://127.0.0.1:8000/mcp/tools/call POST {"name":"browser.create_session","arguments":{...}},或在 Claude Desktop / Cursor 配置 stdio 桥接 uvx auto-browser-mcp。默认 MCP 工具档为 curated,设 MCP_TOOL_PROFILE=full 可暴露全部工具(含 harness.* 和收敛运行)。接入模型需在 .env 中配置对应 *_API_KEY / *_BASE_URL / *_MODEL

这个 Agent 与同类方案有什么区别?

README 将自身定位为『MCP 原生、自托管、带人工接管』的浏览器控制平面,与把浏览器自动化后补到智能体框架上的方案形成对照,但源材料未点名任何具体竞品,无法做事实性对比。

常见问题

必须付费或使用特定模型厂商吗?
项目本身 MIT 开源、本地优先。模型侧任意 OpenAI 兼容端点均可(一个 OpenRouter key 可达多数前沿模型),也可用自托管 Ollama/vLLM/LM Studio,不锁定单一厂商;但需自备各厂商 API key。
需要哪些运行环境和权限?
需要 Docker 与 Docker Compose;默认所有端口绑定 127.0.0.1。接入 LLM 需网络和对应 API key;认证状态加密需生成 44 字符 Fernet 密钥。浏览器运行在容器内(Chromium + Xvfb + x11vnc + noVNC)。
智能体卡住或站点流程失败怎么办?
这正是它的设计场景:人可在 noVNC 页面接管同一实时会话手工恢复流程,之后可将登录状态保存为认证配置供后续会话复用。
默认 MCP 工具面有多大?如何拿到全部工具?
默认档为 curated,保持工具面紧凑以利于模型选择。设 MCP_TOOL_PROFILE=full 可暴露完整内部工具面(含收敛测试床的写入类操作),或直接调用 REST。
审计证据能否给第三方独立验证?
可以。Witness 凭证链使用 Ed25519 签名,导出的凭证包用 scripts/verify_witness_bundle.py 校验,该脚本不从本项目导入任何代码,接收方无需运行或信任此控制器。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents