@jackwener/opencli 1.7.8 → 1.7.9

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 (273) hide show
  1. package/README.md +49 -14
  2. package/README.zh-CN.md +30 -10
  3. package/cli-manifest.json +612 -29
  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/jd/item.js +679 -47
  91. package/clis/jd/item.test.js +318 -7
  92. package/clis/jd/item.test.ts +517 -0
  93. package/clis/lesswrong/comments.js +1 -1
  94. package/clis/lesswrong/curated.js +1 -1
  95. package/clis/lesswrong/frontpage.js +1 -1
  96. package/clis/lesswrong/new.js +1 -1
  97. package/clis/lesswrong/read.js +1 -1
  98. package/clis/lesswrong/sequences.js +1 -1
  99. package/clis/lesswrong/shortform.js +1 -1
  100. package/clis/lesswrong/tag.js +1 -1
  101. package/clis/lesswrong/tags.js +1 -1
  102. package/clis/lesswrong/top-month.js +1 -1
  103. package/clis/lesswrong/top-week.js +1 -1
  104. package/clis/lesswrong/top-year.js +1 -1
  105. package/clis/lesswrong/top.js +1 -1
  106. package/clis/lesswrong/user-posts.js +1 -1
  107. package/clis/lesswrong/user.js +1 -1
  108. package/clis/paperreview/commands.test.js +6 -6
  109. package/clis/paperreview/feedback.js +1 -1
  110. package/clis/paperreview/review.js +1 -1
  111. package/clis/paperreview/submit.js +1 -1
  112. package/clis/producthunt/posts.js +1 -1
  113. package/clis/producthunt/today.js +1 -1
  114. package/clis/sinablog/search.js +1 -1
  115. package/clis/sinafinance/news.js +1 -1
  116. package/clis/sinafinance/stock.js +1 -1
  117. package/clis/sinafinance/stock.test.js +2 -2
  118. package/clis/spotify/spotify.js +6 -6
  119. package/clis/substack/search.js +1 -1
  120. package/clis/toutiao/articles.js +5 -6
  121. package/clis/toutiao/articles.test.js +22 -15
  122. package/clis/twitter/followers.js +2 -2
  123. package/clis/twitter/following.js +224 -73
  124. package/clis/twitter/following.test.js +277 -0
  125. package/clis/twitter/post.js +184 -47
  126. package/clis/twitter/post.test.js +114 -34
  127. package/clis/uiverse/_shared.js +63 -4
  128. package/clis/uiverse/_shared.test.js +7 -0
  129. package/clis/uiverse/code.js +1 -0
  130. package/clis/uiverse/navigation.test.js +12 -0
  131. package/clis/uiverse/preview.js +1 -0
  132. package/clis/web/read.js +319 -81
  133. package/clis/web/read.test.js +221 -5
  134. package/clis/weibo/favorites.js +169 -0
  135. package/clis/weibo/favorites.test.js +114 -0
  136. package/clis/weibo/publish.js +282 -0
  137. package/clis/weibo/publish.test.js +183 -0
  138. package/clis/weread/ranking.js +1 -1
  139. package/clis/weread/search-regression.test.js +8 -8
  140. package/clis/weread/search.js +1 -1
  141. package/clis/wikipedia/random.js +1 -1
  142. package/clis/wikipedia/search.js +1 -1
  143. package/clis/wikipedia/summary.js +1 -1
  144. package/clis/wikipedia/trending.js +1 -1
  145. package/clis/xianyu/chat.js +3 -3
  146. package/clis/xianyu/item.js +2 -2
  147. package/clis/xianyu/item.test.js +3 -3
  148. package/clis/xiaohongshu/search.js +17 -2
  149. package/clis/xiaohongshu/search.test.js +37 -1
  150. package/clis/xiaoyuzhou/download.js +1 -1
  151. package/clis/xiaoyuzhou/download.test.js +3 -3
  152. package/clis/xiaoyuzhou/episode.js +1 -1
  153. package/clis/xiaoyuzhou/podcast-episodes.js +1 -1
  154. package/clis/xiaoyuzhou/podcast-episodes.test.js +2 -2
  155. package/clis/xiaoyuzhou/podcast.js +1 -1
  156. package/clis/xiaoyuzhou/transcript.js +1 -1
  157. package/clis/xiaoyuzhou/transcript.test.js +5 -5
  158. package/clis/yollomi/models.js +1 -1
  159. package/clis/youtube/channel.js +24 -1
  160. package/clis/youtube/channel.test.js +59 -0
  161. package/clis/zhihu/answer.js +21 -162
  162. package/clis/zhihu/answer.test.js +26 -53
  163. package/clis/zhihu/collection.js +197 -0
  164. package/clis/zhihu/collection.test.js +290 -0
  165. package/clis/zhihu/collections.js +127 -0
  166. package/clis/zhihu/collections.test.js +182 -0
  167. package/clis/zhihu/comment.js +24 -305
  168. package/clis/zhihu/comment.test.js +31 -35
  169. package/clis/zhihu/favorite.js +44 -182
  170. package/clis/zhihu/favorite.test.js +30 -167
  171. package/clis/zhihu/follow.js +25 -56
  172. package/clis/zhihu/follow.test.js +20 -23
  173. package/clis/zhihu/like.js +22 -67
  174. package/clis/zhihu/like.test.js +19 -42
  175. package/clis/zhihu/search.js +3 -2
  176. package/clis/zhihu/write-shared.js +8 -1
  177. package/clis/zhihu/write-shared.test.js +1 -0
  178. package/clis/zlibrary/commands.test.js +75 -0
  179. package/clis/zlibrary/info.js +47 -0
  180. package/clis/zlibrary/search.js +46 -0
  181. package/clis/zlibrary/utils.js +136 -0
  182. package/dist/src/adapter-source.d.ts +11 -0
  183. package/dist/src/adapter-source.js +24 -0
  184. package/dist/src/adapter-source.test.js +29 -0
  185. package/dist/src/browser/base-page.d.ts +3 -1
  186. package/dist/src/browser/base-page.js +76 -1
  187. package/dist/src/browser/base-page.test.d.ts +1 -0
  188. package/dist/src/browser/base-page.test.js +74 -0
  189. package/dist/src/browser/bridge.d.ts +1 -0
  190. package/dist/src/browser/bridge.js +36 -9
  191. package/dist/src/browser/cdp.d.ts +1 -0
  192. package/dist/src/browser/cdp.js +3 -3
  193. package/dist/src/browser/daemon-client.d.ts +38 -4
  194. package/dist/src/browser/daemon-client.js +24 -7
  195. package/dist/src/browser/daemon-client.test.js +49 -0
  196. package/dist/src/browser/errors.js +3 -0
  197. package/dist/src/browser/errors.test.js +3 -0
  198. package/dist/src/browser/network-cache.d.ts +1 -0
  199. package/dist/src/browser/page.d.ts +3 -1
  200. package/dist/src/browser/page.js +10 -2
  201. package/dist/src/browser/profile.d.ts +14 -0
  202. package/dist/src/browser/profile.js +85 -0
  203. package/dist/src/build-manifest.d.ts +2 -0
  204. package/dist/src/build-manifest.js +13 -3
  205. package/dist/src/build-manifest.test.js +20 -2
  206. package/dist/src/cli.d.ts +6 -0
  207. package/dist/src/cli.js +462 -32
  208. package/dist/src/cli.test.js +209 -2
  209. package/dist/src/commanderAdapter.js +17 -9
  210. package/dist/src/commanderAdapter.test.js +67 -2
  211. package/dist/src/commands/daemon.js +6 -0
  212. package/dist/src/completion-shared.js +1 -2
  213. package/dist/src/completion.test.js +3 -2
  214. package/dist/src/daemon.js +125 -41
  215. package/dist/src/doctor.d.ts +4 -6
  216. package/dist/src/doctor.js +80 -22
  217. package/dist/src/doctor.test.js +82 -0
  218. package/dist/src/engine.test.js +6 -5
  219. package/dist/src/errors.d.ts +14 -8
  220. package/dist/src/errors.js +36 -30
  221. package/dist/src/errors.test.js +5 -5
  222. package/dist/src/execution.d.ts +4 -0
  223. package/dist/src/execution.js +173 -25
  224. package/dist/src/execution.test.js +171 -1
  225. package/dist/src/main.js +10 -0
  226. package/dist/src/observation/artifact.d.ts +16 -0
  227. package/dist/src/observation/artifact.js +260 -0
  228. package/dist/src/observation/artifact.test.d.ts +1 -0
  229. package/dist/src/observation/artifact.test.js +121 -0
  230. package/dist/src/observation/events.d.ts +89 -0
  231. package/dist/src/observation/events.js +1 -0
  232. package/dist/src/observation/index.d.ts +7 -0
  233. package/dist/src/observation/index.js +7 -0
  234. package/dist/src/observation/manager.d.ts +9 -0
  235. package/dist/src/observation/manager.js +27 -0
  236. package/dist/src/observation/manager.test.d.ts +1 -0
  237. package/dist/src/observation/manager.test.js +13 -0
  238. package/dist/src/observation/redaction.d.ts +11 -0
  239. package/dist/src/observation/redaction.js +81 -0
  240. package/dist/src/observation/redaction.test.d.ts +1 -0
  241. package/dist/src/observation/redaction.test.js +32 -0
  242. package/dist/src/observation/retention.d.ts +32 -0
  243. package/dist/src/observation/retention.js +160 -0
  244. package/dist/src/observation/retention.test.d.ts +1 -0
  245. package/dist/src/observation/retention.test.js +118 -0
  246. package/dist/src/observation/ring-buffer.d.ts +22 -0
  247. package/dist/src/observation/ring-buffer.js +45 -0
  248. package/dist/src/observation/ring-buffer.test.d.ts +1 -0
  249. package/dist/src/observation/ring-buffer.test.js +22 -0
  250. package/dist/src/observation/session.d.ts +25 -0
  251. package/dist/src/observation/session.js +50 -0
  252. package/dist/src/pipeline/executor.test.js +1 -0
  253. package/dist/src/pipeline/steps/download.test.js +1 -0
  254. package/dist/src/pipeline/steps/fetch.js +1 -21
  255. package/dist/src/pipeline/steps/fetch.test.js +6 -12
  256. package/dist/src/plugin-scaffold.js +1 -1
  257. package/dist/src/plugin-scaffold.test.js +1 -1
  258. package/dist/src/registry.d.ts +40 -9
  259. package/dist/src/registry.js +3 -1
  260. package/dist/src/runtime-detect.d.ts +10 -0
  261. package/dist/src/runtime-detect.js +19 -0
  262. package/dist/src/runtime-detect.test.js +12 -1
  263. package/dist/src/runtime.d.ts +2 -0
  264. package/dist/src/runtime.js +1 -0
  265. package/dist/src/types.d.ts +22 -0
  266. package/dist/src/update-check.d.ts +31 -1
  267. package/dist/src/update-check.js +62 -16
  268. package/dist/src/update-check.test.js +86 -1
  269. package/package.json +1 -1
  270. package/dist/src/diagnostic.d.ts +0 -63
  271. package/dist/src/diagnostic.js +0 -292
  272. package/dist/src/diagnostic.test.js +0 -302
  273. /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",
