@jackwener/opencli 1.7.8 → 1.7.10

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 (281) hide show
  1. package/README.md +49 -14
  2. package/README.zh-CN.md +30 -10
  3. package/cli-manifest.json +646 -30
  4. package/clis/36kr/news.js +1 -1
  5. package/clis/apple-podcasts/commands.test.js +4 -4
  6. package/clis/apple-podcasts/episodes.js +1 -1
  7. package/clis/apple-podcasts/search.js +1 -1
  8. package/clis/apple-podcasts/top.js +1 -1
  9. package/clis/arxiv/paper.js +1 -1
  10. package/clis/arxiv/search.js +1 -1
  11. package/clis/band/mentions.js +3 -3
  12. package/clis/bbc/news.js +1 -1
  13. package/clis/bilibili/subtitle.js +2 -2
  14. package/clis/bloomberg/businessweek.js +1 -1
  15. package/clis/bloomberg/economics.js +1 -1
  16. package/clis/bloomberg/industries.js +1 -1
  17. package/clis/bloomberg/main.js +1 -1
  18. package/clis/bloomberg/markets.js +1 -1
  19. package/clis/bloomberg/opinions.js +1 -1
  20. package/clis/bloomberg/politics.js +1 -1
  21. package/clis/bloomberg/tech.js +1 -1
  22. package/clis/boss/search.js +49 -8
  23. package/clis/boss/search.test.js +78 -0
  24. package/clis/boss/send.js +3 -3
  25. package/clis/chatgpt/image.js +37 -8
  26. package/clis/chatgpt/image.test.js +92 -0
  27. package/clis/chatgpt/utils.js +39 -6
  28. package/clis/chatgpt/utils.test.js +63 -0
  29. package/clis/chatgpt-app/ask.js +1 -1
  30. package/clis/chatgpt-app/ax.js +4 -2
  31. package/clis/chatgpt-app/ax.test.js +12 -0
  32. package/clis/chatgpt-app/model.js +1 -1
  33. package/clis/chatgpt-app/new.js +1 -1
  34. package/clis/chatgpt-app/read.js +1 -1
  35. package/clis/chatgpt-app/send.js +1 -1
  36. package/clis/chatgpt-app/status.js +1 -1
  37. package/clis/chatwise/ask.js +2 -2
  38. package/clis/chatwise/model.js +2 -2
  39. package/clis/chatwise/send.js +2 -2
  40. package/clis/claude/ask.js +128 -0
  41. package/clis/claude/ask.test.js +338 -0
  42. package/clis/claude/commands.test.js +118 -0
  43. package/clis/claude/detail.js +29 -0
  44. package/clis/claude/history.js +31 -0
  45. package/clis/claude/new.js +21 -0
  46. package/clis/claude/read.js +24 -0
  47. package/clis/claude/send.js +41 -0
  48. package/clis/claude/status.js +24 -0
  49. package/clis/claude/utils.js +440 -0
  50. package/clis/claude/utils.test.js +148 -0
  51. package/clis/codex/ask.js +2 -2
  52. package/clis/codex/send.js +2 -2
  53. package/clis/ctrip/search.js +1 -1
  54. package/clis/ctrip/search.test.js +4 -4
  55. package/clis/cursor/ask.js +2 -2
  56. package/clis/cursor/composer.js +2 -2
  57. package/clis/cursor/send.js +2 -2
  58. package/clis/deepseek/ask.js +17 -4
  59. package/clis/deepseek/ask.test.js +46 -0
  60. package/clis/deepseek/utils.js +55 -16
  61. package/clis/deepseek/utils.test.js +124 -5
  62. package/clis/doubao/utils.js +53 -11
  63. package/clis/doubao/utils.test.js +22 -2
  64. package/clis/eastmoney/announcement.js +1 -1
  65. package/clis/eastmoney/convertible.js +1 -1
  66. package/clis/eastmoney/etf.js +1 -1
  67. package/clis/eastmoney/holders.js +1 -1
  68. package/clis/eastmoney/index-board.js +1 -1
  69. package/clis/eastmoney/kline.js +1 -1
  70. package/clis/eastmoney/kuaixun.js +1 -1
  71. package/clis/eastmoney/longhu.js +1 -1
  72. package/clis/eastmoney/money-flow.js +1 -1
  73. package/clis/eastmoney/northbound.js +1 -1
  74. package/clis/eastmoney/quote.js +1 -1
  75. package/clis/eastmoney/rank.js +1 -1
  76. package/clis/eastmoney/sectors.js +1 -1
  77. package/clis/facebook/marketplace-inbox.js +83 -0
  78. package/clis/facebook/marketplace-listings.js +83 -0
  79. package/clis/facebook/marketplace.test.js +91 -0
  80. package/clis/google/news.js +1 -1
  81. package/clis/google/suggest.js +1 -1
  82. package/clis/google/trends.js +1 -1
  83. package/clis/google-scholar/cite.js +74 -0
  84. package/clis/google-scholar/cite.test.js +47 -0
  85. package/clis/google-scholar/profile.js +92 -0
  86. package/clis/google-scholar/profile.test.js +49 -0
  87. package/clis/google-scholar/search.js +1 -1
  88. package/clis/google-scholar/search.test.js +15 -0
  89. package/clis/hf/top.js +1 -1
  90. package/clis/instagram/collection-create.js +57 -0
  91. package/clis/instagram/saved.js +21 -7
  92. package/clis/jd/item.js +679 -47
  93. package/clis/jd/item.test.js +318 -7
  94. package/clis/jd/item.test.ts +517 -0
  95. package/clis/lesswrong/comments.js +1 -1
  96. package/clis/lesswrong/curated.js +1 -1
  97. package/clis/lesswrong/frontpage.js +1 -1
  98. package/clis/lesswrong/new.js +1 -1
  99. package/clis/lesswrong/read.js +1 -1
  100. package/clis/lesswrong/sequences.js +1 -1
  101. package/clis/lesswrong/shortform.js +1 -1
  102. package/clis/lesswrong/tag.js +1 -1
  103. package/clis/lesswrong/tags.js +1 -1
  104. package/clis/lesswrong/top-month.js +1 -1
  105. package/clis/lesswrong/top-week.js +1 -1
  106. package/clis/lesswrong/top-year.js +1 -1
  107. package/clis/lesswrong/top.js +1 -1
  108. package/clis/lesswrong/user-posts.js +1 -1
  109. package/clis/lesswrong/user.js +1 -1
  110. package/clis/paperreview/commands.test.js +6 -6
  111. package/clis/paperreview/feedback.js +1 -1
  112. package/clis/paperreview/review.js +1 -1
  113. package/clis/paperreview/submit.js +1 -1
  114. package/clis/producthunt/posts.js +1 -1
  115. package/clis/producthunt/today.js +1 -1
  116. package/clis/sinablog/search.js +1 -1
  117. package/clis/sinafinance/news.js +1 -1
  118. package/clis/sinafinance/stock.js +1 -1
  119. package/clis/sinafinance/stock.test.js +2 -2
  120. package/clis/spotify/spotify.js +6 -6
  121. package/clis/substack/search.js +1 -1
  122. package/clis/toutiao/articles.js +5 -6
  123. package/clis/toutiao/articles.test.js +22 -15
  124. package/clis/twitter/followers.js +2 -2
  125. package/clis/twitter/following.js +224 -73
  126. package/clis/twitter/following.test.js +277 -0
  127. package/clis/twitter/post.js +184 -47
  128. package/clis/twitter/post.test.js +114 -34
  129. package/clis/uiverse/_shared.js +63 -4
  130. package/clis/uiverse/_shared.test.js +7 -0
  131. package/clis/uiverse/code.js +1 -0
  132. package/clis/uiverse/navigation.test.js +12 -0
  133. package/clis/uiverse/preview.js +1 -0
  134. package/clis/web/read.js +319 -81
  135. package/clis/web/read.test.js +221 -5
  136. package/clis/weibo/favorites.js +169 -0
  137. package/clis/weibo/favorites.test.js +114 -0
  138. package/clis/weibo/publish.js +282 -0
  139. package/clis/weibo/publish.test.js +183 -0
  140. package/clis/weread/ranking.js +1 -1
  141. package/clis/weread/search-regression.test.js +8 -8
  142. package/clis/weread/search.js +1 -1
  143. package/clis/wikipedia/random.js +1 -1
  144. package/clis/wikipedia/search.js +1 -1
  145. package/clis/wikipedia/summary.js +1 -1
  146. package/clis/wikipedia/trending.js +1 -1
  147. package/clis/xianyu/chat.js +3 -3
  148. package/clis/xianyu/item.js +2 -2
  149. package/clis/xianyu/item.test.js +3 -3
  150. package/clis/xiaohongshu/search.js +17 -2
  151. package/clis/xiaohongshu/search.test.js +37 -1
  152. package/clis/xiaoyuzhou/download.js +1 -1
  153. package/clis/xiaoyuzhou/download.test.js +3 -3
  154. package/clis/xiaoyuzhou/episode.js +1 -1
  155. package/clis/xiaoyuzhou/podcast-episodes.js +1 -1
  156. package/clis/xiaoyuzhou/podcast-episodes.test.js +2 -2
  157. package/clis/xiaoyuzhou/podcast.js +1 -1
  158. package/clis/xiaoyuzhou/transcript.js +1 -1
  159. package/clis/xiaoyuzhou/transcript.test.js +5 -5
  160. package/clis/yollomi/models.js +1 -1
  161. package/clis/youtube/channel.js +24 -1
  162. package/clis/youtube/channel.test.js +59 -0
  163. package/clis/zhihu/answer.js +21 -162
  164. package/clis/zhihu/answer.test.js +26 -53
  165. package/clis/zhihu/collection.js +197 -0
  166. package/clis/zhihu/collection.test.js +290 -0
  167. package/clis/zhihu/collections.js +127 -0
  168. package/clis/zhihu/collections.test.js +182 -0
  169. package/clis/zhihu/comment.js +24 -305
  170. package/clis/zhihu/comment.test.js +31 -35
  171. package/clis/zhihu/favorite.js +44 -182
  172. package/clis/zhihu/favorite.test.js +30 -167
  173. package/clis/zhihu/follow.js +25 -56
  174. package/clis/zhihu/follow.test.js +20 -23
  175. package/clis/zhihu/like.js +22 -67
  176. package/clis/zhihu/like.test.js +19 -42
  177. package/clis/zhihu/search.js +3 -2
  178. package/clis/zhihu/write-shared.js +8 -1
  179. package/clis/zhihu/write-shared.test.js +1 -0
  180. package/clis/zlibrary/commands.test.js +75 -0
  181. package/clis/zlibrary/info.js +47 -0
  182. package/clis/zlibrary/search.js +46 -0
  183. package/clis/zlibrary/utils.js +136 -0
  184. package/dist/src/adapter-source.d.ts +11 -0
  185. package/dist/src/adapter-source.js +24 -0
  186. package/dist/src/adapter-source.test.js +29 -0
  187. package/dist/src/browser/base-page.d.ts +3 -1
  188. package/dist/src/browser/base-page.js +76 -1
  189. package/dist/src/browser/base-page.test.d.ts +1 -0
  190. package/dist/src/browser/base-page.test.js +74 -0
  191. package/dist/src/browser/bridge.d.ts +1 -2
  192. package/dist/src/browser/bridge.js +40 -41
  193. package/dist/src/browser/cdp.d.ts +1 -0
  194. package/dist/src/browser/cdp.js +3 -3
  195. package/dist/src/browser/daemon-client.d.ts +38 -4
  196. package/dist/src/browser/daemon-client.js +24 -7
  197. package/dist/src/browser/daemon-client.test.js +49 -0
  198. package/dist/src/browser/daemon-lifecycle.d.ts +23 -0
  199. package/dist/src/browser/daemon-lifecycle.js +67 -0
  200. package/dist/src/browser/daemon-version.d.ts +4 -0
  201. package/dist/src/browser/daemon-version.js +12 -0
  202. package/dist/src/browser/errors.js +3 -0
  203. package/dist/src/browser/errors.test.js +3 -0
  204. package/dist/src/browser/network-cache.d.ts +1 -0
  205. package/dist/src/browser/page.d.ts +3 -1
  206. package/dist/src/browser/page.js +10 -2
  207. package/dist/src/browser/profile.d.ts +14 -0
  208. package/dist/src/browser/profile.js +85 -0
  209. package/dist/src/build-manifest.d.ts +2 -0
  210. package/dist/src/build-manifest.js +13 -3
  211. package/dist/src/build-manifest.test.js +20 -2
  212. package/dist/src/cli.d.ts +6 -0
  213. package/dist/src/cli.js +477 -35
  214. package/dist/src/cli.test.js +303 -2
  215. package/dist/src/commanderAdapter.js +17 -9
  216. package/dist/src/commanderAdapter.test.js +67 -2
  217. package/dist/src/commands/daemon.d.ts +2 -0
  218. package/dist/src/commands/daemon.js +42 -1
  219. package/dist/src/commands/daemon.test.js +103 -2
  220. package/dist/src/completion-shared.js +1 -2
  221. package/dist/src/completion.test.js +3 -2
  222. package/dist/src/daemon.js +125 -41
  223. package/dist/src/doctor.d.ts +5 -6
  224. package/dist/src/doctor.js +77 -19
  225. package/dist/src/doctor.test.js +117 -0
  226. package/dist/src/engine.test.js +6 -5
  227. package/dist/src/errors.d.ts +14 -8
  228. package/dist/src/errors.js +36 -30
  229. package/dist/src/errors.test.js +5 -5
  230. package/dist/src/execution.d.ts +4 -0
  231. package/dist/src/execution.js +173 -25
  232. package/dist/src/execution.test.js +171 -1
  233. package/dist/src/main.js +10 -0
  234. package/dist/src/observation/artifact.d.ts +16 -0
  235. package/dist/src/observation/artifact.js +260 -0
  236. package/dist/src/observation/artifact.test.d.ts +1 -0
  237. package/dist/src/observation/artifact.test.js +121 -0
  238. package/dist/src/observation/events.d.ts +89 -0
  239. package/dist/src/observation/events.js +1 -0
  240. package/dist/src/observation/index.d.ts +7 -0
  241. package/dist/src/observation/index.js +7 -0
  242. package/dist/src/observation/manager.d.ts +9 -0
  243. package/dist/src/observation/manager.js +27 -0
  244. package/dist/src/observation/manager.test.d.ts +1 -0
  245. package/dist/src/observation/manager.test.js +13 -0
  246. package/dist/src/observation/redaction.d.ts +11 -0
  247. package/dist/src/observation/redaction.js +81 -0
  248. package/dist/src/observation/redaction.test.d.ts +1 -0
  249. package/dist/src/observation/redaction.test.js +32 -0
  250. package/dist/src/observation/retention.d.ts +32 -0
  251. package/dist/src/observation/retention.js +160 -0
  252. package/dist/src/observation/retention.test.d.ts +1 -0
  253. package/dist/src/observation/retention.test.js +118 -0
  254. package/dist/src/observation/ring-buffer.d.ts +22 -0
  255. package/dist/src/observation/ring-buffer.js +45 -0
  256. package/dist/src/observation/ring-buffer.test.d.ts +1 -0
  257. package/dist/src/observation/ring-buffer.test.js +22 -0
  258. package/dist/src/observation/session.d.ts +25 -0
  259. package/dist/src/observation/session.js +50 -0
  260. package/dist/src/pipeline/executor.test.js +1 -0
  261. package/dist/src/pipeline/steps/download.test.js +1 -0
  262. package/dist/src/pipeline/steps/fetch.js +1 -21
  263. package/dist/src/pipeline/steps/fetch.test.js +6 -12
  264. package/dist/src/plugin-scaffold.js +1 -1
  265. package/dist/src/plugin-scaffold.test.js +1 -1
  266. package/dist/src/registry.d.ts +40 -9
  267. package/dist/src/registry.js +3 -1
  268. package/dist/src/runtime-detect.d.ts +10 -0
  269. package/dist/src/runtime-detect.js +19 -0
  270. package/dist/src/runtime-detect.test.js +12 -1
  271. package/dist/src/runtime.d.ts +2 -0
  272. package/dist/src/runtime.js +1 -0
  273. package/dist/src/types.d.ts +22 -0
  274. package/dist/src/update-check.d.ts +31 -1
  275. package/dist/src/update-check.js +62 -16
  276. package/dist/src/update-check.test.js +86 -1
  277. package/package.json +1 -1
  278. package/dist/src/diagnostic.d.ts +0 -63
  279. package/dist/src/diagnostic.js +0 -292
  280. package/dist/src/diagnostic.test.js +0 -302
  281. /package/dist/src/{diagnostic.test.d.ts → adapter-source.test.d.ts} +0 -0
