opera-browser-cli – Opera Neon 开源的命令行工具
导读摘要:
opera-browser-cli是由Opera Neon团队推出的开源命令行工具,基于opera-devtools封装,允许本地AI代理(如Claude Code)通过终端直接操控浏览器。该工具无需云端中转或复杂认证,仅需两行命令即可完成安装,使AI从单纯的“问答工具”进化为能够执行网页测试、数据抓取、Web应用生成等实际操作的数字助手。它标志着浏览器正式进入AI Agent时代,为开发者提供了...
1. opera-browser-cli是什么
opera-browser-cli是由Opera Neon团队推出的开源命令行工具,基于opera-devtools封装,允许本地AI代理(如Claude Code)通过终端直接操控浏览器。该工具无需云端中转或复杂认证,仅需两行命令即可完成安装,使AI从单纯的“问答工具”进化为能够执行网页测试、数据抓取、Web应用生成等实际操作的数字助手。它标志着浏览器正式进入AI Agent时代,为开发者提供了一种低门槛、高效率的浏览器自动化新范式。
技术定位与领域: opera-browser-cli属于浏览器自动化与AI Agent工具交叉领域,专注于为本地AI代理提供直接、安全的浏览器控制接口。它不同于传统的自动化测试框架(如Playwright/Puppeteer),也不同于需要复杂MCP配置的方案,而是通过Opera Neon浏览器内置的DevTools协议,在本地9224端口建立直连通道,实现零云端的AI驱动浏览器操控。
研发背景: 由Opera Software开发,依托Opera Neon浏览器的创新架构,旨在解决现有AI浏览器控制方案中认证繁琐、延迟高、依赖云端的问题。Opera团队在浏览器内核优化和DevTools协议方面有深厚积累,此次开源是推动AI Agent生态发展的重要举措。
核心价值: 解决了AI代理无法直接、高效操控浏览器的痛点。传统方案要么需要编写大量脚本(Playwright),要么依赖云端服务(如Browserless),要么需要复杂的MCP配置。opera-browser-cli通过本地直连、无需OAuth认证、开箱即用的AI命令,将浏览器转化为AI的“数字肢体”,大幅降低开发者在AI自动化测试、数据抓取、原型开发等场景中的技术门槛。
技术特点: 基于opera-devtools协议,提供38条命令覆盖导航、截图、元素操作、AI生成等全场景;内置Do、Make、Research三大AI代理命令,可直接根据自然语言生成Web应用;自动为Claude Code配置SKILLs,实现零配置集成;完全开源,Node.js环境下两行命令安装,支持任何支持CLI的AI代理。
2. 主要功能
终端驱动浏览器: 通过命令行直接打开网页、截取页面快照、执行导航操作。所有操作均基于Opera Neon的DevTools协议,无需图形界面,适合服务器端或CI/CD环境下的自动化任务。例如,
opera-browser-cli open https://example.com即可启动浏览器并加载页面。AI代理命令(Do/Make/Research): Opera Neon专属的三大AI命令,是区别于其他工具的核心差异化能力。
Do命令让AI执行具体操作(如“点击登录按钮”),Make命令根据自然语言描述直接生成可运行的Web应用(如“创建一个待办事项应用”),Research命令自动搜索并整理信息。这些命令直接通过CLI调用,无需额外配置。网页测试与数据抓取: 本地AI代理可自动运行网页功能测试、抓取动态网页数据、处理在线表单。例如,AI代理可以通过opera-browser-cli打开页面,填写表单,提交后验证结果,并将数据导出为结构化报告。整个过程无需人工干预,适合回归测试和批量数据采集。
自动化集成(SKILLs配置): 自动为Claude Code等AI代理配置SKILLs,实现开箱即用。用户安装后,opera-browser-cli会自动检测并配置相关AI代理的调用接口,开发者无需手动编写集成代码。这大大降低了AI Agent与浏览器之间的耦合度,提升了开发效率。
全面浏览器控制(38条命令): 提供覆盖导航、截图、元素操作、AI生成等场景的38条命令。包括
snapshot(截取页面快照)、click(点击元素)、type(输入文本)、evaluate(执行JavaScript)、make(生成应用)等。命令设计遵循CLI最佳实践,参数简洁,支持管道和重定向,便于与其他Shell工具组合。会话持久化与状态管理: 支持浏览器会话的持久化,即使AI代理中断,也可恢复之前的状态(如已登录的Cookie、已打开的页面)。通过
opera-browser-cli session save/load命令,开发者可以保存和恢复完整的浏览器上下文,适合长周期自动化任务。
3. 如何使用
环境要求: 确保系统已安装Node.js ≥ 20 和 npm。Windows用户需使用PowerShell 7.0以上版本以获得最佳兼容性。Opera Neon浏览器需提前安装并登录(无需额外认证)。建议在Linux/macOS环境下使用,以获得更好的命令行体验。
安装与初始化: 在终端执行以下命令完成全局安装与初始化:
npm install -g opera-browser-cli && opera-browser-cli setupsetup命令会自动检测Opera Neon浏览器路径,配置本地9224端口绑定,并为Claude Code(如果已安装)自动设置SKILLs。整个过程约30秒,无需手动编辑配置文件。启动浏览器并打开页面: 执行以下命令驱动Opera Neon打开目标网页:
opera-browser-cli open https://operaneon.com浏览器会在无头模式(默认)下启动,也可通过
--headless=false参数启用图形界面。首次启动会建立WebSocket连接,后续命令无需重复启动。执行自动化操作: 使用内置命令完成各种任务。例如,截取当前页面快照供AI分析:
opera-browser-cli snapshot --output screenshot.png调用AI直接生成Web应用:
opera-browser-cli make "create a simple to-do list app with HTML, CSS, and JavaScript"生成的代码会直接输出到终端,也可通过
--output参数保存为文件。其他常用命令包括click、type、evaluate等,均可通过--help查看详细参数说明。最佳实践: 对于复杂自动化流程,建议将多个命令组合成Shell脚本或使用AI代理(如Claude Code)的SKILLs进行编排。注意浏览器会话默认持续到命令结束,如需长期运行,可使用
session save保存状态。此外,opera-browser-cli支持环境变量配置,如OPERA_BROWSER_PATH可指定浏览器路径,OPERA_PORT可自定义端口。
4. 优缺点分析
| 优点 |
|---|
| 本地直连,零云端中转: 直接绑定本地9224端口运行,无需云端认证或复杂MCP配置,大幅降低延迟与Token消耗,适合隐私敏感场景。 |
| 无需OAuth认证: 登录Opera Neon即可直接使用,省去繁琐的授权流程,降低入门门槛。 |
| 功能全面,覆盖38条命令: 完整覆盖chrome-devtools-mcp接口,同时独占支持Opera Neon的Do、Make、Research三大AI代理命令。 |
| 开源轻量,一键上手: GitHub完全开源,Node.js环境下两行命令完成安装,脚本自动配置SKILLs,降低开发成本。 |
5. 同类工具对比
| 对比维度 | opera-browser-cli | Vercel Agent Browser | chrome-devtools-mcp |
|---|---|---|---|
| 核心架构 | 基于opera-devtools,本地9224端口直连 | Rust构建,Client-Daemon架构 | 基于CDP协议的标准MCP封装 |
| AI专属优化 | ✅ 内置Do/Make/Research AI代理命令 | ✅ Accessibility ref系统,Token减少82.5% | ❌ 仅标准DevTools接口 |
| 安装方式 | npm install -g opera-browser-cli |
npm install -g agent-browser |
需配合MCP服务端配置 |
| 认证要求 | 无需OAuth,登录Opera Neon即用 | 无需认证 | 需MCP服务端认证配置 |
| 命令数量 | 38条(含Neon专属AI命令) | 核心导航/交互/快照命令 | 覆盖标准DevTools接口 |
| 会话持久化 | 支持 | Daemon自动管理 | 依赖MCP服务端 |
| 开源协议 | 开源(GitHub) | Apache 2.0 | 开源 |
| 适用场景 | 本地AI代理 + Opera Neon浏览器自动化 | 多语言AI Agent通用浏览器控制 | 标准MCP兼容的浏览器工具 |
选型建议: 对于已使用Opera Neon并希望快速集成AI Agent的开发者,opera-browser-cli是最直接的选择,其内置的AI命令和零配置集成可大幅提升开发效率。如果需要跨浏览器支持或更复杂的自动化脚本,Playwright/Puppeteer仍是更成熟的选择,但需额外编写AI调用层。Vercel Agent Browser在Token优化方面有优势,适合对API成本敏感的云端场景,但需要Rust环境支持。chrome-devtools-mcp则适合已有MCP基础设施的团队,作为标准协议封装。
6. 编辑点评
opera-browser-cli在技术创新上展现出清晰的定位:通过本地直连和内置AI命令,将浏览器转化为AI Agent的“数字肢体”,而非简单的自动化工具。其最大亮点在于“零云端中转”的设计,不仅降低了延迟和Token消耗,还解决了隐私合规问题,这在企业级应用中尤为重要。与Playwright等传统框架相比,opera-browser-cli将AI代理的调用抽象为简单的CLI命令,使非专业开发者也能轻松实现浏览器自动化,这降低了AI Agent落地的门槛。
在实用价值方面,该工具特别适合以下场景:本地AI代理驱动的自动化测试、动态网页数据抓取、快速原型开发。例如,开发者可以通过make命令让AI根据自然语言描述直接生成Web应用,这比传统编码方式效率提升数倍。然而,其依赖Opera Neon浏览器的限制也意味着无法在Chrome、Firefox等主流浏览器上使用,这在一定程度上削弱了通用性。
适用人群主要为:使用Opera Neon的开发者、AI Agent爱好者、需要快速原型验证的创业团队。对于大型企业或需要跨平台支持的团队,建议结合Playwright/Puppeteer作为补充。未来,如果Opera团队能扩展对其他浏览器的支持,并完善文档和社区生态,opera-browser-cli有望成为AI浏览器自动化领域的重要参与者。
7. 应用场景
AI自动化测试: 本地AI代理通过opera-browser-cli自动运行网页功能测试。例如,AI可以打开登录页面,输入测试账号,点击登录按钮,验证页面跳转是否正确,并截图记录结果。整个过程无需人工编写测试脚本,AI根据自然语言指令即可完成。
智能数据抓取: AI直接操控浏览器抓取动态网页数据,生成结构化报告。例如,AI可以打开电商网站,搜索特定商品,提取价格、评价、库存等信息,并导出为CSV或JSON文件。对于需要登录或处理JavaScript渲染的页面,opera-browser-cli的会话持久化功能确保数据完整性。
快速原型开发: 通过
make命令让AI根据自然语言描述直接生成可运行的Web应用。例如,开发者输入“创建一个带有用户登录、文章列表和评论功能的博客页面”,AI会生成完整的HTML/CSS/JavaScript代码,并自动在浏览器中预览。这极大缩短了从想法到原型的时间。在线表单处理: 自动填写、提交复杂表单,完成订票、报名等重复性操作。AI可以读取表单结构,根据预设规则或外部数据源填充字段,并处理验证码、下拉选择等交互。适用于需要批量处理表单的行政、招聘、调研等场景。
浏览器自动化工作流: 与Claude Code等工具结合,构建端到端的自动化开发流程。例如,AI代理可以自动打开GitHub仓库,克隆代码,运行测试,查看结果,并根据失败信息修改代码。opera-browser-cli的SKILLs配置使集成变得无缝。
8. 常见问题FAQ
Q:opera-browser-cli是否支持Chrome或Firefox?
A:目前仅支持Opera Neon浏览器。Opera团队基于opera-devtools协议开发,该协议与Chrome DevTools Protocol(CDP)有部分兼容,但未针对其他浏览器适配。如需跨浏览器支持,建议使用Playwright或Puppeteer。
Q:安装时提示“Node.js版本过低”怎么办?
A:确保Node.js版本≥20。可通过node -v查看当前版本。如版本过低,建议使用nvm(Node Version Manager)安装最新LTS版本。Windows用户也可从官网下载安装包。
Q:AI代理命令(Do/Make/Research)如何工作?
A:这些命令直接调用Opera Neon内置的AI引擎,无需额外配置。Do命令执行具体操作(如点击、输入),Make命令根据自然语言生成Web应用,Research命令自动搜索并整理信息。命令结果会输出到终端,也可通过--output保存。
Q:如何与Claude Code集成?
A:安装后运行opera-browser-cli setup,工具会自动检测Claude Code并配置SKILLs。之后在Claude Code中,你可以直接使用opera-browser-cli相关的SKILLs,无需手动编写调用代码。其他AI代理(如自定义脚本)可通过标准CLI调用。
Q:会话持久化是否支持恢复所有状态?
A:是的,session save会保存当前浏览器的所有Cookie、LocalStorage、页面状态等。session load可恢复之前的会话。但请注意,某些动态内容(如WebSocket连接)可能需要重新建立。
9. 项目地址
版权声明:本文部分内容由 AI 辅助生成并经人工校准,版权归本站所有,未经允许禁止任何形式的转载。



