© 2026FindAgent  · @simprr
返回列表
n

ntegrals/openbrowser

Let AI agents browse the web. An autonomous toolkit for browser-based AI agents.

ai-agentsautomationclaudeplaywrightpuppeteersandbox
⭐

9.3k

Stars

🔱

858

Forks

👁

267

Watchers

📋

1

Issues

TypeScriptMIT创建于 2019/4/11更新于 今天
在 GitHub 上查看
README
由 Gemini 翻译整理

Open Browser

AI 驱动的 TypeScript 自主网页浏览框架。


为 AI Agent 提供一个浏览器。它能够自主完成点击、输入、导航和数据提取等操作,从而在任何网站上自动执行任务。基于 Playwright 构建,并对 OpenAI、Anthropic 和 Google 模型提供了一流的支持。

v1.0 版本起已可用于生产环境。 欢迎贡献代码。

为什么选择 Open Browser?

  • 自主 Agent:用自然语言描述任务,AI Agent 即可自主导航网页并完成任务——无需手动编写脚本,即可实现点击、输入、滚动和数据提取。
  • 多模型支持:通过 Vercel AI SDK 开箱即用地支持 OpenAI、Anthropic 和 Google 模型——只需一个标记即可切换模型。
  • 交互式 REPL:进入实时浏览器会话并以交互方式发出命令——非常适合调试、原型设计和探索。
  • 沙箱执行:在资源受限的环境中运行 Agent,支持 CPU/内存监控、超时设置和域名限制。
  • 生产就绪:提供停滞检测、成本跟踪、会话管理、重放记录以及全面的错误处理。
  • 开源:MIT 协议,完全可扩展,支持自定义 API Key。

快速开始

# 安装依赖
bun install

# 设置 API Key
cp .env.example .env
# 编辑 .env 文件并填入你的 API Key

# 运行一个 Agent
bun run open-browser run "Find the top story on Hacker News and summarize it"

# 或以交互方式打开浏览器
bun run open-browser interactive

架构

Open Browser 是一个包含三个包的 monorepo:

包名描述
open-browser核心库 —— Agent 逻辑、浏览器控制、DOM 分析、LLM 集成
@open-browser/cli用于运行 Agent 和浏览器命令的命令行界面
@open-browser/sandbox具有资源限制和监控功能的沙箱执行环境

CLI 命令

运行 AI Agent

open-browser run <task> [options]

描述你想要执行的任务,Agent 会自行搞定其余部分。

# 搜索并提取信息
open-browser run "Find the price of the MacBook Pro on apple.com"

# 填写表单
open-browser run "Sign up for the newsletter on example.com with test@email.com"

# 多步骤工作流
open-browser run "Go to GitHub, find the open-browser repo, and star it"
选项描述
-m, --model <model>使用的模型 (默认: gpt-4o)
-p, --provider <provider>提供商: openai, anthropic, google
--headless / --no-headless显示或隐藏浏览器窗口
--max-steps <number>Agent 最大步骤数 (默认: 25)
-v, --verbose显示详细的步骤信息
--no-cost隐藏成本跟踪

浏览器命令

open-browser open <url>              # 打开网址
open-browser click <selector>        # 点击元素
open-browser type <selector> <text>  # 在输入框中打字
open-browser screenshot [output]     # 截屏
open-browser eval <script>           # 在页面上运行 JavaScript
open-browser extract <query>         # 以 markdown 格式提取内容
open-browser state                   # 显示当前 URL、标题和标签页
open-browser sessions                # 列出活动的浏览器会话

交互式 REPL

open-browser interactive

进入 browser> 提示符,获得完全控制权:

browser> open https://news.ycombinator.com
browser> extract "top 5 stories with titles and points"
browser> click .morelink
browser> screenshot front-page.png
browser> help

作为库使用

import { Agent, createViewport, createModel } from 'open-browser'

const viewport = await createViewport({ headless: true })
const model = createModel('openai', 'gpt-4o')

const agent = new Agent({
  viewport,
  model,
  task: 'Go to example.com and extract the main heading',
  settings: {
    stepLimit: 50,
    enableScreenshots: true,
  },
})

const result = await agent.run()
console.log(result)

沙箱执行

在带有资源限制和监控的情况下运行 Agent:

import { Sandbox } from '@open-browser/sandbox'

const sandbox = new Sandbox({
  timeout: 300_000, // 5 分钟超时
  maxMemoryMB: 512, // 内存限制
  allowedDomains: ['example.com'],
  stepLimit: 100,
  captureOutput: true,
})

const result = await sandbox.run({
  task: 'Complete the checkout form',
  model: languageModel,
})

console.log(result.metrics) // 步骤、访问的 URL、CPU 时间

配置

环境变量

# LLM 提供商密钥(至少需要一个)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-...
GOOGLE_GENERATIVE_AI_API_KEY=...
贡献者
n
项目信息
默认分支master
LicenseMIT License
创建时间2019/4/11
最近更新今天
GAI 中文摘要

Open Browser 是一个专为 TypeScript 开发设计的 AI 自主网页浏览框架,旨在让 AI 智能体能够像人类一样操作浏览器。它通过集成 Playwright 和主流大模型,解决了自动化执行网页交互任务、数据提取及复杂流程自动化的难题。

通过自然语言描述即可驱动 AI 自动完成点击、输入、滚动及网页导航等操作。

支持 OpenAI、Anthropic 和 Google 等主流大模型,并可通过配置轻松切换底层模型。

内置交互式 REPL 环境,允许开发者实时调试并指令控制浏览器会话。

提供沙箱运行机制,支持资源限制、监控及域名白名单,保障执行过程的安全性。

具备生产级功能,包含成本追踪、会话管理、操作录屏及完善的异常处理机制。

该工具适用于需要构建自动化 Web Agent 的开发者,可用于自动化数据采集、网页端测试任务处理以及需要 AI 辅助进行复杂交互的研究场景。