Auto Browser
给 AI 智能体一个真实浏览器,并在流程变脆时让人类随时接管——一个开源的 MCP 原生浏览器控制平面。
- Star 数
- ★ 916
- 最近更新
- 今天
- License
- MIT
- 主语言
- Python
- FA 评分
- 62/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 运维或支持团队操作内部后台与管理系统,需要智能体执行但关键步骤需人工确认
- 不适合
- 需要一键安装、不想维护 Docker Compose 多容器栈的个人用户
- 需要 CAPTCHA 破解或未授权抓取、绕过工具的场景
- 希望开箱即用、不愿自行配置令牌与加密密钥的生产部署
- 源码审查
- 62/100 · 存在缺口
这个 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_session、browser.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、产出带签名溯源的暂存技能候选。
- 运维或支持团队操作内部后台与管理系统,需要智能体执行但关键步骤需人工确认
- QA 工程师对脆弱站点做辅助调试,站点流程失败时人工通过 noVNC 恢复
- 需要登录一次、后续会话免重新认证的账号工作流(保存认证配置复用)
- 使用 Claude Desktop 或 Cursor 的智能体用户,需要真实浏览器而非简单 HTML 抓取
- 合规要求严格的团队,需要审批记录、PII 清洗和可独立验证的签名凭证链
- 希望在 OpenAI 兼容端点(含本地 Ollama/vLLM)上用自选模型驱动浏览器的自托管用户
如何安装或部署这个 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-client、pip install auto-browser-langchain、uvx auto-browser-mcp。生产部署至少设置 APP_ENV=production、API_BIND_SCOPE=exposed、API_BEARER_TOKEN、REQUIRE_OPERATOR_ID=true、AUTH_STATE_ENCRYPTION_KEY(44 字符 Fernet 密钥)、REQUIRE_AUTH_STATE_ENCRYPTION=true 等;可用 COMPLIANCE_TEMPLATE=strict 或 balanced 应用预设策略。
如何使用这个 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 有哪些优点和局限?
- 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 与同类方案有什么区别?
README 将自身定位为『MCP 原生、自托管、带人工接管』的浏览器控制平面,与把浏览器自动化后补到智能体框架上的方案形成对照,但源材料未点名任何具体竞品,无法做事实性对比。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Auto Browser 当前 | 62 · 存在缺口 | 自托管服务免费 + 模型费 | ★ 916 | 今天 | Python | OpenAI API · Claude API |
| Flock 多智能体工作台 | 46 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 1.1k | 3 个月前 | Rust | OpenAI API · Claude API |
| Heym | 46 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 1.3k | 1 天前 | Python | Codex · Claude.ai |
| ByteChef | 53 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 1k | 今天 | Java | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示默认端口绑定 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 分)。
README、SECURITY.md、CI 工作流与客户端测试之间相互一致:CI 注释解释了 unittest→pytest 的修复、Playwright 双侧 pin 校验、版本一致性脚本,客户端测试具体验证了错误映射为 AutoBrowserError 而非裸 httpx 异常(2 分)。依赖可用性由 Docker Compose、uvx 零设置桥、锁文件安装支撑(2 分)。错误消息改进(字段级报错、handler 消息透传)在 v1.5.0 说明与回归测试中有据(2 分)。未观察到执行证据,全部为静态一致性判断。
受众与场景描述充分:Good Fits/Not the Goal 明确列出入与不入的场景,兼容 Claude Desktop、Cursor、任意 MCP 客户端与 REST 调用者(3 分)。能力边界有专门章节且与 SECURITY.md 的 out-of-scope 相互印证(2 分)。触发精度证据薄弱:curated 工具档被宣称能改善工具选择,但工具清单与描述本身未在证据中(1 分)。环境适配覆盖本地、Codespaces、多种模型提供商(2 分,未扣满因实际配置面未在证据中验证)。
信息架构优秀: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 分)。
输出可用性:observe 预设、text 低成本观测、REST/SDK/MCP 三通道、客户端测试验证了 API 形状与参数序列化(2 分)。边际价值:相对众多浏览器 MCP 服务器,HITL 接管、签名回执、可独立验证的 bundle 脚本是宣称的差异化点,代码层面仅 verify 脚本路径可核(2 分)。成本收益:Docker 全栈部署较重,text 预设宣称降低感知成本,属于合理但未经执行验证的权衡(2 分)。
声明可追溯:README 中几乎每项功能声明都指向具体路径(脚本、文档、示例),审计文档直接承认失败并附修复门(2 分)。跨源印证成立:SECURITY.md 的 GHSA 记录与 README 的'公开自我审计'叙述一致,CI 注释与测试代码印证了所述修复(如 stream_events 的 ResponseNotRead 回归)(2 分)。事实与推断基本分离,但存在营销化措辞('grade A'、mcptoplist 徽章)混入叙述,且部分未来日期(2026 年审计)未经独立证实(2 分)。
- 静态审查未能核实审批门、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 关闭声明的实际行为需在受控环境中先行测试。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
A security release over 1.10.1, with three advisories: GHSA-3pwm-j9pq-4r6q (PII scrubbing, traces and fork files), GHSA-m596-6q9j-x6mc (named credentials: artifacts and proxy personas) and GHSA-hj9r-c8jj-mf9v (mesh peer registration). Update the controller image. The client, LangChain and MCP bridge packages carry one bridge fix; updating them alone does not deploy the controller fixes. Upgrade notes: - Playwright tracing is off by default, unless your own settings turn it on. The .env.example of earlier releases set ENABLE_TRACING=true, and an older compose file falls back …在 GitHub 查看 ↗ -
发布说明摘录
A dependency and release-process update over 1.10.0. The client, LangChain and MCP bridge packages change only in version; the Docker images are rebuilt with the updated dependencies. Changed - Controller dependencies: Pillow 13.0.0 (#208). The GHCR images for 1.10.0 were built before that bump, so latest, 1.10 and 1.10.1 now carry it. Fixed - Docker images publish only from green CI on main. A v* tag already had to point at a commit on main for docker-publish.yml to push the X.Y.Z, X.Y and latest image tags. …在 GitHub 查看 ↗ -
发布说明摘录
A security update and correctness pass over 1.9.1: every finding was reproduced before it was fixed. The client, LangChain and MCP bridge packages change too: see the client SDK, LangChain and MCP bridge entries. **If you verify witness chains, restrict ALLOWED_HOSTS or use workflow_profile=governed, read the upgrade notes first.** Upgrade notes: - Witness valid now covers the signatures. GET /sessions/{id}/witness/verify and browser.verify_witness pass valid only when the hash walk, the anchor and the signatures …在 GitHub 查看 ↗
常见问题
必须付费或使用特定模型厂商吗?
需要哪些运行环境和权限?
智能体卡住或站点流程失败怎么办?
默认 MCP 工具面有多大?如何拿到全部工具?
MCP_TOOL_PROFILE=full 可暴露完整内部工具面(含收敛测试床的写入类操作),或直接调用 REST。审计证据能否给第三方独立验证?
scripts/verify_witness_bundle.py 校验,该脚本不从本项目导入任何代码,接收方无需运行或信任此控制器。