当前位置: 首页 > news >正文

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

引言

“Make any website, Electron App, or Local Tool your CLI.”

这是「一天一个开源项目」系列的第 64 篇文章。今天介绍的项目是OpenCLI(GitHub)。

终端里的「万能入口」一直是开发者梦寐以求的形态:既要能调ghdocker,又要能刷 B 站热榜、查知乎、管小红书,最好还能让 AI Agent 一眼发现、一键调用。OpenCLI的定位很直接:把任意网站、Electron 桌面应用或本地 CLI 工具,标准化成统一的命令行接口;通过Browser Bridge(Chrome/Chromium 扩展 + 微守护进程)复用你已登录的浏览器会话,配合70+ 预置适配器CLI Hub 透传opencli ghopencli 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/csv,Unix 退出码约定便于 CI

你将学到什么

  • OpenCLI 的产品分层:Browser Bridge、守护进程、CLI 本体、扩展之间的关系
  • 内置能力:站点适配器、CLI Hub、Electron 适配、插件机制
  • AI 侧集成:opencli-operateexplore/synthesize/cascade等工作流
  • 隐私与边界:登录态复用、Provider 条款、Sparkle 式更新以外的数据流(以文档为准)
  • 本地开发与排障:opencli doctor、常见错误码与扩展连接问题

前置知识

  • Node.js 20+(或 Bun 1.0+)与 npm 全局安装经验
  • Chrome / Chromium 与「加载未打包扩展」的基本操作
  • 熟悉终端与管道(jq、脚本、CI)更佳
  • 若开发适配器:TypeScript / YAML、浏览器自动化概念(可选)

项目背景

项目简介

OpenCLI是一个Node.js 编写的通用命令行运行时:一侧连接浏览器(通过扩展 + 本地守护进程,复用用户已登录站点),另一侧聚合本地已安装的 CLIghdocker、飞书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 与 Releases
  • 📄License: Apache-2.0
  • 🌐文档:仓库内README.mdREADME.zh-CN.mddocs/

主要功能

核心作用

  1. 网站 → CLI:对 Bilibili、知乎、小红书、Twitter/X、Reddit、YouTube 等提供子命令;总计70+ 适配器(文档中有完整列表入口)。
  2. 浏览器自动化(operate):为 AI Agent 提供可脚本化的页面操作指令集(open、click、type、screenshot 等,见官方 Skills)。
  3. CLI Hubopencli ghopencli docker透传;缺失时可尝试通过包管理器自动安装(如 README 所述brew install再执行)。
  4. Electron / 桌面应用:内置多类桌面应用适配说明(Cursor、Codex、Antigravity、ChatGPT 桌面版等),并给出扩展阅读文档链接。
  5. 插件生态:支持社区 YAML/TS 插件安装与更新。
  6. 输出与退出码:多格式输出 + 对齐sysexits.h的退出码,便于 shell 与 CI。

使用场景

  1. 终端里消费站点数据

    • 热榜、搜索、时间线等,配合-f json管道给脚本或模型。
  2. AI Agent 统一工具发现

    • AGENT.md.cursorrules中引导执行opencli list,减少「不知道有哪些工具」的摩擦。
  3. 把重复网页操作固化成命令

    • 使用record/ 生成适配器相关工作流,将一次性操作变为可复用 CLI。
  4. 在自动化里驱动桌面 AI 应用

    • 通过文档中的 Electron 适配路径,从终端编排「应用级」任务(需阅读对应适配文档与合规边界)。
  5. 与现有 CLI 共存

    • 不替换ghdocker,而是通过 Hub 统一入口与发现。

快速开始

1. 安装 Browser Bridge 扩展

从 GitHub Releases 下载opencli-extension.zip,在chrome://extensions开启开发者模式后Load unpacked

2. 安装 CLI

npminstall-g@jackwener/opencli

3. 自检与试用

opencli doctor opencli daemon status opencli list opencli hackernewstop--limit5opencli bilibili hot--limit5

说明:hackernews等可走公开 API;需要登录态的站点需先在 Chrome/Chromium 中登录对应网站(见 README 前置说明)。

4.(可选)为 AI 安装 Skills

npx skillsaddjackwener/opencli# 或按需安装 opencli-usage、opencli-operate、opencli-explorer、opencli-oneshot

核心特性

  1. CLI All Electron:将部分 Electron 应用暴露为可脚本化命令(详见docs/adapters/desktop/)。
  2. Browser Automation(operate):面向 Agent 的浏览器操控能力,与opencli-operateSkill 配套。
  3. Website → CLI:大量预置适配器 +explore/synthesize/generate等生成与注册流程。
  4. 账号与风控:复用真实浏览器登录;README 宣称多层反自动化指纹处理(webdriver、chrome 对象等),以降低被站点风控的概率(效果因站点策略而异)。
  5. CLI Hub 与 registeropencli register mycli将自有 CLI 纳入列表。
  6. 插件opencli plugin install等子命令管理社区插件。
  7. 多格式输出table(默认)、jsonyamlmdcsv
  8. Self-healingopencli doctor诊断扩展、守护进程与连接。
  9. 运行时零 LLM 费用:README 强调常规命令运行不消耗大模型 Token(与「生成适配器时是否调用模型」需区分阅读文档)。

项目优势

