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

237 阅读2分钟

BrowserNode-Banner-Text-Black-narrow-Transparent.png

最近在折腾AI agent 其中需要让LLM 自己“上网干活”,比如完成saas的表单、自动投简历、收集没有api和无法爬到的内容等等,结果发现浏览器这关很容易卡住。
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)

  • 100%兼容browser-use所有功能和API,迁移成本几乎为零

它能做什么?

让 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中添加api key

OPENAI_API_KEY=

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

链接

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