一天一个开源项目(第64篇):OpenCLI - 把任意网站、Electron 应用与本地工具变成统一 CLI

张开发
2026/4/4 20:57:50 15 分钟阅读
一天一个开源项目(第64篇):OpenCLI - 把任意网站、Electron 应用与本地工具变成统一 CLI
引言“Make any website, Electron App, or Local Tool your CLI.”这是「一天一个开源项目」系列的第 64 篇文章。今天介绍的项目是OpenCLIGitHub。终端里的「万能入口」一直是开发者梦寐以求的形态既要能调gh、docker又要能刷 B 站热榜、查知乎、管小红书最好还能让 AI Agent 一眼发现、一键调用。OpenCLI的定位很直接把任意网站、Electron 桌面应用或本地 CLI 工具标准化成统一的命令行接口通过Browser BridgeChrome/Chromium 扩展 微守护进程复用你已登录的浏览器会话配合70 预置适配器、CLI Hub 透传opencli gh、opencli docker等、Electron 应用适配如 Cursor、Antigravity、ChatGPT 桌面版等以及面向 AI 的opencli-operate技能点击、输入、截图、抽取等浏览器操作让「人」和「Agent」共用同一套工具目录。为什么值得看统一 CLI Hub一个opencli入口内置站点命令 外部 CLI 注册与发现账号相对安全浏览器命令复用 Chrome/Chromium 登录态凭据不离开浏览器语境以官方 README 说明为准为 AI Agent 设计Skills、AGENT.md/.cursorrules里配置opencli list便于自动发现网站即 CLIexplore/synthesize/record等流程把交互沉淀为可脚本化命令️Electron 也可 CLI 化桌面 AI 应用、IDE、IM 等可通过适配从终端驱动输出可管道化table/json/yaml/md/csvUnix 退出码约定便于 CI你将学到什么OpenCLI 的产品分层Browser Bridge、守护进程、CLI 本体、扩展之间的关系内置能力站点适配器、CLI Hub、Electron 适配、插件机制AI 侧集成opencli-operate、explore/synthesize/cascade等工作流隐私与边界登录态复用、Provider 条款、Sparkle 式更新以外的数据流以文档为准本地开发与排障opencli doctor、常见错误码与扩展连接问题前置知识Node.js 20或 Bun 1.0与 npm 全局安装经验Chrome / Chromium 与「加载未打包扩展」的基本操作熟悉终端与管道jq、脚本、CI更佳若开发适配器TypeScript / YAML、浏览器自动化概念可选项目背景项目简介OpenCLI是一个Node.js 编写的通用命令行运行时一侧连接浏览器通过扩展 本地守护进程复用用户已登录站点另一侧聚合本地已安装的 CLIgh、docker、飞书lark-cli等并可把Electron 桌面应用通过 CDP 等方式纳入同一「命令表」。项目强调Deterministic相同命令、稳定输出结构、可脚本化、对 AI Agent 友好Skills、命令发现、文档内嵌工作流。典型用法包括在终端拉取各站内容JSON 管道给 LLM、让 Agent 通过operate控制真实浏览器完成复杂页面操作、把团队内部工具opencli register后纳入统一发现列表。作者/团队介绍维护者jackwener仓库主账号分发npm 包名为jackwener/opencli许可证Apache-2.0项目数据⭐GitHub Stars: 约 12,570以仓库页面为准会随时间变化Forks: 以 GitHub 页面为准版本见 npm 与 ReleasesLicense: Apache-2.0文档仓库内README.md、README.zh-CN.md、docs/主要功能核心作用网站 → CLI对 Bilibili、知乎、小红书、Twitter/X、Reddit、YouTube 等提供子命令总计70 适配器文档中有完整列表入口。浏览器自动化operate为 AI Agent 提供可脚本化的页面操作指令集open、click、type、screenshot 等见官方 Skills。CLI Hubopencli gh、opencli docker等透传缺失时可尝试通过包管理器自动安装如 README 所述brew install再执行。Electron / 桌面应用内置多类桌面应用适配说明Cursor、Codex、Antigravity、ChatGPT 桌面版等并给出扩展阅读文档链接。插件生态支持社区 YAML/TS 插件安装与更新。输出与退出码多格式输出 对齐sysexits.h的退出码便于 shell 与 CI。使用场景终端里消费站点数据热榜、搜索、时间线等配合-f json管道给脚本或模型。AI Agent 统一工具发现在AGENT.md或.cursorrules中引导执行opencli list减少「不知道有哪些工具」的摩擦。把重复网页操作固化成命令使用record/ 生成适配器相关工作流将一次性操作变为可复用 CLI。在自动化里驱动桌面 AI 应用通过文档中的 Electron 适配路径从终端编排「应用级」任务需阅读对应适配文档与合规边界。与现有 CLI 共存不替换gh或docker而是通过 Hub 统一入口与发现。快速开始1. 安装 Browser Bridge 扩展从 GitHub Releases 下载opencli-extension.zip在chrome://extensions开启开发者模式后Load unpacked。2. 安装 CLInpminstall-gjackwener/opencli3. 自检与试用opencli doctor opencli daemon status opencli list opencli hackernewstop--limit5opencli bilibili hot--limit5说明hackernews等可走公开 API需要登录态的站点需先在 Chrome/Chromium 中登录对应网站见 README 前置说明。4.可选为 AI 安装 Skillsnpx skillsaddjackwener/opencli# 或按需安装 opencli-usage、opencli-operate、opencli-explorer、opencli-oneshot核心特性CLI All Electron将部分 Electron 应用暴露为可脚本化命令详见docs/adapters/desktop/。Browser Automationoperate面向 Agent 的浏览器操控能力与opencli-operateSkill 配套。Website → CLI大量预置适配器 explore/synthesize/generate等生成与注册流程。账号与风控复用真实浏览器登录README 宣称多层反自动化指纹处理webdriver、chrome 对象等以降低被站点风控的概率效果因站点策略而异。CLI Hub 与 registeropencli register mycli将自有 CLI 纳入列表。插件opencli plugin install等子命令管理社区插件。多格式输出table默认、json、yaml、md、csv。Self-healingopencli doctor诊断扩展、守护进程与连接。运行时零 LLM 费用README 强调常规命令运行不消耗大模型 Token与「生成适配器时是否调用模型」需区分阅读文档。项目优势对比项OpenCLI单一站点爬虫脚本纯 Playwright 自写统一入口与发现✅opencli list Hub❌ 各写各的⚠️ 需自建规范登录态✅ 复用用户浏览器⚠️ 常要单独处理 Cookie⚠️ 需自行维护会话AI 集成✅ Skills operate 工作流❌ 通常无⚠️ 需自建输出规范✅ 多格式 退出码约定⚠️ 视项目而定⚠️ 视项目而定学习成本⚠️ 需装扩展与理解概念✅ 单点脚本简单❌ 工程量大为什么选择它你希望一个命令行入口覆盖网站、桌面应用和已有 CLI你需要Agent 可发现、可执行的工具表与浏览器操作能力你愿意接受浏览器扩展 本地守护进程的架构换取登录态与真实页面行为项目详细剖析架构分层概念CLI 进程opencli解析子命令调度内置适配器、外部 CLI 透传、插件加载。Browser BridgeChrome 扩展与本地微守护进程README 描述为零配置、可自动拉起用于与浏览器会话协同。适配器YAML/TS 等形式可放入clis/等路径做动态加载以官方文档为准。Electron 路径通过 CDP 等与桌面应用通信具体能力以各docs/adapters/desktop/*.md为准。AI 相关工作流摘自 README 能力陈述explore对站点/API 做能力发现synthesize生成适配器generate一键 explore → synthesize → registercascade对 API 做探测策略PUBLIC → COOKIE → HEADER 等层级Agent 侧可优先阅读仓库内skills/目录下的 Skill 文件按「快模式 / 全模式」选择不同深度。退出码与可观测性OpenCLI 使用常见 Unix 退出码约定例如69表示服务不可用如 Browser Bridge 未连接、77表示需要登录等。适合在 shell 中分支处理与自动化重试。局限与注意强依赖浏览器生态需要用户正确安装扩展并保持 Chrome/Chromium 可用。站点策略变化适配器可能随站点改版需要更新风控与 ToS 需用户自行评估。Electron 适配涉及具体应用版本与权限需严格阅读官方适配文档。项目地址与资源官方资源GitHub: https://github.com/jackwener/openclinpm: https://www.npmjs.com/package/jackwener/opencli扩展下载: Releases适配器索引: 仓库内 docs/adapters/index.mdIssues: https://github.com/jackwener/opencli/issues相关资源中文 README仓库内README.zh-CN.md测试说明TESTING.md插件指南docs/guide/plugins.md适用人群希望在终端统一调用网站数据 本地 CLI 桌面应用的全栈开发者使用Claude Code、Cursor等工具构建 Agent 工作流、需要可发现工具表的团队愿意维护浏览器扩展 本地守护进程这一前置条件的进阶用户欢迎来我中的个人主页找到更多有用的知识和有趣的产品

更多文章