OpenCLI 的目标是让任何网站或 Electron App 成为你的 CLI,其核心特点是复用 Chrome 登录、零风险以及 AI 驱动的发现能力。
用途 OpenCLI 将网站与 Electron 应用抽象为命令行接口,使你可以通过终端命令读取、搜索、发布或操作各平台内容与数据,同时复用浏览器中已有的登录状态。
主要能力 项目提供大量数据命令与操作命令,覆盖以下平台(摘要):
- Bilibili:热门、搜索、我的信息、收藏、历史、动态、用户投稿、字幕、排行榜、关注列表等
- 知乎:热榜、搜索、问题详情
- 小红书:搜索、通知、推荐 Feed、用户主页、创作者笔记与数据统计
- 雪球:热门股票、实时行情、自选股/持仓、关注 timeline、财报日期、基金持仓与快照
- GitHub:通过 gh 外部 CLI 列出仓库、PR、Issue
- Twitter/X:趋势、书签、搜索、资料、时间线、thread、文章、关注/取关、收藏、发推、点赞、回复、删除、屏蔽、粉丝与关注列表、通知、隐藏回复、下载媒体、DM 处理
- Reddit:热门、首页、流行、搜索、子版块、阅读帖子与评论、用户资料与历史、投票、收藏、评论、订阅、已保存与已赞
- V2EX:热门、最新、主题详情、签到、我的信息、通知、节点与节点话题、用户资料与发帖、回复列表
- Hacker News:top/new/best/ask/show/jobs、搜索、用户资料
- BBC:新闻 RSS 标题
- 微博:热搜
- BOSS直聘:搜索职位、职位详情、推荐、职位列表、打招呼、批量打招呼、发消息、聊天列表与记录、邀请、标记、交换联系方式、简历管理、数据统计
- YouTube:搜索、视频元数据、字幕/转录
- Yahoo Finance:股票行情
- 新浪财经:7x24 实时快讯
- 路透社:搜索
- 什么值得买:搜索好价
- 携程:搜索目的地
- Antigravity(Electron/CDP):状态检查、发送文本、读取聊天记录、新建对话、导出 DOM、抽取代码、切换模型、流式监听
- Barchart:行情、期权链、Greeks、异常期权活动
- 即刻:动态流、搜索、发布、点赞、评论、转发、通知
- Linux.do:热门、最新、搜索、主题详情、分类列表与分类内话题
- StackOverflow:热门、搜索、悬赏
- 微信读书:书架、搜索、图书详情、划线笔记、想法笔记、排行榜
- 即梦 AI:生图、生成历史
- Yollomi:列出图像模型与积分、文生图、视频、上传、去背景、图像编辑、AI 背景生成、换脸、去除物体、老照片修复、虚拟试衣、超分辨率
- Grok:提问(支持默认路径与显式 web 路径)
- HuggingFace:热门模型
- 超星学习通:作业列表、考试列表
- 豆瓣:搜索、Top 250、条目详情、图片列表与下载、我的标记、短评
- Facebook:动态流、资料、搜索、好友、群组、活动、通知、回忆、加好友、加群
- Instagram:探索、资料、搜索、用户详情、粉丝与关注、关注/取关、点赞/取消、评论、收藏/取消、已收藏
- TikTok:探索、搜索、资料、用户详情、关注列表、关注/取关、点赞/取消、评论、收藏/取消、直播、通知、朋友
- Medium:动态流、搜索、用户主页
- Substack:订阅动态、搜索、出版物详情
- 新浪博客:热门、搜索、文章详情、用户主页
- Lobsters:热门、最新、活跃、按标签筛选
- Google:新闻、搜索、搜索建议
使用方式
- 安装:npm install -g @jackwener/opencli,然后运行 opencli <command>
- 或从源码运行:cd ~/code/opencli && npm install,然后 npx tsx src/main.ts <command>
- 更新:npm update -g @jackwener/opencli
- 前置条件:浏览器命令需要 Chrome 正在运行且已登录目标站点,并安装 OpenCLI Browser Bridge Chrome 扩展(在 chrome://extensions 中以 unpacked 方式加载 extension/ 目录);守护进程会在首次浏览器命令时自动启动。命令执行期间打开的标签页会自动关闭。公共 API 命令(hackernews、v2ex)无需浏览器。
适用场景 适合在终端中批量获取或操作上述平台的数据、进行信息聚合、内容发布、社交互动与自动化流程,尤其适合需要复用浏览器登录态而不想额外配置 API 的场景。
限制
- 创建或修改任何适配器之前,必须先阅读 CLI-EXPLORER.md;该文档包含 API 发现工作流、5 级认证策略决策树、平台 SDK 速查表、tap 步骤调试、分页 API 模板、级联请求模式与常见陷阱。SKILL.md 仅提供命令参考与简化模板。
- 创建或修改 adapter 时需遵守收口规则:主参数优先用 positional arg,不要把 query/id/url 默认做成 --query/--id/--url;预期中的 adapter 失败优先抛 CliError 子类,不要直接 throw 原始 Error;新增 adapter 或用户可发现命令时,需同步更新 adapter docs、docs/adapters/index.md、sidebar 以及 README/README.zh-CN 中受影响的入口。
- 部分平台命令需浏览器登录,未登录将无法使用;具体平台支持情况以命令参考为准。