@@ -9034,7 +9383,7 @@
9034
9383
  {
9035
9384
  "site": "jd",
9036
9385
  "name": "item",
9037
- "description": "京东商品详情(价格、店铺、规格参数、AVIF 图片)",
9386
+ "description": "京东商品详情(价格、店铺、规格参数、主图、详情图)",
9038
9387
  "domain": "item.jd.com",
9039
9388
  "strategy": "cookie",
9040
9389
  "browser": true,
@@ -9049,9 +9398,9 @@
9049
9398
  {
9050
9399
  "name": "images",
9051
9400
  "type": "int",
9052
- "default": 10,
9401
+ "default": 200,
9053
9402
  "required": false,
9054
- "help": "AVIF 图片数量上限(默认10)"
9403
+ "help": "图片数量上限(默认200)"
9055
9404
  }
9056
9405
  ],
9057
9406
  "columns": [
@@ -9059,7 +9408,8 @@
9059
9408
  "price",
9060
9409
  "shop",
9061
9410
  "specs",
9062
- "avifImages"
9411
+ "mainImages",
9412
+ "detailImages"
9063
9413
  ],
9064
9414
  "type": "js",
9065
9415
  "modulePath": "jd/item.js",
@@ -15937,7 +16287,7 @@
15937
16287
  "name": "following",
