最近在折腾AI agent 其中需要让LLM 自己“上网干活”,比如完成saas的表单、自动投简历、收集没有api和无法爬到的内容等等,结果发现浏览器这关很容易卡住。
browser-use虽然好用,但我们是全 TypeScript 技术栈。
索性自己动手写了一个 —— Browsernode,直接用 TypeScript/Node.js 重写,功能和 API 100% 兼容browser-use,
而且对开发者更友好,开箱即用。现在开源出来,给有同样需求的同学用。
项目简介
Browsernode 是一个用 TypeScript/Node.js 实现的 AI 浏览器 Agent 库,可以让 LLM / Agent 控制真实浏览器执行各种自动化任务。
-
开源协议:MIT License
-
技术栈:Node.js / TypeScript
-
兼容性:与
browser-use的 API 和功能 100% 对齐 -
仓库:GitHub
-
官网 & 文档:browsernode.com | docs.browsernode.com
为什么会做它?
我们很喜欢 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
链接
- GitHub:leoning60/browsernode
- 文档:docs.browsernode.com
- 官网:browsernode.com
- 视频演示:Google Docs 自动写作 + 导出 PDF
这个Browsernode我们内部已经用 4 个多月,稳定性和功能都踩过坑。
如果你在做 AI Agent / RPA / 浏览器自动化,欢迎试用、提建议。如果喜欢,欢迎给个star🌟,或者直接在 GitHub 开 Issue 交流。