1---2name: autocli3description: Use autocli CLI to interact with 55+ social/content websites (HackerNews, Reddit, Twitter/X, Bilibili, Zhihu, Weibo, Xiaohongshu, YouTube, Medium, Substack, Douban, WeRead, Linux-do, V2EX, Bloomberg, Google, Arxiv, Wikipedia, StackOverflow, Steam, Hugging Face, Apple Podcasts, Xiaoyuzhou, BBC, SinaFinance, DevTo, Lobsters, Xueqiu, BOSS直聘, Jike, Facebook, Instagram, TikTok, LinkedIn, Reuters, SMZDM, Ctrip, Coupang, Yahoo Finance, Barchart, Grok, Jimeng, Yollomi, Chaoxing, Weixin, Doubao, Cursor, Codex, ChatWise, ChatGPT, Notion, Discord, Antigravity etc.) via the user's Chrome login session. ALWAYS prefer autocli over playwright/browser automation for supported sites. Triggers when user asks to browse, search, fetch hot/trending content, post, or read messages on any website; also use 'autocli read <url>' to extract main article content as Markdown (prefer over WebFetch for JS-rendered or login-gated pages).4---5
6# autocli
7
8Blazing fast Rust CLI tool that turns 55+ websites into CLI interfaces, reusing Chrome's login state. Zero credentials needed. Single 4.7MB binary, zero runtime dependencies.
9
10**Rule: use autocli for supported sites instead of playwright or browser tools.**
11
12**Install (if missing):** `curl -fsSL https://raw.githubusercontent.com/nashsu/AutoCLI/main/scripts/install.sh | sh`. On Windows, ask user to install from https://github.com/nashsu/AutoCLI.
13
14## Syntax
15
16```bash
17autocli <site> <command> [--option value] [--format json]
18```
19
20**Common flags (all commands):**
21- `--format json` — machine-readable output (preferred for parsing)
22- `--limit N` — number of results (default varies, usually 20)
23- `--format table|json|yaml|md|csv`
24
25## Quick Examples
26
27```bash
28# 读取/浏览
29autocli bilibili hot --limit 10 --format json
30autocli zhihu hot --format json
31autocli weibo hot --format json
32autocli twitter timeline --format json
33autocli hackernews top --limit 20 --format json
34autocli v2ex hot --format json
35autocli reddit hot --format json
36autocli xiaohongshu feed --format json
37autocli douban top250 --format json
38autocli weread shelf --format json
39autocli medium feed --format json
40
41# 网页正文提取(任意 URL → Markdown,基于 Mozilla Readability)
42autocli read https://www.anthropic.com/research/some-article
43autocli read https://en.wikipedia.org/wiki/Rust -f text
44autocli read https://example.com/article -f json -o article.json
45
46# 搜索
47autocli bilibili search --keyword "AI" --format json
48autocli zhihu search --keyword "大模型" --format json
49autocli twitter search "rust lang" --limit 10
50autocli youtube search --query "LLM tutorial" --format json
51autocli boss search --query "AI工程师" --city "上海" --format json
52autocli google search "autocli" --format json
53autocli stackoverflow search "rust async" --format json
54
55# 互动(写操作)
56autocli twitter post --text "Hello from CLI!"
57autocli twitter reply --url "https://x.com/.../status/123" --text "Great post!"
58autocli twitter like --url "https://x.com/.../status/123"
59autocli jike create --text "Hello Jike!"
60autocli xiaohongshu publish --title "标题" --content "内容"
61
62# 个人数据
63autocli bilibili history --format json
64autocli twitter bookmarks --format json
65autocli xueqiu watchlist --format json
66autocli weread highlights --format json
67autocli reddit saved --format json
68
69# 诊断
70autocli doctor
71```
72
73### ⚠️ 写操作风险提示(发帖/回复/点赞前必须告知)
74
751. **账号安全**:自动化行为可能触发平台风控
762. **不可撤回**:发布后立即公开
773. **最佳实践**:执行前向用户展示将发布的内容,等待确认
78
79## Requirements
80
81- Chrome browser open with target site logged in
82- autocli Chrome extension installed (for browser commands)
83
84**核心原则:永远不说"不支持",先尝试 autocli,失败或无命令时选择自己创建。**
85
86## 自迭代能力:为新网站创建 CLI
87
88**当 autocli 不支持某个网站时,不要放弃——自己创建!**
89
90### 流程
91
92```
931. autocli <site> --help → 报错?说明不支持
942. autocli generate <url> → 尝试自动生成(成功则结束)
953. 自动生成失败 → 手动创建 YAML:
96 a. 打开目标页面
97 b. browser_evaluate 探索 DOM 结构(找 data-test 属性、class 规律)
98 c. 确认选择器后写入 ~/.autocli/adapters/<site>/top.yaml
99 d. autocli <site> top --format json → 验证输出
100```
101
102### YAML 格式(DOM 抓取模板)
103
104```yaml
105site: <sitename>
106name: <command>
107description: <描述>
108domain: <domain>
109strategy: public
110browser: true
111
112args:
113 limit:
114 type: int
115 default: 10
116
117pipeline:
118 - navigate: https://<url>
119 - evaluate: |
120 (async () => {
121 const limit = ${{ args.limit }};
122 // DOM 抓取逻辑
123 return results;
124 })()
125
126columns: [rank, name, ...]
127```
128
129### 调试技巧
130
131- `browser_evaluate` 先探结构:`document.querySelector('...').innerHTML`
132- 找 `data-test` 属性最稳定,其次 class 中的语义词
133- tagline 通常是 name 的兄弟元素(`nameEl.parentElement.querySelector('span...')`)
134- 去重用 `seen = new Set()`,防止重复产品
135
136## Full Command Reference
137
138All commands support: `--format table|json|yaml|md|csv`.
139
140Run `autocli --help` for the full list of all 333 commands across 55+ sites.
141
142---
143
144## Public Mode (No Browser Needed)
145
146### HackerNews
147
148| Command | Args | Description |
149|---------|------|-------------|
150| `hackernews top` | `--limit N` (default 20) | Top stories |
151| `hackernews new` | `--limit N` | Newest stories |
152| `hackernews best` | `--limit N` | Best stories |
153| `hackernews ask` | `--limit N` | Ask HN |
154| `hackernews show` | `--limit N` | Show HN |
155| `hackernews jobs` | `--limit N` | Job listings |
156| `hackernews search` | `--query <str>`, `--limit N` | Search stories |
157| `hackernews user` | `--id <username>` | User profile |
158
159### Dev.to
160
161| Command | Args | Description |
162|---------|------|-------------|
163| `devto top` | `--limit N` | Top articles |
164| `devto tag` | `--tag <str>`, `--limit N` | Articles by tag |
165| `devto user` | `--username <str>` | User's articles |
166
167### Lobsters
168
169| Command | Args | Description |
170|---------|------|-------------|
171| `lobsters hot` | `--limit N` | Hottest stories |
172| `lobsters newest` | `--limit N` | Newest stories |
173| `lobsters active` | `--limit N` | Most active |
174| `lobsters tag` | `--tag <str>`, `--limit N` | Stories by tag |
175
176### StackOverflow
177
178| Command | Args | Description |
179|---------|------|-------------|
180| `stackoverflow hot` | `--limit N` | Hot questions |
181| `stackoverflow search` | `--query <str>`, `--limit N` | Search questions |
182| `stackoverflow bounties` | `--limit N` | Featured bounties |
183| `stackoverflow unanswered` | `--limit N` | Unanswered questions |
184
185### Wikipedia
186
187| Command | Args | Description |
188|---------|------|-------------|
189| `wikipedia search` | `--query <str>`, `--limit N` | Search articles |
190| `wikipedia summary` | `--title <str>` | Article summary |
191| `wikipedia random` | `--limit N` | Random articles |
192| `wikipedia trending` | `--limit N` | Trending articles |
193
194### Arxiv
195
196| Command | Args | Description |
197|---------|------|-------------|
198| `arxiv search` | `--query <str>`, `--limit N` | Search papers |
199| `arxiv paper` | `--id <arxiv_id>` | Paper details |
200
201### BBC
202
203| Command | Args | Description |
204|---------|------|-------------|
205| `bbc news` | `--limit N` (default 20, max 50) | BBC news headlines (RSS) |
206
207### Steam
208
209| Command | Args | Description |
210|---------|------|-------------|
211| `steam top-sellers` | `--limit N` | Top selling games |
212
213### Hugging Face
214
215| Command | Args | Description |
216|---------|------|-------------|
217| `hf top` | `--limit N` | Top models/spaces |
218
219### Apple Podcasts
220
221| Command | Args | Description |
222|---------|------|-------------|
223| `apple-podcasts search` | `--query <str>`, `--limit N` | Search podcasts |
224| `apple-podcasts episodes` | `--id <podcast_id>`, `--limit N` | Podcast episodes |
225| `apple-podcasts top` | `--limit N` | Top podcasts |
226
227### 小宇宙 (Xiaoyuzhou)
228
229| Command | Args | Description |
230|---------|------|-------------|
231| `xiaoyuzhou podcast` | `--id <podcast_id>` | Podcast details |
232| `xiaoyuzhou podcast-episodes` | `--id <podcast_id>`, `--limit N` | Episodes list |
233| `xiaoyuzhou episode` | `--id <episode_id>` | Episode details |
234
235### 新浪财经 (Sina Finance)
236
237| Command | Args | Description |
238|---------|------|-------------|
239| `sinafinance news` | `--limit N` | Financial news |
240
241### Linux.do
242
243| Command | Args | Description |
244|---------|------|-------------|
245| `linux-do hot` | `--limit N` | Hot topics |
246| `linux-do latest` | `--limit N` | Latest topics |
247| `linux-do search` | `--query <str>`, `--limit N` | Search topics |
248| `linux-do categories` | — | List categories |
249| `linux-do category` | `--id <id>`, `--limit N` | Category topics |
250| `linux-do topic` | `--id <id>` | Topic details |
251
252---
253
254## Public / Browser Mode
255
256### Google
257
258| Command | Args | Description |
259|---------|------|-------------|
260| `google news` | `--query <str>`, `--limit N` | Google News |
261| `google search` | `--query <str>`, `--limit N` | Web search |
262| `google suggest` | `--query <str>` | Autocomplete suggestions |
263| `google trends` | `--limit N` | Trending searches |
264
265### V2EX
266
267| Command | Args | Description |
268|---------|------|-------------|
269| `v2ex hot` | `--limit N` (default 20) | 热门话题 (no login) |
270| `v2ex latest` | `--limit N` (default 20) | 最新话题 (no login) |
271| `v2ex topic` | `--id <topic_id>` | 主题详情和回复 |
272| `v2ex node` | `--name <node>`, `--limit N` | Node topics |
273| `v2ex user` | `--username <str>` | User profile |
274| `v2ex member` | `--username <str>` | Member details |
275| `v2ex replies` | `--id <topic_id>` | Topic replies |
276| `v2ex nodes` | — | List all nodes |
277| `v2ex daily` | — | 每日签到 |
278| `v2ex me` | — | 个人资料 |
279| `v2ex notifications` | `--limit N` | 通知 |
280
281### Bloomberg
282
283| Command | Args | Description |
284|---------|------|-------------|
285| `bloomberg main` | `--limit N` | Main page news |
286| `bloomberg markets` | `--limit N` | Markets news |
287| `bloomberg economics` | `--limit N` | Economics news |
288| `bloomberg industries` | `--limit N` | Industries news |
289| `bloomberg tech` | `--limit N` | Technology news |
290| `bloomberg politics` | `--limit N` | Politics news |
291| `bloomberg businessweek` | `--limit N` | Businessweek |
292| `bloomberg opinions` | `--limit N` | Opinion columns |
293| `bloomberg feeds` | `--limit N` | All feeds |
294| `bloomberg news` | `--query <str>`, `--limit N` | Search news |
295
296---
297
298## Browser Mode (Requires Chrome + Extension)
299
300### Twitter / X
301
302| Command | Args | Description |
303|---------|------|-------------|
304| `twitter timeline` | `--limit N` (default 20) | Home timeline |
305| `twitter trending` | `--limit N` (default 20) | Trending topics |
306| `twitter search` | `--query <str>`, `--limit N` (default 15) | Search tweets |
307| `twitter bookmarks` | `--limit N` (default 20) | Bookmarks |
308| `twitter notifications` | `--limit N` (default 20) | Notifications |
309| `twitter profile` | `--username <handle>`, `--limit N` | User's tweets |
310| `twitter followers` | `--user <handle>`, `--limit N` | Followers list |
311| `twitter following` | `--user <handle>`, `--limit N` | Following list |
312| `twitter thread` | `--url <tweet_url>` | Full thread |
313| `twitter article` | `--url <article_url>` | X article content |
314| `twitter post` | `--text <str>` | Post a tweet |
315| `twitter reply` | `--url <tweet_url>`, `--text <str>` | Reply to tweet |
316| `twitter like` | `--url <tweet_url>` | Like a tweet |
317| `twitter delete` | `--url <tweet_url>` | Delete a tweet |
318| `twitter follow` | `--username <handle>` | Follow user |
319| `twitter unfollow` | `--username <handle>` | Unfollow user |
320| `twitter bookmark` | `--url <tweet_url>` | Bookmark tweet |
321| `twitter unbookmark` | `--url <tweet_url>` | Remove bookmark |
322| `twitter download` | `--url <tweet_url>` | Download media |
323| `twitter block` | `--username <handle>` | Block user |
324| `twitter unblock` | `--username <handle>` | Unblock user |
325| `twitter hide-reply` | `--url <tweet_url>` | Hide a reply |
326| `twitter accept` | — | Accept follow requests |
327| `twitter reply-dm` | `--text <str>` | Reply to DM |
328
329### Bilibili (B站)
330
331| Command | Args | Description |
332|---------|------|-------------|
333| `bilibili hot` | `--limit N` (default 20) | B站热门视频 |
334| `bilibili search` | `--keyword <str>`, `--type video\|user`, `--page N`, `--limit N` | 搜索视频或用户 |
335| `bilibili me` | — | 当前用户资料 |
336| `bilibili favorite` | `--limit N`, `--page N` | 收藏夹 |
337| `bilibili history` | `--limit N` (default 20) | 观看历史 |
338| `bilibili feed` | `--limit N`, `--type all\|video\|article` | 动态时间线 |
339| `bilibili subtitle` | `--bvid <bvid>`, `--lang <code>` | 视频字幕 |
340| `bilibili dynamic` | `--limit N` (default 15) | 用户动态 |
341| `bilibili ranking` | `--limit N` (default 20) | 排行榜 |
342| `bilibili following` | `--uid <id>`, `--page N`, `--limit N` | 关注列表 |
343| `bilibili user-videos` | `--uid <id>`, `--limit N`, `--order pubdate\|click\|stow` | 用户投稿 |
344| `bilibili download` | `--bvid <bvid>` | 下载视频 |
345
346### Reddit
347
348| Command | Args | Description |
349|---------|------|-------------|
350| `reddit hot` | `--subreddit <name>`, `--limit N` | Hot posts |
351| `reddit frontpage` | `--limit N` (default 15) | r/all |
352| `reddit popular` | `--limit N` | Popular posts |
353| `reddit search` | `--query <str>`, `--limit N` | Search posts |
354| `reddit subreddit` | `--name <sub>`, `--sort hot\|new\|top\|rising`, `--limit N` | Subreddit posts |
355| `reddit read` | `--url <post_url>` | Read post + comments |
356| `reddit user` | `--username <str>` | User profile |
357| `reddit user-posts` | `--username <str>`, `--limit N` | User's posts |
358| `reddit user-comments` | `--username <str>`, `--limit N` | User's comments |
359| `reddit upvote` | `--url <post_url>` | Upvote post |
360| `reddit save` | `--url <post_url>` | Save post |
361| `reddit comment` | `--url <post_url>`, `--text <str>` | Comment on post |
362| `reddit subscribe` | `--subreddit <name>` | Subscribe |
363| `reddit saved` | `--limit N` | Saved posts |
364| `reddit upvoted` | `--limit N` | Upvoted posts |
365
366### 知乎 (Zhihu)
367
368| Command | Args | Description |
369|---------|------|-------------|
370| `zhihu hot` | `--limit N` (default 20) | 知乎热榜 |
371| `zhihu search` | `--keyword <str>`, `--limit N` (default 10) | 搜索内容 |
372| `zhihu question` | `--id <question_id>`, `--limit N` | 问题详情和回答 |
373| `zhihu download` | `--url <zhihu_url>` | 下载内容 |
374
375### 小红书 (Xiaohongshu)
376
377| Command | Args | Description |
378|---------|------|-------------|
379| `xiaohongshu search` | `--keyword <str>`, `--limit N` (default 20) | 搜索笔记 |
380| `xiaohongshu notifications` | `--type mentions\|likes\|connections`, `--limit N` | 通知 |
381| `xiaohongshu feed` | `--limit N` (default 20) | 首页推荐 |
382| `xiaohongshu user` | `--id <user_id>`, `--limit N` | 用户笔记 |
383| `xiaohongshu download` | `--url <note_url>` | 下载笔记 |
384| `xiaohongshu publish` | `--title <str>`, `--content <str>` | 发布笔记 |
385| `xiaohongshu creator-notes` | `--limit N` | 创作者笔记列表 |
386| `xiaohongshu creator-note-detail` | `--id <note_id>` | 创作者笔记详情 |
387| `xiaohongshu creator-notes-summary` | — | 创作者笔记汇总 |
388| `xiaohongshu creator-profile` | — | 创作者主页 |
389| `xiaohongshu creator-stats` | — | 创作者数据 |
390
391### 雪球 (Xueqiu)
392
393| Command | Args | Description |
394|---------|------|-------------|
395| `xueqiu feed` | `--page N`, `--limit N` (default 20) | 关注动态 |
396| `xueqiu hot-stock` | `--limit N` (default 20, max 50), `--type 10\|12` | 热门股票榜 |
397| `xueqiu hot` | `--limit N` (default 20) | 热门动态 |
398| `xueqiu search` | `--query <str>`, `--limit N` (default 10) | 搜索股票 |
399| `xueqiu stock` | `--symbol <code>` (如 SH600519, AAPL) | 实时行情 |
400| `xueqiu watchlist` | `--category 1\|2\|3`, `--limit N` | 自选股 |
401| `xueqiu earnings-date` | `--symbol <code>` | 财报日期 |
402
403### 微博 (Weibo)
404
405| Command | Args | Description |
406|---------|------|-------------|
407| `weibo hot` | `--limit N` (default 30, max 50) | 微博热搜 |
408| `weibo search` | `--keyword <str>`, `--limit N` | 搜索微博 |
409
410### 豆瓣 (Douban)
411
412| Command | Args | Description |
413|---------|------|-------------|
414| `douban search` | `--keyword <str>`, `--limit N` | 搜索 |
415| `douban top250` | `--limit N` | 电影 Top 250 |
416| `douban subject` | `--id <subject_id>` | 条目详情 |
417| `douban marks` | `--type movie\|book`, `--limit N` | 我的标记 |
418| `douban reviews` | `--id <subject_id>`, `--limit N` | 短评 |
419| `douban movie-hot` | `--limit N` | 热门电影 |
420| `douban book-hot` | `--limit N` | 热门图书 |
421
422### 微信读书 (WeRead)
423
424| Command | Args | Description |
425|---------|------|-------------|
426| `weread shelf` | — | 书架 |
427| `weread search` | `--keyword <str>`, `--limit N` | 搜索图书 |
428| `weread book` | `--id <book_id>` | 图书详情 |
429| `weread highlights` | `--id <book_id>` | 划线笔记 |
430| `weread notes` | `--id <book_id>` | 想法笔记 |
431| `weread notebooks` | `--limit N` | 笔记本列表 |
432| `weread ranking` | `--limit N` | 排行榜 |
433
434### YouTube
435
436| Command | Args | Description |
437|---------|------|-------------|
438| `youtube search` | `--query <str>`, `--limit N` (default 20, max 50) | 搜索视频 |
439| `youtube video` | `--id <video_id>` | 视频详情 |
440| `youtube transcript` | `--id <video_id>`, `--lang <code>` | 视频字幕 |
441
442### BOSS直聘
443
444| Command | Args | Description |
445|---------|------|-------------|
446| `boss search` | `--query <str>`, `--city <城市>`, `--experience <经验>`, `--degree <学历>`, `--salary <薪资>`, `--limit N` | 搜索职位 |
447| `boss detail` | `--id <job_id>` | 职位详情 |
448| `boss recommend` | `--limit N` | 推荐职位 |
449| `boss joblist` | `--limit N` | 职位列表 |
450| `boss greet` | `--id <job_id>` | 打招呼 |
451| `boss batchgreet` | `--ids <id1,id2,...>` | 批量打招呼 |
452| `boss send` | `--id <chat_id>`, `--text <str>` | 发消息 |
453| `boss chatlist` | `--limit N` | 聊天列表 |
454| `boss chatmsg` | `--id <chat_id>`, `--limit N` | 聊天记录 |
455| `boss invite` | `--id <job_id>` | 邀请面试 |
456| `boss mark` | `--id <chat_id>`, `--label <str>` | 标记 |
457| `boss exchange` | `--id <chat_id>` | 交换联系方式 |
458| `boss resume` | — | 我的简历 |
459| `boss stats` | — | 求职统计 |
460
461### Facebook
462
463| Command | Args | Description |
464|---------|------|-------------|
465| `facebook feed` | `--limit N` | News feed |
466| `facebook profile` | `--username <str>` | User profile |
467| `facebook search` | `--query <str>`, `--limit N` | Search |
468| `facebook friends` | `--limit N` | Friends list |
469| `facebook groups` | `--limit N` | Groups |
470| `facebook events` | `--limit N` | Events |
471| `facebook notifications` | `--limit N` | Notifications |
472| `facebook memories` | — | Memories |
473| `facebook add-friend` | `--username <str>` | Add friend |
474| `facebook join-group` | `--id <group_id>` | Join group |
475
476### Instagram
477
478| Command | Args | Description |
479|---------|------|-------------|
480| `instagram explore` | `--limit N` | Explore page |
481| `instagram profile` | `--username <str>` | User profile |
482| `instagram search` | `--query <str>`, `--limit N` | Search |
483| `instagram user` | `--username <str>`, `--limit N` | User posts |
484| `instagram followers` | `--username <str>`, `--limit N` | Followers |
485| `instagram following` | `--username <str>`, `--limit N` | Following |
486| `instagram follow` | `--username <str>` | Follow user |
487| `instagram unfollow` | `--username <str>` | Unfollow user |
488| `instagram like` | `--url <post_url>` | Like post |
489| `instagram unlike` | `--url <post_url>` | Unlike post |
490| `instagram comment` | `--url <post_url>`, `--text <str>` | Comment |
491| `instagram save` | `--url <post_url>` | Save post |
492| `instagram unsave` | `--url <post_url>` | Unsave post |
493| `instagram saved` | `--limit N` | Saved posts |
494
495### TikTok
496
497| Command | Args | Description |
498|---------|------|-------------|
499| `tiktok explore` | `--limit N` | Explore page |
500| `tiktok search` | `--query <str>`, `--limit N` | Search |
501| `tiktok profile` | `--username <str>` | User profile |
502| `tiktok user` | `--username <str>`, `--limit N` | User videos |
503| `tiktok following` | `--limit N` | Following list |
504| `tiktok follow` | `--username <str>` | Follow user |
505| `tiktok unfollow` | `--username <str>` | Unfollow user |
506| `tiktok like` | `--url <video_url>` | Like video |
507| `tiktok unlike` | `--url <video_url>` | Unlike video |
508| `tiktok comment` | `--url <video_url>`, `--text <str>` | Comment |
509| `tiktok save` | `--url <video_url>` | Save video |
510| `tiktok unsave` | `--url <video_url>` | Unsave video |
511| `tiktok live` | `--username <str>` | Live stream |
512| `tiktok notifications` | `--limit N` | Notifications |
513| `tiktok friends` | `--limit N` | Friends |
514
515### 即刻 (Jike)
516
517| Command | Args | Description |
518|---------|------|-------------|
519| `jike feed` | `--limit N` | 动态 Feed |
520| `jike search` | `--query <str>`, `--limit N` | 搜索 |
521| `jike create` | `--text <str>` | 发动态 |
522| `jike like` | `--id <post_id>` | 点赞 |
523| `jike comment` | `--id <post_id>`, `--text <str>` | 评论 |
524| `jike repost` | `--id <post_id>`, `--text <str>` | 转发 |
525| `jike notifications` | `--limit N` | 通知 |
526| `jike post` | `--id <post_id>` | 帖子详情 |
527| `jike topic` | `--id <topic_id>`, `--limit N` | 圈子 |
528| `jike user` | `--username <str>` | 用户主页 |
529
530### Medium
531
532| Command | Args | Description |
533|---------|------|-------------|
534| `medium feed` | `--limit N` | Feed |
535| `medium search` | `--query <str>`, `--limit N` | Search articles |
536| `medium user` | `--username <str>` | User articles |
537
538### Substack
539
540| Command | Args | Description |
541|---------|------|-------------|
542| `substack feed` | `--limit N` | Feed |
543| `substack search` | `--query <str>`, `--limit N` | Search |
544| `substack publication` | `--name <str>`, `--limit N` | Publication posts |
545
546### 新浪博客 (Sina Blog)
547
548| Command | Args | Description |
549|---------|------|-------------|
550| `sinablog hot` | `--limit N` | 热门文章 |
551| `sinablog search` | `--query <str>`, `--limit N` | 搜索 |
552| `sinablog article` | `--url <article_url>` | 文章详情 |
553| `sinablog user` | `--id <user_id>` | 用户文章 |
554
555### 携程 (Ctrip)
556
557| Command | Args | Description |
558|---------|------|-------------|
559| `ctrip search` | `--query <str>`, `--limit N` (default 15) | 搜索城市或景点 |
560
561### 路透社 (Reuters)
562
563| Command | Args | Description |
564|---------|------|-------------|
565| `reuters search` | `--query <str>`, `--limit N` (default 10, max 40) | 搜索新闻 |
566
567### 什么值得买 (smzdm)
568
569| Command | Args | Description |
570|---------|------|-------------|
571| `smzdm search` | `--keyword <str>`, `--limit N` (default 20) | 搜索好价商品 |
572
573### LinkedIn
574
575| Command | Args | Description |
576|---------|------|-------------|
577| `linkedin search` | `--query <str>`, `--limit N` | Search |
578
579### Yahoo Finance
580
581| Command | Args | Description |
582|---------|------|-------------|
583| `yahoo-finance quote` | `--symbol <ticker>` (如 AAPL, MSFT, TSLA) | 股票行情 |
584
585### Barchart
586
587| Command | Args | Description |
588|---------|------|-------------|
589| `barchart quote` | `--symbol <ticker>` | Quote |
590| `barchart options` | `--symbol <ticker>` | Options chain |
591| `barchart greeks` | `--symbol <ticker>` | Options greeks |
592| `barchart flow` | `--limit N` | Options flow |
593
594### Grok
595
596| Command | Args | Description |
597|---------|------|-------------|
598| `grok ask` | `--text <str>` | Ask Grok |
599
600### 即梦 (Jimeng)
601
602| Command | Args | Description |
603|---------|------|-------------|
604| `jimeng generate` | `--prompt <str>` | Generate image |
605| `jimeng history` | `--limit N` | Generation history |
606
607### 超星 (Chaoxing)
608
609| Command | Args | Description |
610|---------|------|-------------|
611| `chaoxing assignments` | — | Assignments |
612| `chaoxing exams` | — | Exams |
613
614### 微信 (Weixin)
615
616| Command | Args | Description |
617|---------|------|-------------|
618| `weixin download` | `--url <article_url>` | Download article |
619
620### 豆包 (Doubao)
621
622| Command | Args | Description |
623|---------|------|-------------|
624| `doubao status` | — | Status |
625| `doubao new` | — | New conversation |
626| `doubao send` | `--text <str>` | Send message |
627| `doubao read` | — | Read response |
628| `doubao ask` | `--text <str>` | Ask question |
629
630### 拼多多海外 (Coupang)
631
632| Command | Args | Description |
633|---------|------|-------------|
634| `coupang search` | `--query <str>`, `--limit N` | Search products |
635| `coupang add-to-cart` | `--id <product_id>` | Add to cart |
636
637### Yollomi
638
639| Command | Args | Description |
640|---------|------|-------------|
641| `yollomi generate` | `--prompt <str>` | Generate image |
642| `yollomi video` | `--prompt <str>` | Generate video |
643| `yollomi edit` | `--image <path>`, `--prompt <str>` | Edit image |
644| `yollomi upload` | `--file <path>` | Upload file |
645| `yollomi models` | — | List models |
646| `yollomi remove-bg` | `--image <path>` | Remove background |
647| `yollomi upscale` | `--image <path>` | Upscale image |
648| `yollomi face-swap` | `--source <path>`, `--target <path>` | Face swap |
649| `yollomi restore` | `--image <path>` | Restore image |
650| `yollomi try-on` | `--person <path>`, `--garment <path>` | Virtual try-on |
651| `yollomi background` | `--image <path>`, `--prompt <str>` | Change background |
652| `yollomi object-remover` | `--image <path>` | Remove object |
653
654---
655
656## Desktop Mode (Requires Desktop App Running)
657
658### Cursor
659
660| Command | Args | Description |
661|---------|------|-------------|
662| `cursor status` | — | IDE status |
663| `cursor send` | `--text <str>` | Send to Cursor |
664| `cursor read` | — | Read response |
665| `cursor new` | — | New conversation |
666| `cursor dump` | — | Dump conversation |
667| `cursor composer` | — | Open composer |
668| `cursor model` | `--name <str>` | Switch model |
669| `cursor extract-code` | — | Extract code blocks |
670| `cursor ask` | `--text <str>` | Ask question |
671| `cursor screenshot` | — | Take screenshot |
672| `cursor history` | `--limit N` | Conversation history |
673| `cursor export` | — | Export conversation |
674
675### Codex
676
677| Command | Args | Description |
678|---------|------|-------------|
679| `codex status` | — | Status |
680| `codex send` | `--text <str>` | Send message |
681| `codex read` | — | Read response |
682| `codex new` | — | New conversation |
683| `codex dump` | — | Dump conversation |
684| `codex extract-diff` | — | Extract diffs |
685| `codex model` | `--name <str>` | Switch model |
686| `codex ask` | `--text <str>` | Ask question |
687| `codex screenshot` | — | Take screenshot |
688| `codex history` | `--limit N` | History |
689| `codex export` | — | Export |
690
691### Notion
692
693| Command | Args | Description |
694|---------|------|-------------|
695| `notion status` | — | App status |
696| `notion search` | `--query <str>` | Search pages |
697| `notion read` | `--id <page_id>` | Read page |
698| `notion new` | `--title <str>` | New page |
699| `notion write` | `--id <page_id>`, `--content <str>` | Write to page |
700| `notion sidebar` | — | Sidebar contents |
701| `notion favorites` | — | Favorites |
702| `notion export` | `--id <page_id>` | Export page |
703
704### ChatGPT
705
706| Command | Args | Description |
707|---------|------|-------------|
708| `chatgpt status` | — | App status |
709| `chatgpt new` | — | New conversation |
710| `chatgpt send` | `--text <str>` | Send message |
711| `chatgpt read` | — | Read response |
712| `chatgpt ask` | `--text <str>` | Ask question |
713
714### Discord
715
716| Command | Args | Description |
717|---------|------|-------------|
718| `discord-app status` | — | App status |
719| `discord-app send` | `--channel <id>`, `--text <str>` | Send message |
720| `discord-app read` | `--channel <id>`, `--limit N` | Read messages |
721| `discord-app channels` | `--server <id>` | List channels |
722| `discord-app servers` | — | List servers |
723| `discord-app search` | `--query <str>` | Search |
724| `discord-app members` | `--server <id>` | List members |
725
726### ChatWise
727
728| Command | Args | Description |
729|---------|------|-------------|
730| `chatwise status` | — | Status |
731| `chatwise new` | — | New conversation |
732| `chatwise send` | `--text <str>` | Send message |
733| `chatwise read` | — | Read response |
734| `chatwise ask` | `--text <str>` | Ask question |
735| `chatwise model` | `--name <str>` | Switch model |
736| `chatwise history` | `--limit N` | History |
737| `chatwise export` | — | Export |
738| `chatwise screenshot` | — | Screenshot |
739
740### 豆包 App (Doubao App)
741
742| Command | Args | Description |
743|---------|------|-------------|
744| `doubao-app status` | — | Status |
745| `doubao-app new` | — | New conversation |
746| `doubao-app send` | `--text <str>` | Send message |
747| `doubao-app read` | — | Read response |
748| `doubao-app ask` | `--text <str>` | Ask question |
749| `doubao-app screenshot` | — | Screenshot |
750| `doubao-app dump` | — | Dump conversation |
751
752### Antigravity
753
754| Command | Args | Description |
755|---------|------|-------------|
756| `antigravity status` | — | Status |
757| `antigravity send` | `--text <str>` | Send message |
758| `antigravity read` | — | Read response |
759| `antigravity new` | — | New conversation |
760| `antigravity dump` | — | Dump conversation |
761| `antigravity extract-code` | — | Extract code |
762| `antigravity model` | `--name <str>` | Switch model |
763| `antigravity watch` | — | Watch mode |
764
765---
766
767## External CLI Integration (Passthrough)
768
769| Command | Description |
770|---------|-------------|
771| `autocli gh <args>` | GitHub CLI passthrough |
772| `autocli docker <args>` | Docker CLI passthrough |
773| `autocli kubectl <args>` | Kubernetes CLI passthrough |
774| `autocli obsidian <args>` | Obsidian passthrough |
775| `autocli readwise <args>` | Readwise passthrough |
776| `autocli gws <args>` | Google Workspace passthrough |
777
778---
779
780## Generic Web Reader
781
782Extract the main article content from any webpage using Mozilla Readability
783(the same engine Firefox Reader View uses). Returns clean Markdown by default.
784
785| Command | Args | Description |
786|---------|------|-------------|
787| `autocli read <url>` | `-f markdown\|text\|html\|json` (default: markdown), `-o <file>` | Extract main article content from any webpage |
788
789**When to prefer `autocli read` over WebFetch / curl:**
790- User asks to "read", "summarize", "extract content from", or "fetch the article at" a specific URL
791- The page is a news article, blog post, documentation, Wikipedia page, essay, etc.
792- You need clean Markdown (strips nav / ads / sidebars / scripts automatically)
793- The page is JavaScript-rendered (SPA) — WebFetch sees an empty shell, `autocli read` sees the fully-rendered DOM because it runs in a real browser
794- The page requires login — `autocli read` reuses the user's Chrome session automatically
795
796**When NOT to use `autocli read`:**
797- When a dedicated autocli site adapter already exists (e.g. `autocli hackernews top`, `autocli zhihu question`). Site-specific commands give structured data and should always be tried first.
798- When the user only needs raw JSON from a known API endpoint.
799- When the page is a pure app/dashboard with no article content — Readability will fail strictly in that case (no fallback, non-zero exit).
800
801**Examples:**
802
803```bash
804# Default: Markdown with title, byline, site name, published time as header
805autocli read https://www.anthropic.com/research/some-article
806
807# Plain text only (ideal for feeding into an LLM for summary)
808autocli read https://en.wikipedia.org/wiki/Large_language_model -f text
809
810# Full structured output (title, byline, excerpt, content HTML, length, lang, ...)
811autocli read https://example.com/article -f json
812
813# Save to a file instead of stdout
814autocli read https://example.com/article -o ./article.md
815```
816
817---
818
819## AI Discovery Commands
820
821| Command | Args | Description |
822|---------|------|-------------|
823| `autocli explore` | `<url>` | Explore website APIs |
824| `autocli cascade` | `<url>` | Auto-detect auth strategies |
825| `autocli generate` | `<url>`, `--goal <str>` | Auto-generate adapter |
826
827---
828
829## Utility Commands
830
831| Command | Description |
832|---------|-------------|
833| `autocli doctor` | Run diagnostics |
834| `autocli completion bash\|zsh\|fish` | Generate shell completions |
835| `autocli list` | List all available commands |
836| `autocli read <url>` | Extract main article content as Markdown (see Generic Web Reader section) |