15938
16288
  "description": "Get accounts a Twitter/X user is following",
15939
16289
  "domain": "x.com",
15940
- "strategy": "intercept",
16290
+ "strategy": "cookie",
15941
16291
  "browser": true,
15942
16292
  "args": [
15943
16293
  {
@@ -15964,7 +16314,7 @@
15964
16314
  "type": "js",
15965
16315
  "modulePath": "twitter/following.js",
15966
16316
  "sourceFile": "twitter/following.js",
15967
- "navigateBefore": true
16317
+ "navigateBefore": "https://x.com"
15968
16318
  },
15969
16319
  {
15970
16320
  "site": "twitter",
@@ -16683,7 +17033,8 @@
16683
17033
  ],
16684
17034
  "type": "js",
16685
17035
  "modulePath": "uiverse/code.js",
16686
- "sourceFile": "uiverse/code.js"
17036
+ "sourceFile": "uiverse/code.js",
17037
+ "navigateBefore": "https://uiverse.io"
16687
17038
  },
16688
17039
  {
16689
17040
  "site": "uiverse",
@@ -16723,7 +17074,8 @@
16723
17074
  ],
16724
17075
  "type": "js",
16725
17076
  "modulePath": "uiverse/preview.js",
16726
- "sourceFile": "uiverse/preview.js"
17077
+ "sourceFile": "uiverse/preview.js",
17078
+ "navigateBefore": "https://uiverse.io"
16727
17079
  },
