news 2026/9/12 6:17:41

Nanobrowser 用自己的模型跑起来有多快:免费 AI 浏览器 Agent 实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Nanobrowser 用自己的模型跑起来有多快:免费 AI 浏览器 Agent 实战指南

Nanobrowser 用自己的模型跑起来有多快:免费 AI 浏览器 Agent 实战指南

【免费下载链接】nanobrowserOpen-Source Chrome extension for AI-powered web automation. Run multi-agent workflows using your own LLM API key. Alternative to OpenAI Operator.项目地址: https://gitcode.com/GitHub_Trending/na/nanobrowser

Nanobrowser 是一个开源 Chrome 扩展:把一句任务交给 AI,它自己驱动浏览器点击、输入、检索,全程在你本地浏览器里完成。这篇文章按实际使用路径讲清楚怎么装起来、内部两个 Agent 如何分工、哪些配置项会直接影响成本和稳定性。

为什么值得把浏览器交给 AI

用 OpenAI Operator 这类商业 AI 浏览器代理的人,第一反应通常是矛盾的:确实好用,但确实贵,月费约 200 美元,而且登录态和浏览数据要经过第三方云。

Nanobrowser 的做法相反:Agent 不进云端,装进你自己的浏览器。扩展跑在 Chrome 或 Edge 里,模型走你自己的 API Key,页面内容和账号信息不出本机。成本上只按自己的 API 用量计费,没有订阅。

这种形态适合三类人:

  • 想让 AI 自动处理重复网页任务(抓取、填表、跨页信息汇总),又不想写 Selenium 脚本的;
  • 在意隐私、希望敏感数据只在本机流转的;
  • 想自己挑模型,在效果和成本之间找平衡的。

两个 Agent 的分工

Nanobrowser 的核心是一个双 Agent 循环,源码都在 chrome-extension/src/background/agent/ 下,两个角色职责完全不同:

  • Planner(规划者):默认每隔 3 步介入一次,看当前进展,输出"现状、难点、下一步、是否完成"的结构化结论(字段定义见 planner.ts),走偏时负责纠偏。
  • Navigator(执行者):拿到页面 DOM 快照,输出一批结构化动作交给动作注册表执行——点击某个序号、输入文本、跳转 URL、切换标签页、滚动、缓存内容等,动作全集在 schemas.ts。

外层循环由 Executor 驱动:每一轮 = Planner 定期校对进度 + Navigator 执行一批动作。Planner 判定完成就输出最终答案收尾;步数达到上限(默认 100)还没完成则判失败。这个设计的好处是单点动作出错还有下一轮规划拉回来的机会,不会一步错步步错。

一个细节值得注意:Navigator 定位元素靠的是给可点击元素标注的序号。一批动作之间如果页面发生变化,框架会中止后续动作并把情况交回 Planner,而不是继续拿旧序号点错地方。

两个 Agent 还能配不同的模型——这是控制成本的关键,下一节展开。

最小接入:从 clone 到第一个任务

最省事的路径是直接装 Chrome Web Store 里的稳定版。要拿最新特性或者参与开发,就 clone 源码自己构建(需要 Node.js 22.12+、pnpm 9.15+):

git clone https://gitcode.com/GitHub_Trending/na/nanobrowser cd nanobrowser pnpm install pnpm build

产物在dist目录:打开chrome://extensions/,开启开发者模式,"加载已解压的扩展"选中该目录即可。想边改边试,跑pnpm dev,工程自带 HMR 热更新。

装完必做的一步:进设置面板(侧栏右上角齿轮图标),填上你用的模型服务商的 API Key,并给每个 Agent 指定模型。内置服务商覆盖 OpenAI、Anthropic、DeepSeek、Gemini、Grok、Ollama、Groq、Cerebras、Llama、OpenRouter 以及各种 OpenAI 兼容服务,清单和默认参数见 types.ts。

然后在侧栏面板里直接说一句话就行,比如:

  • "去 TechCrunch 抓取过去 24 小时的 10 条重要头条"
  • "在 Amazon 上找 50 美元以下、防水、续航 10 小时以上的便携蓝牙音箱"

执行过程会在侧栏逐步展示每个 Agent 的实时状态,任务结束后还能就已完成任务追问上下文问题,历史会话也保存在本地。

值得了解的配置项

设置分块存放在 packages/storage/lib/settings/,挑最影响结果的三块说:

按 Agent 分派模型

每个 Agent(planner / navigator)可独立配置服务商和模型,temperature、topP 也有按服务商、按 Agent 的默认值(见 agentModels.ts)。README 给出的三档组合:

  • 追效果:Planner 用大推理模型(如 Claude Sonnet 4),Navigator 用快的小模型(如 Claude Haiku 3.5)——规划者多思考、执行者多跑量,按角色分配最划算。
  • 追成本:两个 Agent 都挂小模型(Haiku、GPT-4o-mini、Gemini 2.5 Flash 一类),开销降下来,但复杂任务的稳定性会变差,迭代轮数可能变多。
  • 全本地:接 Ollama 跑本地模型(Qwen、Falcon、Mistral 等),API 成本归零。README 特别提醒:本地模型需要更具体、拆解清楚的任务描述,模糊指令容易跑偏。

循环上限与安全边界

generalSettings.ts 里几个默认值值得知道:maxSteps 100、maxActionsPerStep 5、maxFailures 3、planningInterval 3(规划频率)。如果任务明确是个短平快活,把 maxSteps 调低能避免失控任务白烧 API。

firewall 默认开启,支持白名单和黑名单:Agent 访问不在允许范围内的 URL 会直接抛出 URLNotAllowedError 被拦下。用在真实工作流时建议先用白名单圈定范围,这是最有价值的安全开关之一。

视觉模式与历史重放

默认 Navigator 只读 DOM 结构(useVision 关闭),图片多、动态内容重的页面可以打开;Planner 是否用视觉可单独配置。另一个开关是 replayHistoricalTasks:开启后每个 Agent 的步骤历史会存到本地,之后能重放一遍当时的操作序列,重放自带元素索引修正(页面变了会重新匹配元素)和单步最多 3 次重试,适合回归验证"跑通过一次"的流程。

选型与避坑

几个开工前要知道的事:

  • 浏览器兼容:官方只支持 Chrome 和 Edge,Firefox、Safari 及其他 Chromium 变体(Opera、Arc 等)不在保证范围内。
  • 弱模型别接复杂任务:低成本路线可用,但适合搜索、点击、提取这类路径明确的任务;多步决策类任务给小模型,Planner 容易反复绕圈。
  • 失败容忍有边界:单步动作错误累计超过 3 次会中断该步,整任务超过步数上限判失败,这些规则都在 errors.ts 里能查到。
  • 本地模型参数偏保守:Ollama 一类本地服务商的默认 temperature 更低,用小本地模型时建议对照 README 的推荐清单和社区实测结果调。

下一步建议:先用 Web Store 版跑通"查 GitHub trending 仓库"这类示例任务,熟悉 Planner / Navigator 的交互节奏后,再接一个本地 Ollama 模型把成本下限摸出来。完整功能清单可以看 README.md。

【免费下载链接】nanobrowserOpen-Source Chrome extension for AI-powered web automation. Run multi-agent workflows using your own LLM API key. Alternative to OpenAI Operator.项目地址: https://gitcode.com/GitHub_Trending/na/nanobrowser

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 6:16:04

智能检索系统:异步爬虫与NLP技术优化图书馆资源聚合

1. 项目背景与核心价值 在数字化阅读时代,图书馆资源分散在各个独立系统中,读者往往需要反复登录不同平台检索目标书籍。我们团队开发的这套智能检索系统,通过异步爬虫技术聚合了全国27家省级图书馆的元数据,结合NLP算法实现语义化…

作者头像 李华
网站建设 2026/9/12 6:14:00

Python函数参数详解:从基础到*args与**kwargs高级用法

1. Python函数参数深度解析在Python开发中,函数参数的处理能力直接决定了代码的灵活性和可维护性。很多初学者在刚接触*args和**kwargs时容易感到困惑,而实际上这些特性正是Python作为动态语言的精髓所在。本文将带你从底层原理到实际应用,全…

作者头像 李华
网站建设 2026/9/12 6:12:13

SpringBoot+MyBatis中@Mapper注解扫描失效解决方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 6:07:56

fscan Web管理平台部署教程:三步跑起内网可视化扫描

fscan Web管理平台部署教程:三步跑起内网可视化扫描 【免费下载链接】fscan 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。(An intranet comprehensive scanning tool, enabling one-click automated, all-round vulnerability scanning) 项…

作者头像 李华