@jackwener/opencli 1.0.1 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/.github/workflows/build-extension.yml +80 -0
  2. package/.github/workflows/ci.yml +6 -6
  3. package/.github/workflows/docs.yml +52 -0
  4. package/.github/workflows/e2e-headed.yml +2 -2
  5. package/.github/workflows/pkg-pr-new.yml +2 -2
  6. package/.github/workflows/release.yml +2 -5
  7. package/.github/workflows/security.yml +2 -2
  8. package/CDP.md +1 -1
  9. package/CDP.zh-CN.md +1 -1
  10. package/README.md +42 -34
  11. package/README.zh-CN.md +42 -34
  12. package/SKILL.md +3 -5
  13. package/dist/browser/cdp.d.ts +42 -0
  14. package/dist/browser/cdp.js +339 -0
  15. package/dist/browser/daemon-client.d.ts +3 -1
  16. package/dist/browser/daemon-client.js +4 -0
  17. package/dist/browser/dom-helpers.d.ts +20 -0
  18. package/dist/browser/dom-helpers.js +109 -0
  19. package/dist/browser/index.d.ts +3 -0
  20. package/dist/browser/index.js +4 -0
  21. package/dist/browser/mcp.d.ts +1 -0
  22. package/dist/browser/mcp.js +10 -5
  23. package/dist/browser/page.d.ts +7 -0
  24. package/dist/browser/page.js +39 -123
  25. package/dist/browser/utils.d.ts +10 -0
  26. package/dist/browser/utils.js +27 -0
  27. package/dist/browser.test.js +49 -1
  28. package/dist/build-manifest.js +3 -1
  29. package/dist/build-manifest.test.js +34 -0
  30. package/dist/capabilityRouting.d.ts +2 -0
  31. package/dist/capabilityRouting.js +30 -0
  32. package/dist/capabilityRouting.test.d.ts +1 -0
  33. package/dist/capabilityRouting.test.js +42 -0
  34. package/dist/chaoxing.d.ts +58 -0
  35. package/dist/chaoxing.js +225 -0
  36. package/dist/chaoxing.test.d.ts +1 -0
  37. package/dist/chaoxing.test.js +45 -0
  38. package/dist/cli-manifest.json +885 -48
  39. package/dist/cli.d.ts +1 -0
  40. package/dist/cli.js +234 -0
  41. package/dist/clis/antigravity/serve.d.ts +14 -0
  42. package/dist/clis/antigravity/serve.js +263 -0
  43. package/dist/clis/bilibili/download.js +4 -14
  44. package/dist/clis/boss/chatlist.d.ts +1 -0
  45. package/dist/clis/boss/chatlist.js +50 -0
  46. package/dist/clis/boss/chatmsg.d.ts +1 -0
  47. package/dist/clis/boss/chatmsg.js +73 -0
  48. package/dist/clis/boss/resume.d.ts +1 -0
  49. package/dist/clis/boss/resume.js +249 -0
  50. package/dist/clis/boss/send.d.ts +1 -0
  51. package/dist/clis/boss/send.js +176 -0
  52. package/dist/clis/chaoxing/assignments.d.ts +1 -0
  53. package/dist/clis/chaoxing/assignments.js +74 -0
  54. package/dist/clis/chaoxing/exams.d.ts +1 -0
  55. package/dist/clis/chaoxing/exams.js +74 -0
  56. package/dist/clis/chatgpt/ask.js +15 -14
  57. package/dist/clis/chatgpt/ax.d.ts +1 -0
  58. package/dist/clis/chatgpt/ax.js +78 -0
  59. package/dist/clis/chatgpt/read.js +5 -6
  60. package/dist/clis/hf/top.d.ts +1 -0
  61. package/dist/clis/hf/top.js +119 -0
  62. package/dist/clis/jike/comment.d.ts +1 -0
  63. package/dist/clis/jike/comment.js +107 -0
  64. package/dist/clis/jike/create.d.ts +1 -0
  65. package/dist/clis/jike/create.js +106 -0
  66. package/dist/clis/jike/feed.d.ts +1 -0
  67. package/dist/clis/jike/feed.js +67 -0
  68. package/dist/clis/jike/like.d.ts +1 -0
  69. package/dist/clis/jike/like.js +61 -0
  70. package/dist/clis/jike/notifications.d.ts +1 -0
  71. package/dist/clis/jike/notifications.js +169 -0
  72. package/dist/clis/jike/post.yaml +58 -0
  73. package/dist/clis/jike/repost.d.ts +1 -0
  74. package/dist/clis/jike/repost.js +103 -0
  75. package/dist/clis/jike/search.d.ts +1 -0
  76. package/dist/clis/jike/search.js +67 -0
  77. package/dist/clis/jike/shared.d.ts +19 -0
  78. package/dist/clis/jike/shared.js +25 -0
  79. package/dist/clis/jike/topic.yaml +52 -0
  80. package/dist/clis/jike/user.yaml +51 -0
  81. package/dist/clis/smzdm/search.js +28 -39
  82. package/dist/clis/stackoverflow/bounties.yaml +29 -0
  83. package/dist/clis/stackoverflow/hot.yaml +28 -0
  84. package/dist/clis/stackoverflow/search.yaml +32 -0
  85. package/dist/clis/stackoverflow/unanswered.yaml +28 -0
  86. package/dist/clis/twitter/download.js +6 -16
  87. package/dist/clis/twitter/post.js +9 -2
  88. package/dist/clis/twitter/search.js +14 -33
  89. package/dist/clis/xiaohongshu/download.d.ts +1 -1
  90. package/dist/clis/xiaohongshu/download.js +4 -4
  91. package/dist/clis/zhihu/download.js +3 -3
  92. package/dist/doctor.d.ts +7 -0
  93. package/dist/doctor.js +16 -0
  94. package/dist/download/index.d.ts +12 -8
  95. package/dist/download/index.js +11 -3
  96. package/dist/download/index.test.d.ts +1 -0
  97. package/dist/download/index.test.js +14 -0
  98. package/dist/engine.js +25 -14
  99. package/dist/explore.d.ts +1 -0
  100. package/dist/explore.js +48 -103
  101. package/dist/generate.js +1 -0
  102. package/dist/interceptor.js +3 -2
  103. package/dist/main.js +4 -193
  104. package/dist/output.d.ts +2 -1
  105. package/dist/output.js +3 -1
  106. package/dist/pipeline/executor.test.js +1 -0
  107. package/dist/pipeline/steps/download.js +14 -18
  108. package/dist/registry.d.ts +4 -3
  109. package/dist/registry.js +5 -2
  110. package/dist/runtime.d.ts +4 -1
  111. package/dist/runtime.js +2 -2
  112. package/dist/scripts/framework.d.ts +4 -0
  113. package/dist/scripts/framework.js +21 -0
  114. package/dist/scripts/interact.d.ts +4 -0
  115. package/dist/scripts/interact.js +20 -0
  116. package/dist/scripts/store.d.ts +9 -0
  117. package/dist/scripts/store.js +44 -0
  118. package/dist/synthesize.js +1 -1
  119. package/dist/types.d.ts +12 -0
  120. package/dist/verify.d.ts +6 -1
  121. package/dist/verify.js +54 -2
  122. package/docs/.vitepress/config.mts +193 -0
  123. package/docs/adapters/browser/apple-podcasts.md +28 -0
  124. package/docs/adapters/browser/bbc.md +26 -0
  125. package/docs/adapters/browser/bilibili.md +38 -0
  126. package/docs/adapters/browser/boss.md +28 -0
  127. package/docs/adapters/browser/coupang.md +28 -0
  128. package/docs/adapters/browser/ctrip.md +27 -0
  129. package/docs/adapters/browser/github.md +26 -0
  130. package/docs/adapters/browser/hackernews.md +26 -0
  131. package/docs/adapters/browser/linkedin.md +27 -0
  132. package/docs/adapters/browser/reddit.md +41 -0
  133. package/docs/adapters/browser/reuters.md +27 -0
  134. package/docs/adapters/browser/smzdm.md +27 -0
  135. package/docs/adapters/browser/twitter.md +47 -0
  136. package/docs/adapters/browser/v2ex.md +32 -0
  137. package/docs/adapters/browser/weibo.md +27 -0
  138. package/docs/adapters/browser/xiaohongshu.md +32 -0
  139. package/docs/adapters/browser/xiaoyuzhou.md +28 -0
  140. package/docs/adapters/browser/xueqiu.md +32 -0
  141. package/docs/adapters/browser/yahoo-finance.md +26 -0
  142. package/docs/adapters/browser/youtube.md +29 -0
  143. package/docs/adapters/browser/zhihu.md +30 -0
  144. package/docs/adapters/desktop/antigravity.md +46 -0
  145. package/docs/adapters/desktop/chatgpt.md +43 -0
  146. package/docs/adapters/desktop/chatwise.md +38 -0
  147. package/docs/adapters/desktop/codex.md +32 -0
  148. package/docs/adapters/desktop/cursor.md +33 -0
  149. package/docs/adapters/desktop/discord.md +28 -0
  150. package/docs/adapters/desktop/feishu.md +20 -0
  151. package/docs/adapters/desktop/neteasemusic.md +31 -0
  152. package/docs/adapters/desktop/notion.md +29 -0
  153. package/docs/adapters/desktop/wechat.md +28 -0
  154. package/docs/adapters/index.md +49 -0
  155. package/docs/advanced/cdp.md +103 -0
  156. package/docs/advanced/download.md +63 -0
  157. package/docs/advanced/electron.md +125 -0
  158. package/docs/advanced/remote-chrome.md +72 -0
  159. package/docs/developer/ai-workflow.md +66 -0
  160. package/docs/developer/architecture.md +90 -0
  161. package/docs/developer/contributing.md +136 -0
  162. package/docs/developer/testing.md +237 -0
  163. package/docs/developer/ts-adapter.md +87 -0
  164. package/docs/developer/yaml-adapter.md +108 -0
  165. package/docs/guide/browser-bridge.md +38 -0
  166. package/docs/guide/getting-started.md +56 -0
  167. package/docs/guide/installation.md +37 -0
  168. package/docs/guide/troubleshooting.md +56 -0
  169. package/docs/index.md +35 -0
  170. package/docs/zh/adapters/index.md +5 -0
  171. package/docs/zh/advanced/cdp.md +3 -0
  172. package/docs/zh/developer/contributing.md +24 -0
  173. package/docs/zh/guide/browser-bridge.md +25 -0
  174. package/docs/zh/guide/getting-started.md +40 -0
  175. package/docs/zh/guide/installation.md +37 -0
  176. package/docs/zh/index.md +29 -0
  177. package/extension/dist/background.js +386 -438
  178. package/extension/manifest.json +2 -2
  179. package/extension/package-lock.json +1156 -0
  180. package/extension/src/background.test.ts +151 -0
  181. package/extension/src/background.ts +124 -53
  182. package/extension/src/protocol.ts +3 -1
  183. package/package.json +7 -3
  184. package/src/browser/cdp.ts +367 -0
  185. package/src/browser/daemon-client.ts +7 -1
  186. package/src/browser/dom-helpers.ts +116 -0
  187. package/src/browser/index.ts +4 -0
  188. package/src/browser/mcp.ts +14 -6
  189. package/src/browser/page.ts +47 -124
  190. package/src/browser/utils.ts +27 -0
  191. package/src/browser.test.ts +56 -0
  192. package/src/build-manifest.test.ts +36 -0
  193. package/src/build-manifest.ts +2 -1
  194. package/src/capabilityRouting.test.ts +47 -0
  195. package/src/capabilityRouting.ts +28 -0
  196. package/src/chaoxing.test.ts +53 -0
  197. package/src/chaoxing.ts +268 -0
  198. package/src/cli.ts +205 -0
  199. package/src/clis/antigravity/SKILL.md +5 -0
  200. package/src/clis/antigravity/serve.ts +329 -0
  201. package/src/clis/bilibili/download.ts +4 -15
  202. package/src/clis/boss/chatlist.ts +50 -0
  203. package/src/clis/boss/chatmsg.ts +70 -0
  204. package/src/clis/boss/resume.ts +262 -0
  205. package/src/clis/boss/send.ts +193 -0
  206. package/src/clis/chaoxing/README.md +36 -0
  207. package/src/clis/chaoxing/README.zh-CN.md +35 -0
  208. package/src/clis/chaoxing/assignments.ts +88 -0
  209. package/src/clis/chaoxing/exams.ts +88 -0
  210. package/src/clis/chatgpt/ask.ts +14 -15
  211. package/src/clis/chatgpt/ax.ts +81 -0
  212. package/src/clis/chatgpt/read.ts +5 -7
  213. package/src/clis/hf/top.ts +141 -0
  214. package/src/clis/jike/comment.ts +113 -0
  215. package/src/clis/jike/create.ts +113 -0
  216. package/src/clis/jike/feed.ts +74 -0
  217. package/src/clis/jike/like.ts +65 -0
  218. package/src/clis/jike/notifications.ts +185 -0
  219. package/src/clis/jike/post.yaml +58 -0
  220. package/src/clis/jike/repost.ts +114 -0
  221. package/src/clis/jike/search.ts +74 -0
  222. package/src/clis/jike/shared.ts +36 -0
  223. package/src/clis/jike/topic.yaml +52 -0
  224. package/src/clis/jike/user.yaml +51 -0
  225. package/src/clis/smzdm/search.ts +30 -39
  226. package/src/clis/stackoverflow/bounties.yaml +29 -0
  227. package/src/clis/stackoverflow/hot.yaml +28 -0
  228. package/src/clis/stackoverflow/search.yaml +32 -0
  229. package/src/clis/stackoverflow/unanswered.yaml +28 -0
  230. package/src/clis/twitter/download.ts +6 -17
  231. package/src/clis/twitter/post.ts +9 -2
  232. package/src/clis/twitter/search.ts +15 -33
  233. package/src/clis/xiaohongshu/download.ts +4 -4
  234. package/src/clis/zhihu/download.ts +3 -3
  235. package/src/doctor.ts +18 -2
  236. package/src/download/index.test.ts +16 -0
  237. package/src/download/index.ts +22 -4
  238. package/src/engine.ts +20 -13
  239. package/src/explore.ts +54 -103
  240. package/src/generate.ts +1 -0
  241. package/src/interceptor.ts +3 -2
  242. package/src/main.ts +4 -180
  243. package/src/output.ts +15 -13
  244. package/src/pipeline/executor.test.ts +1 -0
  245. package/src/pipeline/steps/download.ts +14 -17
  246. package/src/registry.ts +9 -5
  247. package/src/runtime.ts +3 -2
  248. package/src/scripts/framework.ts +20 -0
  249. package/src/scripts/interact.ts +22 -0
  250. package/src/scripts/store.ts +40 -0
  251. package/src/synthesize.ts +1 -1
  252. package/src/types.ts +9 -0
  253. package/src/verify.ts +64 -3
