基于视觉感知的多模态浏览器自动化 AI Agent,支持 Record → Compile → Replay 工作流将人工操作固化为可复用 Routine。
OpenBrowser 是一个面向真实浏览器任务的 AI Agent 系统,核心思路是多模态优先——通过截图理解页面状态并生成浏览器控制指令,而非依赖 DOM 解析。项目基于 OpenHands SDK 构建,采用本地部署架构(FastAPI Server + Chrome Extension + Web Frontend),仅支持 Chrome 浏览器。
视觉感知与控制#
- 通过截图 + 直接浏览器动作操作页面,DOM 仅作辅助
- 具备视觉判断能力,可基于截图对房源采光、整洁度、实用性做出视觉层面的比较与推荐
Record → Compile → Replay 工作流#
- 录制:将人工浏览器操作录制为 trace
- 编译:Compiler Agent 将 trace 编译为可复用的 Routine Markdown
- 重放:在 routine_replay 模式下基于编译产物执行高级 Routine,非字面事件回放
执行架构#
- 执行隔离:浏览器执行窗口与控制窗口分离,控制模型不携带完整浏览器会话历史
- Session 持久化:跨自动化任务保持浏览器会话、Cookie 和登录状态
- 多接口访问:REST API(http://127.0.0.1:8765)+ WebSocket(ws://127.0.0.1:8766)+ CLI
模型策略#
- 多模型分层:同时支持强模型(qwen3.5-plus)与低成本模型(qwen3.5-flash)
- 成本为一等约束:将模型调用成本作为核心工程考量
- 支持模型:dashscope/qwen3.5-plus(主力)、dashscope/qwen3.5-flash(低成本)、dashscope/qwen3.6-flash、dashscope/qwen3.6-plus
评估体系#
- 内置 35 个 mock 网站测试用例,覆盖多步预订、收件箱分类、拖拽面板、零售流程等
- 提供 Routine compile/replay 评估 harness
Agent Skill 集成#
- 提供 Claude Code、Codex、OpenClaw 的 skill 文件,可嵌入各本地 Agent 环境
典型应用场景#
- 房产搜索与视觉比较(Demo 中在 Zillow 上浏览 10+ 房源输出 Top 3 推荐)
- 多步骤表单填写与提交流程
- 数据抓取与结构化信息提取
- 日常浏览器任务自动化(邮件分类、商品比价、信息聚合)
- 可复用业务流程的固化与重放
快速开始#
uv sync
uv run local-chrome-server serve
cd extension && npm install && npm run build
在 Chrome 中加载 extension/dist 目录,访问 http://localhost:8765,输入扩展页面中的 Browser UUID 即可使用。LLM 配置通过 Web UI 首次访问时完成,存储于 ~/.openbrowser/llm_config.json。
项目结构#
server/— FastAPI 服务端:Agent 编排、REST 端点、核心逻辑、WebSocket 服务extension/— Chrome 扩展:Background script + CDP、浏览器自动化命令、内容脚本视觉反馈frontend/— Web UIeval/— 评估框架:mock 网站、事件追踪、评估报告skill/— Agent Skill 文件local_vendor/openhands-sdk/— 本地 vendor 的 OpenHands SDK
设计原则#
- 多模态优先,DOM 仅作辅助
- 执行隔离,控制模型不携带完整浏览器历史
- 持续评估,回归测试驱动迭代
- 成本约束是一等设计考量
待确认信息#
- 项目作者 softpudding 的身份和所属组织未明确
- 尚无正式 Release(0 Tags),处于活跃开发阶段
- 除 Qwen 系列外是否支持其他多模态模型未明确
- 与 OpenClaw、PinchTab 的关系仅为对比参照,无代码层面关联说明
- 采用 LGPL-3.0 协议