把任何网站变成命令行工具?OpenCLI 让你的终端无所不能!
把任何网站变成命令行工具?OpenCLI 让你的终端无所不能!
无需 API Key,零代码,一条命令就能获取 B 站、知乎、Twitter 的数据
想象一下:如果你能像查询本地文件一样,在终端里直接查询 B 站热门视频、知乎热榜、Twitter 趋势,甚至小红书推荐内容,该有多方便?
最近发现一个超实用的开源项目——OpenCLI,它能让任何网站瞬间变成你的命令行工具!无需 API Key,无需编写爬虫代码,只需一条命令就能获取你想要的数据。
今天带大家深入了解这个项目。
什么是 OpenCLI?
OpenCLI 是一个 AI 原生的命令行工具,能将任意网站转换为 CLI 命令。它通过复用 Chrome 浏览器的登录状态,实现了”零风控”的数据获取方式。
核心特点
-
• 零风控 – 直接复用 Chrome 的登录会话,凭证永远不会离开浏览器 -
• AI 原生 – explore自动发现 API,synthesize生成适配器,cascade探测认证策略 -
• 动态加载 – 支持声明式 YAML 或 TypeScript 适配器,放入文件夹即可自动注册 -
• 多格式输出 – 支持 table/json/yaml/md/csv 多种输出格式
支持哪些网站?
OpenCLI 已经内置了 20+ 站点的适配器,覆盖社交媒体、新闻、财经等多个领域:
社交媒体
-
• Twitter、Reddit、微博、小红书、知乎
视频平台
-
• B站、YouTube
新闻资讯
-
• HackerNews、BBC、V2EX
财经投资
-
• 雪球、Yahoo Finance、Reuters
求职招聘
-
• Boss 直聘
电商平台
-
• Coupang、什么值得买、携程
开发者社区
-
• GitHub
每个站点都提供了多个子命令,比如 B 站支持 hot(热门)、search(搜索)、me(个人主页)、favorite(收藏)等 10 个命令!
快速上手
安装
npm install -g @jackwener/opencliopencli setup
配置步骤很简单:
-
1. 安装 Chrome 扩展 Playwright MCP Bridge -
2. 运行 opencli setup,它会自动发现 token -
3. 在 Chrome 中登录目标网站(如 B 站、知乎)
使用示例
# 查看所有可用命令opencli list# 获取 HackerNews 头条(公共 API,无需浏览器)opencli hackernews top --limit 5# 查看 B 站热门视频(需要 Chrome 登录)opencli bilibili hot --limit 5# 获取知乎热榜opencli zhihu hot# Twitter 趋势opencli twitter trending# 搜索 GitHub 仓库opencli github search --query "opencli"# 不同格式输出opencli zhihu hot -f json # JSON 格式opencli zhihu hot -f yaml # YAML 格式opencli zhihu hot -f table # 表格格式(默认)opencli zhihu hot -f md # Markdown 格式opencli zhihu hot -f csv # CSV 格式
实际使用场景
场景 1:信息聚合监控
作为开发者或媒体从业者,每天需要关注多个平台的热点话题:
#!/bin/bashecho "=== HackerNews ===" && opencli hackernews top -f json | jq -r '.[] | "\(.title) - \(.url)"' | head -5echo "=== B站热门 ===" && opencli bilibili hot -f json | jq -r '.[] | "\(.title) - \(.author)"' | head -5echo "=== 知乎热榜 ===" && opencli zhihu hot -f json | jq -r '.[] | "\(.title) - \(.heat)"' | head -5
设置定时任务,每天早上 8 点自动推送热点汇总!
场景 2:竞品分析
产品经理需要监控竞品动态:
# 搜索竞品相关讨论opencli xiaohongshu search --query "竞品品牌" -f json# 监控 Twitter 上的产品反馈opencli twitter search --query "your_product" --limit 20# 查看知乎相关问题opencli zhihu search --query "产品使用体验"
场景 3:投资研究
股民需要关注市场动态:
# 雪球热股opencli xueqiu hot-stock# Yahoo Finance 股价opencli yahoo-finance quote --symbol "AAPL"# Reddit 金融板块opencli reddit subreddit --name "wallstreetbets"
场景 4:开发者日常
程序员需要获取技术资讯:
# GitHub 搜索热门项目opencli github search --query "machine learning" --language python# HackerNews 技术讨论opencli hackernews top# V2EX 技术社区opencli v2ex hot
场景 5:内容创作者
自媒体创作者需要选题参考:
# B站热门选题opencli bilibili hot -f csv > bilibili_trends.csv# 小红书爆款笔记opencli xiaohongshu feed -f json | jq '.[] | select(.likes > 10000)'# 知乎热点问题opencli zhihu hot -f json | jq -r '.[] | "\(.title)\n\(.excerpt)"'
AI Agent 集成
OpenCLI 特别为 AI Agent 设计了开发者友好的工作流:
为新网站生成适配器
只需 4 步就能给任意网站生成 CLI 命令:
# 1. 探索网站 API 和结构opencli explore https://example.com --site mysite# 2. 合成适配器opencli synthesize mysite# 3. 一键生成(探索+合成+注册)opencli generate https://example.com --goal "hot"# 4. 自动探测认证策略opencli cascade https://api.example.com/data
生成的适配器可以是:
-
• YAML 格式:声明式数据管道,适合简单场景 -
• TypeScript 格式:强类型,支持复杂逻辑和浏览器注入
输出到 AI 工具链
# 输出 JSON 供 LLM 处理opencli bilibili hot -f json | llm summarize# 输出 CSV 导入数据库opencli twitter timeline -f csv > timeline.csv# 输出 Markdown 生成报告opencli zhihu hot -f md > weekly_report.md
技术原理
OpenCLI 的技术架构非常巧妙:
双引擎架构
支持两种模式:
-
• YAML 模式:简单的声明式配置,适合快速开发 -
• TypeScript 模式:完整的编程能力,适合复杂场景
认证策略分级
OpenCLI 实现了 5 级认证降级策略:
-
1. PUBLIC – 无需认证的公共 API -
2. COOKIE – 复用 Chrome Cookie -
3. HEADER – 自定义请求头 -
4. TOKEN – OAuth/Access Token -
5. BROWSER – 完整浏览器模拟
自动探测最佳策略,无需手动配置。
会话复用机制
通过 Playwright MCP Bridge 扩展,直接连接到你的 Chrome 浏览器:
终端命令 ↓OpenCLI ↓Playwright MCP Bridge ↓Chrome Extension ↓目标网站(已登录)
这样设计的好处:
-
• ✅ 安全性高:凭证不离开浏览器 -
• ✅ 零风控:使用真实浏览器会话 -
• ✅ 稳定性好:绕过反爬机制
高级用法
1. 调试模式
# 查看执行步骤和调试信息opencli bilibili hot -v
2. 自定义适配器
创建文件 ~/.opencli/clis/my-site.yaml:
site: mysiteversion: "1.0"commands: hot: pipeline: - type: fetch url: https://mysite.com/hot - type: parse selector: .item fields: title: {text: h2} link: {attr: href, selector: a}
重启终端后自动生效!
3. 批量处理
# 批量查询多个站点for site in bilibili zhihu xiaohongshu; do echo "=== $site ===" && opencli $site hot --limit 3done
安全性分析
很多用户会担心:”复用 Chrome 登录会不会有安全风险?”
OpenCLI 的设计充分考虑了安全性:
-
• 凭证不暴露:所有登录凭证都存储在 Chrome 的加密存储中,OpenCLI 只通过扩展 API 获取数据 -
• 权限最小化:只读取必要的 Cookie 和页面数据 -
• 开源透明:代码完全开源,可审计安全性 -
• 扩展隔离:通过官方 Chrome 扩展通信,遵循浏览器安全模型
注意事项
-
1. 浏览器要求:必须使用 Chrome 浏览器,且已安装 Playwright MCP Bridge 扩展 -
2. 登录状态:浏览器命令需要你已登录目标网站 -
3. 频率限制:虽然零风控,但建议合理使用,避免被平台误判 -
4. 网络环境:部分网站(如 Twitter)需要特殊的网络环境
对比传统方案
|
|
|
|
|
|---|---|---|---|
| 开发成本 |
|
|
|
| 维护成本 |
|
|
|
| 风控风险 |
|
|
|
| 数据完整性 |
|
|
|
| 使用门槛 |
|
|
|
| 覆盖范围 |
|
|
|
项目现状
截至 2026 年 3 月:
-
• ⭐ GitHub Stars:897 -
• 🔀 Forks:78 -
• 📦 NPM 月下载:稳定增长 -
• 🌐 支持站点:20+ -
• 🤖 贡献者:10 人
项目采用 Apache-2.0 许可证,完全开源免费。
学习路径
入门
-
1. 安装并配置 OpenCLI -
2. 尝试 opencli hackernews top -
3. 配置 Chrome 扩展 -
4. 试试 opencli bilibili hot
进阶
-
1. 熟悉所有内置命令 -
2. 掌握不同输出格式 -
3. 编写简单的监控脚本 -
4. 集成到日常工作流
实战技巧
技巧 1:与 jq 结合
# 提取特定字段opencli bilibili hot -f json | jq -r '.[].title'
技巧 2:与 fzf 结合(模糊搜索)
# 交互式查看opencli zhihu hot -f json | jq -r '.[].title' | fzf
技巧 3:输出到文件
# 生成日报echo "# $(date +%Y-%m-%d) 热点汇总\n\n" > report.mdecho "## B站\n" >> report.mdopencli bilibili hot -f md >> report.mdecho "\n## 知乎\n" >> report.mdopencli zhihu hot -f md >> report.md
技巧 4:定时任务
# crontab 配置0 8 * * * ~/.monitor.sh # 每天 8 点
未来展望
OpenCLI 的发展方向:
-
1. 更多站点:持续添加新网站的适配器 -
2. AI 增强:更智能的 API 发现和适配器生成 -
3. 可视化输出:支持图表等富媒体输出 -
4. 云服务:提供 Serverless 模式,无需本地浏览器 -
5. 插件生态:支持社区贡献的第三方适配器
资源链接
-
• GitHub 仓库:https://github.com/jackwener/opencli -
• NPM 包:https://www.npmjs.com/package/@jackwener/opencli -
• Chrome 扩展:Playwright MCP Bridge -
• 官方文档:README.md,CLI-EXPLORER.md,CLI-ONESHOT.md
总结
OpenCLI 是一个非常实用且创新的项目,它巧妙地结合了:
-
• 命令行的高效 -
• 浏览器的能力 -
• AI 的智能
让我想起了那句名言:”好的工具能让你事半功倍”。
无论你是开发者、产品经理、媒体从业者,还是普通用户,OpenCLI 都能让你的终端变得更强大。
试试看吧,也许你会发现一个全新的世界!
如果你觉得这篇文章有用,欢迎点赞、收藏、转发!有问题或建议,欢迎在评论区讨论!
夜雨聆风