对比项OpenCLI单一站点爬虫脚本纯 Playwright 自写
统一入口与发现opencli list+ Hub❌ 各写各的⚠️ 需自建规范
登录态✅ 复用用户浏览器⚠️ 常要单独处理 Cookie⚠️ 需自行维护会话
AI 集成✅ Skills + operate 工作流❌ 通常无⚠️ 需自建
输出规范✅ 多格式 + 退出码约定⚠️ 视项目而定⚠️ 视项目而定
学习成本⚠️ 需装扩展与理解概念✅ 单点脚本简单❌ 工程量大

为什么选择它?

  • 你希望一个命令行入口覆盖网站、桌面应用和已有 CLI
  • 你需要Agent 可发现、可执行的工具表与浏览器操作能力
  • 你愿意接受浏览器扩展 + 本地守护进程的架构换取登录态与真实页面行为

项目详细剖析

架构分层(概念)

  1. CLI 进程opencli解析子命令,调度内置适配器、外部 CLI 透传、插件加载。
  2. Browser Bridge:Chrome 扩展与本地微守护进程(README 描述为零配置、可自动拉起),用于与浏览器会话协同。
  3. 适配器:YAML/TS 等形式,可放入clis/等路径做动态加载(以官方文档为准)。
  4. Electron 路径:通过 CDP 等与桌面应用通信(具体能力以各docs/adapters/desktop/*.md为准)。

AI 相关工作流(摘自 README 能力陈述)

  • explore:对站点/API 做能力发现
  • synthesize:生成适配器
  • generate:一键 explore → synthesize → register
  • cascade:对 API 做探测策略(PUBLIC → COOKIE → HEADER 等层级)

Agent 侧可优先阅读仓库内skills/目录下的 Skill 文件,按「快模式 / 全模式」选择不同深度。

退出码与可观测性

OpenCLI 使用常见 Unix 退出码约定,例如69表示服务不可用(如 Browser Bridge 未连接)、77表示需要登录等。适合在 shell 中分支处理与自动化重试。

局限与注意

  • 强依赖浏览器生态:需要用户正确安装扩展并保持 Chrome/Chromium 可用。
  • 站点策略变化:适配器可能随站点改版需要更新;风控与 ToS 需用户自行评估。
  • Electron 适配:涉及具体应用版本与权限,需严格阅读官方适配文档。

项目地址与资源

官方资源

  • 🌟GitHub: https://github.com/jackwener/opencli
  • 📦npm: https://www.npmjs.com/package/@jackwener/opencli
  • 📥扩展下载: Releases
  • 📚适配器索引: 仓库内 docs/adapters/index.md
  • 🐛Issues: https://github.com/jackwener/opencli/issues

相关资源

  • 中文 README:仓库内README.zh-CN.md
  • 测试说明:TESTING.md
  • 插件指南:docs/guide/plugins.md

适用人群

  • 希望在终端统一调用网站数据 + 本地 CLI + 桌面应用的全栈开发者
  • 使用Claude Code、Cursor等工具构建 Agent 工作流、需要可发现工具表的团队
  • 愿意维护浏览器扩展 + 本地守护进程这一前置条件的进阶用户

欢迎来我中的个人主页找到更多有用的知识和有趣的产品

http://www.jsqmd.com/news/588238/

相关文章:

  • 2026年降AI工具出结果格式乱了怎么处理:格式修复完整方案
  • 新手零失败指南:借助快马ai生成带详解的windows openclaw安装教学代码
  • damaihelper:消除抢票壁垒的自动化技术方案
  • TCT亚洲展|金属3D打印创新产品抢先看
  • 质子交换膜燃料电池PEMFC Simulink模型搭建与解析
  • PostgreSQL 12 + PostGIS 3.4.2 完整部署+迁移+数据恢复避坑指南(新手可复制,全程无报错)
  • 涵盖 Cursor、Claude Code、Skills
  • claude skill 官方评测方式解读
  • 实战演练,在快马平台部署一个openclaw多agent电商客服系统
  • 什么是AIDV(AI定义汽车)?
  • 01-第1章-概述与快速开始
  • 超表面实现光学衍射神经网络:从数字识别到Matlab与CST实践
  • 3大核心模块深度解析:如何用ComfyUI-Crystools实现AI绘画工作流的智能监控与优化
  • 2026年食品科学论文降AI工具推荐:成分分析和检测方法部分
  • 北京白发护理机构推荐?黑奥秘北京本地门店覆盖,提供便捷专业服务 - 美业信息观察
  • AI Agent框架选型:多渠道接入真的值吗?OpenClaw、LangChain、AutoGPT、CrewAI的取舍分析
  • CloudFront 跨域问题(CORS)的几种解决方式
  • AKTools实战指南:如何构建跨语言的金融数据API服务
  • 我的第一个commit
  • 学生党自动排版 AI 润色论文权威工具推荐(小白必备)
  • AIGC检测和论文查重同时超标怎么解决:两种问题的处理优先级分析
  • 在线支付系列(三):Stripe 信用卡——一件跨境商品的卡支付之旅
  • 还在为百度网盘限速而烦恼?这款开源直链解析工具让你告别蜗牛下载!
  • 微信聊天记录解密完全指南:从数据困境到自主掌控
  • 本地AI聊天、交互助手(写给小白的LLM工具选型系列:第三篇)
  • 2026年市面上水泥罐公司,砂浆罐/卧式储油罐/地埋式油罐/热油罐/不锈钢储罐/滤油罐/化工原料罐,水泥罐生产厂家有哪些 - 品牌推荐师
  • 互联网大厂Java面试实录:从Spring微服务到AI Agent全流程场景深度解析
  • 7、Ansible之Playbook高级用法
  • 2025届最火的五大AI辅助论文神器实际效果
  • 如何判断提取的RNA是否可用?