16728
17080
  {
16729
17081
  "site": "v2ex",
@@ -17100,6 +17452,42 @@
17100
17452
  "required": false,
17101
17453
  "help": "Seconds to wait after page load"
17102
17454
  },
17455
+ {
17456
+ "name": "wait-for",
17457
+ "type": "str",
17458
+ "required": false,
17459
+ "valueRequired": true,
17460
+ "help": "CSS selector to wait for in the main document or same-origin iframes"
17461
+ },
17462
+ {
17463
+ "name": "wait-until",
17464
+ "type": "str",
17465
+ "default": "domstable",
17466
+ "required": false,
17467
+ "help": "Readiness policy after navigation: domstable or networkidle",
17468
+ "choices": [
17469
+ "domstable",
17470
+ "networkidle"
17471
+ ]
17472
+ },
17473
+ {
17474
+ "name": "frames",
17475
+ "type": "str",
17476
+ "default": "same-origin",
17477
+ "required": false,
17478
+ "help": "Iframe handling mode: same-origin or none",
17479
+ "choices": [
17480
+ "same-origin",
17481
+ "none"
17482
+ ]
17483
+ },
17484
+ {
17485
+ "name": "diagnose",
17486
+ "type": "boolean",
17487
+ "default": false,
17488
+ "required": false,
17489
+ "help": "Print render diagnostics (frames, empty containers, XHR/API-like requests) to stderr"
17490
+ },
17103
17491
  {
17104
17492
  "name": "stdout",
17105
17493
  "type": "boolean",
@@ -17157,6 +17545,37 @@
17157
17545
  "sourceFile": "weibo/comments.js",
17158
17546
  "navigateBefore": "https://weibo.com"
17159
17547
  },
