新闻详情

新闻详情

首页 / 资讯中心 / 详情

browser-use 工程解析:让 LLM 学会“用浏览器”——把网页变成可执行的棋盘

发布时间:2026/11/14 1:27:32来源:尧图网络
browser-use 工程解析:让 LLM 学会“用浏览器”——把网页变成可执行的棋盘
1. 为什么浏览器自动化总在“最后一公里”翻车如果你写过 Selenium 或 Playwright 脚本大概率遇到过这种场景脚本昨天还能跑今天页面加了个弹窗选择器全废或者你面对一个几千节点的 DOM 树想用 LLM 直接“看懂”页面结果上下文直接爆掉。browser-use 这个项目之所以值得拆是因为它正面回答了这个问题LLM 到底怎么才能像人一样“用”浏览器而不是靠坐标去猜。它的核心思路一句话说清把网页里真正可交互的部分序列化成一段带索引的文本让模型输出“点击 [17]”这种结构化动作而不是“点击坐标 (312, 88)”。这背后靠的是 CDPChrome DevTools Protocol直连加 DOM 抽象层把浏览器变成一个 LLM Agent 可以落子的棋盘。这篇文章面向本地自动化场景不空谈架构重点给你三样能直接跑的东西一份config.toml骨架、TaoToken 统一 Key/API 通道的配置方式以及一次可复现的浏览器任务验证动作。适合已经在折腾 Agent、想让模型真正操作网页的开发者也适合被选择器折磨过、想换个思路的人。2. 前置准备TaoToken 统一 Key 与 API 通道browser-use 本身是个框架它需要一个能输出结构化 JSON 的 LLM 后端。本地跑的时候最烦的是每家模型 Key 格式不一样、base_url 换来换去。我习惯用 TaoToken 做统一通道一个 Key 打通对话和结构化输出省得在多个 provider 之间反复改配置。你需要先拿到一个 API Key。登录官网后进入控制台在 API Keys 页面创建一个新 Key复制出来备用。这个 Key 同时能用于模型对话和 coding 场景后面 browser-use 的 LLM 配置直接指向它就行。相关入口我整理成一张表按需取用用途地址官网入口https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI 基址https://taotoken.net/api模型对话https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewriteCoding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewriteAPI Keyshttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite注意API 基址统一用https://taotoken.net/api不要带 UTM 参数否则部分 SDK 拼接路径时会出问题。拿到 Key 之后先别急着写 browser-use 代码用一条 curl 确认通道是通的。这一步能帮你排除掉后面 80% 的“模型没反应”问题。curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: gpt-4o-mini, messages: [{role: user, content: 只回复两个字通了}] }返回里能看到choices[0].message.content是“通了”说明 Key 和通道都没问题。如果返回 401检查 Key 有没有复制全如果返回 404检查 base_url 是不是多写了/v1之外的路径。3. 可复制配置config.toml 骨架与 LLM 接入browser-use 的配置分两块一块是浏览器行为一块是 LLM 后端。我把它整理成一份config.toml骨架你可以直接抄改掉 Key 就能用。[agent] max_steps 50 use_vision auto max_clickable_elements_length 40000 max_history_items 10 [browser] headless false disable_security false window_width 1280 window_height 900 [llm] provider openai model gpt-4o-mini base_url https://taotoken.net/api/v1 api_key_env TAOTOKEN_API_KEY temperature 0.0几个参数值得单独说。use_vision auto表示只在需要时带截图能省不少 tokenmax_clickable_elements_length控制序列化后的网页文本长度太大容易爆上下文太小会漏元素40000 是个比较稳的中间值max_history_items配合历史压缩用长任务不至于把对话撑爆。环境变量这样设置别把 Key 硬编码进文件export TAOTOKEN_API_KEY你的Key然后在 Python 里加载配置并初始化 Agentimport os import tomllib from browser_use import Agent from browser_use.llm import ChatOpenAI with open(config.toml, rb) as f: cfg tomllib.load(f) llm ChatOpenAI( modelcfg[llm][model], base_urlcfg[llm][base_url], api_keyos.environ[cfg[llm][api_key_env]], temperaturecfg[llm][temperature], ) agent Agent( task打开 https://taotoken.net/doc 找到接入文档的标题并返回, llmllm, max_stepscfg[agent][max_steps], )这里的关键点是base_url指向 TaoToken 的/api/v1ChatOpenAI走的是 OpenAI 兼容协议所以结构化输出、前缀缓存这些能力都能正常吃到。如果你后面要跑长期编码类任务可以换成 Coding Plan 的通道配置方式一样只是 Key 的用途不同。4. 验证请求一次可复现的浏览器任务配置写完跑一次真实任务才算数。下面这段代码会启动浏览器、导航到目标页、让模型决定点哪里最后返回结果。import asyncio from browser_use import Agent from browser_use.llm import ChatOpenAI async def main(): llm ChatOpenAI( modelgpt-4o-mini, base_urlhttps://taotoken.net/api/v1, api_keyos.environ[TAOTOKEN_API_KEY], ) agent Agent( task打开 https://taotoken.net/doc 返回页面主标题文字, llmllm, max_steps20, ) result await agent.run() print(最终结果:, result) asyncio.run(main())跑起来之后你会看到浏览器被拉起页面加载完成后终端里会打印出模型每一步的思考、它看到的带索引的网页文本以及它选择的动作。成功的话最后会输出类似done(successTrue)和页面标题。这里有个细节值得你留意模型看到的不是原始 DOM而是类似下面这种压缩后的文本。[Start of page] [1]a href/doc 接入文档 /a [9]div rolecombobox [15]input typetext placeholder搜索... [End of page]模型说“点击 [1]”系统通过内部的selector_map[1]查到对应的backendNodeId再通过 CDP 派发真实的鼠标事件。给模型看的标记和系统执行的句柄是同一份序列化产物这就是它比“截图猜坐标”稳的地方。如果你想验证模型对话通道是否正常可以先用模型对话页面发一条消息确认如果要做长期编码或 Agent 任务Coding Plan 的通道更适合持续跑。5. 本篇常见错排查报错一401 Unauthorized。九成是 Key 没读到。先确认echo $TAOTOKEN_API_KEY有输出再确认代码里读的是同一个环境变量名。如果用的是.env文件注意 browser-use 不会自动加载得自己用python-dotenv。报错二Connection error或超时。检查base_url是不是写成了https://taotoken.net/api少了/v1。OpenAI 兼容协议需要/v1后缀少了会 404多了会拼成/v1/v1。报错三模型输出不是合法 JSON。browser-use 依赖结构化输出如果模型不支持response_formatjson_schema会解析失败。换成支持结构化输出的模型或者把temperature调到 0。报错四浏览器起不来。本地需要装 Chrome且headless false时要有图形界面。服务器上跑就设成headless true同时确认 Chrome 版本和 CDP 协议兼容。报错五任务跑一半卡住。多半是页面有弹窗或验证码。browser-use 有对应的 watchdog 处理但复杂验证码还是得人工介入。把max_steps调小一点先跑通短任务。报错六token 消耗过快。把use_vision设成automax_clickable_elements_length降到 20000 试试同时确认历史压缩有没有生效。6. 下一步把浏览器能力接进你的 Agent跑通上面这套之后你手里就有了一个能“看懂网页并操作”的 Agent 底座。接下来可以做的方向有几个把task换成你自己的业务场景比如自动填表、监控价格、跑 QA 回归或者把 browser-use 当成工具接进更大的编排框架里。如果你要长期跑编码类或 Agent 类任务建议走 Coding Plan 通道配额和稳定性更适合持续调用如果只是验证模型能力模型对话入口更轻量接入过程中遇到 Key 或通道问题直接翻接入文档里面把 base_url、鉴权、结构化输出都写清楚了。真正值得带走的判断是Agent 面对真实世界第一难的不是决策而是把世界压缩成模型能用的输入。browser-use 把这件事做成了工程而你要做的是把它接到自己的场景里让模型真的能落子。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/13 0:43:49

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/13 10:09:00

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/13 13:31:48

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/13 16:11:45

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/13 0:02:27

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