@@ -0,0 +1,41 @@
1
+ # Reddit
2
+
3
+ **Mode**: 🔐 Browser · **Domain**: `reddit.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli reddit hot` | |
10
+ | `opencli reddit frontpage` | |
11
+ | `opencli reddit popular` | |
12
+ | `opencli reddit search` | |
13
+ | `opencli reddit subreddit` | |
14
+ | `opencli reddit read` | |
15
+ | `opencli reddit user` | |
16
+ | `opencli reddit user-posts` | |
17
+ | `opencli reddit user-comments` | |
18
+ | `opencli reddit upvote` | |
19
+ | `opencli reddit save` | |
20
+ | `opencli reddit comment` | |
21
+ | `opencli reddit subscribe` | |
22
+ | `opencli reddit saved` | |
23
+ | `opencli reddit upvoted` | |
24
+
25
+ ## Usage Examples
26
+
27
+ ```bash
28
+ # Quick start
29
+ opencli reddit hot --limit 5
30
+
31
+ # JSON output
32
+ opencli reddit hot -f json
33
+
34
+ # Verbose mode
35
+ opencli reddit hot -v
36
+ ```
37
+
38
+ ## Prerequisites
39
+
40
+ - Chrome running and **logged into** reddit.com
41
+ - [Browser Bridge extension](/guide/browser-bridge) installed
@@ -0,0 +1,27 @@
1
+ # Reuters
2
+
3
+ **Mode**: 🔐 Browser · **Domain**: `reuters.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli reuters search` | |
10
+
11
+ ## Usage Examples
12
+
13
+ ```bash
14
+ # Quick start
15
+ opencli reuters search --limit 5
16
+
17
+ # JSON output
18
+ opencli reuters search -f json
19
+
20
+ # Verbose mode
21
+ opencli reuters search -v
22
+ ```
23
+
24
+ ## Prerequisites
25
+
26
+ - Chrome running and **logged into** reuters.com
27
+ - [Browser Bridge extension](/guide/browser-bridge) installed
@@ -0,0 +1,27 @@
1
+ # SMZDM (什么值得买)
2
+
3
+ **Mode**: 🔐 Browser · **Domain**: `smzdm.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli smzdm search` | |
10
+
11
+ ## Usage Examples
12
+
13
+ ```bash
14
+ # Quick start
15
+ opencli smzdm search --limit 5
16
+
17
+ # JSON output
18
+ opencli smzdm search -f json
19
+
20
+ # Verbose mode
21
+ opencli smzdm search -v
22
+ ```
23
+
24
+ ## Prerequisites
25
+
26
+ - Chrome running and **logged into** smzdm.com
27
+ - [Browser Bridge extension](/guide/browser-bridge) installed
@@ -0,0 +1,47 @@
1
+ # Twitter / X
2
+
3
+ **Mode**: 🔐 Browser · **Domain**: `twitter.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli twitter trending` | |
10
+ | `opencli twitter bookmarks` | |
11
+ | `opencli twitter profile` | |
12
+ | `opencli twitter search` | |
13
+ | `opencli twitter timeline` | |
14
+ | `opencli twitter thread` | |
15
+ | `opencli twitter following` | |
16
+ | `opencli twitter followers` | |
17
+ | `opencli twitter notifications` | |
18
+ | `opencli twitter post` | |
19
+ | `opencli twitter reply` | |
20
+ | `opencli twitter delete` | |
21
+ | `opencli twitter like` | |
22
+ | `opencli twitter article` | |
23
+ | `opencli twitter follow` | |
24
+ | `opencli twitter unfollow` | |
25
+ | `opencli twitter bookmark` | |
26
+ | `opencli twitter unbookmark` | |
27
+ | `opencli twitter download` | |
28
+ | `opencli twitter accept` | |
29
+ | `opencli twitter reply-dm` | |
30
+
31
+ ## Usage Examples
32
+
33
+ ```bash
34
+ # Quick start
35
+ opencli twitter trending --limit 5
36
+
37
+ # JSON output
38
+ opencli twitter trending -f json
39
+
40
+ # Verbose mode
41
+ opencli twitter trending -v
42
+ ```
43
+
44
+ ## Prerequisites
45
+
46
+ - Chrome running and **logged into** twitter.com
47
+ - [Browser Bridge extension](/guide/browser-bridge) installed
@@ -0,0 +1,32 @@
1
+ # V2EX
2
+
3
+ **Mode**: 🌐 / 🔐 · **Domain**: `v2ex.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli v2ex hot` | |
10
+ | `opencli v2ex latest` | |
11
+ | `opencli v2ex topic` | |
12
+ | `opencli v2ex daily` | |
13
+ | `opencli v2ex me` | |
14
+ | `opencli v2ex notifications` | |
15
+
16
+ ## Usage Examples
17
+
18
+ ```bash
19
+ # Quick start
20
+ opencli v2ex hot --limit 5
21
+
22
+ # JSON output
23
+ opencli v2ex hot -f json
24
+
25
+ # Verbose mode
26
+ opencli v2ex hot -v
27
+ ```
28
+
29
+ ## Prerequisites
30
+
31
+ - Chrome running and **logged into** v2ex.com
32
+ - [Browser Bridge extension](/guide/browser-bridge) installed
@@ -0,0 +1,27 @@
1
+ # Weibo (微博)
2
+
3
+ **Mode**: 🔐 Browser · **Domain**: `weibo.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli weibo hot` | |
10
+
11
+ ## Usage Examples
12
+
13
+ ```bash
14
+ # Quick start
15
+ opencli weibo hot --limit 5
16
+
17
+ # JSON output
18
+ opencli weibo hot -f json
19
+
20
+ # Verbose mode
21
+ opencli weibo hot -v
22
+ ```
23
+
24
+ ## Prerequisites
25
+
26
+ - Chrome running and **logged into** weibo.com
27
+ - [Browser Bridge extension](/guide/browser-bridge) installed
@@ -0,0 +1,32 @@
1
+ # Xiaohongshu (小红书)
2
+
3
+ **Mode**: 🔐 Browser · **Domain**: `xiaohongshu.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli xiaohongshu search` | |
10
+ | `opencli xiaohongshu notifications` | |
11
+ | `opencli xiaohongshu feed` | |
12
+ | `opencli xiaohongshu me` | |
13
+ | `opencli xiaohongshu user` | |
14
+ | `opencli xiaohongshu download` | |
15
+
16
+ ## Usage Examples
17
+
18
+ ```bash
19
+ # Quick start
20
+ opencli xiaohongshu search --limit 5
21
+
22
+ # JSON output
23
+ opencli xiaohongshu search -f json
24
+
25
+ # Verbose mode
26
+ opencli xiaohongshu search -v
27
+ ```
28
+
29
+ ## Prerequisites
30
+
31
+ - Chrome running and **logged into** xiaohongshu.com
32
+ - [Browser Bridge extension](/guide/browser-bridge) installed
@@ -0,0 +1,28 @@
1
+ # Xiaoyuzhou (小宇宙)
2
+
3
+ **Mode**: 🌐 Public · **Domain**: `xiaoyuzhou.fm`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli xiaoyuzhou podcast` | |
10
+ | `opencli xiaoyuzhou podcast-episodes` | |
11
+ | `opencli xiaoyuzhou episode` | |
12
+
13
+ ## Usage Examples
14
+
15
+ ```bash
16
+ # Quick start
17
+ opencli xiaoyuzhou podcast --limit 5
18
+
19
+ # JSON output
20
+ opencli xiaoyuzhou podcast -f json
21
+
22
+ # Verbose mode
23
+ opencli xiaoyuzhou podcast -v
24
+ ```
25
+
26
+ ## Prerequisites
27
+
28
+ - No browser required — uses public API
@@ -0,0 +1,32 @@
1
+ # Xueqiu (雪球)
2
+
3
+ **Mode**: 🔐 Browser · **Domain**: `xueqiu.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli xueqiu feed` | |
10
+ | `opencli xueqiu hot-stock` | |
11
+ | `opencli xueqiu hot` | |
12
+ | `opencli xueqiu search` | |
13
+ | `opencli xueqiu stock` | |
14
+ | `opencli xueqiu watchlist` | |
15
+
16
+ ## Usage Examples
17
+
18
+ ```bash
19
+ # Quick start
20
+ opencli xueqiu feed --limit 5
21
+
22
+ # JSON output
23
+ opencli xueqiu feed -f json
24
+
25
+ # Verbose mode
26
+ opencli xueqiu feed -v
27
+ ```
28
+
29
+ ## Prerequisites
30
+
31
+ - Chrome running and **logged into** xueqiu.com
32
+ - [Browser Bridge extension](/guide/browser-bridge) installed
@@ -0,0 +1,26 @@
1
+ # Yahoo Finance
2
+
3
+ **Mode**: 🌐 Public · **Domain**: `finance.yahoo.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli yahoo-finance quote` | |
10
+
11
+ ## Usage Examples
12
+
13
+ ```bash
14
+ # Quick start
15
+ opencli yahoo-finance quote --limit 5
16
+
17
+ # JSON output
18
+ opencli yahoo-finance quote -f json
19
+
20
+ # Verbose mode
21
+ opencli yahoo-finance quote -v
22
+ ```
23
+
24
+ ## Prerequisites
25
+
26
+ - No browser required — uses public API
@@ -0,0 +1,29 @@
1
+ # YouTube
2
+
3
+ **Mode**: 🔐 Browser · **Domain**: `youtube.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli youtube search` | |
10
+ | `opencli youtube video` | |
11
+ | `opencli youtube transcript` | |
12
+
13
+ ## Usage Examples
14
+
15
+ ```bash
16
+ # Quick start
17
+ opencli youtube search --limit 5
18
+
19
+ # JSON output
20
+ opencli youtube search -f json
21
+
22
+ # Verbose mode
23
+ opencli youtube search -v
24
+ ```
25
+
26
+ ## Prerequisites
27
+
28
+ - Chrome running and **logged into** youtube.com
29
+ - [Browser Bridge extension](/guide/browser-bridge) installed
@@ -0,0 +1,30 @@
1
+ # Zhihu
2
+
3
+ **Mode**: 🔐 Browser · **Domain**: `zhihu.com`
4
+
5
+ ## Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `opencli zhihu hot` | |
10
+ | `opencli zhihu search` | |
11
+ | `opencli zhihu question` | |
12
+ | `opencli zhihu download` | |
13
+
14
+ ## Usage Examples
15
+
16
+ ```bash
17
+ # Quick start
18
+ opencli zhihu hot --limit 5
19
+
20
+ # JSON output
21
+ opencli zhihu hot -f json
22
+
23
+ # Verbose mode
24
+ opencli zhihu hot -v
25
+ ```
26
+
27
+ ## Prerequisites
28
+
29
+ - Chrome running and **logged into** zhihu.com
30
+ - [Browser Bridge extension](/guide/browser-bridge) installed
@@ -0,0 +1,46 @@
1
+ # Antigravity
2
+
3
+ 🔥 **CLI All Electron Apps! The Most Powerful Update Has Arrived!** 🔥
4
+
5
+ Turn your local Antigravity desktop application into a programmable AI node via Chrome DevTools Protocol (CDP). This allows you to compose complex LLM workflows entirely through the terminal by manipulating the actual UI natively, bypassing any API restrictions.
6
+
7
+ ## Prerequisites
8
+
9
+ Start the Antigravity desktop app with the Chrome DevTools `remote-debugging-port` flag:
10
+
11
+ ```bash
12
+ # Start Antigravity in the background
13
+ /Applications/Antigravity.app/Contents/MacOS/Electron \
14
+ --remote-debugging-port=9224
15
+ ```
16
+
17
+ > Depending on your installation, the executable might be named differently, e.g., `Antigravity` instead of `Electron`.
18
+
19
+ Then set the target port:
20
+
21
+ ```bash
22
+ export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9224"
23
+ ```
24
+
25
+ ## Commands
26
+
27
+ ### `opencli antigravity status`
28
+ Check the Chromium CDP connection. Returns the current window title and active internal URL.
29
+
30
+ ### `opencli antigravity send <message>`
31
+ Send a text prompt to the AI. Automatically locates the Lexical editor input box, types the prompt securely, and hits Enter.
32
+
33
+ ### `opencli antigravity read`
34
+ Scrape the entire current conversation history block as pure text.
35
+
36
+ ### `opencli antigravity new`
37
+ Click the "New Conversation" button to instantly clear the UI state and start fresh.
38
+
39
+ ### `opencli antigravity extract-code`
40
+ Extract any multi-line code blocks from the current conversation view. Ideal for automated script extraction (e.g. `opencli antigravity extract-code > script.sh`).
41
+
42
+ ### `opencli antigravity model <name>`
43
+ Quickly target and switch the active LLM engine. Example: `opencli antigravity model claude` or `opencli antigravity model gemini`.
44
+
45
+ ### `opencli antigravity watch`
46
+ A long-running, streaming process that continuously polls the Antigravity UI for chat updates and outputs them in real-time to standard output.
@@ -0,0 +1,43 @@
1
+ # ChatGPT
2
+
3
+ Control the **ChatGPT macOS Desktop App** directly from the terminal. OpenCLI supports two automation approaches for ChatGPT.
4
+
5
+ ## Approach 1: AppleScript (Default, No Setup)
6
+
7
+ The current built-in commands use native AppleScript automation — no extra launch flags needed.
8
+
9
+ ### Prerequisites
10
+ 1. Install the official [ChatGPT Desktop App](https://openai.com/chatgpt/mac/) from OpenAI.
11
+ 2. Grant **Accessibility permissions** to your terminal app in **System Settings → Privacy & Security → Accessibility**.
12
+
13
+ ### Commands
14
+ - `opencli chatgpt status`: Check if the ChatGPT app is currently running.
15
+ - `opencli chatgpt new`: Activate ChatGPT and press `Cmd+N` to start a new conversation.
16
+ - `opencli chatgpt send "message"`: Copy your message to clipboard, activate ChatGPT, paste, and submit.
17
+ - `opencli chatgpt read`: Copy the last AI response via `Cmd+Shift+C` and return it as text.
18
+
19
+ ## Approach 2: CDP (Advanced, Electron Debug Mode)
20
+
21
+ ChatGPT Desktop is also an Electron app and can be launched with a remote debugging port:
22
+
23
+ ```bash
24
+ /Applications/ChatGPT.app/Contents/MacOS/ChatGPT \
25
+ --remote-debugging-port=9224
26
+ ```
27
+
28
+ ```bash
29
+ export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9224"
30
+ ```
31
+
32
+ > The CDP approach enables future advanced commands like DOM inspection, model switching, and code extraction.
33
+
34
+ ## How It Works
35
+
36
+ - **AppleScript mode**: Uses `osascript` and `pbcopy`/`pbpaste` for clipboard-based text transfer.
37
+ - **CDP mode**: Connects via Chrome DevTools Protocol to the Electron renderer process.
38
+
39
+ ## Limitations
40
+
41
+ - macOS only (AppleScript dependency)
42
+ - AppleScript mode requires Accessibility permissions
43
+ - `read` command copies the last response — earlier messages need manual scroll
@@ -0,0 +1,38 @@
1
+ # ChatWise
2
+
3
+ Control the **ChatWise Desktop App** from the terminal via Chrome DevTools Protocol (CDP). ChatWise is an Electron-based multi-LLM client supporting GPT-4, Claude, Gemini, and more.
4
+
5
+ ## Prerequisites
6
+
7
+ 1. Install [ChatWise](https://chatwise.app/).
8
+ 2. Launch with remote debugging port:
9
+ ```bash
10
+ /Applications/ChatWise.app/Contents/MacOS/ChatWise \
11
+ --remote-debugging-port=9228
12
+ ```
13
+
14
+ ## Setup
15
+
16
+ ```bash
17
+ export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9228"
18
+ ```
19
+
20
+ ## Commands
21
+
22
+ ### Diagnostics
23
+ - `opencli chatwise status`: Check CDP connection status.
24
+ - `opencli chatwise screenshot`: Export DOM + accessibility snapshot.
25
+
26
+ ### Chat
27
+ - `opencli chatwise new`: Start a new conversation (`Cmd+N`).
28
+ - `opencli chatwise send "message"`: Send a message to the active chat.
29
+ - `opencli chatwise read`: Read the current conversation.
30
+ - `opencli chatwise ask "prompt"`: Send + wait for response + return it (one-shot).
31
+
32
+ ### AI Features
33
+ - `opencli chatwise model`: Get the current AI model.
34
+ - `opencli chatwise model gpt-4`: Switch to a different model.
35
+
36
+ ### Organization
37
+ - `opencli chatwise history`: List conversations from the sidebar.
38
+ - `opencli chatwise export`: Export conversation as Markdown.
@@ -0,0 +1,32 @@
1
+ # Codex
2
+
3
+ Control the **OpenAI Codex Desktop App** headless or headfully via Chrome DevTools Protocol (CDP). Because Codex is built on Electron, OpenCLI can directly drive its internal UI, automate slash commands, and manipulate its AI agent threads.
4
+
5
+ ## Prerequisites
6
+
7
+ 1. You must have the official OpenAI Codex app installed.
8
+ 2. Launch it via the terminal and expose the remote debugging port:
9
+ ```bash
10
+ # macOS
11
+ /Applications/Codex.app/Contents/MacOS/Codex --remote-debugging-port=9222
12
+ ```
13
+
14
+ ## Setup
15
+
16
+ ```bash
17
+ export OPENCLI_CODEX_CDP_ENDPOINT="http://127.0.0.1:9222"
18
+ ```
19
+
20
+ ## Commands
21
+
22
+ ### Diagnostics
23
+ - `opencli codex status`: Checks connection and reads the current active window URL/title.
24
+ - `opencli codex dump`: Dumps the full UI DOM and Accessibility tree into `/tmp`.
25
+
26
+ ### Agent Manipulation
27
+ - `opencli codex new`: Simulates `Cmd+N` to start a completely fresh and isolated Git Worktree thread context.
28
+ - `opencli codex send "message"`: Robustly finds the active Thread Composer and injects your text.
29
+ - *Pro-tip*: You can trigger internal shortcuts, e.g., `opencli codex send "/review"`.
30
+ - `opencli codex read`: Extracts the entire current thread history and AI reasoning logs.
31
+ - `opencli codex extract-diff`: Automatically scrapes any visual Patch chunks and Code Diffs.
32
+ - `opencli codex model`: Get the currently active AI model.
@@ -0,0 +1,33 @@
1
+ # Cursor
2
+
3
+ Control the **Cursor IDE** from the terminal via Chrome DevTools Protocol (CDP). Since Cursor is built on Electron (VS Code fork), OpenCLI can drive its internal UI, automate Composer interactions, and manipulate chat sessions.
4
+
5
+ ## Prerequisites
6
+
7
+ 1. Install [Cursor](https://cursor.sh/).
8
+ 2. Launch it with the remote debugging port:
9
+ ```bash
10
+ /Applications/Cursor.app/Contents/MacOS/Cursor --remote-debugging-port=9226
11
+ ```
12
+
13
+ ## Setup
14
+
15
+ ```bash
16
+ export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9226"
17
+ ```
18
+
19
+ ## Commands
20
+
21
+ ### Diagnostics
22
+ - `opencli cursor status`: Check CDP connection status.
23
+ - `opencli cursor dump`: Dump the full DOM and Accessibility snapshot to `/tmp/cursor-dom.html` and `/tmp/cursor-snapshot.json`.
24
+
25
+ ### Chat Manipulation
26
+ - `opencli cursor new`: Press `Cmd+N` to start a new file/tab.
27
+ - `opencli cursor send "message"`: Inject text into the active Composer/Chat input and submit.
28
+ - `opencli cursor read`: Extract the full conversation history from the active chat panel.
29
+
30
+ ### AI Features
31
+ - `opencli cursor composer "prompt"`: Open the Composer panel (`Cmd+I`) and send a prompt for inline AI editing.
32
+ - `opencli cursor model`: Get the currently active AI model (e.g., `claude-4.5-sonnet`).
33
+ - `opencli cursor extract-code`: Extract all code blocks from the current conversation.
@@ -0,0 +1,28 @@
1
+ # Discord
2
+
3
+ Control the **Discord Desktop App** from the terminal via Chrome DevTools Protocol (CDP).
4
+
5
+ ## Prerequisites
6
+
7
+ Launch with remote debugging port:
8
+ ```bash
9
+ /Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232
10
+ ```
11
+
12
+ ## Setup
13
+
14
+ ```bash
15
+ export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"
16
+ ```
17
+
18
+ ## Commands
19
+
20
+ | Command | Description |
21
+ |---------|-------------|
22
+ | `opencli discord status` | Check CDP connection |
23
+ | `opencli discord send "message"` | Send a message in the active channel |
24
+ | `opencli discord read` | Read recent messages |
25
+ | `opencli discord channels` | List channels in the current server |
26
+ | `opencli discord servers` | List all joined servers |
27
+ | `opencli discord search "query"` | Search messages (Cmd+F) |
28
+ | `opencli discord members` | List online members |
@@ -0,0 +1,20 @@
1
+ # Feishu (飞书/Lark)
2
+
3
+ Control **Feishu/Lark Desktop** from the terminal via AppleScript.
4
+
5
+ > **Note:** Feishu uses a custom `Lark Framework` (Chromium-based but NOT Electron). CDP is not available, so this adapter uses AppleScript + clipboard.
6
+
7
+ ## Prerequisites
8
+
9
+ 1. Feishu/Lark must be running and logged in
10
+ 2. Terminal must have **Accessibility permission**
11
+
12
+ ## Commands
13
+
14
+ | Command | Description |
15
+ |---------|-------------|
16
+ | `opencli feishu status` | Check if Feishu/Lark is running |
17
+ | `opencli feishu send "msg"` | Send message in active chat (paste + Enter) |
18
+ | `opencli feishu read` | Read current chat (Cmd+A → Cmd+C) |
19
+ | `opencli feishu search "query"` | Global search (Cmd+K) |
20
+ | `opencli feishu new` | New message/document (Cmd+N) |
@@ -0,0 +1,31 @@
1
+ # NeteaseMusic (网易云音乐)
2
+
3
+ Control **NeteaseMusic** (网易云音乐) from the terminal via Chrome DevTools Protocol (CDP). The app uses Chromium Embedded Framework (CEF).
4
+
5
+ ## Prerequisites
6
+
7
+ Launch with remote debugging port:
8
+ ```bash
9
+ /Applications/NeteaseMusic.app/Contents/MacOS/NeteaseMusic --remote-debugging-port=9234
10
+ ```
11
+
12
+ ## Setup
13
+
14
+ ```bash
15
+ export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9234"
16
+ ```
17
+
18
+ ## Commands
19
+
20
+ | Command | Description |
21
+ |---------|-------------|
22
+ | `opencli neteasemusic status` | Check CDP connection |
23
+ | `opencli neteasemusic playing` | Current song info (title, artist, album) |
24
+ | `opencli neteasemusic play` | Play / Pause toggle |
25
+ | `opencli neteasemusic next` | Skip to next song |
26
+ | `opencli neteasemusic prev` | Go to previous song |
27
+ | `opencli neteasemusic search "query"` | Search songs, artists |
28
+ | `opencli neteasemusic playlist` | Show current playback queue |
29
+ | `opencli neteasemusic like` | Like / unlike current song |
30
+ | `opencli neteasemusic lyrics` | Get lyrics of current song |
31
+ | `opencli neteasemusic volume [0-100]` | Get or set volume |