browser-harness 自愈合机制完整解析:Agent 自己写代码,让 Harness 随每个任务进化
browser-harness 自愈合机制完整解析Agent 自己写代码让 Harness 随每个任务进化【免费下载链接】browser-harnessBrowser Harness | Self-healing harness that enables LLMs to complete any task.项目地址: https://gitcode.com/gh_mirrors/br/browser-harnessbrowser-harnessBrowser Harness是一个连接大语言模型LLM与真实浏览器的自愈合框架Agent 在完成任务的过程中发现缺少某个操作能力时会自己编写辅助函数补充进来Harness 因此随每个任务不断进化。它的核心就藏在一个文件里——agent_helpers.py。本文将从新手视角带你完整看懂这套自愈合机制的设计思路。首次连接浏览器时Chrome 会弹出这个允许远程调试授权窗口点击Allow后 Agent 才能通过 CDP 协议接管你的浏览器。自愈合是怎么发生的一次缺失、一次补写、永久学会先看一张 ASCII 流程图来自 README.md它是理解整个机制的关键● agent: 想上传一个文件 │ ● agent-workspace/agent_helpers.py → 缺少上传助手函数 │ ● agent 自己把它写出来 agent_helpers.py │ 新增的助手函数 ✓ 文件上传成功整个过程分三步发现缺口Agent 执行任务时发现缺少某个浏览器原语比如上传文件自己写代码Agent 把缺失的助手函数直接写进 agent-workspace/agent_helpers.py永久学会下一次运行任何任务时这个函数都会被自动加载同类操作一次就会、次次可用。这就是自愈合的本质框架不预置所有能力而是让 Agent 在实战中把缺口补上——用得越多Harness 越聪明。核心文件 agent_helpers.py给 Agent 留出的空白笔记本agent-workspace/agent_helpers.py 在初始状态几乎是空的文件头注释直接点明了它的用途Agent-editable browser helpers. Add task-specific browser primitives here. Core helpers from browser_harness.helpers load this file when BH_AGENT_WORKSPACE points at this directory, or when this repos default agent-workspace exists. 三个要点值得注意Agent-editableAgent 可编辑这是整个仓库中 Agent 唯一被允许动笔的浏览器能力扩展点按需加载只要工作区指向该目录核心助手模块就会自动读取它只加不改核心代码受保护Agent 的任务特定扩展全部隔离在这里。自动加载机制一次 exec全局生效写了就生效不是靠魔法而是 src/browser_harness/helpers.py 末尾一个极简的加载函数实现的第 653-668 行def _load_agent_helpers(): p AGENT_WORKSPACE / agent_helpers.py if not p.exists(): return spec importlib.util.spec_from_file_location(browser_harness_agent_helpers, p) ... for name, value in vars(module).items(): if name.startswith(_): continue globals()[name] value _load_agent_helpers()逻辑非常直白检查agent-workspace/agent_helpers.py是否存在用importlib按文件路径把它加载成模块把其中所有公开函数以下划线开头的除外注入到全局命名空间。于是 CLI 入口 src/browser_harness/run.py 执行用户脚本时exec(code, globals())这些自写函数就像内置助手一样直接可用。每次 CLI 调用都会重新加载所以新写的助手在下一次调用立刻生效——这就是愈合能实时完成的技术基础。核心受保护 工作区可写自愈合的安全边界为什么敢让 AI 自己改代码因为 AGENTS.md 划定了清晰的职责边界区域路径权限核心代码src/browser_harness/受保护Agent 不改可写工作区agent-workspace/Agent 唯一可编辑区域领域技能agent-workspace/domain-skills/Agent 读写沉淀站点经验SKILL.md 中还有一条硬性设计约束核心助手保持简短。任务特定的助手扩展一律放入$BH_AGENT_WORKSPACE/agent_helpers.py。核心库越薄扩展点就越清晰Agent 的自愈也因此始终发生在安全边界之内。除了代码层面的自愈合Agent 还会把站点经验写成 Markdown 存入 agent-workspace/domain-skills/——目前仓库已收录 GitHub、LinkedIn、Amazon 等上百个站点的技能文件。配合环境变量BH_DOMAIN_SKILLS1启用后导航到某个站点时goto_url()会主动返回对应的技能文件名Agent 先查手册再动手而不是每次重新摸索。为什么这个设计值得关注对新手友好你不需要预先学习整套 APIAgent 缺什么就补什么越用越强每个任务都可能给 Harness 留下一个可复用的新函数核心零污染自写代码全部隔离在 agent-workspace/agent_helpers.py升级核心版本不受影响。如果想本地体验克隆仓库后按 install.md 引导 Agent 完成浏览器连接即可git clone https://gitcode.com/gh_mirrors/br/browser-harness浏览器远程调试的设置与故障排查可参考 docs/setup-remote-debugging.png 对应的chrome://inspect/#remote-debugging页面以及 docs/MCP.md 中把 Harness 接入任意 MCP 客户端的配置说明。小结browser-harness 的自愈合机制可以浓缩为一句话核心保持极简并受保护把进化的权利交给 Agent 自己的工作区。agent_helpers.py 这本空白笔记本正是它最精妙的设计——每完成一个任务它都比上一次更懂你的浏览器。【免费下载链接】browser-harnessBrowser Harness | Self-healing harness that enables LLMs to complete any task.项目地址: https://gitcode.com/gh_mirrors/br/browser-harness创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

