V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jackhatedance
V2EX  ›  程序员

[开源分享] Browsernode: Node.js / TypeScript 的 AI 浏览器 Agent(100% 兼容 browser-use)

  •  
  •   jackhatedance ·
    leoning60 · 27 天前 · 1227 次点击

    Browsernode Logo

    最近在折腾 LLM 让它自己“上网干活”,结果发现浏览器这关很容易卡住。
    browser-use 虽然好用,但我们是全 TypeScript 技术栈。
    索性自己动手整了一个 —— Browsernode,直接用 TypeScript/Node.js 重写,功能和 API 100% 兼容browser-use
    而且对开发者更友好,开箱即用。现在开源出来,给有同样需求的同学用。

    项目简介

    Browsernode 是一个用 TypeScript/Node.js 实现的 AI 浏览器 Agent 库,可以让 LLM / Agent 控制真实浏览器执行各种自动化任务。

    为什么会做它?

    我们很喜欢 browser-use,并且最初就是用它。但在实际项目中,我们的整个链路是 TypeScript/JavaScript ,于是干脆 从零用 TS 重写,带来:

    • 更强的 TypeScript 类型支持 与更好的开发体验( DX )

    • browser-use 完全对齐,迁移成本几乎为零

    它能做什么?

    让 LLM / Agent 用自然语言或函数调用的方式操作浏览器,比如:

    • 解析网页 DOM (按钮、输入框、文本等)并转成结构化 JSON

    • 自动点击、输入、跳转、抓取数据

    • 执行自定义的浏览器自动化流程

    主要特性

    • Node.js / TypeScript 优先,强类型支持

    • 兼容所有 browser-use 功能 & API(即插即用)

    • 适配各种 LLM 工作流、RPA 、数据抓取场景

    • 面向开发者体验的设计

    快速上手

    npm install browsernode
    # 安装 Playwright ( Chromium )
    npx playwright install
    
    import { Agent } from "browsernode";
    import { ChatOpenAI } from "browsernode/llm";
    
    const llm = new ChatOpenAI({
      model: "gpt-4.1",
      temperature: 0.0,
      apiKey: process.env.OPENAI_API_KEY,
    });
    
    const task = "对比 gpt-4o 与 DeepSeek-V3 的价格";
    const agent = new Agent({ task, llm });
    const history = await agent.run();
    

    .env

    OPENAI_API_KEY=
    

    更多用法见文档:docs.browsernode.com

    链接

    这个库我们内部已经用 4 个多月,稳定性和功能都踩过坑。
    如果你在做 AI Agent / RPA / 浏览器自动化,欢迎试用、提建议,或者直接在 GitHub 开 Issue 交流。

    3 条回复    2025-08-09 14:48:15 +08:00
    songsongqaq
        1
    songsongqaq  
       27 天前
    赞一个
    virjay
        2
    virjay  
       25 天前 via Android
    能不能过机器人检测
    jackhatedance
        3
    jackhatedance  
    OP
       25 天前
    @virjay Browsernode 提供了 patchright 代替 Playwright 的方案,patchright 在正确配置下可以通过 Cloudflare 、Kasada 、Akamai 、Shape/F5 、Bet365 、Datadome 等的检测。至于特定的网站的验证,比如 amazon 等,可以在 Browsernode 中配置 2Captcha 之类的验证码解决方案的 api ,这个在 browsernode 的 github 的 exmaples/custom-functions 下有 demo
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3357 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 04:57 · PVG 12:57 · LAX 21:57 · JFK 00:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.