自动化与运维 browser-automationchrome-extensioncliplaywrightweb-scrapingelectron-cdpadapter-plugins

OpenCLI 浏览器自动化命令行

将已登录 Chrome 中的网站操作转为可调用的 CLI 与 AI 代理浏览器能力。

FollowAgents 评估 · FARS-2.1
不推荐
49/ 100 五分制 2.5 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全8 / 29 · 1.4/5

证据显示:项目通过浏览器桥接扩展和本地守护进程访问用户已登录的Chrome,权限范围较大但未明确最小化;命令执行前未见明确的用户确认机制;数据流(如DOM快照、网络拦截)有文档说明但未详细披露;敏感数据处理(如cookie、登录态)未明确说明;依赖数量少但未提供安全审计;外部效果(如点击、表单填写)有文档但无确认;无回滚机制;发布者身份未验证。扣分原因:缺乏最小权限设计、用户确认、数据流透明度和敏感数据处理的明确证据。

2可靠稳定9 / 14 · 3.2/5

证据显示:README、package.json、CI配置和测试文件之间一致性较好;依赖项在npm上可获取,但未验证版本可用性;测试文件显示对失败场景有处理(如跳过、重试),但未提供详细的错误消息文档。扣分原因:依赖可用性未验证,错误消息文档不完整。

3适用触发12 / 18 · 3.3/5

证据显示:目标受众明确(人类用户和AI代理),场景多样(网站适配、浏览器自动化、CLI集线器);能力边界在README中有说明(如支持的站点和命令列表);触发精度通过命令和技能定义明确;环境适配(Node.js版本、浏览器扩展)有说明。扣分原因:能力边界可能不完整,环境适配细节有限。

4规范维护10 / 18 · 2.8/5

证据显示:信息架构清晰(README、docs、skills);安装说明详细(npm、OpenCLIApp、扩展);命名稳定(命令和技能名称一致);示例和FAQ丰富;已知限制部分提及(如需要Node.js>=20、浏览器扩展);许可证为Apache-2.0;版本号存在但无changelog;维护责任未明确。扣分原因:缺少changelog,维护责任不明确。

5有效结果7 / 13 · 2.7/5

证据显示:输出格式多样(table、json、yaml、md、csv),便于使用;边际价值高(将网站转为CLI,支持AI代理);成本效益未明确(如资源消耗、性能)。扣分原因:成本效益缺乏证据。

6证据核验3 / 8 · 1.9/5

证据显示:README中的声明部分有文档支持(如命令列表、技能);测试文件提供了部分验证(如e2e测试);但未区分事实和推断。扣分原因:声明可追溯性不足,缺乏跨来源验证,事实与推断未明确分离。

证据充分度: 评估于 2026年8月9日 审查版本 27ba33fcb8ad
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:回滚或恢复路径
使用前请注意
  • 项目需要访问用户已登录的Chrome,权限范围较大,建议审查浏览器扩展的权限声明和本地守护进程的网络行为。
  • 未发现明确的用户确认机制,AI代理可能自动执行点击、表单填写等操作,需谨慎使用。
  • 依赖项未进行安全审计,建议检查依赖版本和已知漏洞。
  • 发布者身份未验证,安装前应确认来源可信。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

OpenCLI 是一个面向网站、浏览器会话、Electron 应用和本地工具的命令行自动化层。它通过 Browser Bridge Chrome 扩展和本地守护进程连接 Chrome/Chromium,使命令可使用当前浏览器的登录状态。项目既提供大量站点适配器,也提供 `opencli browser` 原语,供 AI 代理导航、读取 DOM、填写表单、点击、提取数据和查看网络响应。内置命令可输出 table、JSON、YAML、Markdown 或 CSV,并使用 Unix `sysexits.h` 风格退出码,适合脚本和 CI 分支处理。它还支持插件、用户自建适配器、注册现有本地 CLI,以及通过 CDP 连接部分 Electron 桌面应用。

用户先安装 @jackwener/opencli 或 OpenCLIApp,再安装 OpenCLI Browser Bridge 扩展;本地守护进程会在需要时启动。opencli doctor 检查浏览器连接,opencli profile listprofile renameprofile use 管理多 Chrome 配置文件。对于已有站点,运行如 opencli hackernews top --limit 5opencli bilibili hot -f json 的适配器命令;对于任意页面,AI 代理可借助 opencli browser <session>openstateclickfillextractnetworktab 等命令操作指定标签页。新站点适配器可按 opencli browser recon analyze <url>recon init <site>/<name>、编写适配器、recon verify <site>/<name> 的流程创建;站点知识保存在 ~/.opencli/sites/<site>/,私有草稿可初始化于 ~/.opencli/clis/

  1. 需要在脚本中读取 Hacker News 热门内容的开发者,可运行 opencli hackernews top --limit 5 并选择 JSON 或 CSV 输出。
  2. 已登录小红书、知乎、LinkedIn 或 X 的运营人员,可通过对应适配器执行搜索、读取内容、发布或社交操作,具体范围取决于站点命令。
  3. 使用 Claude Code 或 Cursor 的用户,可安装 opencli-browser skill,让代理在其已登录 Chrome 中填写表单、点击页面元素和提取页面数据。
  4. 需要把内部网站流程命令化的工程师,可使用 opencli-adapter-author 与浏览器侦察、验证命令编写可复用适配器。
  5. 已有 gh、Docker、Vercel 或自定义本地二进制工具的团队,可通过 opencli external register <name> 将其纳入同一发现和调用入口。
  6. 需要下载受支持平台媒体或文章的用户,可使用各站点的 download 命令;Bilibili 视频下载需额外安装 yt-dlp

