bridgic-browser
bitsky-tech/bridgic-browser加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2024年以来,大模型在各领域的表现突飞猛进,但在网页操作这个场景上,主流 Agent 方案始终面临一个根本困境——模型「看不见」页面。
早期的 AI 浏览器控制方案,比如让 GPT 调用 Selenium 或 Playwright,本质上是给模型一段 HTML 源码或坐标指令,让它「盲猜」哪个按钮是「登录」、哪个输入框要填邮箱。这种方式在简单的静态页面上勉强能用,一旦页面稍微复杂——嵌套 iframe、动态加载、按钮被遮挡——模型就会彻底迷失。
Bridgic Browser 的出现,就是为了解决这个问题。它的核心思路是:不给 AI 一团乱麻的 HTML,而是给它一张精心设计的「无障碍快照」——Accessibility Tree + 语义化元素引用,让 AI 能像人类一样「看见」页面、理解元素、精准操作。
Bridgic Browser 由 Bitsky Tech 团队开发,创始成员张铁磊(GitHub: zhangtl04)此前在构建大规模网页数据采集系统时,深度使用了 Playwright 和浏览器自动化技术。
在实践中,他们发现:纯 Playwright 方案虽然灵活,但 API 设计偏向底层,AI 模型难以理解和操作;而当时市面上已有的 AI 浏览器方案,要么依赖商业 API(成本高、定制难),要么在复杂页面上准确率极低。
于是团队决定自研一套专门面向 AI Agent 的浏览器控制层,核心突破是 Semantic Snapshot(语义不变快照) 技术——通过特殊设计的 ref 生成算法,保证元素引用在页面重载后仍然有效,解决了 AI 执行长序列操作时的核心痛点。
Bridgic Browser 的技术架构分为三层:
第一层:Playwright 底层驱动 直接基于 Playwright(支持 Chromium、Firefox、WebKit),获取浏览器控制能力。Playwright 负责进程管理、浏览器生命周期、CDP 协议通信等底层工作,Bridgic 在其之上构建语义层。
第二层:语义快照层(Semantic Snapshot)
这是 Bridgic 的核心创新。传统方案中,页面快照通常基于 DOM 节点 ID 或 XPath,这些引用在页面重载后极易失效——一个按钮从 <div id="btn-1"> 变成了 <button data-v-3a2f>,AI 就找不到它了。
Bridgic 的方案是:
f0201d1c这个 ref 就是 AI 与页面交互的「坐标」——稳定、可预测、可重试。
第三层:工具集层(67 个工具 / 15 类) Bridgic 将浏览器操作封装为 67 个结构化工具,分为 15 大类:
AI 控制浏览器最怕什么?被网站识别为机器人。
主流网站的 Bot 检测通常依赖 JavaScript 指纹(navigator 对象、Canvas 哈希、WebGL 信息、字体列表等)和 CDP 指纹(automation 标志、webdriver 变量等)。传统反检测方案通常是「打补丁」式的——发现一个屏蔽一个,疲于奔命。
Bridgic Browser 的做法是模式感知的全向量覆盖,内置 24+ 项 JS/CDP 指纹向量,每个向量都有对应的「伪装」策略:
navigator.webdriver 标志Page.executeJavaScript 响应中的 automation 特征README 中特别提到,这套方案已在公开 Bot 检测基准套件上验证通过,且隐身模式默认开启,无需额外配置。
Bridgic Browser 提供了两种使用方式,适用于不同场景:
CLI 工具:bridgic-browser 命令行工具,适合手动操作、快速调试、或在 shell 脚本中调用。典型工作流:
bridgic-browser open --headed https://example.com
bridgic-browser snapshot # 获取当前页面快照(含 ref)
bridgic-browser click f0201d1c # 用 ref 点击「Learn more」链接
bridgic-browser screenshot page.png
bridgic-browser close
Python SDK:面向编程场景,深度集成 AI Agent。工具集构建器允许按类别筛选工具,只暴露 Agent 需要的能力范围:
from bridgic.browser.session import Browser
from bridgic.browser.tools import BrowserToolSetBuilder, ToolCategory
browser = Browser(headless=False)
builder = BrowserToolSetBuilder.for_categories(
browser,
ToolCategory.NAVIGATION,
ToolCategory.SNAPSHOT,
ToolCategory.ELEMENT_INTERACTION,
ToolCategory.CAPTURE,
ToolCategory.WAIT,
)
tools = builder.build()["tool_specs"]
SDK 还支持持久化与临时会话两种模式:默认持久化浏览器 profile 到 ~/.bridgic/,适合模拟真实用户行为;传入 clear_user_data=True 则每次启动全新临时会话,适合纯自动化场景。
Bridgic Browser 的终极目标不是替代 Playwright,而是成为 AI Agent 的「手和眼睛」。
它支持两种集成方式:
Skill 模式:适配 Claude Code、Cursor、Codex 等编程 Agent。通过 npx skills add bitsky-tech/bridgic-browser --skill bridgic-browser 安装后,Agent 可以直接用自然语言指挥浏览器工作,比如「帮我打开 GitHub,搜索 hermes-agent 项目,截个图」。Bridgic 在幕后完成快照生成、ref 解析、元素操作,Agent 无需关心底层细节。
Plugin 模式:配合 Bitsky Tech 的 AmphiLoop 框架,通过自然语言构建可复用的浏览器自动化脚本,节省 Agent 生成代码的 token 消耗。
没有工具是银弹,Bridgic Browser 也不例外。根据项目的 docs/KNOWN_LIMITATIONS.md,已知局限包括:
--headed 在 macOS 上存在已知的兼容性问题此外,作为一个相对年轻的项目(v0.0.5),依赖链较长(bridgic-core、bridgic-llms-openai),生态还在发展中,API 尚未完全稳定。
Bridgic Browser 的价值,不仅在于它本身是一个好用的浏览器自动化库,更在于它代表了一个方向——让 AI 真正理解并可靠地操作网页。
随着多模态大模型的发展,AI「看到」页面的能力在提升,但「操作」页面的可靠性始终是瓶颈。Bridgic 通过语义快照技术,给 AI 提供了一个稳定、可预测的交互界面,让 Agent 可以在网页上执行长序列的复杂任务成为可能。
从增长数据看,Bridgic Browser 目前 stars 虽不算高(74),但增长趋势值得关注。其所属团队同时维护着 Bridgic(AI Agent 框架)和 AmphiLoop(Plugin 方法论),形成了从浏览器控制到 Agent 决策的完整工具链,具备一定的发展潜力。
如果你在构建需要网页操作能力的 AI Agent、自动化测试平台或数据采集系统,Bridgic Browser 是一个值得关注的选项——尤其是当你厌倦了传统方案的「盲操作」困境时。