当前位置: 首页 > article >正文

一天一个开源项目(第80篇):Browser Harness - 让 AI 智能体拥有“手”与“眼”的轻量化浏览器桥梁

引言“给 AI 一个浏览器它能为你连接整个互联网。”这是“一天一个开源项目”系列的第80篇文章。今天带你了解的项目是Browser Harnessbrowser-harness。在 AI 智能体Agent快速进化的今天一个核心痛点始终存在如何让 LLM 高效且低成本地操作浏览器传统的自动化工具如 Playwright 或 Selenium 虽然强大但它们是为“人”设计的——过于厚重的 API 封装和静态的代码逻辑往往成了 Agent 发挥自主能力的绊脚石。Browser Harness走了一条完全不同的路它极度轻量仅约 600 行 Python 代码直接桥接 Chrome DevTools Protocol (CDP)鼓励 Agent 在任务中实时编写和修改自己的操作函数。你将学到什么核心概念什么是“Agent-Centric”的浏览器工具包。技术亮点直接 CDP 桥接与自愈式设计。应用场景AI 辅助办公、复杂网页任务自动化、多平台账号同步。实战操作如何快速部署并对接你首选的 AI 助手。对比分析为什么它比传统测试框架更适合 LLM。前置知识了解基础的 Python 开发。熟悉 AI Agent 的基本概念如 Claude Code 或 OpenAI GPTs。知道浏览器自动化工具如 Playwright的基本作用。项目背景项目简介Browser Harness(♞) 是由browser-use团队推出的开源工具。它被设计为一个“受控的、可重复的、可观测的运行环境”Test Harness。它的哲学源于 AI 领域的“苦教训”The Bitter Lesson——不要用太多的预设规则去限制 AI而要给它最底层的控制权。该项目让 AI Agent 能够直接读写 Chrome 的会话信息甚至可以实时同步本地浏览器的 Cookie 和 Profile 到远程环境中实现无感的登录态迁移。作者/团队介绍作者/团队browser-use核心动机构建一个让 AI 能够像人类一样甚至比人类更快使用互联网的透明桥梁。项目状态活跃开发中作为browser-use生态的重要组成部分。项目数据⭐ GitHub Stars: 400 (快速增长中) Forks: 30 版本: Alpha 阶段 License: MIT 官网: browser-use.com主要功能核心作用Browser Harness 的核心作用是作为 AI Agent 的“操作系统的延伸”让 Agent 能够以极低的 Token 成本和极高的精确度操作浏览器。使用场景AI 自动化表单填写定向同步本地 Cookie 并在远程浏览器中自动处理报销、入账等繁琐流程。跨平台内容运营训练 Agent 在特定站点如 GitHub、Medium、Quora按照最佳实践自动发布内容。复杂数据抓取与分析Agent 发现现有脚本失效时能自主探索网页 DOM 并实时编写新的数据提取函数。Agent-as-a-User让 Agent 代表用户处理需要登录态的 Web 任务无需重复登录。快速开始如果你有一个本地的 AI 开发助手如 Claude Code可以按照以下步骤操作# 1. 克隆并安装环境gitclone https://github.com/browser-use/browser-harnesscdbrowser-harness uvsync# 2. 引导项目连接真实浏览器uv run browser-harness--setup# 3. 在你的 Agent 对话框中输入# 请阅读项目中的 install.md 和 SKILL.md帮我连接到我的 Chrome 浏览器。核心特性直接桥接 CDP跳过 Playwright 等高级库直连 Chrome DevTools Protocol响应速度极快。Domain Skills (领域技能库)预置了针对 GitHub、Medium、SoundCloud 等站点的优化操作模式在domain-skills/目录下。Profile 同步能够平滑地将用户本地的浏览器配置同步到云端简化认证过程。极致精简核心代码量极小AI 可以轻松阅读并重写整个工具逻辑实现“工具自我进化”。Wait-less 设计优先使用 HTTP 级别的变通方案获取数据而非强行渲染全量页面节省资源。项目优势对比项Browser HarnessPlaywright / Selenium目标用户AI Agent人类开发者 / 测试工程师设计哲学动态、自适应、Agent 编写工具静态、强类型 API、开发者编写代码集成成本极低LLM 一次读取即可掌握高需要学习复杂的 API 文档灵活性Agent 可根据需要改写核心 Helper只能调用库提供的公开接口为什么选择这个项目为 AI 原生设计它的每一行代码都是为了让 LLM 读懂而写的。低延迟控制没有中间层指令执行近乎实时。自愈能力强当页面布局改变Agent 可以在 Harness 的帮助下直接修复操作逻辑。项目详细剖析架构设计一种“透明桥梁”Browser Harness 的架构非常简洁见daemon.py。它启动一个后台守护进程通过 Unix 域套接字或 Websocket 维持与浏览器实例的持久连接。核心模块分析daemon.py负责监听指令并将请求转发给 Chrome。helpers.py提供了一些基础的“原子操作”如点击、滚动、获取页面信息。这些操作没有深层嵌套LLM 可以一眼看穿其逻辑并进行魔改。domain_skills/这是一个极具启发性的目录。它展示了如何为特定网站如 GitHub编写微型、高效的操作模块。# 示例一个精简的获取页面信息的 helperdefpage_info():获取当前页面的核心元数据专为 Agent 摘要设计# 逻辑直接通过 CDP 获取文档标题、URL 和精简后的 DOM 树...“苦教训”的实践Sutton 在其著名的文章《苦教训》中提到利用计算力的通用方法最终总会胜过利用人类知识的方法。Browser Harness 实践了这一理念它不再试图通过人类编写极其复杂的解析规则来处理所有网页而是提供一个足够简单且透明的底层环境。当遇到复杂的网页布局时它信任背后 LLM 的推理能力让 Agent 根据反馈自行构建临时的、针对性的操作函数。项目地址与资源官方资源GitHub: https://github.com/browser-use/browser-harness文档: 详见仓库内的SKILL.md和install.md社区: Discord 社区Issue Tracker: GitHub Issues适用人群AI 开发者正在构建自主 Agent 且需要浏览器交互能力。全栈工程师希望利用 AI 自动化处理日常重复性网页任务。研究人员探索 LLM 在动态环境下的规划与执行能力。欢迎来我的个人主页找到更多有用的知识和有趣的产品