这个 Agent 有哪些优点和局限?

优点
  • 将内置站点适配器、任意网页浏览器操作、Electron/CDP 桌面应用适配和本地 CLI 透传集中到同一个 opencli 命令入口。
  • Browser Bridge 直接连接已登录的 Chrome/Chromium 配置文件,可在不另行提供站点凭据的情况下使用现有浏览器会话。
  • opencli browser 提供 DOM 状态、网络响应、标签页和表单等细粒度原语,适合 AI 代理执行可检查的网页工作流。
  • 提供插件、适配器初始化/验证、站点知识持久化和多种结构化输出格式,便于将一次性网页操作沉淀为命令。
  • 退出码覆盖空结果、浏览器桥接断开、超时、需要认证和配置错误,便于自动化任务明确处理失败类型。
局限
  • 浏览器自动化依赖 Chrome/Chromium、Browser Bridge 扩展和本地守护进程;扩展未连接或被其他扩展干扰会导致操作失败。
  • npm 安装要求 Node.js >= 20,且某些下载能力还有额外依赖,例如 Bilibili 视频下载要求 yt-dlp
  • 许多站点操作依赖用户本人的浏览器登录会话;会话过期或站点返回 Unauthorized 时,需要在浏览器中重新登录。
  • opencli browser 需要显式会话名,并涉及标签页目标、前后台窗口和会话租约管理,对临时手工使用有一定操作负担。
  • 虽然列出 100+ 站点与大量命令,但具体功能可用性会受到目标网站页面、认证状态和适配器维护情况影响。

如何安装或部署这个 Agent?

桌面用户可下载并安装 OpenCLIApp,首次打开后在 System 页面安装或修复 opencli 命令。CLI/CI/服务器环境需 Node.js >= 20:node --version,然后运行 npm install -g @jackwener/opencli。随后从 Chrome Web Store 安装 OpenCLI Browser Bridge 扩展,或从 Releases 下载扩展压缩包并在 chrome://extensions 的开发者模式中加载解压目录。最后运行 opencli doctor;需要访问已登录站点时,先在相应 Chrome 配置文件中登录。

如何使用这个 Agent?

先运行 opencli list 查看已注册命令,再试用 opencli hackernews top --limit 5opencli bilibili hot -f json。多 Chrome 配置文件时,运行 opencli profile list,再用 opencli profile rename <contextId> workopencli profile use work 设定别名。供 AI 代理使用时,可运行 npx skills add jackwener/opencli --skill opencli-browser;浏览器命令必须在 browser 后显式提供会话名,例如 opencli browser work open <url>,并可通过 opencli browser work tab list--tab <targetId> 操作特定标签页。完成交互后用 opencli browser work close 释放该会话的标签页租约。

这个 Agent 与同类方案有什么区别?

与直接用 Playwright 重新登录或维护脚本相比,OpenCLI 的定位是复用已登录 Chrome 会话,并以站点适配器和统一 CLI 封装常见操作;项目也支持在需要时通过 OPENCLI_CDP_ENDPOINT 连接远程 Chrome 或 Electron 应用。

常见问题

是否需要把网站账号密码交给 OpenCLI?
文档描述的浏览器路径使用已登录 Chrome/Chromium 会话。你需要先在目标浏览器配置文件中完成登录;多个配置文件可通过 OPENCLI_PROFILEopencli profile use 选择。
没有内置适配器的网站能用吗?
可以使用 opencli browser 的导航、DOM 读取、点击、填写、提取和网络检查命令;也可用 opencli-adapter-author 创建并验证可复用站点适配器。
浏览器桥接失败时先检查什么?
先运行 opencli doctor,确认 Browser Bridge 扩展已安装且已启用。若出现无法访问 chrome-extension:// 的 attach 错误,文档建议暂时禁用其他可能干扰的扩展。
可以在 CI 或服务器上使用吗?
README 提供 npm 全局安装作为 CLI-only、CI 和服务器路径,但需要 Node.js >= 20。涉及已登录浏览器会话的功能仍取决于可连接的 Chrome/Chromium 或配置的 CDP 端点。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents