Steel Browser 是一个开源的浏览器 API,专为 AI 智能体和应用设计,目标是让开发者无需从零构建自动化基础设施,即可构建与网页交互的实时智能体和浏览器自动化工具。
主要能力:
- 完整浏览器控制:底层使用 Puppeteer 和 CDP,可完全控制 Chrome 实例,支持通过 Puppeteer、Playwright 或 Selenium 连接。
- 会话管理:跨请求维护浏览器状态、Cookie 和本地存储。
- 代理支持:内置代理链管理,用于 IP 轮换。
- 扩展支持:可加载自定义 Chrome 扩展以增强功能。
- 调试工具:内置请求日志和用于查看/调试会话的 UI。
- 反检测:包含隐身插件和指纹管理。
- 资源管理:自动清理和浏览器生命周期管理。
- 浏览器工具:提供 API 将页面快速转换为 Markdown、可读性内容、截图或 PDF。
使用方式:
- 可通过创建 Steel Cloud 账户快速开始,也可部署到云服务商或在本地运行。
- 本地运行最简单的方式是运行预构建的 Docker 镜像,启动后 Steel 浏览器服务器运行在 3000 端口(http://localhost:3000),UI 位于 http://localhost:3000/ui,9223 端口用于控制台调试器。
- 也可使用 docker compose 分别运行 API 和 UI;Mac Silicon 用户需传递特定环境标志。
- 贡献者本地开发需运行 docker-compose.dev.yml 并加 --build,服务器和 UI 分别运行在 3000 和 5173 端口。
- 若已安装 Node.js 和 Chrome,也可直接运行服务器和 UI。Chrome 可执行文件需位于指定路径,或通过 CHROME_EXECUTABLE_PATH 环境变量设置自定义路径。
- 提供 Cookbook 示例,也可在 repl 目录运行 npm run start 体验 REPL。
API 交互方式:
- 快速操作端点:/scrape、/screenshot、/pdf 端点可快速从任意网页提取干净、格式良好的数据,适合简单、只读、按需的任务。
- 完整 REST OpenAPI 文档可在官网及本地实例的 http://localhost:3000/documentation 查看。
- 提供 Python 和 Node SDK(steel-sdk 包),基于 REST API 构建,完全类型化,兼容 Steel Cloud 和自托管实例(通过 Node 的 baseURL 或 Python 的 base_url 切换)。
- /sessions 端点可用自定义选项或扩展(如自定义代理)重新启动浏览器,并重置浏览器状态,适合需要细粒度控制的复杂有状态工作流。
- 创建会话后,可使用会话 ID 或根 URL 通过 Puppeteer 或 Playwright 与浏览器交互;文档提供 Puppeteer 集成、Playwright with Node、Playwright with Python 示例。注意该集成不支持基于 CDP 的浏览器会话 API 的全部功能。
- 对于已有 Selenium 工作流的团队,Steel 浏览器提供可直接替换的方案,使用 isSelenium 选项创建 Selenium 会话,完全兼容 Selenium 的 WebDriver 协议,可使用任何现有 Selenium 客户端连接。
适用场景:
- 构建需要与网页交互的 AI 智能体和应用。
- 浏览器自动化工具开发。
- 需要会话保持、代理轮换、反检测的复杂有状态网页工作流。
- 快速抓取、截图、生成 PDF 等只读按需任务。
限制与状态:
- Steel 处于公开测试阶段,仍在持续演进。
- Playwright 集成不支持基于 CDP 的浏览器会话 API 的全部功能。
- 本地运行需要 Docker 或 Node.js 与 Chrome 环境。
- 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。