Auto Browser 是一个开源、MCP 原生的浏览器智能体控制平面,为已授权的工作流而设计。它让 MCP 客户端、LLM 智能体和操作员共享同一个 Playwright 浏览器,并提供人工接管、可复用认证配置、审批、审计追踪和本地优先部署能力。
【主要能力】
- MCP 原生:浏览器操作面从一开始就打包为 MCP 服务器,而非事后附加。
- 人工接管:当网页流程出现问题时,noVNC 可让操作员介入同一个实时会话。
- 登录一次、后续复用:可保存具名认证配置(auth profile),之后打开的新会话即可直接处于已登录状态。
- 本地优先:默认可用 Docker Compose 在自己的机器上运行完整技术栈,也可使用 Codespaces 获得快速托管演示。
- 安全护栏:内置审批、操作员身份、PII 脱敏、Witness 收据(Ed25519 签名)以及策略预设。
- 可移交的证据:Witness 收据链为 Ed25519 签名,导出的证据包可用 scripts/verify_witness_bundle.py 验证,该脚本不导入本项目任何内容,因此接收方无需运行或信任此控制器即可校验。
- 公开自我审计:docs/audits/2026-08-execution-audit.md 记录了针对本仓库的对抗性审计,包含发现的安全控制“报告成功但实际未生效”的问题、复现步骤、修复方案和防止同类问题再次出现的门禁。
- 受治理的技能归纳:经校验的浏览器轨迹可成为带来源信息的分阶段技能候选;在配置网格身份时来源会被签名,并在读取时校验(不只是生成时),还提供验证器适配器和仅限评审的晋级流程。
【使用方式】 Auto Browser 暴露以下接口:HTTP MCP 端点 http://127.0.0.1:8000/mcp;便捷端点 http://127.0.0.1:8000/mcp/tools 与 http://127.0.0.1:8000/mcp/tools/call;stdio 桥接可用 PyPI 的 uvx auto-browser-mcp,或在仓库检出中使用 scripts/mcp_stdio_bridge.py。
支持通过 HTTP 或 stdio 通信的任意 MCP 客户端,也支持直接使用 curl 的 REST 调用方。已提及可直接通过 HTTP 连接的客户端包括 Claude Code、Codex(CLI、IDE 扩展和应用)、Google Antigravity、Cursor 和 VS Code;Claude Desktop 通过内置 stdio 桥接。Google Antigravity 可使用原始 MCP 配置(MCP Servers → Manage MCP Servers → View raw config)或 ~/.gemini/config/mcp_config.json,且读取的是 serverUrl 而非 url。Cursor、VS Code、bearer token 以及与网页搜索 MCP 服务器配对的说明见 docs/mcp-clients.md。
默认 MCP 工具集为精选模式:浏览智能体所需的 20 个工具(会话、观察与截图、execute_action、页面与下载读取、标签页、认证配置、人工接管)。诊断、审计、harness 和管理工具位于完整配置中,需设置 MCP_TOOL_PROFILE=full 才暴露。
服务地址:API 文档 http://127.0.0.1:8000/docs;操作员仪表盘 http://127.0.0.1:8000/dashboard(包含等待审批的操作队列);可视化接管 http://127.0.0.1:6080/vnc.html?autoconnect=true&resize=scale。所有发布端口默认绑定到 127.0.0.1。
预构建镜像发布在 GHCR,可跳过构建:AUTO_BROWSER_IMAGE_TAG 可指定版本(latest 默认、如 1.9.1 的发行版,或 edge 表示当前 main)。镜像为 linux/amd64,附带 SBOM 和构建来源证明。控制器镜像不含 agent CLI;如需 *_AUTH_MODE=cli,请使用 INSTALL_AGENT_CLIS=true 从源码构建。
【适用场景】 内部仪表盘和管理工具、操作员辅助的 QA 与浏览器调试、登录一次后复用的账户工作流、易出问题需要人工恢复流程的网站,以及需要真实浏览器(而非仅 HTML 抓取)的 MCP 智能体工作流。
【限制与合规】 明确不用于:CAPTCHA 破解、未授权的抓取或账户自动化、欺骗性身份塑造或绕过工具。
会话隔离:默认所有会话共享一个 Chromium 进程和一个 noVNC 桌面(SESSION_ISOLATION_MODE=shared_browser_node)。Cookie 与存储按会话隔离,但人工接管一个会话时可看到其他会话窗口。当会话属于不同人员、账户或信任域时,使用 make up-isolation 为每个会话提供独立浏览器容器与接管界面(docker_ephemeral),详见 docs/session-isolation-audit.md。
生产部署:APP_ENV=production 时若缺少必要设置控制器将拒绝启动,并在启动日志中列出缺失项。COMPLIANCE_TEMPLATE 可在启动时应用预配置态势,两种预设均要求上传审批并启用 Witness 收据,启动时会将应用策略写入 /data/compliance-manifest.json。旧名称(HIPAA、SOC2、GDPR、PCI-DSS)仍可作为弃用别名使用,但启动时会发出警告。更多部署细节、托管 Witness 说明、CLI 认证模式和反向 SSH 指南见 docs/deployment.md 与 docs/production-hardening.md。
【架构概览】 核心组件:browser-node/ 运行 Chromium、Xvfb、x11vnc 和 noVNC;controller/ 暴露 FastAPI 控制器、MCP 传输、策略护栏和编排端点;data/ 保存运行时产物、认证状态、审批、审计日志和可选 CLI 缓存;scripts/ 包含 doctor、冒烟测试、桥接和发布检查的本地辅助脚本。模型提供方:对 OpenAI、Claude 和 Gemini(API 或 CLI)提供一等适配器;此外一个通用 OpenAI 兼容适配器可驱动任何通过 OpenAI /chat/completions 端点访问的模型。除纯文本模型外,所有提供方都使用视觉(截图)。设置项见 .env.example 中的 *_API_KEY / *_BASE_URL / *_MODEL。