最近在折腾 LLM 让它自己“上网干活”,结果发现浏览器这关很容易卡住。
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 )
与 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
GitHub:leoning60/browsernode
这个库我们内部已经用 4 个多月,稳定性和功能都踩过坑。
如果你在做 AI Agent / RPA / 浏览器自动化,欢迎试用、提建议,或者直接在 GitHub 开 Issue 交流。
![]() |
1
songsongqaq 27 天前
赞一个
|
![]() |
2
virjay 25 天前 via Android
能不能过机器人检测
|
![]() |
3
jackhatedance OP @virjay Browsernode 提供了 patchright 代替 Playwright 的方案,patchright 在正确配置下可以通过 Cloudflare 、Kasada 、Akamai 、Shape/F5 、Bet365 、Datadome 等的检测。至于特定的网站的验证,比如 amazon 等,可以在 Browsernode 中配置 2Captcha 之类的验证码解决方案的 api ,这个在 browsernode 的 github 的 exmaples/custom-functions 下有 demo
|