相关文章:

一天一个开源项目(第80篇):Browser Harness - 让 AI 智能体拥有“手”与“眼”的轻量化浏览器桥梁

引言 “给 AI 一个浏览器,它能为你连接整个互联网。” 这是“一天一个开源项目”系列的第80篇文章。今天带你了解的项目是 Browser Harness(browser-harness)。 在 AI 智能体(Agent)快速进化的今天,一个核…...

3步上手CoolProp:开源热力学计算库的完全指南

3步上手CoolProp:开源热力学计算库的完全指南 【免费下载链接】CoolProp Thermophysical properties for the masses 项目地址: https://gitcode.com/gh_mirrors/co/CoolProp 还在为工程计算中的流体物性数据烦恼吗?CoolProp作为一个开源的热物理…...

终极动画观看体验:Hanime1Plugin Android插件完整指南

终极动画观看体验:Hanime1Plugin Android插件完整指南 【免费下载链接】Hanime1Plugin Android插件(https://hanime1.me) (NSFW) 项目地址: https://gitcode.com/gh_mirrors/ha/Hanime1Plugin Hanime1Plugin 是一款专为Android用户设计的动画观看增强插件&am…...

从思想萌芽到智能觉醒:人工智能发展七十年演进史

引言1950年,一篇题为《计算机器与智能》的论文发表在英国哲学杂志《心》(Mind)上。论文开篇写道:“我提议考虑这样一个问题:‘机器能思考吗?’”这篇论文的作者,是被后人称为“人工智能之父”的…...

量子计算中的稳定器范围:原理与应用

1. 量子计算中的稳定器范围:概念与背景量子计算的核心挑战之一在于有效管理非Clifford门资源。稳定器范围(Stabilizer Extent)作为衡量非Clifford操作资源消耗的关键指标,近年来在量子电路合成与优化领域展现出独特价值。这一概念…...

实战:自动化数据分析报表 Agent Harness

实战:搭建基于Harness的自动化数据分析报表智能Agent 一、引言 1.1 钩子:你还在每周花4小时做重复的报表吗? 我2022年在一家电商公司做数据开发的时候,见过运营组最崩溃的场景:每周一早上8点到12点,4个运营同事全员放下所有业务工作,分别从MySQL业务库、ClickHouse行为…...

QMCDecode:重构数字音乐自由,解锁QQ音乐加密格式的终极方案

QMCDecode:重构数字音乐自由,解锁QQ音乐加密格式的终极方案 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录&…...

JSON提示工程:提升LLM交互效率的关键技术

1. 理解JSON提示工程的核心价值大型语言模型(LLM)的交互方式正在从简单的文本对话转向结构化数据交换。JSON作为轻量级数据交换格式,在提示工程中展现出三大独特优势:结构化思维强制:要求开发者明确区分指令、上下文和…...

登录无法连接sqlserver数据库手顺

这个 Cant open lib ODBC Driver 17 for SQL Server : file not found 错误,是系统提示找不到 SQL Server 的 ODBC 驱动,通常因为驱动未安装、未正确配置或缺少依赖。 安装驱动、创建数据源(DSN)并测试连接,可以按以下…...

AI如何通过MRI识别中风前兆:ConvNeXt 3D卷积网络技术解析

1. AI如何从常规脑部MRI中发现中风前兆去年我在皇家墨尔本医院神经科实习时,亲眼目睹了多例因房颤(AFib)导致的缺血性中风病例。这些患者往往在毫无预警的情况下突然发病,而实际上他们的脑部MRI扫描中早已隐藏着危险信号 - 只是人…...

ASR时间戳验证:Qwen3-ForcedAligner-0.6B对比识别结果,评估精度更客观

ASR时间戳验证:Qwen3-ForcedAligner-0.6B对比识别结果,评估精度更客观 1. 时间戳验证的意义与方法 在语音识别(ASR)领域,时间戳精度是评估系统性能的重要指标。传统评估方法主要关注文本转录准确率(WER),但忽视了时间维度的准确…...

Phi-3.5-mini-instruct开源模型:MIT许可可商用可二次微调

Phi-3.5-mini-instruct开源模型:MIT许可可商用可二次微调 1. 模型概述 Phi-3.5-mini-instruct是微软推出的轻量级指令微调大语言模型,采用Transformer解码器架构,支持128K超长上下文窗口。该模型针对多语言对话、代码生成和逻辑推理任务进行…...

深度学习损失函数选择指南:从原理到实践

1. 深度学习神经网络中的损失函数选择指南在训练深度学习模型时,选择合适的损失函数是决定模型性能的关键因素之一。作为从业多年的机器学习工程师,我经常看到初学者在这个关键环节犯错误。损失函数不仅决定了模型如何评估预测误差,更直接影响…...

【实战解析】FTK Imager:被低估的取证级数据恢复利器

1. 被忽视的取证神器:FTK Imager实战初体验 第一次接触FTK Imager是在三年前的一个数据恢复案例中。当时客户送来一块行车记录仪的SD卡,里面存着一起交通事故的关键录像,但数据已被删除。我们尝试了市面上几乎所有主流恢复工具,结…...

Stable Diffusion插画创作:从模型选型到商业应用

1. 项目概述:基于Stable Diffusion的插画创作实践去年第一次接触Stable Diffusion时,我用它生成了一张动漫风格的城堡插画,结果得到了一个三只眼睛的扭曲建筑。这个令人啼笑皆非的失败案例,反而让我意识到AI绘画工具在参数设置和提…...

机器学习数据预处理:标准化与归一化实战指南

1. 为什么数据预处理对机器学习至关重要在机器学习项目中,数据预处理往往是最容易被忽视却至关重要的环节。我见过太多初学者直接将原始数据丢进模型,然后困惑为什么结果不理想。事实上,数据质量直接决定了模型性能的上限。1.1 数据尺度差异带…...

多类别不平衡分类问题与SMOTE技术实践

1. 多类别不平衡分类问题概述在机器学习实践中,我们经常会遇到类别分布不均衡的分类问题。这类问题中,某些类别的样本数量可能远多于其他类别,导致模型训练时倾向于忽略少数类。虽然大多数关于不平衡分类的研究都集中在二分类问题上&#xff…...

Ubuntu的apt命令详解:系统管理的核心工具

在Linux生态中,Ubuntu凭借其用户友好的设计和强大的软件管理工具成为最受欢迎的发行版之一。其中,apt(Advanced Package Tool)作为核心包管理工具,通过简洁的命令行接口实现了软件安装、升级、卸载等全生命周期管理。本…...

字母数字Unicode转换器:防范搬运、复制

Unicode字符中有一些特殊的数学粗体字母和数字,它们看起来和普通字符相似,但编码不同,在某些场景下可以作为内容保护手段。本文介绍一款专门进行这种转换的工具。工具能做什么将普通的大写字母A-Z、小写字母a-z、数字0-9转换为对应的Unicode数…...

指定文件夹批量带密码压缩工具:功能详解与使用指南

在日常办公中,需要给多个文件夹分别设置密码并压缩的场景并不少见。本文介绍一款专门解决这类需求的工具,包含核心功能解析和操作流程说明。工具能做什么一句话总结:将文件夹批量压缩为独立的ZIP文件,每个文件(夹&…...

告别默认黑!VSCode主题切换保姆级教程(含Quiet Light等主题预览技巧)

VSCode主题切换全攻略:从Quiet Light到高效视觉配置 第一次打开VSCode时,那个深邃的默认暗色主题是否让你感到压抑?作为每天要盯着屏幕8小时以上的开发者,代码编辑器的视觉体验直接影响工作情绪和效率。本文将带你超越基础设置&am…...

直播设备ping值延时监测工具:功能详解与使用指南

对于直播从业者、网络运维人员来说,实时监测网络状态是个重要需求。本文介绍一款专门用于监测网络延时的工具,包含核心功能解析和参数设置建议。工具能做什么一句话总结:同时监测多台网络设备的延时情况,当延时超过阈值时报警&…...

FPGA全数字CDR设计:从过采样原理到低速SerDes应用实践

1. 什么是全数字CDR?为什么FPGA实现如此重要 时钟数据恢复(CDR)技术是现代数字通信系统中不可或缺的关键环节。想象一下,当你和朋友用对讲机通话时,如果双方说话节奏不一致,就会导致听不清或漏掉重要信息。…...

计算机毕业设计:Python股票量化分析与深度学习预测平台 Flask框架 TensorFlow LSTM 数据分析 可视化 大数据 大模型(建议收藏)✅

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...

XGBoost实现随机森林:高效集成学习实践指南

1. 使用XGBoost开发随机森林集成模型随机森林是一种比梯度提升更简单的算法。XGBoost库允许以某种方式训练模型,重新利用并利用库中实现的训练随机森林模型的计算效率。在机器学习实践中,我们经常需要在模型性能和训练效率之间寻找平衡点。XGBoost作为梯…...

长芯微LDC38601完全P2P替代ADS1256,是低噪声、24 位、60kSPS 模数转换器 (ADC)。

描述LDC38601 是低噪声、24 位、60kSPS 的 sigma-delta (Σ-Δ) 模数转换器 (ADC)。 这些模数转换器配备了四阶 sigma-delta 调制器和五阶 Sinc 滤波器 (Sinc5),经过优化以实现低噪声性能。 它们还配备了灵活的输入多路复用器,支持单端输入或差分输入配置…...

计算机毕业设计:Python股票市场数据可视化与深度学习预测系统 Flask框架 LSTM Keras 数据分析 可视化 深度学习 大数据 爬虫(建议收藏)✅

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...

基于vue的宏图企业档案资料管理系统[vue]-计算机毕业设计源码+LW文档

摘要:随着企业业务的不断拓展和信息量的急剧增加,高效管理企业档案资料成为企业运营中的重要环节。本文介绍了一个基于Vue框架开发的宏图企业档案资料管理系统,旨在解决传统档案管理方式中存在的效率低、易出错、查询不便等问题。系统采用前后…...

如何免费延长JetBrains IDE试用期:IDE Eval Resetter完整使用教程

如何免费延长JetBrains IDE试用期:IDE Eval Resetter完整使用教程 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 还在为IntelliJ IDEA、PyCharm等JetBrains IDE试用期到期而烦恼吗?想象一…...

Java8 为什么这里把key的hashcode取出来,然后把它右移16位,然后取异或?

文章目录【深入源码】图解 HashMap 扰动函数:为什么要把高位“揉”进低位?1. 核心矛盾:被浪费的“40亿”2. 案例实战:如果不“扰动”会发生什么?未经扰动的下标计算:3. 扰动函数介入:h ^ (h >…...