17548
+ {
17549
+ "site": "weibo",
17550
+ "name": "favorites",
17551
+ "description": "我的微博收藏列表",
17552
+ "domain": "weibo.com",
17553
+ "strategy": "cookie",
17554
+ "browser": true,
17555
+ "args": [
17556
+ {
17557
+ "name": "limit",
17558
+ "type": "int",
17559
+ "default": 20,
17560
+ "required": false,
17561
+ "help": "数量(最多50)"
17562
+ }
17563
+ ],
17564
+ "columns": [
17565
+ "author",
17566
+ "text",
17567
+ "time",
17568
+ "source",
17569
+ "likes",
17570
+ "comments",
17571
+ "reposts",
17572
+ "url"
17573
+ ],
17574
+ "type": "js",
17575
+ "modulePath": "weibo/favorites.js",
17576
+ "sourceFile": "weibo/favorites.js",
17577
+ "navigateBefore": "https://weibo.com"
17578
+ },
17160
17579
  {
17161
17580
  "site": "weibo",
17162
17581
  "name": "feed",
@@ -17274,6 +17693,38 @@
17274
17693
  "sourceFile": "weibo/post.js",
17275
17694
  "navigateBefore": "https://weibo.com"
17276
17695
  },
17696
+ {
17697
+ "site": "weibo",
17698
+ "name": "publish",
17699
+ "description": "Publish a new Weibo post immediately",
17700
+ "domain": "weibo.com",
17701
+ "strategy": "ui",
17702
+ "browser": true,
17703
+ "args": [
17704
+ {
17705
+ "name": "text",
17706
+ "type": "string",
17707
+ "required": true,
17708
+ "positional": true,
17709
+ "help": "Weibo text content (max 2000 chars)"
17710
+ },
17711
+ {
17712
+ "name": "images",
17713
+ "type": "string",
17714
+ "required": false,
17715
+ "help": "Image paths, comma-separated, max 9 (jpg/png/gif/webp)"
17716
+ }
17717
+ ],
17718
+ "columns": [
17719
+ "status",
17720
+ "message",
17721
+ "text"
17722
+ ],
17723
+ "type": "js",
17724
+ "modulePath": "weibo/publish.js",
17725
+ "sourceFile": "weibo/publish.js",
17726
+ "navigateBefore": true
17727
+ },
17277
17728
  {
17278
17729
  "site": "weibo",
17279
17730
  "name": "search",
@@ -20200,7 +20651,7 @@
20200
20651
  "name": "answer",
20201
20652
  "description": "Answer a Zhihu question",
20202
20653
  "domain": "www.zhihu.com",
20203
- "strategy": "ui",
20654
+ "strategy": "cookie",
20204
20655
  "browser": true,
20205
20656
  "args": [
20206
20657
  {
@@ -20243,14 +20694,86 @@
20243
20694
  "type": "js",
20244
20695
  "modulePath": "zhihu/answer.js",
20245
20696
  "sourceFile": "zhihu/answer.js",
20246
- "navigateBefore": true
20697
+ "navigateBefore": "https://www.zhihu.com"
20698
+ },
20699
+ {
20700
+ "site": "zhihu",
20701
+ "name": "collection",
20702
+ "description": "知乎收藏夹内容列表(需要登录)",
20703
+ "domain": "www.zhihu.com",
20704
+ "strategy": "cookie",
20705
+ "browser": true,
20706
+ "args": [
20707
+ {
20708
+ "name": "id",
20709
+ "type": "str",
20710
+ "required": true,
20711
+ "positional": true,
20712
+ "help": "收藏夹 ID (数字,可从收藏夹 URL 中获取)"
20713
+ },
20714
+ {
20715
+ "name": "offset",
20716
+ "type": "int",
20717
+ "default": 0,
20718
+ "required": false,
20719
+ "help": "起始偏移量(用于分页)"
20720
+ },
20721
+ {
20722
+ "name": "limit",
20723
+ "type": "int",
20724
+ "default": 20,
20725
+ "required": false,
20726
+ "help": "每页数量(最大 20)"
20727
+ }
20728
+ ],
20729
+ "columns": [
20730
+ "rank",
20731
+ "type",
20732
+ "title",
20733
+ "author",
20734
+ "votes",
20735
+ "excerpt",
20736
+ "url"
20737
+ ],
20738
+ "type": "js",
20739
+ "modulePath": "zhihu/collection.js",
20740
+ "sourceFile": "zhihu/collection.js",
20741
+ "navigateBefore": "https://www.zhihu.com"
20742
+ },
20743
+ {
20744
+ "site": "zhihu",
20745
+ "name": "collections",
20746
+ "description": "知乎收藏夹列表(需要登录)",
20747
+ "domain": "www.zhihu.com",
20748
+ "strategy": "cookie",
20749
+ "browser": true,
20750
+ "args": [
20751
+ {
20752
+ "name": "limit",
20753
+ "type": "int",
20754
+ "default": 20,
20755
+ "required": false,
20756
+ "help": "每页数量(最大 20)"
20757
+ }
20758
+ ],
20759
+ "columns": [
20760
+ "rank",
20761
+ "title",
20762
+ "item_count",
20763
+ "description",
20764
+ "collection_id"
20765
+ ],
20766
+ "type": "js",
20767
+ "modulePath": "zhihu/collections.js",
20768
+ "sourceFile": "zhihu/collections.js",
20769
+ "navigateBefore": "https://www.zhihu.com"
20247
20770
  },
20248
20771
  {
20249
20772
  "site": "zhihu",
20250
20773
  "name": "comment",
20251
20774
  "description": "Create a top-level comment on a Zhihu answer or article",
20252
20775
  "domain": "zhihu.com",
20253
- "strategy": "ui",
20776
+ "strategy": "cookie",
20254
20777
  "browser": true,
20255
20778
  "args": [
20256
20779
  {
@@ -20287,13 +20810,12 @@
20287
20810
  "target_type",
20288
20811
  "target",
20289
20812
  "author_identity",
20290
- "created_url",
20291
- "created_proof"
20813
+ "created_url"
20292
20814
  ],
20293
20815
  "type": "js",
20294
20816
  "modulePath": "zhihu/comment.js",
20295
20817
  "sourceFile": "zhihu/comment.js",
20296
- "navigateBefore": true
20818
+ "navigateBefore": "https://zhihu.com"
20297
20819
  },
20298
20820
  {
20299
20821
  "site": "zhihu",
@@ -20341,7 +20863,7 @@
20341
20863
  "name": "favorite",
20342
20864
  "description": "Favorite a Zhihu answer or article into a specific collection",
20343
20865
  "domain": "zhihu.com",
20344
- "strategy": "ui",
20866
+ "strategy": "cookie",
20345
20867
  "browser": true,
20346
20868
  "args": [
20347
20869
  {
@@ -20382,14 +20904,14 @@
20382
20904
  "type": "js",
20383
20905
  "modulePath": "zhihu/favorite.js",
20384
20906
  "sourceFile": "zhihu/favorite.js",
20385
- "navigateBefore": true
20907
+ "navigateBefore": "https://zhihu.com"
20386
20908
  },
20387
20909
  {
20388
20910
  "site": "zhihu",
20389
20911
  "name": "follow",
20390
20912
  "description": "Follow a Zhihu user or question",
20391
20913
  "domain": "www.zhihu.com",
20392
- "strategy": "ui",
20914
+ "strategy": "cookie",
20393
20915
  "browser": true,
20394
20916
  "args": [
20395
20917
  {
@@ -20416,7 +20938,7 @@
20416
20938
  "type": "js",
20417
20939
  "modulePath": "zhihu/follow.js",
20418
20940
  "sourceFile": "zhihu/follow.js",
20419
- "navigateBefore": true
20941
+ "navigateBefore": "https://www.zhihu.com"
20420
20942
  },
20421
20943
  {
20422
20944
  "site": "zhihu",
@@ -20450,7 +20972,7 @@
20450
20972
  "name": "like",
20451
20973
  "description": "Like a Zhihu answer or article",
20452
20974
  "domain": "zhihu.com",
20453
- "strategy": "ui",
20975
+ "strategy": "cookie",
20454
20976
  "browser": true,
20455
20977
  "args": [
20456
20978
  {
@@ -20477,7 +20999,7 @@
20477
20999
  "type": "js",
20478
21000
  "modulePath": "zhihu/like.js",
20479
21001
  "sourceFile": "zhihu/like.js",
20480
- "navigateBefore": true
21002
+ "navigateBefore": "https://zhihu.com"
20481
21003
  },
20482
21004
  {
20483
21005
  "site": "zhihu",
@@ -20549,6 +21071,67 @@
20549
21071
  "sourceFile": "zhihu/search.js",
20550
21072
  "navigateBefore": "https://www.zhihu.com"
20551
21073
  },
21074
+ {
21075
+ "site": "zlibrary",
21076
+ "name": "info",
21077
+ "description": "Get book details and available download formats from a Z-Library book page",
21078
+ "domain": "z-library.im",
21079
+ "strategy": "cookie",
21080
+ "browser": true,
21081
+ "args": [
21082
+ {
21083
+ "name": "url",
21084
+ "type": "str",
21085
+ "required": true,
21086
+ "positional": true,
21087
+ "help": "Z-Library book page URL (e.g. https://z-library.im/book/...)"
21088
+ }
21089
+ ],
21090
+ "columns": [
21091
+ "title",
21092
+ "pdf",
21093
+ "epub",
21094
+ "url"
21095
+ ],
21096
+ "type": "js",
21097
+ "modulePath": "zlibrary/info.js",
21098
+ "sourceFile": "zlibrary/info.js",
21099
+ "navigateBefore": false
21100
+ },
21101
+ {
21102
+ "site": "zlibrary",
21103
+ "name": "search",
21104
+ "description": "Search Z-Library for books by title, author, ISBN, or keyword",
21105
+ "domain": "z-library.im",
21106
+ "strategy": "cookie",
21107
+ "browser": true,
21108
+ "args": [
21109
+ {
21110
+ "name": "query",
21111
+ "type": "str",
21112
+ "required": true,
21113
+ "positional": true,
21114
+ "help": "Search keyword (title, author, ISBN, etc.)"
21115
+ },
21116
+ {
21117
+ "name": "limit",
21118
+ "type": "int",
21119
+ "default": 10,
21120
+ "required": false,
21121
+ "help": "Max results (1–25)"
21122
+ }
21123
+ ],
21124
+ "columns": [
21125
+ "rank",
21126
+ "title",
21127
+ "author",
21128
+ "url"
21129
+ ],
21130
+ "type": "js",
21131
+ "modulePath": "zlibrary/search.js",
21132
+ "sourceFile": "zlibrary/search.js",
21133
+ "navigateBefore": false
21134
+ },
20552
21135
  {
20553
21136
  "site": "zsxq",
20554
21137
  "name": "dynamics",
@@ -20734,4 +21317,4 @@
20734
21317
  "sourceFile": "zsxq/topics.js",
20735
21318
  "navigateBefore": "https://wx.zsxq.com"
20736
21319
  }
20737
- ]
21320
+ ]