docs: reduce excessive emoji usage across markdown files

This commit is contained in:
jackwener committed 2026-03-15 19:30:32 +08:00
1 parent 9a6e157af6
commit 3ac5aa3023
4 files changed
+38 -38

No files matched your search

+10 -10
View File
@@ -5,7 +5,7 @@
---
## ⚠️ AI Agent 开发者必读:用 Playwright MCP Bridge 探索
## AI Agent 开发者必读:用 Playwright MCP Bridge 探索
> [!CAUTION]
> **你(AI Agent)必须通过 Playwright MCP Bridge 打开浏览器去访问目标网站!**
@@ -38,7 +38,7 @@
| 遇到 HTTP 200 但空数据就放弃 | 检查是否需要 Wbi 签名或 Cookie 鉴权 |
| 完全依赖 `__INITIAL_STATE__` 拿所有数据 | `__INITIAL_STATE__` 只有首屏数据,深层数据要调 API |
### ✅ 实战成功案例:5 分钟实现「关注列表」适配器
### 实战成功案例:5 分钟实现「关注列表」适配器
以下是用上述工作流实际发现 Bilibili 关注列表 API 的完整过程:
@@ -51,7 +51,7 @@
fetch('/x/relation/followings?vmid=137702077&pn=1&ps=5', {credentials:'include'})
→ { code: 0, data: { total: 1342, list: [{mid, uname, sign, ...}] } }
4. 结论:标准 Cookie API,无需 Wbi 签名
5. 写 following.ts → 一次构建通过 ✅
5. 写 following.ts → 一次构建通过
```
**关键决策点**:
@@ -174,7 +174,7 @@ opencli cascade https://api.example.com/hot
## Step 2.5: 准备工作(写代码之前)
### 🎯 先找模板:从最相似的现有适配器开始
### 先找模板:从最相似的现有适配器开始
**不要从零开始写**。先看看同站点已有哪些适配器:
@@ -207,7 +207,7 @@ cat src/clis/<site>/feed.ts # 读最相似的那个
- 含 `/wbi/` 或 `w_rid=` → 必须用 `apiGet(..., { signed: true })`
- 不含 → 直接用 `fetchJson`
> 💡 其他站点(Twitter、小红书等)暂无专用 SDK,直接用 `page.evaluate` + `fetch` 即可。
> 其他站点(Twitter、小红书等)暂无专用 SDK,直接用 `page.evaluate` + `fetch` 即可。
---
@@ -252,7 +252,7 @@ func: async (page, kwargs) => {
},
```
> 💡 大多数站点的 `ps` 上限是 20~50。超过会被静默截断或返回错误。
> 大多数站点的 `ps` 上限是 20~50。超过会被静默截断或返回错误。
### 方式 A: YAML Pipeline(声明式,推荐)
@@ -530,13 +530,13 @@ cli({
> **拦截核心思路**:不自己构造签名,而是利用 `installInterceptor` 劫持网站自己的 `XMLHttpRequest` 和 `fetch`,让网站发请求,我们直接在底层取出解析好的 `response.json()`。
> 💡 **级联请求**(如 BVID→CID→字幕)的完整模板和要点见下方[进阶模式: 级联请求](#进阶模式-级联请求-cascading-requests)章节。
> **级联请求**(如 BVID→CID→字幕)的完整模板和要点见下方[进阶模式: 级联请求](#进阶模式-级联请求-cascading-requests)章节。
---
## Step 4: 测试
> **⚠️ 构建通过 ≠ 功能正常**。`npm run build` 只验证 TypeScript / YAML 语法,不验证运行时行为。
> **构建通过 ≠ 功能正常**。`npm run build` 只验证 TypeScript / YAML 语法,不验证运行时行为。
> 每个新命令 **必须实际运行** 并确认输出正确后才算完成。
### 必做清单
@@ -555,7 +555,7 @@ opencli mysite hot --limit 3 -f json # JSON 输出确认字段完整
### tap 步骤调试(intercept 策略专用)
> **⚠️ 不要猜 store name / action name**。先用 evaluate 探索,再写 YAML。
> **不要猜 store name / action name**。先用 evaluate 探索,再写 YAML。
#### Step 1: 列出所有 Pinia store
@@ -614,7 +614,7 @@ opencli list | grep mysite # 确认注册
git add src/clis/mysite/ && git commit -m "feat(mysite): add hot" && git push
```
> 💡 **架构理念**:OpenCLI 内建 **Zero-Dependency jq** 数据流 — 所有解析在 `evaluate` 的原生 JS 内完成,外层 YAML 用 `select`/`map` 提取,无需依赖系统 `jq` 二进制。
> **架构理念**:OpenCLI 内建 **Zero-Dependency jq** 数据流 — 所有解析在 `evaluate` 的原生 JS 内完成,外层 YAML 用 `select`/`map` 提取,无需依赖系统 `jq` 二进制。
---
+13 -13
View File
@@ -9,16 +9,16 @@
A CLI tool that turns **any website** into a command-line interface. **47 commands** across **17 sites** — bilibili, zhihu, xiaohongshu, twitter, reddit, xueqiu, github, v2ex, hackernews, bbc, weibo, boss, yahoo-finance, reuters, smzdm, ctrip, youtube — powered by browser session reuse and AI-native discovery.
## ✨ Highlights
## Highlights
- 🔐 **Account-safe** — Reuses Chrome's logged-in state; your credentials never leave the browser
- 🤖 **AI Agent ready** — `explore` discovers APIs, `synthesize` generates adapters, `cascade` finds auth strategies
- 🚀 **Dynamic Loader** — Simply drop `.ts` or `.yaml` adapters into the `clis/` folder for auto-registration
- 📝 **Dual-Engine Architecture**:
- **Account-safe** — Reuses Chrome's logged-in state; your credentials never leave the browser
- **AI Agent ready** — `explore` discovers APIs, `synthesize` generates adapters, `cascade` finds auth strategies
- **Dynamic Loader** — Simply drop `.ts` or `.yaml` adapters into the `clis/` folder for auto-registration
- **Dual-Engine Architecture**:
- **YAML Declarative Engine**: Most adapters are minimal ~30 lines of YAML pipeline
- **Native Browser Injection Engine**: Advanced TypeScript utilities (`installInterceptor`, `autoScroll`) for XHR hijacking, GraphQL unwrapping, and store mutation
## 🚀 Quick Start
## Quick Start
### Install via npm (recommended)
@@ -53,7 +53,7 @@ npm update -g @jackwener/opencli
npm install -g @jackwener/opencli@latest
```
## 📋 Prerequisites
## Prerequisites
Browser commands need:
1. **Chrome** running **and logged into the target site** (e.g. bilibili.com, zhihu.com, xiaohongshu.com)
@@ -78,7 +78,7 @@ Public API commands (`hackernews`, `github search`, `v2ex`) need no browser at a
> **⚠️ Important**: Browser commands reuse your Chrome login session. You must be logged into the target website in Chrome before running commands. If you get empty data or errors, check your login status first.
## 📦 Built-in Commands
## Built-in Commands
| Site | Commands | Mode |
|------|----------|------|
@@ -100,7 +100,7 @@ Public API commands (`hackernews`, `github search`, `v2ex`) need no browser at a
| **hackernews** | `top` | 🌐 Public |
| **bbc** | `news` | 🌐 Public |
## 🎨 Output Formats
## Output Formats
```bash
opencli bilibili hot -f table # Default: rich table
@@ -110,7 +110,7 @@ opencli bilibili hot -f csv # CSV
opencli bilibili hot -v # Verbose: show pipeline steps
```
## 🧠 AI Agent Workflow
## AI Agent Workflow
> [!IMPORTANT]
> AI Agent 创建新适配器时,**必须先阅读 [CLI-CREATOR.md](./CLI-CREATOR.md)**,其中包含完整的浏览器探索工作流、认证策略决策树和调试指南。
@@ -135,10 +135,10 @@ Explore outputs to `.opencli/explore/<site>/`:
- `capabilities.json` — inferred capabilities with confidence scores
- `auth.json` — authentication strategy recommendations
## 🔧 Create New Commands
## Create New Commands
> [!CAUTION]
> **🚨 必须先阅读 [CLI-CREATOR.md](./CLI-CREATOR.md)!** 它是适配器开发的完全指南,包含 API 发现工作流、5 级认证策略、平台 SDK 参考、YAML/TS 选择决策树、`tap` 调试流程和常见陷阱。**跳过此文档直接写代码会导致大量可避免的错误。**
> **必须先阅读 [CLI-CREATOR.md](./CLI-CREATOR.md)!** 它是适配器开发的完全指南,包含 API 发现工作流、5 级认证策略、平台 SDK 参考、YAML/TS 选择决策树、`tap` 调试流程和常见陷阱。**跳过此文档直接写代码会导致大量可避免的错误。**
## Releasing New Versions
@@ -154,6 +154,6 @@ git push --follow-tags
The CI will automatically build, create a GitHub release, and publish to npm.
## 📄 License
## License
MIT
+14 -14
View File
@@ -9,17 +9,17 @@
OpenCLI 通过 Chrome 浏览器 + [Playwright MCP Bridge](https://github.com/nichochar/playwright-mcp) 扩展,将任何网站变成命令行工具。不存密码、不泄 token,直接复用浏览器已登录状态。
## ✨ 亮点
## 亮点
- 🌐 **47 个命令,17 个站点** — B站、知乎、小红书、Twitter、Reddit、雪球(xueqiu)、GitHub、V2EX、Hacker News、BBC、微博、BOSS直聘、Yahoo Finance、路透社、什么值得买、携程、YouTube
- 🔐 **零风控** — 复用 Chrome 登录态,无需存储任何凭证
- 🤖 **AI 原生** — `explore` 自动发现 API,`synthesize` 生成适配器,`cascade` 探测认证策略
- 🚀 **动态加载引擎** — 只需将 `.ts` 或 `.yaml` 适配器放入 `clis/` 文件夹即可自动注册生效
- 📝 **双引擎架构设计**:
- **47 个命令,17 个站点** — B站、知乎、小红书、Twitter、Reddit、雪球(xueqiu)、GitHub、V2EX、Hacker News、BBC、微博、BOSS直聘、Yahoo Finance、路透社、什么值得买、携程、YouTube
- **零风控** — 复用 Chrome 登录态,无需存储任何凭证
- **AI 原生** — `explore` 自动发现 API,`synthesize` 生成适配器,`cascade` 探测认证策略
- **动态加载引擎** — 只需将 `.ts` 或 `.yaml` 适配器放入 `clis/` 文件夹即可自动注册生效
- **双引擎架构设计**:
- **YAML 声明式引擎**:大部分适配器只需极简的 ~30 行 YAML 声明
- **原生浏览器注入引擎**:提供高级 TS API(`installInterceptor`、`autoScroll`)轻松实现 XHR 劫持、GraphQL 解包及状态库注入
## 🚀 快速开始
## 快速开始
### npm 全局安装(推荐)
@@ -54,7 +54,7 @@ npm update -g @jackwener/opencli
npm install -g @jackwener/opencli@latest
```
## 📋 前置要求
## 前置要求
浏览器命令需要:
1. **Chrome** 浏览器正在运行,且**已登录目标网站**(如 bilibili.com、zhihu.com、xiaohongshu.com)
@@ -79,7 +79,7 @@ npm install -g @jackwener/opencli@latest
> **⚠️ 重要**:浏览器命令复用你的 Chrome 登录状态。运行命令前,你必须已在 Chrome 中登录目标网站。如果获取到空数据或报错,请先检查登录状态。
## 📦 内置命令
## 内置命令
| 站点 | 命令 | 模式 |
|------|------|------|
@@ -101,7 +101,7 @@ npm install -g @jackwener/opencli@latest
| **hackernews** | `top` | 🌐 公共 API |
| **bbc** | `news` | 🌐 公共 API |
## 🎨 输出格式
## 输出格式
```bash
opencli bilibili hot -f table # 默认:表格
@@ -111,7 +111,7 @@ opencli bilibili hot -f csv # CSV
opencli bilibili hot -v # 详细模式:展示 pipeline 每步数据
```
## 🧠 AI Agent 工作流
## AI Agent 工作流
> [!IMPORTANT]
> AI Agent 创建新适配器时,**必须先阅读 [CLI-CREATOR.md](./CLI-CREATOR.md)**,其中包含完整的浏览器探索工作流、认证策略决策树和调试指南。
@@ -136,10 +136,10 @@ opencli cascade https://api.example.com/data
- `capabilities.json` — 推理出的能力及置信度
- `auth.json` — 认证策略建议
## 🔧 创建新命令
## 创建新命令
> [!CAUTION]
> **🚨 必须先阅读 [CLI-CREATOR.md](./CLI-CREATOR.md)!** 它是适配器开发的完全指南,包含 API 发现工作流、5 级认证策略、平台 SDK 参考、YAML/TS 选择决策树、`tap` 调试流程和常见陷阱。**跳过此文档直接写代码会导致大量可避免的错误。**
> **必须先阅读 [CLI-CREATOR.md](./CLI-CREATOR.md)!** 它是适配器开发的完全指南,包含 API 发现工作流、5 级认证策略、平台 SDK 参考、YAML/TS 选择决策树、`tap` 调试流程和常见陷阱。**跳过此文档直接写代码会导致大量可避免的错误。**
## 版本发布
@@ -153,6 +153,6 @@ npm version major # 0.1.0 → 1.0.0
git push --follow-tags
```
## 📄 License
## License
MIT
+1 -1
View File
@@ -11,7 +11,7 @@ tags: [cli, browser, web, mcp, playwright, bilibili, zhihu, twitter, github, v2e
> Make any website your CLI. Reuse Chrome login, zero risk, AI-powered discovery.
> [!CAUTION]
> **🚨 AI Agent 必读:创建或修改任何适配器之前,你必须先阅读 [CLI-CREATOR.md](./CLI-CREATOR.md)!**
> **AI Agent 必读:创建或修改任何适配器之前,你必须先阅读 [CLI-CREATOR.md](./CLI-CREATOR.md)!**
> 该文档包含完整的 API 发现工作流(必须使用 Playwright MCP Bridge 浏览器探索)、5 级认证策略决策树、平台 SDK 速查表、`tap` 步骤调试流程、分页 API 模板、级联请求模式、以及常见陷阱。
> **本文件(SKILL.md)仅提供命令参考和简化模板,不足以正确开发适配器。**