- browser.ts: close all tabs opened during session (not just extension tabs)
uses _initialTabCount to restore Chrome to pre-command state
- README/README.zh-CN: add ⚠️ login requirement warning with examples
- SKILL.md: add login note and tab auto-close mention
4.5 KiB
4.5 KiB
OpenCLI
把任何网站变成你的命令行工具。
零风控 · 复用 Chrome 登录 · AI 自动发现接口
OpenCLI 通过 Chrome 浏览器 + Playwright MCP Bridge 扩展,将任何网站变成命令行工具。不存密码、不泄 token,直接复用浏览器已登录状态。
✨ 亮点
- 🌐 25+ 命令,8 个站点 — B站、知乎、GitHub、Twitter/X、Reddit、V2EX、小红书、Hacker News
- 🔐 零风控 — 复用 Chrome 登录态,无需存储任何凭证
- 🤖 AI 原生 —
explore自动发现 API,synthesize生成适配器,cascade探测认证策略 - 📝 声明式 YAML — 大部分适配器只需 ~30 行 YAML
- 🔌 TypeScript 扩展 — 复杂场景(XHR 拦截、GraphQL)可用 TS 编写
🚀 快速开始
npm 全局安装(推荐)
npm install -g @jackwener/opencli
直接使用:
opencli list # 查看所有命令
opencli hackernews top --limit 5 # 公共 API,无需浏览器
opencli bilibili hot --limit 5 # 浏览器命令
opencli zhihu hot -f json # JSON 输出
从源码安装
git clone git@github.com:jackwener/opencli.git
cd opencli && npm install
npx tsx src/main.ts list
更新
# npm 全局更新
npm update -g @jackwener/opencli
# 或直接安装最新版
npm install -g @jackwener/opencli@latest
📋 前置要求
浏览器命令需要:
- Chrome 浏览器正在运行,且已登录目标网站(如 bilibili.com、zhihu.com、xiaohongshu.com)
- 安装 Playwright MCP Bridge 扩展
- 配置
PLAYWRIGHT_MCP_EXTENSION_TOKEN(从扩展设置页获取),设为环境变量或写入 MCP 配置:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest", "--extension"],
"env": {
"PLAYWRIGHT_MCP_EXTENSION_TOKEN": "<your-token>"
}
}
}
}
公共 API 命令(hackernews、github search、v2ex)无需浏览器。
⚠️ 重要:浏览器命令复用你的 Chrome 登录状态。运行命令前,你必须已在 Chrome 中登录目标网站。如果获取到空数据或报错,请先检查登录状态。
📦 内置命令
| 站点 | 命令 | 模式 |
|---|---|---|
| bilibili | hot search me favorite history feed user-videos |
🔐 浏览器 |
| zhihu | hot search question |
🔐 浏览器 |
| xiaohongshu | search me notifications feed |
🔐 浏览器 |
trending |
🔐 浏览器 | |
hot |
🔐 浏览器 | |
| github | trending search |
🔐 / 🌐 |
| v2ex | hot latest topic |
🌐 公共 API |
| hackernews | top |
🌐 公共 API |
🎨 输出格式
opencli bilibili hot -f table # 默认:表格
opencli bilibili hot -f json # JSON(可 pipe 给 jq 或 AI agent)
opencli bilibili hot -f md # Markdown
opencli bilibili hot -f csv # CSV
opencli bilibili hot -v # 详细模式:展示 pipeline 每步数据
🧠 AI Agent 工作流
# 1. Deep Explore — 网络拦截 → 响应分析 → 能力推理 → 框架检测
opencli explore https://example.com --site mysite
# 2. Synthesize — 从探索成果物生成 evaluate-based YAML 适配器
opencli synthesize mysite
# 3. Generate — 一键完成:探索 → 合成 → 注册
opencli generate https://example.com --goal "hot"
# 4. Strategy Cascade — 自动降级探测:PUBLIC → COOKIE → HEADER
opencli cascade https://api.example.com/data
探索结果输出到 .opencli/explore/<site>/:
manifest.json— 站点元数据、框架检测结果endpoints.json— 评分排序的 API 端点,含响应 schemacapabilities.json— 推理出的能力及置信度auth.json— 认证策略建议
🔧 创建新命令
查看 SKILL.md 了解完整的适配器开发指南(YAML pipeline + TypeScript)。
版本发布
# 升级版本号
npm version patch # 0.1.0 → 0.1.1
npm version minor # 0.1.0 → 0.2.0
npm version major # 0.1.0 → 1.0.0
# 推送 tag,GitHub Actions 自动发 release 并发布到 npm
git push --follow-tags
📄 License
MIT