package/cli-manifest.json CHANGED
@@ -3275,7 +3275,7 @@
3275
3275
  {
3276
3276
  "site": "boss",
3277
3277
  "name": "search",
3278
- "description": "BOSS直聘搜索职位",
3278
+ "description": "BOSS直聘搜索职位(不带关键词时返回为你推荐职位)",
3279
3279
  "domain": "www.zhipin.com",
3280
3280
  "strategy": "cookie",
3281
3281
  "browser": true,
@@ -3283,9 +3283,9 @@
3283
3283
  {
3284
3284
  "name": "query",
3285
3285
  "type": "str",
3286
- "required": true,
3286
+ "required": false,
3287
3287
  "positional": true,
3288
- "help": "Search keyword (e.g. AI agent, 前端)"
3288
+ "help": "Search keyword (optional, empty = recommended jobs)"
3289
3289
  },
3290
3290
  {
3291
3291
  "name": "city",
@@ -3299,7 +3299,7 @@
3299
3299
  "type": "str",
3300
3300
  "default": "",
3301
3301
  "required": false,
3302
- "help": "Experience: 应届/1年以内/1-3年/3-5年/5-10年/10年以上"
3302
+ "help": "Experience: 在校生(实习)/应届生(校招)/经验不限/1年以内/1-3年/3-5年/5-10年/10年以上"
3303
3303
  },
3304
3304
  {
3305
3305
  "name": "degree",
@@ -3322,6 +3322,13 @@
3322
3322
  "required": false,
3323
3323
  "help": "Industry code or name (e.g. 100020, 互联网)"
3324
3324
  },
3325
+ {
3326
+ "name": "jobType",
3327
+ "type": "str",
3328
+ "default": "",
3329
+ "required": false,
3330
+ "help": "Job type: 全职/兼职/实习(不传=不限,混合校招与实习)"
3331
+ },
3325
3332
  {
3326
3333
  "name": "page",
3327
3334
  "type": "int",
@@ -3346,6 +3353,7 @@
3346
3353
  "degree",
3347
3354
  "skills",
3348
3355
  "boss",
3356
+ "bossOnline",
3349
3357
  "security_id",
3350
3358
  "url"
3351
3359
  ],
@@ -3532,9 +3540,8 @@
3532
3540
  {
3533
3541
  "name": "op",
3534
3542
  "type": "str",
3535
- "default": "~/Pictures/chatgpt",
3536
3543
  "required": false,
3537
- "help": "Output directory"
3544
+ "help": "Output directory (default: ~/Pictures/chatgpt)"
3538
3545
  },
3539
3546
  {
3540
3547
  "name": "sd",
@@ -3852,6 +3859,208 @@
3852
3859
  "sourceFile": "chatwise/send.js",
3853
3860
  "navigateBefore": true
3854
3861
  },
3862
+ {
3863
+ "site": "claude",
3864
+ "name": "ask",
3865
+ "description": "Send a prompt to Claude and get the response",
3866
+ "domain": "claude.ai",
3867
+ "strategy": "cookie",
3868
+ "browser": true,
3869
+ "args": [
3870
+ {
3871
+ "name": "prompt",
3872
+ "type": "str",
3873
+ "required": true,
3874
+ "positional": true,
3875
+ "help": "Prompt to send"
3876
+ },
3877
+ {
3878
+ "name": "timeout",
3879
+ "type": "int",
3880
+ "default": 120,
3881
+ "required": false,
3882
+ "help": "Max seconds to wait for response"
3883
+ },
3884
+ {
3885
+ "name": "new",
3886
+ "type": "boolean",
3887
+ "default": false,
3888
+ "required": false,
3889
+ "help": "Start a new chat before sending"
3890
+ },
3891
+ {
3892
+ "name": "model",
3893
+ "type": "str",
3894
+ "default": "sonnet",
3895
+ "required": false,
3896
+ "help": "Model to use: sonnet, opus, or haiku",
3897
+ "choices": [
3898
+ "sonnet",
3899
+ "opus",
3900
+ "haiku"
3901
+ ]
3902
+ },
3903
+ {
3904
+ "name": "think",
3905
+ "type": "boolean",
3906
+ "default": false,
3907
+ "required": false,
3908
+ "help": "Enable Adaptive thinking"
3909
+ },
3910
+ {
3911
+ "name": "file",
3912
+ "type": "str",
3913
+ "required": false,
3914
+ "help": "Attach a file (image, PDF, text) with the prompt"
3915
+ }
3916
+ ],
3917
+ "columns": [
3918
+ "response"
3919
+ ],
3920
+ "timeout": 180,
3921
+ "type": "js",
3922
+ "modulePath": "claude/ask.js",
3923
+ "sourceFile": "claude/ask.js",
3924
+ "navigateBefore": false
3925
+ },
3926
+ {
3927
+ "site": "claude",
3928
+ "name": "detail",
3929
+ "description": "Open a Claude conversation by ID and read its messages",
3930
+ "domain": "claude.ai",
3931
+ "strategy": "cookie",
3932
+ "browser": true,
3933
+ "args": [
3934
+ {
3935
+ "name": "id",
3936
+ "type": "str",
3937
+ "required": true,
3938
+ "positional": true,
3939
+ "help": "Conversation ID (UUID from /chat/<id>)"
3940
+ }
3941
+ ],
3942
+ "columns": [
3943
+ "Index",
3944
+ "Role",
3945
+ "Text"
3946
+ ],
3947
+ "type": "js",
3948
+ "modulePath": "claude/detail.js",
3949
+ "sourceFile": "claude/detail.js",
3950
+ "navigateBefore": false
3951
+ },
3952
+ {
3953
+ "site": "claude",
3954
+ "name": "history",
3955
+ "description": "List conversation history from Claude /recents",
3956
+ "domain": "claude.ai",
3957
+ "strategy": "cookie",
3958
+ "browser": true,
3959
+ "args": [
3960
+ {
3961
+ "name": "limit",
3962
+ "type": "int",
3963
+ "default": 20,
3964
+ "required": false,
3965
+ "help": "Max conversations to show"
3966
+ }
3967
+ ],
3968
+ "columns": [
3969
+ "Index",
3970
+ "Id",
3971
+ "Title",
3972
+ "Url"
3973
+ ],
3974
+ "type": "js",
3975
+ "modulePath": "claude/history.js",
3976
+ "sourceFile": "claude/history.js",
3977
+ "navigateBefore": false
3978
+ },
3979
+ {
3980
+ "site": "claude",
3981
+ "name": "new",
3982
+ "description": "Start a new conversation in Claude",
3983
+ "domain": "claude.ai",
3984
+ "strategy": "cookie",
3985
+ "browser": true,
3986
+ "args": [],
3987
+ "columns": [
3988
+ "Status"
3989
+ ],
3990
+ "type": "js",
3991
+ "modulePath": "claude/new.js",
3992
+ "sourceFile": "claude/new.js",
3993
+ "navigateBefore": false
3994
+ },
3995
+ {
3996
+ "site": "claude",
3997
+ "name": "read",
3998
+ "description": "Read the current Claude conversation",
3999
+ "domain": "claude.ai",
4000
+ "strategy": "cookie",
4001
+ "browser": true,
4002
+ "args": [],
4003
+ "columns": [
4004
+ "Index",
4005
+ "Role",
4006
+ "Text"
4007
+ ],
4008
+ "type": "js",
4009
+ "modulePath": "claude/read.js",
4010
+ "sourceFile": "claude/read.js",
4011
+ "navigateBefore": false
4012
+ },
4013
+ {
4014
+ "site": "claude",
4015
+ "name": "send",
4016
+ "description": "Send a prompt to Claude without waiting for the response",
4017
+ "domain": "claude.ai",
4018
+ "strategy": "cookie",
4019
+ "browser": true,
4020
+ "args": [
4021
+ {
4022
+ "name": "prompt",
4023
+ "type": "str",
4024
+ "required": true,
4025
+ "positional": true,
4026
+ "help": "Prompt to send"
4027
+ },
4028
+ {
4029
+ "name": "new",
4030
+ "type": "boolean",
4031
+ "default": false,
4032
+ "required": false,
4033
+ "help": "Start a new chat before sending"
4034
+ }
4035
+ ],
4036
+ "columns": [
4037
+ "Status",
4038
+ "SubmittedBy",
4039
+ "InjectedText"
4040
+ ],
4041
+ "type": "js",
4042
+ "modulePath": "claude/send.js",
4043
+ "sourceFile": "claude/send.js",
4044
+ "navigateBefore": false
4045
+ },
4046
+ {
4047
+ "site": "claude",
4048
+ "name": "status",
4049
+ "description": "Check Claude page availability and login state",
4050
+ "domain": "claude.ai",
4051
+ "strategy": "cookie",
4052
+ "browser": true,
4053
+ "args": [],
4054
+ "columns": [
4055
+ "Status",
4056
+ "Login",
4057
+ "Url"
4058
+ ],
4059
+ "type": "js",
4060
+ "modulePath": "claude/status.js",
4061
+ "sourceFile": "claude/status.js",
4062
+ "navigateBefore": false
4063
+ },
3855
4064
  {
3856
4065
  "site": "cnki",
3857
4066
  "name": "search",
@@ -4381,10 +4590,11 @@
4381
4590
  "type": "str",
4382
4591
  "default": "instant",
4383
4592
  "required": false,
4384
- "help": "Model to use: instant or expert",
4593
+ "help": "Model to use: instant, expert, or vision",
4385
4594
  "choices": [
4386
4595
  "instant",
4387
- "expert"
4596
+ "expert",
4597
+ "vision"
4388
4598
  ]
4389
4599
  },
4390
4600
  {
@@ -6847,6 +7057,65 @@
6847
7057
  "sourceFile": "facebook/join-group.js",
6848
7058
  "navigateBefore": "https://www.facebook.com"
6849
7059
  },
7060
+ {
7061
+ "site": "facebook",
7062
+ "name": "marketplace-inbox",
7063
+ "description": "List recent Facebook Marketplace buyer/seller conversations",
7064
+ "domain": "www.facebook.com",
7065
+ "strategy": "cookie",
7066
+ "browser": true,
7067
+ "args": [
7068
+ {
7069
+ "name": "limit",
7070
+ "type": "int",
7071
+ "default": 20,
7072
+ "required": false,
7073
+ "help": "Number of conversations to return"
7074
+ }
7075
+ ],
7076
+ "columns": [
7077
+ "index",
7078
+ "buyer",
7079
+ "listing",
7080
+ "snippet",
7081
+ "time",
7082
+ "unread"
7083
+ ],
7084
+ "type": "js",
7085
+ "modulePath": "facebook/marketplace-inbox.js",
7086
+ "sourceFile": "facebook/marketplace-inbox.js",
7087
+ "navigateBefore": "https://www.facebook.com"
7088
+ },
7089
+ {
7090
+ "site": "facebook",
7091
+ "name": "marketplace-listings",
7092
+ "description": "List your Facebook Marketplace seller listings",
7093
+ "domain": "www.facebook.com",
7094
+ "strategy": "cookie",
7095
+ "browser": true,
7096
+ "args": [
7097
+ {
7098
+ "name": "limit",
7099
+ "type": "int",
7100
+ "default": 20,
7101
+ "required": false,
7102
+ "help": "Number of listings to return"
7103
+ }
7104
+ ],
7105
+ "columns": [
7106
+ "index",
7107
+ "title",
7108
+ "price",
7109
+ "status",
7110
+ "listed",
7111
+ "clicks",
7112
+ "actions"
7113
+ ],
7114
+ "type": "js",
7115
+ "modulePath": "facebook/marketplace-listings.js",
7116
+ "sourceFile": "facebook/marketplace-listings.js",
7117
+ "navigateBefore": "https://www.facebook.com"
7118
+ },
6850
7119
  {
6851
7120
  "site": "facebook",
6852
7121
  "name": "memories",
@@ -7391,6 +7660,86 @@
7391
7660
  "modulePath": "google/trends.js",
7392
7661
  "sourceFile": "google/trends.js"
7393
7662
  },
7663
+ {
7664
+ "site": "google-scholar",
7665
+ "name": "cite",
7666
+ "description": "Get citation for a Google Scholar paper",
7667
+ "domain": "scholar.google.com",
7668
+ "strategy": "public",
7669
+ "browser": true,
7670
+ "args": [
7671
+ {
7672
+ "name": "query",
7673
+ "type": "str",
7674
+ "required": true,
7675
+ "positional": true,
7676
+ "help": "Paper title to search for"
7677
+ },
7678
+ {
7679
+ "name": "style",
7680
+ "type": "str",
7681
+ "default": "bibtex",
7682
+ "required": false,
7683
+ "help": "Citation format",
7684
+ "choices": [
7685
+ "bibtex",
7686
+ "endnote",
7687
+ "refman",
7688
+ "refworks"
7689
+ ]
7690
+ },
7691
+ {
7692
+ "name": "index",
7693
+ "type": "int",
7694
+ "default": 1,
7695
+ "required": false,
7696
+ "help": "Which search result to cite (1-based)"
7697
+ }
7698
+ ],
7699
+ "columns": [
7700
+ "title",
7701
+ "format",
7702
+ "citation"
7703
+ ],
7704
+ "type": "js",
7705
+ "modulePath": "google-scholar/cite.js",
7706
+ "sourceFile": "google-scholar/cite.js",
7707
+ "navigateBefore": false
7708
+ },
7709
+ {
7710
+ "site": "google-scholar",
7711
+ "name": "profile",
7712
+ "description": "View a Google Scholar author profile",
7713
+ "domain": "scholar.google.com",
7714
+ "strategy": "public",
7715
+ "browser": true,
7716
+ "args": [
7717
+ {
7718
+ "name": "author",
7719
+ "type": "str",
7720
+ "required": true,
7721
+ "positional": true,
7722
+ "help": "Author name or Scholar user ID (e.g. JicYPdAAAAAJ)"
7723
+ },
7724
+ {
7725
+ "name": "limit",
7726
+ "type": "int",
7727
+ "default": 10,
7728
+ "required": false,
7729
+ "help": "Max papers to show (max 20)"
7730
+ }
7731
+ ],
7732
+ "columns": [
7733
+ "rank",
7734
+ "title",
7735
+ "cited",
7736
+ "year"
7737
+ ],
7738
+ "type": "js",
7739
+ "modulePath": "google-scholar/profile.js",
7740
+ "sourceFile": "google-scholar/profile.js",
7741
+ "navigateBefore": false
7742
+ },
7394
7743
  {
7395
7744
  "site": "google-scholar",
7396
7745
  "name": "search",
@@ -8343,6 +8692,33 @@
8343
8692
  "modulePath": "imdb/trending.js",
8344
8693
  "sourceFile": "imdb/trending.js"
8345
8694
  },
8695
+ {
8696
+ "site": "instagram",
8697
+ "name": "collection-create",
8698
+ "description": "Create a new Instagram saved-posts collection (folder)",
8699
+ "domain": "www.instagram.com",
8700
+ "strategy": "cookie",
8701
+ "browser": true,
8702
+ "args": [
8703
+ {
8704
+ "name": "name",
8705
+ "type": "str",
8706
+ "required": true,
8707
+ "positional": true,
8708
+ "help": "Name of the collection to create"
8709
+ }
8710
+ ],
8711
+ "columns": [
8712
+ "status",
8713
+ "collectionId",
8714
+ "collectionName",
8715
+ "mediaCount"
8716
+ ],
8717
+ "type": "js",
8718
+ "modulePath": "instagram/collection-create.js",
8719
+ "sourceFile": "instagram/collection-create.js",
8720
+ "navigateBefore": "https://www.instagram.com"
8721
+ },
8346
8722
  {
8347
8723
  "site": "instagram",
8348
8724
  "name": "comment",
@@ -8729,7 +9105,7 @@
8729
9105
  {
8730
9106
  "site": "instagram",
8731
9107
  "name": "saved",
8732
- "description": "Get your saved Instagram posts",
9108
+ "description": "Get your saved Instagram posts (optionally from a specific collection)",
8733
9109
  "domain": "www.instagram.com",
8734
9110
  "strategy": "cookie",
8735
9111
  "browser": true,
@@ -8740,6 +9116,12 @@
8740
9116
  "default": 20,
8741
9117
  "required": false,
8742
9118
  "help": "Number of saved posts"
9119
+ },
9120
+ {
9121
+ "name": "collection",
9122
+ "type": "str",
9123
+ "required": false,
9124
+ "help": "Collection name (case-insensitive). Omit for the default \"All posts\" feed."
8743
9125
  }
8744
9126
  ],
8745
9127
  "columns": [
@@ -9034,7 +9416,7 @@
9034
9416
  {
9035
9417
  "site": "jd",
9036
9418
  "name": "item",
9037
- "description": "京东商品详情(价格、店铺、规格参数、AVIF 图片)",
9419
+ "description": "京东商品详情(价格、店铺、规格参数、主图、详情图)",
9038
9420
  "domain": "item.jd.com",
9039
9421
  "strategy": "cookie",
9040
9422
  "browser": true,
@@ -9049,9 +9431,9 @@
9049
9431
  {
9050
9432
  "name": "images",
9051
9433
  "type": "int",
9052
- "default": 10,
9434
+ "default": 200,
9053
9435
  "required": false,
9054
- "help": "AVIF 图片数量上限(默认10)"
9436
+ "help": "图片数量上限(默认200)"
9055
9437
  }
9056
9438
  ],
9057
9439
  "columns": [
@@ -9059,7 +9441,8 @@
9059
9441
  "price",
9060
9442
  "shop",
9061
9443
  "specs",
9062
- "avifImages"
9444
+ "mainImages",
9445
+ "detailImages"
9063
9446
  ],
9064
9447
  "type": "js",
9065
9448
  "modulePath": "jd/item.js",
@@ -15937,7 +16320,7 @@
15937
16320
  "name": "following",
15938
16321
  "description": "Get accounts a Twitter/X user is following",
15939
16322
  "domain": "x.com",
15940
- "strategy": "intercept",
16323
+ "strategy": "cookie",
15941
16324
  "browser": true,
15942
16325
  "args": [
15943
16326
  {
@@ -15964,7 +16347,7 @@
15964
16347
  "type": "js",
15965
16348
  "modulePath": "twitter/following.js",
15966
16349
  "sourceFile": "twitter/following.js",
15967
- "navigateBefore": true
16350
+ "navigateBefore": "https://x.com"
15968
16351
  },
15969
16352
  {
15970
16353
  "site": "twitter",
@@ -16683,7 +17066,8 @@
16683
17066
  ],
16684
17067
  "type": "js",
16685
17068
  "modulePath": "uiverse/code.js",
16686
- "sourceFile": "uiverse/code.js"
17069
+ "sourceFile": "uiverse/code.js",
17070
+ "navigateBefore": "https://uiverse.io"
16687
17071
  },
16688
17072
  {
16689
17073
  "site": "uiverse",
@@ -16723,7 +17107,8 @@
16723
17107
  ],
16724
17108
  "type": "js",
16725
17109
  "modulePath": "uiverse/preview.js",
16726
- "sourceFile": "uiverse/preview.js"
17110
+ "sourceFile": "uiverse/preview.js",
17111
+ "navigateBefore": "https://uiverse.io"
16727
17112
  },
16728
17113
  {
16729
17114
  "site": "v2ex",
@@ -17100,6 +17485,42 @@
17100
17485
  "required": false,
17101
17486
  "help": "Seconds to wait after page load"
17102
17487
  },
17488
+ {
17489
+ "name": "wait-for",
17490
+ "type": "str",
17491
+ "required": false,
17492
+ "valueRequired": true,
17493
+ "help": "CSS selector to wait for in the main document or same-origin iframes"
17494
+ },
17495
+ {
17496
+ "name": "wait-until",
17497
+ "type": "str",
17498
+ "default": "domstable",
17499
+ "required": false,
17500
+ "help": "Readiness policy after navigation: domstable or networkidle",
17501
+ "choices": [
17502
+ "domstable",
17503
+ "networkidle"
17504
+ ]
17505
+ },
17506
+ {
17507
+ "name": "frames",
17508
+ "type": "str",
17509
+ "default": "same-origin",
17510
+ "required": false,
17511
+ "help": "Iframe handling mode: same-origin or none",
17512
+ "choices": [
17513
+ "same-origin",
17514
+ "none"
17515
+ ]
17516
+ },
17517
+ {
17518
+ "name": "diagnose",
17519
+ "type": "boolean",
17520
+ "default": false,
17521
+ "required": false,
17522
+ "help": "Print render diagnostics (frames, empty containers, XHR/API-like requests) to stderr"
17523
+ },
17103
17524
  {
17104
17525
  "name": "stdout",
17105
17526
  "type": "boolean",
@@ -17157,6 +17578,37 @@
17157
17578
  "sourceFile": "weibo/comments.js",
17158
17579
  "navigateBefore": "https://weibo.com"
17159
17580
  },
17581
+ {
17582
+ "site": "weibo",
17583
+ "name": "favorites",
17584
+ "description": "我的微博收藏列表",
17585
+ "domain": "weibo.com",
17586
+ "strategy": "cookie",
17587
+ "browser": true,
17588
+ "args": [
17589
+ {
17590
+ "name": "limit",
17591
+ "type": "int",
17592
+ "default": 20,
17593
+ "required": false,
17594
+ "help": "数量(最多50)"
17595
+ }
17596
+ ],
17597
+ "columns": [
17598
+ "author",
17599
+ "text",
17600
+ "time",
17601
+ "source",
17602
+ "likes",
17603
+ "comments",
17604
+ "reposts",
17605
+ "url"
17606
+ ],
17607
+ "type": "js",
17608
+ "modulePath": "weibo/favorites.js",
17609
+ "sourceFile": "weibo/favorites.js",
17610
+ "navigateBefore": "https://weibo.com"
17611
+ },
17160
17612
  {
17161
17613
  "site": "weibo",
17162
17614
  "name": "feed",
@@ -17274,6 +17726,38 @@
17274
17726
  "sourceFile": "weibo/post.js",
17275
17727
  "navigateBefore": "https://weibo.com"
17276
17728
  },
17729
+ {
17730
+ "site": "weibo",
17731
+ "name": "publish",
17732
+ "description": "Publish a new Weibo post immediately",
17733
+ "domain": "weibo.com",
17734
+ "strategy": "ui",
17735
+ "browser": true,
17736
+ "args": [
17737
+ {
17738
+ "name": "text",
17739
+ "type": "string",
17740
+ "required": true,
17741
+ "positional": true,
17742
+ "help": "Weibo text content (max 2000 chars)"
17743
+ },
17744
+ {
17745
+ "name": "images",
17746
+ "type": "string",
17747
+ "required": false,
17748
+ "help": "Image paths, comma-separated, max 9 (jpg/png/gif/webp)"
17749
+ }
17750
+ ],
17751
+ "columns": [
17752
+ "status",
17753
+ "message",
17754
+ "text"
17755
+ ],
17756
+ "type": "js",
17757
+ "modulePath": "weibo/publish.js",
17758
+ "sourceFile": "weibo/publish.js",
17759
+ "navigateBefore": true
17760
+ },
17277
17761
  {
17278
17762
  "site": "weibo",
17279
17763
  "name": "search",
@@ -20200,7 +20684,7 @@
20200
20684
  "name": "answer",
20201
20685
  "description": "Answer a Zhihu question",
20202
20686
  "domain": "www.zhihu.com",
20203
- "strategy": "ui",
20687
+ "strategy": "cookie",
20204
20688
  "browser": true,
20205
20689
  "args": [
20206
20690
  {
@@ -20243,14 +20727,86 @@
20243
20727
  "type": "js",
20244
20728
  "modulePath": "zhihu/answer.js",
20245
20729
  "sourceFile": "zhihu/answer.js",
20246
- "navigateBefore": true
20730
+ "navigateBefore": "https://www.zhihu.com"
20731
+ },
20732
+ {
20733
+ "site": "zhihu",
20734
+ "name": "collection",
20735
+ "description": "知乎收藏夹内容列表(需要登录)",
20736
+ "domain": "www.zhihu.com",
20737
+ "strategy": "cookie",
20738
+ "browser": true,
20739
+ "args": [
20740
+ {
20741
+ "name": "id",
20742
+ "type": "str",
20743
+ "required": true,
20744
+ "positional": true,
20745
+ "help": "收藏夹 ID (数字,可从收藏夹 URL 中获取)"
20746
+ },
20747
+ {
20748
+ "name": "offset",
20749
+ "type": "int",
20750
+ "default": 0,
20751
+ "required": false,
20752
+ "help": "起始偏移量(用于分页)"
20753
+ },
20754
+ {
20755
+ "name": "limit",
20756
+ "type": "int",
20757
+ "default": 20,
20758
+ "required": false,
20759
+ "help": "每页数量(最大 20)"
20760
+ }
20761
+ ],
20762
+ "columns": [
20763
+ "rank",
20764
+ "type",
20765
+ "title",
20766
+ "author",
20767
+ "votes",
20768
+ "excerpt",
20769
+ "url"
20770
+ ],
20771
+ "type": "js",
20772
+ "modulePath": "zhihu/collection.js",
20773
+ "sourceFile": "zhihu/collection.js",
20774
+ "navigateBefore": "https://www.zhihu.com"
20775
+ },
20776
+ {
20777
+ "site": "zhihu",
20778
+ "name": "collections",
20779
+ "description": "知乎收藏夹列表(需要登录)",
20780
+ "domain": "www.zhihu.com",
20781
+ "strategy": "cookie",
20782
+ "browser": true,
20783
+ "args": [
20784
+ {
20785
+ "name": "limit",
20786
+ "type": "int",
20787
+ "default": 20,
20788
+ "required": false,
20789
+ "help": "每页数量(最大 20)"
20790
+ }
20791
+ ],
20792
+ "columns": [
20793
+ "rank",
20794
+ "title",
20795
+ "item_count",
20796
+ "description",
20797
+ "collection_id"
20798
+ ],
20799
+ "type": "js",
20800
+ "modulePath": "zhihu/collections.js",
20801
+ "sourceFile": "zhihu/collections.js",
20802
+ "navigateBefore": "https://www.zhihu.com"
20247
20803
  },
20248
20804
  {
20249
20805
  "site": "zhihu",
20250
20806
  "name": "comment",
20251
20807
  "description": "Create a top-level comment on a Zhihu answer or article",
20252
20808
  "domain": "zhihu.com",
20253
- "strategy": "ui",
20809
+ "strategy": "cookie",
20254
20810
  "browser": true,
20255
20811
  "args": [
20256
20812
  {
@@ -20287,13 +20843,12 @@
20287
20843
  "target_type",
20288
20844
  "target",
20289
20845
  "author_identity",
20290
- "created_url",
20291
- "created_proof"
20846
+ "created_url"
20292
20847
  ],
20293
20848
  "type": "js",
20294
20849
  "modulePath": "zhihu/comment.js",
20295
20850
  "sourceFile": "zhihu/comment.js",
20296
- "navigateBefore": true
20851
+ "navigateBefore": "https://zhihu.com"
20297
20852
  },
20298
20853
  {
20299
20854
  "site": "zhihu",
@@ -20341,7 +20896,7 @@
20341
20896
  "name": "favorite",
20342
20897
  "description": "Favorite a Zhihu answer or article into a specific collection",
20343
20898
  "domain": "zhihu.com",
20344
- "strategy": "ui",
20899
+ "strategy": "cookie",
20345
20900
  "browser": true,
20346
20901
  "args": [
20347
20902
  {
@@ -20382,14 +20937,14 @@
20382
20937
  "type": "js",
20383
20938
  "modulePath": "zhihu/favorite.js",
20384
20939
  "sourceFile": "zhihu/favorite.js",
20385
- "navigateBefore": true
20940
+ "navigateBefore": "https://zhihu.com"
20386
20941
  },
20387
20942
  {
20388
20943
  "site": "zhihu",
20389
20944
  "name": "follow",
20390
20945
  "description": "Follow a Zhihu user or question",
20391
20946
  "domain": "www.zhihu.com",
20392
- "strategy": "ui",
20947
+ "strategy": "cookie",
20393
20948
  "browser": true,
20394
20949
  "args": [
20395
20950
  {
@@ -20416,7 +20971,7 @@
20416
20971
  "type": "js",
20417
20972
  "modulePath": "zhihu/follow.js",
20418
20973
  "sourceFile": "zhihu/follow.js",
20419
- "navigateBefore": true
20974
+ "navigateBefore": "https://www.zhihu.com"
20420
20975
  },
20421
20976
  {
20422
20977
  "site": "zhihu",
@@ -20450,7 +21005,7 @@
20450
21005
  "name": "like",
20451
21006
  "description": "Like a Zhihu answer or article",
20452
21007
  "domain": "zhihu.com",
20453
- "strategy": "ui",
21008
+ "strategy": "cookie",
20454
21009
  "browser": true,
20455
21010
  "args": [
20456
21011
  {
@@ -20477,7 +21032,7 @@
20477
21032
  "type": "js",
20478
21033
  "modulePath": "zhihu/like.js",
20479
21034
  "sourceFile": "zhihu/like.js",
20480
- "navigateBefore": true
21035
+ "navigateBefore": "https://zhihu.com"
20481
21036
  },
20482
21037
  {
20483
21038
  "site": "zhihu",
@@ -20549,6 +21104,67 @@
20549
21104
  "sourceFile": "zhihu/search.js",
20550
21105
  "navigateBefore": "https://www.zhihu.com"
20551
21106
  },
21107
+ {
21108
+ "site": "zlibrary",
21109
+ "name": "info",
21110
+ "description": "Get book details and available download formats from a Z-Library book page",
21111
+ "domain": "z-library.im",
21112
+ "strategy": "cookie",
21113
+ "browser": true,
21114
+ "args": [
21115
+ {
21116
+ "name": "url",
21117
+ "type": "str",
21118
+ "required": true,
21119
+ "positional": true,
21120
+ "help": "Z-Library book page URL (e.g. https://z-library.im/book/...)"
21121
+ }
21122
+ ],
21123
+ "columns": [
21124
+ "title",
21125
+ "pdf",
21126
+ "epub",
21127
+ "url"
21128
+ ],
21129
+ "type": "js",
21130
+ "modulePath": "zlibrary/info.js",
21131
+ "sourceFile": "zlibrary/info.js",
21132
+ "navigateBefore": false
21133
+ },
21134
+ {
21135
+ "site": "zlibrary",
21136
+ "name": "search",
21137
+ "description": "Search Z-Library for books by title, author, ISBN, or keyword",
21138
+ "domain": "z-library.im",
21139
+ "strategy": "cookie",
21140
+ "browser": true,
21141
+ "args": [
21142
+ {
21143
+ "name": "query",
21144
+ "type": "str",
21145
+ "required": true,
21146
+ "positional": true,
21147
+ "help": "Search keyword (title, author, ISBN, etc.)"
21148
+ },
21149
+ {
21150
+ "name": "limit",
21151
+ "type": "int",
21152
+ "default": 10,
21153
+ "required": false,
21154
+ "help": "Max results (1–25)"
21155
+ }
21156
+ ],
21157
+ "columns": [
21158
+ "rank",
21159
+ "title",
21160
+ "author",
21161
+ "url"
21162
+ ],
21163
+ "type": "js",
21164
+ "modulePath": "zlibrary/search.js",
21165
+ "sourceFile": "zlibrary/search.js",
21166
+ "navigateBefore": false
21167
+ },
20552
21168
  {
20553
21169
  "site": "zsxq",
20554
21170
  "name": "dynamics",
@@ -20734,4 +21350,4 @@
20734
21350
  "sourceFile": "zsxq/topics.js",
20735
21351
  "navigateBefore": "https://wx.zsxq.com"
20736
21352
  }
20737
- ]
21353
+ ]