OpenCLI 浏览器自动化命令行
将已登录 Chrome 中的网站操作转为可调用的 CLI 与 AI 代理浏览器能力。
按维度查看评分与理由
证据显示:项目通过浏览器桥接扩展和本地守护进程访问用户已登录的Chrome,权限范围较大但未明确最小化;命令执行前未见明确的用户确认机制;数据流(如DOM快照、网络拦截)有文档说明但未详细披露;敏感数据处理(如cookie、登录态)未明确说明;依赖数量少但未提供安全审计;外部效果(如点击、表单填写)有文档但无确认;无回滚机制;发布者身份未验证。扣分原因:缺乏最小权限设计、用户确认、数据流透明度和敏感数据处理的明确证据。
证据显示:README、package.json、CI配置和测试文件之间一致性较好;依赖项在npm上可获取,但未验证版本可用性;测试文件显示对失败场景有处理(如跳过、重试),但未提供详细的错误消息文档。扣分原因:依赖可用性未验证,错误消息文档不完整。
证据显示:目标受众明确(人类用户和AI代理),场景多样(网站适配、浏览器自动化、CLI集线器);能力边界在README中有说明(如支持的站点和命令列表);触发精度通过命令和技能定义明确;环境适配(Node.js版本、浏览器扩展)有说明。扣分原因:能力边界可能不完整,环境适配细节有限。
证据显示:信息架构清晰(README、docs、skills);安装说明详细(npm、OpenCLIApp、扩展);命名稳定(命令和技能名称一致);示例和FAQ丰富;已知限制部分提及(如需要Node.js>=20、浏览器扩展);许可证为Apache-2.0;版本号存在但无changelog;维护责任未明确。扣分原因:缺少changelog,维护责任不明确。
证据显示:输出格式多样(table、json、yaml、md、csv),便于使用;边际价值高(将网站转为CLI,支持AI代理);成本效益未明确(如资源消耗、性能)。扣分原因:成本效益缺乏证据。
证据显示:README中的声明部分有文档支持(如命令列表、技能);测试文件提供了部分验证(如e2e测试);但未区分事实和推断。扣分原因:声明可追溯性不足,缺乏跨来源验证,事实与推断未明确分离。
- 项目需要访问用户已登录的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 list、profile rename 和 profile use 管理多 Chrome 配置文件。对于已有站点,运行如 opencli hackernews top --limit 5、opencli bilibili hot -f json 的适配器命令;对于任意页面,AI 代理可借助 opencli browser <session> 的 open、state、click、fill、extract、network、tab 等命令操作指定标签页。新站点适配器可按 opencli browser recon analyze <url>、recon init <site>/<name>、编写适配器、recon verify <site>/<name> 的流程创建;站点知识保存在 ~/.opencli/sites/<site>/,私有草稿可初始化于 ~/.opencli/clis/。
- 需要在脚本中读取 Hacker News 热门内容的开发者,可运行
opencli hackernews top --limit 5并选择 JSON 或 CSV 输出。 - 已登录小红书、知乎、LinkedIn 或 X 的运营人员,可通过对应适配器执行搜索、读取内容、发布或社交操作,具体范围取决于站点命令。
- 使用 Claude Code 或 Cursor 的用户,可安装
opencli-browserskill,让代理在其已登录 Chrome 中填写表单、点击页面元素和提取页面数据。 - 需要把内部网站流程命令化的工程师,可使用
opencli-adapter-author与浏览器侦察、验证命令编写可复用适配器。 - 已有
gh、Docker、Vercel 或自定义本地二进制工具的团队,可通过opencli external register <name>将其纳入同一发现和调用入口。 - 需要下载受支持平台媒体或文章的用户,可使用各站点的
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 5 或 opencli bilibili hot -f json。多 Chrome 配置文件时,运行 opencli profile list,再用 opencli profile rename <contextId> work 和 opencli 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?
OPENCLI_PROFILE 或 opencli profile use 选择。没有内置适配器的网站能用吗?
opencli browser 的导航、DOM 读取、点击、填写、提取和网络检查命令;也可用 opencli-adapter-author 创建并验证可复用站点适配器。浏览器桥接失败时先检查什么?
opencli doctor,确认 Browser Bridge 扩展已安装且已启用。若出现无法访问 chrome-extension:// 的 attach 错误,文档建议暂时禁用其他可能干扰的扩展。