Browser Automation — 浏览器自动化
v0.0.5用于任何需要真实浏览器的任务:查看网页,访问登录受限的网站,操作网页UI,爬取社交媒体(Xiaohongshu/Weibo/Twitter/X等),阅读JS渲染或动态页面,绕过bot检测,表单填充,e2e检查和一般的网页自动化。 предпочитать此选项而不是WebFetch,当页面需要JS执行,认证会话,交互或隐匿时。通过终端CLI(`bridgic-browser ...`)或Python SDK(`from bridgic.browser.session import Browser`,`from bridgic.browser.tools import BrowserToolSetBuilder`)调用。还涵盖了无障碍快照引用,CLI-SDK映射/迁移和从CLI操作步骤生成SDK代码。
运行时依赖
安装命令
点击复制技能文档
依赖项 一个bridgic-browser项目需要以下包: 包名称 描述 bridgic-browser 浏览器自动化CLI + Python SDK(安装一个即安装两个) 另外,浏览器二进制文件必须安装一次:uv run playwright install chromium。 安装: 运行安装脚本来设置所有依赖项:bash "skills/bridgic-browser/scripts/install-deps.sh" "$PWD" 该脚本检查uv的可用性,如果需要初始化一个uv项目,安装缺失的包,并确保Playwright chromium可用。
策略和指南(重要!!) 注意: 每次调用bridgic-browser CLI时,必须使用uv run调用它。 如果用户明确指定了必须遵循的确切步骤,请尝试按照这些步骤进行探索。 如果在探索过程中出现循环或分支,请自行决定最佳的探索路径。 如果您认为可能需要在点击新页面后返回到原始页面,请尝试在新浏览器标签页中打开新页面,而不是使用“点击然后返回”方法。 这在原始页面已经有交互状态(例如填充的表单或应用的过滤器)时尤为重要;否则,在导航回去后可能会丢失该状态。 完成相关操作后,请务必及时关闭新标签页。 如果探索涉及反复点击列表中的项目,则无需遍历每个项目(尤其是当列表很大时)。 如果在探索过程中需要登录、验证或授权,请暂停并要求用户手动完成,除非用户在任务中明确提供了说明。 为了避免过于频繁地操作网站,请在探索和编码过程中保持类似人类的访问间隔。 您可以模拟随机等待时间以降低被阻止的风险。 注意:bridgic-browser等待命令参数以秒为单位,而不是毫秒;例如,bridgic-browser等待2或bridgic-browser等待3.2。 完成探索和代码编写后,自动运行测试/验证。
CDP模式标签可见性: 当通过--cdp附加到用户的运行Chrome时,标签/切换标签/关闭标签仅看到bridgic本身打开的页面(初始空白标签以及通过new-tab或点击target="_blank"链接生成的任何内容)。 用户的其他标签故意对bridgic不可见;永远不要假设可以切换到它们。 要处理此类标签,请要求用户通过bridgic导航到它,或使用new-tab 。
参考文件 参考文件涵盖所有用例。 仅加载与任务相关的文件: 场景 接口 加载 直接从终端控制浏览器 CLI cli-guide.md 编写关于浏览器自动化的Python代码 Python sdk-guide.md 编写关于浏览器自动化的shell脚本 CLI cli-guide.md 通过CLI探索,然后生成Python代码 CLI → Python cli-sdk-api-mapping.md + sdk-guide.md 迁移/比较/解释CLI ↔ SDK 两个 cli-sdk-api-mapping.md 配置环境变量或登录状态持久性 Either env-vars.md 连接到现有的Chrome(chrome://inspect,--remote-debugging-port,云浏览器,Electron) CLI / SDK cdp-mode.md
接口决策规则 输出请求为shell命令或脚本 → 使用CLI指南首先(references/cli-guide.md)。 输出请求为可运行的Python代码(异步,浏览器,工具构建器) → 使用SDK指南首先(references/sdk-guide.md)。 输入是CLI输出或操作,但输出需要是Python代码 → 使用映射指南首先(references/cli-sdk-api-mapping.md),然后使用SDK指南进行最终代码生成(references/sdk-guide.md)。 如果意图模糊,请从请求的工件中推断(.sh /终端会话与.py脚本)。
常见用法(CLI + SDK) 基于引用的操作依赖于最新的快照。 在导航或主要DOM更新后,引用可能会过时;在引用操作之前刷新快照。 CLI在守护进程会话中保留状态,跨调用保留。 设置BRIDGIC_HOME环境变量以运行多个独立的守护进程实例(每个实例都有自己的套接字,日志和用户数据)。 SDK在Python进程/上下文中保留状态。 默认情况下,浏览器配置文件(cookie,会话)保留在$BRIDGIC_HOME/bridgic-browser/user_data/(默认~/.bridgic/...)中;传递clear_user_data=True给Browser()以获取临时会话。 使用参考中的确切命令/方法名称;不要发明别名。
桥接工作流:CLI操作 -> Python代码 解析CLI步骤按顺序。 使用references/cli-sdk-api-mapping.md映射每个步骤。 保留行为细节:引用,选项,参数,配置等。 发出可运行的异步Python代码,具有显式的浏览器生命周期(首选async with Browser(...))。 调用任何无法1:1表示的行为差异。
最小质量检查清单 CLI请求:仅返回有效的CLI命令/选项。 SDK请求:返回可执行的异步Python代码,具有正确的导入。 桥接请求:包括映射理由以及最终的SDK代码。