C#上位机多协议PLC通信实战:HSLCommunication选型、API与轮询架构

C#上位机多协议PLC通信实战:HSLCommunication选型、API与轮询架构

1. 为什么我最终选了HSLCommunication而不是自己造轮子做C#上位机开发的朋友,十有八九绕不开和PLC打交道这件事。我最早接触这块大概是在2015年前后,那时候手头项目用的是西门子S7-200 SMART,通信方案是别人写好的一个TCP封装类,代…

2026/9/21 16:26:28 阅读更多 →
PVE中Intel核显直通LXC的真相与绕过方案

PVE中Intel核显直通LXC的真相与绕过方案

1. 为什么 Intel 核显直通 LXC 在 PVE 7.1–8 上是个“伪需求陷阱”你搜到这篇指南,大概率是因为——刚在 PVE Web 界面里点开 LXC 容器设置页,发现“设备”栏下赫然写着“GPU 设备直通”,旁边还配了个小图标;再一查 Intel UHD Gr…

2026/9/21 16:26:28 阅读更多 →
前端工程师如何用CSVLoader和JSONLoader快速切入AI Agent开发

前端工程师如何用CSVLoader和JSONLoader快速切入AI Agent开发

1. 项目概述:为什么前端工程师突然开始写 Agent?“前端转 Agent 开发 第六节”这个标题乍看像是一门系列课的普通一讲,但放在2025年中后期的工程实践语境里,它其实是一条清晰的职业演进路径的具象切片——不是概念炒作&#xff0…

2026/9/21 16:26:28 阅读更多 →

最新新闻

3天搞定博奥软件官网项目,源码解析避坑指南

3天搞定博奥软件官网项目,源码解析避坑指南

3天搞定博奥软件官网项目,源码解析避坑指南 看了一堆教程还是不会写项目?别慌,这很正常。很多开发者卡在“看会了”和“做出来”之间,就是因为缺一个完整的、能跑通的实战案例。…

2026/9/21 17:40:22 阅读更多 →
Java实现橱柜展示系统的3D渲染与优化实践

Java实现橱柜展示系统的3D渲染与优化实践

1. 项目背景与核心价值橱柜展示系统在现代家居设计和零售行业中扮演着越来越重要的角色。传统的纸质图册和静态展示已经无法满足消费者对个性化定制和沉浸式体验的需求。这个Java实现的橱柜展示系统,正是为了解决线下门店展示空间有限、设计方案沟通成本高等痛点而设…

2026/9/21 17:40:21 阅读更多 →
Spring Boot构建历史人物故事平台的技术实践

Spring Boot构建历史人物故事平台的技术实践

1. 项目背景与核心价值历史人物故事分享平台是一个典型的Web应用开发项目,采用Spring Boot框架作为技术基底。这类平台在文化传播领域具有特殊价值——它既满足了普通用户对历史知识的获取需求,又为历史爱好者提供了内容创作的出口。我在开发类似系统时发…

2026/9/21 17:40:21 阅读更多 →
超市仓库管理系统开发实战与优化指南

超市仓库管理系统开发实战与优化指南

1. 项目背景与核心价值超市仓库管理系统是零售行业数字化转型的基础设施,也是计算机专业学生常见的毕业设计选题。这个59803号项目源码提供了一个完整的仓库管理解决方案,涵盖了从商品入库到出库的全流程管理。我在实际零售系统开发中发现,这…

2026/9/21 17:40:21 阅读更多 →
Java关键字详解:核心作用与工程实践

Java关键字详解:核心作用与工程实践

1. 关键字在Java中的核心作用Java关键字是这门语言中最基础的构建模块,就像建筑工地上的钢筋水泥。这些被Java语言保留的特殊单词,每个都承载着特定的语法功能。作为从业15年的Java老司机,我见过太多开发者因为对关键字理解不透彻而写出"…

2026/9/21 17:40:21 阅读更多 →
2026最新ladyboy69版本升级API全变?3招搞定底层逻辑

2026最新ladyboy69版本升级API全变?3招搞定底层逻辑

2026最新ladyboy69版本升级API全变?3招搞定底层逻辑 昨晚还在跑通顺的脚本,今早一启动,满屏的 AttributeError 。那种感觉就像你熟练地掏出一把旧钥匙,却发现门锁已经被厂家偷偷换成了指纹锁。这就是 版本升级后…

2026/9/21 17:39:21 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →