📌 项目地址:nanobrowser/nanobrowser | ⭐ 13,051 颗星 | 🔧 TypeScript | 📜 Apache-2.0
项目是什么
Nanobrowser 是一个开源的 Chrome 扩展,用来做 AI 网页自动化。它把自己定位成 OpenAI Operator 的免费替代品——后者每月收费 200 美元。GitHub 上 13051 颗星,Apache-2.0 许可证,代码完整可读。
核心逻辑:你在侧边栏用自然语言描述任务,扩展里的 AI 智能体会自动操作当前标签页。所有计算在本地浏览器内完成,你的 Cookies、密码、个人资料不离开设备。你只需要提供自己的 LLM API 密钥(比如 OpenAI、Anthropic、本地 Ollama 等),扩展本身是免费的。
多智能体系统怎么工作
和市面上大部分单智能体自动化工具不一样,Nanobrowser 内部用了两个专用 AI 角色。
Planner(规划器):接收用户任务,拆解成可执行的步骤序列。举个例子,你让它“打开 HuggingFace 模型排行榜,找出 Top 5 文本生成模型并提取名称和参数量”,Planner 会先规划:访问 HuggingFace 页面 → 找到排行榜 → 滚动加载更多 → 定位表格 → 提取数据。执行过程中如果遇到弹窗、元素缺失、DOM 结构变化,Planner 会自己修正计划,比如发现搜索结果需要点击“Show more”,就动态调整下一步。
Navigator(导航器):按照 Planner 的指令执行具体的页面操作:点击、输入文字、滚动、等待元素出现。它不负责决策,只负责执行。
两个智能体通过扩展内部通信协作。官方演示是在 HuggingFace 实时分析页面:Planner 发现一条路径走不通(比如某个按钮被广告遮挡),自动重试并切换策略,Navigator 立刻执行新指令。整个过程在侧边栏显示当前步骤和智能体状态,你可以看到 Planner 在“思考”还是 Navigator 在“点击”。
我实际跑下来,这种分工带来的好处是:你可以给 Planner 分配一个更“聪明”的模型(比如 GPT-4 或 Claude 3.5 Sonnet),负责复杂任务拆解和纠错;Navigator 只需要执行基本操作,用本地小模型(比如 Llama 3 8B)甚至免费 API 就可以,成本极低。角色分离设计在开源同类工具里很少见。
LLM 配置的灵活性与取舍
当前支持的 LLM 提供商:OpenAI、Anthropic、Gemini、Ollama、Groq、Cerebras、Llama,以及任何兼容 OpenAI 接口的自定义服务(比如 vLLM、LocalAI)。在设置里可以给 Planner 和 Navigator 分配不同的模型和 API Key。
我试过的几个组合:
- Planner = GPT-4o, Navigator = GPT-4o mini:任务分解准确率很高,Navigator 执行速度尚可,但每次操作都要走 OpenAI API,延迟约 2-3 秒。
- Planner = Claude 3.5 Sonnet, Navigator = Gemini 1.5 Flash:Claude 对复杂页面的理解能力更强,Gemini 免费层速度不错,但偶尔会出现 Navigator 等待响应超时。
- Planner = GPT-4o, Navigator = 本地 Ollama 的 Llama 3 8B:成本最低(本地零费用执行点击操作),但 Llama 3 8B 在元素定位和等待逻辑上偶尔出错,导致 Planner 反复重试步骤。我用的是 RTX 3060 12GB,单步操作流畅,多步长任务(比如需要翻页 10 次)会有累积延迟。
如果你的机器显存低于 12GB,本地 Llama 3 8B 可能跑不动。这时候可以用 Groq 提供的免费 Llama 3 70B API(速度很快,但有限额),或者直接用 Gemini 免费层。分配时注意:Planner 建议用参数量更大的模型,Navigator 可以用小模型,但不要太小(低于 7B 的模型在元素定位上准确率不够)。
隐私和成本的关键差异
Nanobrowser 运行时,所有数据只在你的浏览器进程内流转。智能体通过 Chrome 扩展的 activeTab 权限访问当前标签页的 DOM,不需要把登录凭证发给任何云端服务。
对比 OpenAI Operator:你需要把账号密码交给 OpenAI 的云端虚拟机,你的每次操作、页面截图、网络请求都会被记录。如果你要自动化内部系统、银行转账、电商后台、私有部署的管理界面,这个差异是性命攸关的。
成本方面:扩展免费,你自己承担 API 调用费。用 GPT-4o 配合 Gemini 免费层,一个月重度使用(每天几十个任务)可能花费十几美元。如果用全本地模型,零 API 费用,但需要机器硬件投入。
实际使用中的问题和限制
我连续用了两周,主要做:批量采集产品详情、自动填写表单、监控某个页面价格变化。以下是一些具体体验:
响应速度依赖模型选择。用 Gemini 免费层每次调用要等 3-5 秒,整体任务完成时间比用 GPT-4o 慢一倍。如果 Planner 用本地小模型,任务拆解可能不够准确,导致重试次数增加。建议规划器用大模型,导航器用小模型。
浏览器支持有限。官方只保障 Chrome 和 Edge 的完整功能。我在 Edge 上测试了几天,没有遇到兼容问题。Firefox、Safari、Opera、Arc 不支持,也不推荐尝试——扩展使用了 Chrome 特有的 API(如 sidePanel、declarativeNetRequest)。如果你必须用非 Chromium 浏览器,这个工具不能用。
复杂页面处理能力有天花板。多层 iframe(比如某些内嵌支付页面)、拖拽交互(比如 Trello 卡片拖动)、持续性 Cookie 横幅(每次导航后都会弹出),Planner 可能无法平滑处理。我遇到过一个多 iframe 的页面,Planner 重试了三次才找到目标元素。如果你的自动化场景涉及这些,建议先用简单页面试跑,确认 Planner 能否兜底。
文档偏薄。README 和项目 Wiki 内容不多,只有基本安装和功能列表。高级用法(比如自定义智能体行为、扩展其他 LLM 提供商)需要去 Discord 社区提问,或者直接读 TypeScript 源码。代码本身写得比较清晰,有前端基础的人改起来不难。
社区和开发状态
项目在 Discord 和 X(Twitter)上活跃,Stars 从 5000 涨到 13000 只用了两个月。开发者通过 GitHub Sponsors 接受捐赠,没有公司背景,纯个人项目。代码完全开源,License 是 Apache-2.0,可以随意修改和商用。社区里有人已经提交了 PR 添加自定义模型支持。
如果你需要重复操作网页、批量采集、自动填表,且不愿意把敏感数据交给云服务,Nanobrowser 是目前最扎实的免费选择。核心是找到适合你任务的模型组合——平衡速度、成本与准确率。它不完美,但至少把控制权交到你手里。