publishport-opencli 1.8.5-pp.2 → 1.8.5-pp.21

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 (2136) hide show
  1. package/LICENSE +24 -0
  2. package/cli-manifest.json +3116 -305
  3. package/clis/12306/auth.js +2 -36
  4. package/clis/12306/me.js +3 -67
  5. package/clis/12306/orders.js +3 -86
  6. package/clis/12306/passengers.js +4 -80
  7. package/clis/12306/price.js +1 -166
  8. package/clis/12306/stations.js +1 -66
  9. package/clis/12306/train.js +1 -91
  10. package/clis/12306/trains.js +1 -166
  11. package/clis/12306/utils.js +1 -272
  12. package/clis/1688/assets.js +2 -80
  13. package/clis/1688/auth.js +1 -46
  14. package/clis/1688/download.js +1 -77
  15. package/clis/1688/item.js +4 -171
  16. package/clis/1688/search.js +4 -185
  17. package/clis/1688/shared.js +6 -552
  18. package/clis/1688/store.js +5 -206
  19. package/clis/1point3acres/auth.js +2 -36
  20. package/clis/1point3acres/digest.js +1 -35
  21. package/clis/1point3acres/forum.js +1 -51
  22. package/clis/1point3acres/forums.js +1 -44
  23. package/clis/1point3acres/hot.js +1 -35
  24. package/clis/1point3acres/latest.js +1 -35
  25. package/clis/1point3acres/notifications.js +1 -64
  26. package/clis/1point3acres/search.js +1 -71
  27. package/clis/1point3acres/thread.js +2 -117
  28. package/clis/1point3acres/user.js +1 -77
  29. package/clis/1point3acres/utils.js +5 -246
  30. package/clis/36kr/article.js +3 -49
  31. package/clis/36kr/hot.js +2 -73
  32. package/clis/36kr/news.js +1 -52
  33. package/clis/36kr/search.js +2 -45
  34. package/clis/51job/company.js +2 -92
  35. package/clis/51job/detail.js +2 -76
  36. package/clis/51job/hot.js +1 -56
  37. package/clis/51job/search.js +1 -80
  38. package/clis/51job/utils.js +7 -288
  39. package/clis/_atlassian/shared.js +21 -577
  40. package/clis/_shared/article/auth.js +15 -123
  41. package/clis/_shared/article/douban-md2draft.js +4 -110
  42. package/clis/_shared/article/format.js +1 -71
  43. package/clis/_shared/article/images.js +7 -125
  44. package/clis/_shared/article/login.js +1 -90
  45. package/clis/_shared/article/page-runtime.js +148 -35
  46. package/clis/_shared/article/publish.js +29 -182
  47. package/clis/_shared/common.js +1 -32
  48. package/clis/_shared/content-guard.js +1 -0
  49. package/clis/_shared/desktop-commands.js +1 -112
  50. package/clis/_shared/search-adapter.js +1 -70
  51. package/clis/_shared/site-auth.js +1 -118
  52. package/clis/_shared/token-auth.js +2 -0
  53. package/clis/_shared/video-publish.js +62 -0
  54. package/clis/aibase/news.js +2 -81
  55. package/clis/amazon/auth.js +2 -36
  56. package/clis/amazon/bestsellers.js +1 -8
  57. package/clis/amazon/discussion.js +3 -106
  58. package/clis/amazon/movers-shakers.js +1 -8
  59. package/clis/amazon/new-releases.js +1 -8
  60. package/clis/amazon/offer.js +3 -115
  61. package/clis/amazon/product.js +5 -73
  62. package/clis/amazon/rankings.js +2 -161
  63. package/clis/amazon/search.js +2 -74
  64. package/clis/amazon/shared.js +6 -360
  65. package/clis/antigravity/_actions.js +14 -131
  66. package/clis/antigravity/audit-extras.js +10 -273
  67. package/clis/antigravity/delete.js +1 -60
  68. package/clis/antigravity/dump.js +1 -29
  69. package/clis/antigravity/extract-code.js +2 -17
  70. package/clis/antigravity/history.js +1 -26
  71. package/clis/antigravity/mark-read.js +1 -52
  72. package/clis/antigravity/model.js +6 -77
  73. package/clis/antigravity/new.js +2 -19
  74. package/clis/antigravity/read.js +2 -27
  75. package/clis/antigravity/rename.js +1 -33
  76. package/clis/antigravity/send.js +3 -28
  77. package/clis/antigravity/serve.js +18 -479
  78. package/clis/antigravity/status.js +1 -19
  79. package/clis/antigravity/storage.js +6 -360
  80. package/clis/antigravity/watch.js +2 -39
  81. package/clis/apple-podcasts/episodes.js +1 -29
  82. package/clis/apple-podcasts/search.js +1 -31
  83. package/clis/apple-podcasts/top.js +1 -45
  84. package/clis/apple-podcasts/utils.js +1 -30
  85. package/clis/archive/item.js +1 -92
  86. package/clis/archive/search.js +1 -115
  87. package/clis/archive/snapshots.js +1 -129
  88. package/clis/archive/wayback.js +1 -83
  89. package/clis/arxiv/author.js +1 -44
  90. package/clis/arxiv/paper.js +1 -22
  91. package/clis/arxiv/recent.js +1 -33
  92. package/clis/arxiv/search.js +1 -36
  93. package/clis/arxiv/utils.js +1 -112
  94. package/clis/autohome/brand.js +1 -108
  95. package/clis/autohome/score.js +1 -103
  96. package/clis/autohome/utils.js +1 -157
  97. package/clis/baidu-scholar/search.js +3 -27
  98. package/clis/baijiahao/article.js +1 -392
  99. package/clis/baijiahao/lists.js +1 -70
  100. package/clis/baijiahao/login.js +1 -15
  101. package/clis/baijiahao/publish.js +57 -0
  102. package/clis/baijiahao/stats.js +1 -0
  103. package/clis/baijiahao/whoami.js +1 -33
  104. package/clis/band/auth.js +2 -35
  105. package/clis/band/bands.js +2 -38
  106. package/clis/band/mentions.js +2 -124
  107. package/clis/band/post.js +4 -104
  108. package/clis/band/posts.js +3 -48
  109. package/clis/barchart/flow.js +4 -50
  110. package/clis/barchart/greeks.js +5 -125
  111. package/clis/barchart/options.js +5 -51
  112. package/clis/barchart/quote.js +3 -51
  113. package/clis/bbc/news.js +1 -42
  114. package/clis/bbc/topic.js +1 -57
  115. package/clis/bbc/utils.js +1 -79
  116. package/clis/bilibili/article.js +1 -393
  117. package/clis/bilibili/auth.js +1 -36
  118. package/clis/bilibili/categories.js +1 -56
  119. package/clis/bilibili/comment.js +1 -107
  120. package/clis/bilibili/comments.js +1 -136
  121. package/clis/bilibili/download.js +2 -173
  122. package/clis/bilibili/drafts.js +1 -60
  123. package/clis/bilibili/dynamic-post.js +3 -60
  124. package/clis/bilibili/dynamic.js +1 -34
  125. package/clis/bilibili/favorite.js +1 -47
  126. package/clis/bilibili/feed.js +2 -220
  127. package/clis/bilibili/follow.js +1 -140
  128. package/clis/bilibili/following.js +1 -44
  129. package/clis/bilibili/history.js +1 -45
  130. package/clis/bilibili/hot.js +2 -27
  131. package/clis/bilibili/me.js +1 -13
  132. package/clis/bilibili/partitions.js +1 -0
  133. package/clis/bilibili/ranking.js +1 -25
  134. package/clis/bilibili/search.js +1 -24
  135. package/clis/bilibili/stats.js +1 -0
  136. package/clis/bilibili/subtitle.js +3 -123
  137. package/clis/bilibili/summary.js +1 -167
  138. package/clis/bilibili/topics.js +1 -0
  139. package/clis/bilibili/unfollow.js +1 -121
  140. package/clis/bilibili/upload.js +1 -0
  141. package/clis/bilibili/user-videos.js +1 -39
  142. package/clis/bilibili/utils.js +7 -249
  143. package/clis/bilibili/video-drafts.js +1 -0
  144. package/clis/bilibili/video.js +1 -155
  145. package/clis/binance/asks.js +1 -22
  146. package/clis/binance/depth.js +1 -21
  147. package/clis/binance/gainers.js +1 -23
  148. package/clis/binance/klines.js +1 -22
  149. package/clis/binance/losers.js +1 -23
  150. package/clis/binance/pairs.js +1 -22
  151. package/clis/binance/price.js +1 -19
  152. package/clis/binance/prices.js +1 -20
  153. package/clis/binance/ticker.js +1 -22
  154. package/clis/binance/top.js +1 -22
  155. package/clis/binance/trades.js +1 -21
  156. package/clis/bloomberg/businessweek.js +4 -117
  157. package/clis/bloomberg/crypto.js +1 -18
  158. package/clis/bloomberg/economics.js +1 -18
  159. package/clis/bloomberg/feeds.js +1 -16
  160. package/clis/bloomberg/green.js +1 -18
  161. package/clis/bloomberg/industries.js +1 -18
  162. package/clis/bloomberg/main.js +1 -18
  163. package/clis/bloomberg/markets.js +1 -18
  164. package/clis/bloomberg/news.js +2 -51
  165. package/clis/bloomberg/opinions.js +1 -18
  166. package/clis/bloomberg/politics.js +1 -18
  167. package/clis/bloomberg/pursuits.js +1 -18
  168. package/clis/bloomberg/tech.js +1 -18
  169. package/clis/bloomberg/utils.js +17 -380
  170. package/clis/booking/search.js +2 -260
  171. package/clis/boss/auth.js +2 -36
  172. package/clis/boss/batchgreet.js +1 -61
  173. package/clis/boss/chatlist.js +1 -116
  174. package/clis/boss/chatmsg.js +1 -117
  175. package/clis/boss/detail.js +1 -63
  176. package/clis/boss/exchange.js +1 -46
  177. package/clis/boss/greet.js +1 -49
  178. package/clis/boss/invite.js +4 -64
  179. package/clis/boss/joblist.js +1 -31
  180. package/clis/boss/mark.js +1 -70
  181. package/clis/boss/recommend.js +1 -45
  182. package/clis/boss/resume.js +2 -62
  183. package/clis/boss/search.js +1 -197
  184. package/clis/boss/send.js +1 -44
  185. package/clis/boss/stats.js +1 -66
  186. package/clis/boss/utils.js +13 -320
  187. package/clis/brave/search.js +3 -60
  188. package/clis/chaoxing/assignments.js +1 -76
  189. package/clis/chaoxing/auth.js +2 -35
  190. package/clis/chaoxing/exams.js +1 -75
  191. package/clis/chaoxing/utils.js +9 -174
  192. package/clis/chatgpt/ask.js +1 -129
  193. package/clis/chatgpt/auth.js +2 -37
  194. package/clis/chatgpt/detail.js +1 -63
  195. package/clis/chatgpt/history.js +1 -39
  196. package/clis/chatgpt/image.js +1 -167
  197. package/clis/chatgpt/model.js +1 -31
  198. package/clis/chatgpt/new.js +1 -32
  199. package/clis/chatgpt/project-file-add.js +1 -74
  200. package/clis/chatgpt/project-list.js +1 -37
  201. package/clis/chatgpt/read.js +1 -44
  202. package/clis/chatgpt/send.js +1 -68
  203. package/clis/chatgpt/status.js +1 -29
  204. package/clis/chatgpt/utils.js +62 -1196
  205. package/clis/chatgpt-app/ask.js +1 -87
  206. package/clis/chatgpt-app/ax.js +9 -100
  207. package/clis/chatgpt-app/model.js +1 -25
  208. package/clis/chatgpt-app/new.js +1 -61
  209. package/clis/chatgpt-app/read.js +1 -32
  210. package/clis/chatgpt-app/send.js +1 -37
  211. package/clis/chatgpt-app/status.js +1 -26
  212. package/clis/chatwise/ask.js +1 -54
  213. package/clis/chatwise/export.js +2 -28
  214. package/clis/chatwise/history.js +2 -37
  215. package/clis/chatwise/model.js +6 -43
  216. package/clis/chatwise/new.js +1 -2
  217. package/clis/chatwise/read.js +2 -17
  218. package/clis/chatwise/screenshot.js +1 -2
  219. package/clis/chatwise/send.js +1 -28
  220. package/clis/chatwise/status.js +1 -2
  221. package/clis/chatwise/utils.js +8 -76
  222. package/clis/chess/analyze.js +1 -35
  223. package/clis/chess/game.js +1 -114
  224. package/clis/chess/games.js +1 -67
  225. package/clis/chess/stats.js +1 -32
  226. package/clis/chess/utils.js +1 -170
  227. package/clis/claude/ask.js +2 -142
  228. package/clis/claude/auth.js +2 -38
  229. package/clis/claude/detail.js +1 -38
  230. package/clis/claude/history.js +1 -33
  231. package/clis/claude/new.js +1 -29
  232. package/clis/claude/read.js +1 -27
  233. package/clis/claude/send.js +1 -48
  234. package/clis/claude/status.js +1 -26
  235. package/clis/claude/utils.js +23 -307
  236. package/clis/cnblogs/article.js +1 -308
  237. package/clis/cnblogs/login.js +1 -15
  238. package/clis/cnblogs/stats.js +37 -0
  239. package/clis/cnblogs/whoami.js +1 -27
  240. package/clis/cnki/search.js +3 -26
  241. package/clis/codex/_actions.js +3 -201
  242. package/clis/codex/archive.js +1 -37
  243. package/clis/codex/ask.js +6 -61
  244. package/clis/codex/dump.js +1 -2
  245. package/clis/codex/export.js +2 -28
  246. package/clis/codex/extract-diff.js +2 -19
  247. package/clis/codex/history.js +1 -27
  248. package/clis/codex/model.js +8 -154
  249. package/clis/codex/new.js +1 -2
  250. package/clis/codex/pin.js +1 -30
  251. package/clis/codex/projects.js +1 -28
  252. package/clis/codex/read.js +2 -27
  253. package/clis/codex/rename.js +4 -56
  254. package/clis/codex/screenshot.js +1 -2
  255. package/clis/codex/send.js +3 -38
  256. package/clis/codex/sidebar.js +1 -356
  257. package/clis/codex/status.js +1 -2
  258. package/clis/coingecko/categories.js +1 -75
  259. package/clis/coingecko/coin.js +1 -107
  260. package/clis/coingecko/derivatives.js +1 -84
  261. package/clis/coingecko/exchanges.js +1 -74
  262. package/clis/coingecko/global.js +1 -71
  263. package/clis/coingecko/top.js +1 -64
  264. package/clis/coingecko/trending.js +1 -55
  265. package/clis/confluence/create.js +1 -39
  266. package/clis/confluence/page.js +1 -23
  267. package/clis/confluence/search.js +1 -34
  268. package/clis/confluence/shared.js +1 -173
  269. package/clis/confluence/update.js +1 -38
  270. package/clis/coupang/add-to-cart.js +3 -66
  271. package/clis/coupang/auth.js +2 -34
  272. package/clis/coupang/product.js +3 -99
  273. package/clis/coupang/search.js +8 -97
  274. package/clis/coupang/utils.js +1 -316
  275. package/clis/crates/crate.js +1 -62
  276. package/clis/crates/search.js +1 -44
  277. package/clis/crates/utils.js +1 -72
  278. package/clis/csdn/article.js +19 -373
  279. package/clis/csdn/columns.js +1 -41
  280. package/clis/csdn/login.js +1 -17
  281. package/clis/csdn/stats.js +71 -0
  282. package/clis/csdn/whoami.js +1 -37
  283. package/clis/cto51/article.js +1 -271
  284. package/clis/cto51/whoami.js +1 -28
  285. package/clis/ctrip/auth.js +1 -50
  286. package/clis/ctrip/flight.js +2 -121
  287. package/clis/ctrip/hotel-search.js +3 -111
  288. package/clis/ctrip/hotel-suggest.js +1 -45
  289. package/clis/ctrip/search.js +1 -41
  290. package/clis/ctrip/utils.js +6 -360
  291. package/clis/cursor/ask.js +5 -57
  292. package/clis/cursor/composer.js +2 -33
  293. package/clis/cursor/dump.js +1 -2
  294. package/clis/cursor/export.js +3 -32
  295. package/clis/cursor/extract-code.js +2 -20
  296. package/clis/cursor/history.js +2 -20
  297. package/clis/cursor/model.js +4 -40
  298. package/clis/cursor/new.js +1 -2
  299. package/clis/cursor/read.js +2 -20
  300. package/clis/cursor/screenshot.js +1 -2
  301. package/clis/cursor/send.js +2 -31
  302. package/clis/cursor/status.js +1 -2
  303. package/clis/dblp/author.js +1 -133
  304. package/clis/dblp/paper.js +1 -40
  305. package/clis/dblp/search.js +1 -45
  306. package/clis/dblp/utils.js +1 -290
  307. package/clis/dblp/venue.js +1 -64
  308. package/clis/deepseek/ask.js +1 -158
  309. package/clis/deepseek/auth.js +2 -34
  310. package/clis/deepseek/detail.js +1 -46
  311. package/clis/deepseek/history.js +1 -27
  312. package/clis/deepseek/new.js +1 -33
  313. package/clis/deepseek/read.js +1 -25
  314. package/clis/deepseek/send.js +7 -97
  315. package/clis/deepseek/status.js +1 -26
  316. package/clis/deepseek/utils.js +25 -310
  317. package/clis/defillama/protocol.js +1 -84
  318. package/clis/defillama/protocols.js +1 -55
  319. package/clis/defillama/utils.js +1 -99
  320. package/clis/devto/auth.js +9 -0
  321. package/clis/devto/latest.js +1 -74
  322. package/clis/devto/publish.js +17 -0
  323. package/clis/devto/read.js +2 -102
  324. package/clis/devto/tag.js +1 -36
  325. package/clis/devto/top.js +1 -30
  326. package/clis/devto/user.js +1 -35
  327. package/clis/dianping/auth.js +2 -40
  328. package/clis/dianping/cityResolver.js +1 -185
  329. package/clis/dianping/search.js +1 -157
  330. package/clis/dianping/shop.js +1 -173
  331. package/clis/dianping/utils.js +1 -157
  332. package/clis/dictionary/examples.js +1 -28
  333. package/clis/dictionary/search.js +1 -30
  334. package/clis/dictionary/synonyms.js +1 -28
  335. package/clis/discord-app/channels.js +1 -26
  336. package/clis/discord-app/delete.js +3 -52
  337. package/clis/discord-app/goto.js +1 -38
  338. package/clis/discord-app/members.js +2 -20
  339. package/clis/discord-app/read.js +1 -42
  340. package/clis/discord-app/search.js +4 -42
  341. package/clis/discord-app/send.js +3 -21
  342. package/clis/discord-app/servers.js +1 -26
  343. package/clis/discord-app/status.js +1 -17
  344. package/clis/discord-app/thread-read.js +1 -45
  345. package/clis/discord-app/threads.js +1 -37
  346. package/clis/discord-app/utils.js +8 -392
  347. package/clis/dockerhub/image.js +1 -52
  348. package/clis/dockerhub/search.js +1 -47
  349. package/clis/dockerhub/utils.js +1 -100
  350. package/clis/dongchedi/koubei.js +1 -85
  351. package/clis/dongchedi/models.js +1 -91
  352. package/clis/dongchedi/score.js +1 -83
  353. package/clis/dongchedi/search.js +1 -83
  354. package/clis/dongchedi/series.js +1 -87
  355. package/clis/dongchedi/specs.js +1 -115
  356. package/clis/dongchedi/utils.js +1 -180
  357. package/clis/douban/article.js +51 -199
  358. package/clis/douban/auth.js +2 -39
  359. package/clis/douban/book-hot.js +1 -15
  360. package/clis/douban/download.js +1 -68
  361. package/clis/douban/marks.js +3 -60
  362. package/clis/douban/movie-hot.js +1 -15
  363. package/clis/douban/photos.js +1 -35
  364. package/clis/douban/reviews.js +3 -57
  365. package/clis/douban/search.js +1 -18
  366. package/clis/douban/subject.js +1 -46
  367. package/clis/douban/top250.js +2 -20
  368. package/clis/douban/utils.js +24 -337
  369. package/clis/doubao/ask.js +1 -40
  370. package/clis/doubao/auth.js +3 -41
  371. package/clis/doubao/detail.js +1 -35
  372. package/clis/doubao/history.js +1 -30
  373. package/clis/doubao/meeting-summary.js +1 -41
  374. package/clis/doubao/meeting-transcript.js +1 -38
  375. package/clis/doubao/new.js +1 -22
  376. package/clis/doubao/read.js +1 -21
  377. package/clis/doubao/send.js +1 -24
  378. package/clis/doubao/status.js +1 -26
  379. package/clis/doubao/utils.js +40 -492
  380. package/clis/doubao-app/ask.js +1 -54
  381. package/clis/doubao-app/dump.js +1 -25
  382. package/clis/doubao-app/new.js +1 -21
  383. package/clis/doubao-app/read.js +1 -19
  384. package/clis/doubao-app/screenshot.js +1 -19
  385. package/clis/doubao-app/send.js +1 -28
  386. package/clis/doubao-app/status.js +1 -17
  387. package/clis/doubao-app/utils.js +6 -52
  388. package/clis/douyin/_shared/browser-fetch.js +7 -45
  389. package/clis/douyin/_shared/creation-id.js +1 -5
  390. package/clis/douyin/_shared/evaluate-result.js +1 -16
  391. package/clis/douyin/_shared/imagex-upload.js +1 -53
  392. package/clis/douyin/_shared/public-api.js +1 -29
  393. package/clis/douyin/_shared/sts2.js +1 -21
  394. package/clis/douyin/_shared/text-extra.js +1 -15
  395. package/clis/douyin/_shared/timing.js +1 -22
  396. package/clis/douyin/_shared/tos-upload.js +5 -331
  397. package/clis/douyin/_shared/transcode.js +1 -45
  398. package/clis/douyin/_shared/types.js +1 -1
  399. package/clis/douyin/_shared/vod-upload.js +5 -212
  400. package/clis/douyin/activities.js +1 -23
  401. package/clis/douyin/auth.js +1 -39
  402. package/clis/douyin/collections.js +1 -23
  403. package/clis/douyin/delete.js +4 -88
  404. package/clis/douyin/draft.js +18 -337
  405. package/clis/douyin/drafts.js +1 -24
  406. package/clis/douyin/hashtag.js +1 -114
  407. package/clis/douyin/location.js +1 -25
  408. package/clis/douyin/profile.js +1 -29
  409. package/clis/douyin/publish-image.js +62 -0
  410. package/clis/douyin/publish.js +10 -337
  411. package/clis/douyin/search.js +3 -260
  412. package/clis/douyin/stats.js +1 -28
  413. package/clis/douyin/update.js +1 -32
  414. package/clis/douyin/user-videos.js +1 -82
  415. package/clis/douyin/videos.js +1 -52
  416. package/clis/duckduckgo/search.js +1 -131
  417. package/clis/duckduckgo/suggest.js +1 -45
  418. package/clis/eastmoney/_secid.js +1 -78
  419. package/clis/eastmoney/announcement.js +1 -53
  420. package/clis/eastmoney/article.js +1 -340
  421. package/clis/eastmoney/convertible.js +1 -74
  422. package/clis/eastmoney/etf.js +1 -66
  423. package/clis/eastmoney/holders.js +1 -79
  424. package/clis/eastmoney/hot-rank.js +2 -23
  425. package/clis/eastmoney/index-board.js +1 -97
  426. package/clis/eastmoney/kline.js +1 -88
  427. package/clis/eastmoney/kuaixun.js +1 -55
  428. package/clis/eastmoney/longhu.js +1 -68
  429. package/clis/eastmoney/money-flow.js +1 -79
  430. package/clis/eastmoney/northbound.js +1 -58
  431. package/clis/eastmoney/quote.js +1 -108
  432. package/clis/eastmoney/rank.js +1 -95
  433. package/clis/eastmoney/sectors.js +1 -77
  434. package/clis/eastmoney/whoami.js +1 -18
  435. package/clis/endoflife/product.js +1 -55
  436. package/clis/endoflife/utils.js +1 -89
  437. package/clis/facebook/add-friend.js +2 -22
  438. package/clis/facebook/auth.js +1 -43
  439. package/clis/facebook/events.js +2 -17
  440. package/clis/facebook/feed.js +3 -99
  441. package/clis/facebook/friends.js +2 -17
  442. package/clis/facebook/groups.js +2 -17
  443. package/clis/facebook/join-group.js +2 -22
  444. package/clis/facebook/marketplace-inbox.js +2 -52
  445. package/clis/facebook/marketplace-listings.js +2 -53
  446. package/clis/facebook/memories.js +2 -17
  447. package/clis/facebook/notifications.js +3 -305
  448. package/clis/facebook/profile.js +2 -22
  449. package/clis/facebook/search.js +2 -19
  450. package/clis/flathub/app.js +1 -71
  451. package/clis/flathub/search.js +1 -80
  452. package/clis/flathub/utils.js +1 -114
  453. package/clis/flomo/auth.js +2 -35
  454. package/clis/flomo/memos.js +2 -217
  455. package/clis/gemini/ask.js +1 -51
  456. package/clis/gemini/auth.js +2 -36
  457. package/clis/gemini/deep-research-result.js +4 -96
  458. package/clis/gemini/deep-research.js +1 -103
  459. package/clis/gemini/detail.js +1 -82
  460. package/clis/gemini/history.js +1 -70
  461. package/clis/gemini/image.js +2 -110
  462. package/clis/gemini/new.js +1 -22
  463. package/clis/gemini/read.js +1 -36
  464. package/clis/gemini/status.js +1 -32
  465. package/clis/gemini/utils.js +51 -873
  466. package/clis/geogebra/add-circle.js +1 -46
  467. package/clis/geogebra/add-line.js +1 -35
  468. package/clis/geogebra/add-point.js +1 -27
  469. package/clis/geogebra/add-polygon.js +1 -25
  470. package/clis/geogebra/eval.js +1 -35
  471. package/clis/geogebra/hexagon.js +1 -62
  472. package/clis/geogebra/info.js +3 -62
  473. package/clis/geogebra/list.js +1 -35
  474. package/clis/geogebra/triangle.js +1 -60
  475. package/clis/geogebra/utils.js +11 -183
  476. package/clis/ghost/publish.js +1 -0
  477. package/clis/ghost/shared.js +1 -0
  478. package/clis/ghost/whoami.js +1 -0
  479. package/clis/gitee/auth.js +2 -31
  480. package/clis/gitee/index.js +1 -3
  481. package/clis/gitee/search.js +1 -137
  482. package/clis/gitee/trending.js +3 -331
  483. package/clis/gitee/user.js +2 -131
  484. package/clis/github/auth.js +2 -39
  485. package/clis/github-trending/repos.js +1 -168
  486. package/clis/google/news.js +1 -59
  487. package/clis/google/search.js +3 -51
  488. package/clis/google/suggest.js +1 -35
  489. package/clis/google/trends.js +1 -39
  490. package/clis/google/utils.js +1 -23
  491. package/clis/google-scholar/cite.js +8 -62
  492. package/clis/google-scholar/profile.js +4 -60
  493. package/clis/google-scholar/search.js +3 -41
  494. package/clis/goproxy/module.js +1 -47
  495. package/clis/goproxy/utils.js +1 -165
  496. package/clis/goproxy/versions.js +1 -59
  497. package/clis/gov-law/recent.js +1 -22
  498. package/clis/gov-law/search.js +3 -30
  499. package/clis/gov-law/shared.js +5 -27
  500. package/clis/gov-policy/recent.js +2 -84
  501. package/clis/gov-policy/search.js +2 -85
  502. package/clis/gov-policy/utils.js +1 -54
  503. package/clis/grok/ask.js +1 -77
  504. package/clis/grok/auth.js +2 -37
  505. package/clis/grok/delete.js +1 -54
  506. package/clis/grok/detail.js +1 -60
  507. package/clis/grok/export-all.js +7 -246
  508. package/clis/grok/export-utils.js +1 -94
  509. package/clis/grok/export.js +4 -87
  510. package/clis/grok/history.js +1 -48
  511. package/clis/grok/image.js +8 -232
  512. package/clis/grok/new.js +1 -20
  513. package/clis/grok/pin.js +1 -68
  514. package/clis/grok/read.js +1 -39
  515. package/clis/grok/send.js +1 -50
  516. package/clis/grok/status.js +1 -41
  517. package/clis/grok/utils.js +21 -324
  518. package/clis/guazi/browse.js +1 -95
  519. package/clis/guazi/car.js +1 -110
  520. package/clis/guazi/utils.js +1 -133
  521. package/clis/hackernews/ask.js +1 -31
  522. package/clis/hackernews/best.js +1 -31
  523. package/clis/hackernews/jobs.js +1 -29
  524. package/clis/hackernews/new.js +1 -31
  525. package/clis/hackernews/read.js +11 -188
  526. package/clis/hackernews/search.js +1 -38
  527. package/clis/hackernews/show.js +1 -31
  528. package/clis/hackernews/top.js +1 -31
  529. package/clis/hackernews/user.js +1 -23
  530. package/clis/hashnode/auth.js +11 -0
  531. package/clis/hashnode/publish.js +92 -0
  532. package/clis/hf/auth.js +2 -31
  533. package/clis/hf/datasets.js +1 -88
  534. package/clis/hf/models.js +1 -91
  535. package/clis/hf/paper.js +1 -79
  536. package/clis/hf/spaces.js +1 -101
  537. package/clis/hf/top.js +1 -121
  538. package/clis/homebrew/cask.js +1 -39
  539. package/clis/homebrew/formula.js +1 -41
  540. package/clis/homebrew/popular.js +1 -54
  541. package/clis/homebrew/utils.js +1 -100
  542. package/clis/huodongxing/events.js +1 -322
  543. package/clis/hupu/auth.js +2 -35
  544. package/clis/hupu/detail.js +7 -72
  545. package/clis/hupu/hot.js +3 -152
  546. package/clis/hupu/like.js +1 -76
  547. package/clis/hupu/mentions.js +6 -75
  548. package/clis/hupu/reply.js +1 -72
  549. package/clis/hupu/search.js +1 -60
  550. package/clis/hupu/unlike.js +1 -76
  551. package/clis/hupu/utils.js +10 -86
  552. package/clis/imdb/person.js +2 -66
  553. package/clis/imdb/reviews.js +3 -52
  554. package/clis/imdb/search.js +2 -51
  555. package/clis/imdb/title.js +1 -94
  556. package/clis/imdb/top.js +1 -54
  557. package/clis/imdb/trending.js +1 -53
  558. package/clis/imdb/utils.js +13 -136
  559. package/clis/imooc/article.js +1 -192
  560. package/clis/imooc/login.js +1 -15
  561. package/clis/imooc/whoami.js +1 -33
  562. package/clis/indeed/job.js +2 -68
  563. package/clis/indeed/search.js +2 -75
  564. package/clis/indeed/utils.js +1 -152
  565. package/clis/instagram/_shared/private-publish.js +4 -959
  566. package/clis/instagram/_shared/protocol-capture.js +9 -111
  567. package/clis/instagram/_shared/runtime-info.js +2 -50
  568. package/clis/instagram/auth.js +2 -37
  569. package/clis/instagram/collection-create.js +2 -22
  570. package/clis/instagram/collection-delete.js +2 -22
  571. package/clis/instagram/comment.js +2 -24
  572. package/clis/instagram/detail.js +2 -150
  573. package/clis/instagram/download.js +5 -149
  574. package/clis/instagram/explore.js +2 -17
  575. package/clis/instagram/follow.js +2 -22
  576. package/clis/instagram/followers.js +2 -18
  577. package/clis/instagram/following.js +2 -18
  578. package/clis/instagram/like.js +2 -23
  579. package/clis/instagram/note.js +8 -69
  580. package/clis/instagram/post.js +35 -814
  581. package/clis/instagram/profile.js +2 -17
  582. package/clis/instagram/reel.js +18 -393
  583. package/clis/instagram/save.js +2 -23
  584. package/clis/instagram/saved.js +2 -18
  585. package/clis/instagram/search.js +2 -18
  586. package/clis/instagram/story.js +4 -99
  587. package/clis/instagram/unfollow.js +2 -22
  588. package/clis/instagram/unlike.js +2 -23
  589. package/clis/instagram/unsave.js +2 -23
  590. package/clis/instagram/user.js +1 -476
  591. package/clis/jd/add-cart.js +3 -53
  592. package/clis/jd/auth.js +2 -36
  593. package/clis/jd/cart.js +2 -23
  594. package/clis/jd/detail.js +4 -25
  595. package/clis/jd/item.js +65 -697
  596. package/clis/jd/reviews.js +3 -27
  597. package/clis/jd/search.js +3 -27
  598. package/clis/jianshu/article.js +1 -0
  599. package/clis/jianshu/login.js +1 -0
  600. package/clis/jianshu/notebooks.js +1 -0
  601. package/clis/jianshu/whoami.js +1 -0
  602. package/clis/jianyu/auth.js +3 -37
  603. package/clis/jianyu/detail.js +1 -21
  604. package/clis/jianyu/search.js +6 -567
  605. package/clis/jianyu/shared/china-bid-search.js +4 -83
  606. package/clis/jianyu/shared/procurement-contract.js +1 -324
  607. package/clis/jianyu/shared/procurement-detail.js +2 -91
  608. package/clis/jike/auth.js +2 -67
  609. package/clis/jike/comment.js +6 -60
  610. package/clis/jike/create.js +6 -61
  611. package/clis/jike/feed.js +3 -39
  612. package/clis/jike/like.js +3 -41
  613. package/clis/jike/notifications.js +3 -57
  614. package/clis/jike/post.js +2 -41
  615. package/clis/jike/repost.js +10 -95
  616. package/clis/jike/search.js +3 -42
  617. package/clis/jike/topic.js +2 -47
  618. package/clis/jike/user.js +2 -48
  619. package/clis/jike/utils.js +2 -12
  620. package/clis/jimeng/auth.js +2 -35
  621. package/clis/jimeng/generate.js +2 -33
  622. package/clis/jimeng/history.js +2 -27
  623. package/clis/jimeng/new.js +2 -20
  624. package/clis/jimeng/workspaces.js +2 -22
  625. package/clis/jira/attachments.js +1 -28
  626. package/clis/jira/comments.js +1 -28
  627. package/clis/jira/issue.js +1 -28
  628. package/clis/jira/links.js +1 -28
  629. package/clis/jira/search.js +1 -47
  630. package/clis/jira/shared.js +1 -256
  631. package/clis/juejin/article.js +5 -503
  632. package/clis/juejin/categories.js +1 -36
  633. package/clis/juejin/hot.js +1 -37
  634. package/clis/juejin/login.js +1 -15
  635. package/clis/juejin/recommend.js +1 -61
  636. package/clis/juejin/stats.js +53 -0
  637. package/clis/juejin/tags.js +1 -37
  638. package/clis/juejin/utils.js +1 -199
  639. package/clis/juejin/whoami.js +1 -34
  640. package/clis/ke/auth.js +2 -34
  641. package/clis/ke/chengjiao.js +2 -35
  642. package/clis/ke/ershoufang.js +2 -53
  643. package/clis/ke/utils.js +4 -87
  644. package/clis/ke/xiaoqu.js +2 -35
  645. package/clis/ke/zufang.js +3 -48
  646. package/clis/kimi/_utils.js +9 -81
  647. package/clis/kimi/audit-extras.js +14 -218
  648. package/clis/kimi/auth.js +3 -43
  649. package/clis/kimi/chat.js +15 -408
  650. package/clis/kimi/storage.js +5 -160
  651. package/clis/kimi/ui.js +14 -239
  652. package/clis/kimi/usage.js +5 -98
  653. package/clis/kuaishou/auth.js +1 -0
  654. package/clis/kuaishou/publish.js +53 -0
  655. package/clis/lesswrong/_helpers.js +5 -71
  656. package/clis/lesswrong/comments.js +5 -61
  657. package/clis/lesswrong/curated.js +3 -29
  658. package/clis/lesswrong/frontpage.js +3 -29
  659. package/clis/lesswrong/new.js +3 -29
  660. package/clis/lesswrong/read.js +3 -44
  661. package/clis/lesswrong/sequences.js +3 -26
  662. package/clis/lesswrong/shortform.js +3 -29
  663. package/clis/lesswrong/tag.js +3 -44
  664. package/clis/lesswrong/tags.js +3 -26
  665. package/clis/lesswrong/top-month.js +3 -29
  666. package/clis/lesswrong/top-week.js +3 -29
  667. package/clis/lesswrong/top-year.js +3 -29
  668. package/clis/lesswrong/top.js +3 -29
  669. package/clis/lesswrong/user-posts.js +3 -40
  670. package/clis/lesswrong/user.js +3 -43
  671. package/clis/lichess/top.js +1 -46
  672. package/clis/lichess/user.js +1 -91
  673. package/clis/lichess/utils.js +1 -97
  674. package/clis/linkedin/auth.js +2 -37
  675. package/clis/linkedin/connect.js +11 -291
  676. package/clis/linkedin/inbox.js +1 -234
  677. package/clis/linkedin/job-detail.js +4 -167
  678. package/clis/linkedin/jobs-preferences.js +3 -82
  679. package/clis/linkedin/people-search.js +2 -301
  680. package/clis/linkedin/post-analytics.js +1 -74
  681. package/clis/linkedin/posts-core.js +2 -105
  682. package/clis/linkedin/posts.js +1 -22
  683. package/clis/linkedin/profile-analytics.js +2 -95
  684. package/clis/linkedin/profile-experience.js +6 -380
  685. package/clis/linkedin/profile-projects.js +4 -185
  686. package/clis/linkedin/profile-read.js +3 -90
  687. package/clis/linkedin/safe-send.js +8 -313
  688. package/clis/linkedin/salesnav-inbox.js +5 -194
  689. package/clis/linkedin/salesnav-message.js +10 -337
  690. package/clis/linkedin/salesnav-search.js +4 -175
  691. package/clis/linkedin/salesnav-thread.js +1 -212
  692. package/clis/linkedin/search.js +10 -371
  693. package/clis/linkedin/sent-invitations.js +2 -51
  694. package/clis/linkedin/services-read.js +6 -162
  695. package/clis/linkedin/shared.js +2 -116
  696. package/clis/linkedin/thread-snapshot.js +4 -130
  697. package/clis/linkedin/timeline.js +2 -110
  698. package/clis/linkedin-learning/auth.js +2 -37
  699. package/clis/linkedin-learning/course.js +4 -125
  700. package/clis/linkedin-learning/search.js +4 -142
  701. package/clis/linkedin-learning/trending.js +4 -120
  702. package/clis/linux-do/auth.js +2 -37
  703. package/clis/linux-do/categories.js +1 -50
  704. package/clis/linux-do/feed.js +4 -380
  705. package/clis/linux-do/search.js +1 -29
  706. package/clis/linux-do/tags.js +1 -28
  707. package/clis/linux-do/topic-content.js +9 -136
  708. package/clis/linux-do/topic.js +1 -53
  709. package/clis/linux-do/user-posts.js +1 -57
  710. package/clis/linux-do/user-topics.js +1 -37
  711. package/clis/lobsters/active.js +1 -29
  712. package/clis/lobsters/domain.js +1 -92
  713. package/clis/lobsters/hot.js +1 -29
  714. package/clis/lobsters/newest.js +1 -29
  715. package/clis/lobsters/read.js +11 -196
  716. package/clis/lobsters/tag.js +1 -35
  717. package/clis/maimai/auth.js +2 -30
  718. package/clis/maimai/search-talents.js +4 -159
  719. package/clis/manus/_utils.js +2 -107
  720. package/clis/manus/auth.js +2 -36
  721. package/clis/manus/connectors.js +3 -39
  722. package/clis/manus/credits.js +3 -38
  723. package/clis/manus/list.js +4 -63
  724. package/clis/manus/read.js +3 -59
  725. package/clis/manus/skills.js +3 -60
  726. package/clis/manus/status.js +3 -38
  727. package/clis/maven/artifact.js +1 -49
  728. package/clis/maven/search.js +1 -51
  729. package/clis/maven/utils.js +1 -110
  730. package/clis/mdn/search.js +1 -97
  731. package/clis/medium/article.js +12 -0
  732. package/clis/medium/feed.js +1 -16
  733. package/clis/medium/login.js +1 -0
  734. package/clis/medium/search.js +1 -16
  735. package/clis/medium/tag.js +1 -135
  736. package/clis/medium/user.js +1 -16
  737. package/clis/medium/utils.js +3 -20
  738. package/clis/medium/whoami.js +1 -0
  739. package/clis/mubu/doc.js +1 -41
  740. package/clis/mubu/docs.js +1 -44
  741. package/clis/mubu/notes.js +1 -245
  742. package/clis/mubu/recent.js +1 -28
  743. package/clis/mubu/search.js +1 -63
  744. package/clis/mubu/utils.js +16 -289
  745. package/clis/note/auth.js +12 -0
  746. package/clis/note/note-utils.js +2 -0
  747. package/clis/note/publish.js +17 -0
  748. package/clis/notebooklm/add-source.js +8 -231
  749. package/clis/notebooklm/auth.js +2 -36
  750. package/clis/notebooklm/create.js +1 -76
  751. package/clis/notebooklm/current.js +1 -28
  752. package/clis/notebooklm/generate-audio.js +1 -91
  753. package/clis/notebooklm/generate-slides.js +1 -106
  754. package/clis/notebooklm/get.js +1 -37
  755. package/clis/notebooklm/history.js +1 -25
  756. package/clis/notebooklm/list.js +1 -36
  757. package/clis/notebooklm/note-list.js +1 -28
  758. package/clis/notebooklm/notes-get.js +1 -47
  759. package/clis/notebooklm/open.js +1 -42
  760. package/clis/notebooklm/rpc.js +8 -175
  761. package/clis/notebooklm/shared.js +1 -3
  762. package/clis/notebooklm/source-fulltext.js +1 -44
  763. package/clis/notebooklm/source-get.js +1 -40
  764. package/clis/notebooklm/source-guide.js +1 -44
  765. package/clis/notebooklm/source-list.js +1 -30
  766. package/clis/notebooklm/status.js +1 -31
  767. package/clis/notebooklm/summary.js +1 -30
  768. package/clis/notebooklm/utils.js +10 -652
  769. package/clis/notebooklm/write-note.js +1 -103
  770. package/clis/nowcoder/auth.js +2 -43
  771. package/clis/nowcoder/comment.js +1 -0
  772. package/clis/nowcoder/comments.js +1 -0
  773. package/clis/nowcoder/companies.js +1 -24
  774. package/clis/nowcoder/creators.js +1 -28
  775. package/clis/nowcoder/delete.js +1 -0
  776. package/clis/nowcoder/detail.js +2 -18
  777. package/clis/nowcoder/dm-list.js +1 -0
  778. package/clis/nowcoder/dm-read.js +1 -0
  779. package/clis/nowcoder/dm-send.js +1 -0
  780. package/clis/nowcoder/drafts.js +1 -0
  781. package/clis/nowcoder/experience.js +2 -21
  782. package/clis/nowcoder/hot.js +1 -25
  783. package/clis/nowcoder/inbox.js +1 -0
  784. package/clis/nowcoder/jobs.js +1 -22
  785. package/clis/nowcoder/like.js +1 -0
  786. package/clis/nowcoder/my.js +1 -0
  787. package/clis/nowcoder/notifications.js +2 -16
  788. package/clis/nowcoder/papers.js +2 -21
  789. package/clis/nowcoder/post.js +1 -0
  790. package/clis/nowcoder/practice.js +2 -19
  791. package/clis/nowcoder/recommend.js +1 -31
  792. package/clis/nowcoder/referral.js +2 -21
  793. package/clis/nowcoder/salary.js +2 -21
  794. package/clis/nowcoder/search.js +2 -21
  795. package/clis/nowcoder/suggest.js +2 -19
  796. package/clis/nowcoder/topics.js +1 -28
  797. package/clis/nowcoder/trending.js +1 -26
  798. package/clis/nowcoder/utils.js +68 -0
  799. package/clis/npm/downloads.js +1 -59
  800. package/clis/npm/package.js +1 -70
  801. package/clis/npm/search.js +1 -49
  802. package/clis/npm/utils.js +1 -76
  803. package/clis/nuget/package.js +1 -101
  804. package/clis/nuget/search.js +1 -69
  805. package/clis/nuget/utils.js +1 -87
  806. package/clis/nvd/cve.js +1 -121
  807. package/clis/oeis/search.js +1 -63
  808. package/clis/oeis/sequence.js +1 -71
  809. package/clis/oeis/utils.js +1 -88
  810. package/clis/ones/common.js +6 -127
  811. package/clis/ones/enrich-tasks.js +1 -37
  812. package/clis/ones/login.js +2 -81
  813. package/clis/ones/logout.js +1 -18
  814. package/clis/ones/me.js +1 -31
  815. package/clis/ones/my-tasks.js +1 -121
  816. package/clis/ones/resolve-labels.js +1 -64
  817. package/clis/ones/task-helpers.js +1 -212
  818. package/clis/ones/task.js +1 -67
  819. package/clis/ones/tasks.js +1 -80
  820. package/clis/ones/token-info.js +1 -43
  821. package/clis/ones/worklog.js +7 -261
  822. package/clis/openalex/search.js +1 -69
  823. package/clis/openalex/utils.js +1 -160
  824. package/clis/openalex/work.js +1 -65
  825. package/clis/openfda/drug-label.js +1 -74
  826. package/clis/openfda/food-recall.js +1 -65
  827. package/clis/openfda/utils.js +1 -67
  828. package/clis/openreview/author.js +1 -58
  829. package/clis/openreview/paper.js +1 -43
  830. package/clis/openreview/reviews.js +3 -130
  831. package/clis/openreview/search.js +1 -46
  832. package/clis/openreview/utils.js +1 -172
  833. package/clis/openreview/venue.js +1 -63
  834. package/clis/oschina/article.js +1 -237
  835. package/clis/oschina/catalogs.js +1 -31
  836. package/clis/oschina/login.js +1 -16
  837. package/clis/oschina/stats.js +54 -0
  838. package/clis/oschina/whoami.js +1 -35
  839. package/clis/osv/query.js +1 -72
  840. package/clis/osv/utils.js +1 -169
  841. package/clis/osv/vulnerability.js +1 -54
  842. package/clis/packagist/package.js +1 -49
  843. package/clis/packagist/search.js +1 -43
  844. package/clis/packagist/utils.js +1 -113
  845. package/clis/paperreview/feedback.js +1 -53
  846. package/clis/paperreview/review.js +1 -38
  847. package/clis/paperreview/submit.js +1 -86
  848. package/clis/paperreview/utils.js +1 -197
  849. package/clis/pinterest/api.js +1 -0
  850. package/clis/pinterest/auth.js +1 -0
  851. package/clis/pinterest/boards.js +1 -0
  852. package/clis/pinterest/client.js +20 -0
  853. package/clis/pinterest/publish.js +13 -0
  854. package/clis/pixiv/auth.js +2 -40
  855. package/clis/pixiv/detail.js +1 -66
  856. package/clis/pixiv/download.js +1 -82
  857. package/clis/pixiv/illusts.js +1 -66
  858. package/clis/pixiv/ranking.js +2 -36
  859. package/clis/pixiv/search.js +1 -44
  860. package/clis/pixiv/user.js +1 -59
  861. package/clis/pixiv/utils.js +3 -83
  862. package/clis/powerchina/auth.js +2 -37
  863. package/clis/powerchina/search.js +1 -251
  864. package/clis/producthunt/browse.js +2 -48
  865. package/clis/producthunt/hot.js +2 -49
  866. package/clis/producthunt/posts.js +1 -29
  867. package/clis/producthunt/today.js +1 -36
  868. package/clis/producthunt/utils.js +1 -99
  869. package/clis/pubmed/article.js +1 -55
  870. package/clis/pubmed/author.js +1 -64
  871. package/clis/pubmed/citations.js +1 -36
  872. package/clis/pubmed/clinical-trial.js +1 -59
  873. package/clis/pubmed/journal.js +1 -59
  874. package/clis/pubmed/mesh.js +1 -47
  875. package/clis/pubmed/related.js +1 -45
  876. package/clis/pubmed/review.js +1 -58
  877. package/clis/pubmed/search.js +1 -75
  878. package/clis/pubmed/utils.js +1 -325
  879. package/clis/pypi/downloads.js +1 -66
  880. package/clis/pypi/package.js +1 -79
  881. package/clis/pypi/utils.js +1 -55
  882. package/clis/qiita/auth.js +1 -0
  883. package/clis/qiita/gql.js +32 -0
  884. package/clis/qiita/publish.js +7 -0
  885. package/clis/qoder/_utils.js +18 -96
  886. package/clis/qoder/composer.js +1 -45
  887. package/clis/qoder/history.js +3 -27
  888. package/clis/qoder/quest.js +1 -147
  889. package/clis/qoder/read.js +1 -29
  890. package/clis/qoder/status.js +1 -21
  891. package/clis/qoder/ui.js +14 -287
  892. package/clis/quark/auth.js +2 -33
  893. package/clis/quark/ls.js +1 -64
  894. package/clis/quark/mkdir.js +1 -37
  895. package/clis/quark/mv.js +1 -54
  896. package/clis/quark/rename.js +1 -27
  897. package/clis/quark/rm.js +1 -25
  898. package/clis/quark/save.js +1 -81
  899. package/clis/quark/share-tree.js +1 -46
  900. package/clis/quark/utils.js +4 -137
  901. package/clis/qwen/ask.js +1 -104
  902. package/clis/qwen/auth.js +3 -42
  903. package/clis/qwen/detail.js +1 -62
  904. package/clis/qwen/history.js +1 -61
  905. package/clis/qwen/image.js +5 -153
  906. package/clis/qwen/new.js +1 -23
  907. package/clis/qwen/read.js +1 -41
  908. package/clis/qwen/send.js +1 -55
  909. package/clis/qwen/status.js +1 -37
  910. package/clis/qwen/utils.js +16 -292
  911. package/clis/reddit/auth.js +2 -37
  912. package/clis/reddit/comment.js +4 -26
  913. package/clis/reddit/frontpage.js +2 -32
  914. package/clis/reddit/home.js +3 -117
  915. package/clis/reddit/hot.js +2 -37
  916. package/clis/reddit/popular.js +2 -35
  917. package/clis/reddit/read.js +10 -200
  918. package/clis/reddit/reply.js +4 -130
  919. package/clis/reddit/save.js +4 -26
  920. package/clis/reddit/saved.js +3 -29
  921. package/clis/reddit/search.js +2 -53
  922. package/clis/reddit/subreddit-info.js +3 -90
  923. package/clis/reddit/subreddit.js +2 -47
  924. package/clis/reddit/subscribe.js +4 -26
  925. package/clis/reddit/subscribed.js +4 -101
  926. package/clis/reddit/upvote.js +4 -26
  927. package/clis/reddit/upvoted.js +3 -29
  928. package/clis/reddit/user-comments.js +2 -27
  929. package/clis/reddit/user-posts.js +2 -28
  930. package/clis/reddit/user.js +2 -20
  931. package/clis/reddit/whoami.js +2 -66
  932. package/clis/rednote/auth.js +2 -35
  933. package/clis/rednote/comments.js +1 -85
  934. package/clis/rednote/download.js +1 -59
  935. package/clis/rednote/feed.js +1 -27
  936. package/clis/rednote/note.js +1 -68
  937. package/clis/rednote/notifications.js +3 -75
  938. package/clis/rednote/search.js +2 -77
  939. package/clis/rednote/user.js +1 -55
  940. package/clis/rest-countries/country.js +1 -65
  941. package/clis/rest-countries/region.js +1 -64
  942. package/clis/rest-countries/utils.js +1 -126
  943. package/clis/reuters/article-detail.js +1 -53
  944. package/clis/reuters/auth.js +3 -31
  945. package/clis/reuters/search.js +1 -63
  946. package/clis/reuters/utils.js +5 -114
  947. package/clis/rfc/rfc.js +1 -52
  948. package/clis/rfc/utils.js +1 -72
  949. package/clis/rubygems/gem.js +1 -42
  950. package/clis/rubygems/search.js +1 -47
  951. package/clis/rubygems/utils.js +1 -86
  952. package/clis/segmentfault/_signed-request.js +43 -0
  953. package/clis/segmentfault/article.js +3 -406
  954. package/clis/segmentfault/channels.js +1 -64
  955. package/clis/segmentfault/login.js +1 -15
  956. package/clis/segmentfault/stats.js +82 -0
  957. package/clis/segmentfault/tags.js +1 -67
  958. package/clis/segmentfault/whoami.js +1 -53
  959. package/clis/semanticscholar/citations.js +1 -61
  960. package/clis/semanticscholar/paper.js +1 -52
  961. package/clis/semanticscholar/recommendations.js +1 -47
  962. package/clis/semanticscholar/search.js +1 -48
  963. package/clis/semanticscholar/utils.js +1 -196
  964. package/clis/sinablog/article.js +1 -15
  965. package/clis/sinablog/hot.js +1 -15
  966. package/clis/sinablog/search.js +1 -52
  967. package/clis/sinablog/user.js +1 -16
  968. package/clis/sinablog/utils.js +9 -42
  969. package/clis/sinafinance/news.js +1 -62
  970. package/clis/sinafinance/rolling-news.js +2 -23
  971. package/clis/sinafinance/stock-rank.js +3 -28
  972. package/clis/sinafinance/stock.js +1 -121
  973. package/clis/slock/attachment-download.js +1 -72
  974. package/clis/slock/attachment-upload.js +7 -85
  975. package/clis/slock/attachment-url.js +1 -53
  976. package/clis/slock/auth-verify.js +1 -19
  977. package/clis/slock/bookmark-add.js +5 -37
  978. package/clis/slock/bookmark-list.js +4 -44
  979. package/clis/slock/bookmark-remove.js +4 -39
  980. package/clis/slock/channel-action.js +1 -63
  981. package/clis/slock/channel-archive.js +1 -9
  982. package/clis/slock/channel-create.js +1 -48
  983. package/clis/slock/channel-files.js +1 -51
  984. package/clis/slock/channel-info.js +1 -42
  985. package/clis/slock/channel-join.js +1 -9
  986. package/clis/slock/channel-leave.js +1 -9
  987. package/clis/slock/channel-list.js +1 -40
  988. package/clis/slock/channel-mark.js +1 -71
  989. package/clis/slock/channel-members.js +1 -64
  990. package/clis/slock/channel-unarchive.js +1 -11
  991. package/clis/slock/dm-list.js +1 -41
  992. package/clis/slock/errors.js +1 -30
  993. package/clis/slock/in-page.js +30 -130
  994. package/clis/slock/inbox-done.js +5 -36
  995. package/clis/slock/inbox-read-all.js +1 -32
  996. package/clis/slock/inbox.js +1 -74
  997. package/clis/slock/login.js +1 -3
  998. package/clis/slock/message-read.js +24 -131
  999. package/clis/slock/message-search.js +10 -58
  1000. package/clis/slock/message-send.js +25 -119
  1001. package/clis/slock/reaction-add.js +1 -42
  1002. package/clis/slock/reaction-remove.js +1 -42
  1003. package/clis/slock/resolve.js +1 -74
  1004. package/clis/slock/server-list.js +3 -32
  1005. package/clis/slock/server-use.js +6 -41
  1006. package/clis/slock/shared.js +1 -14
  1007. package/clis/slock/task-claim.js +4 -62
  1008. package/clis/slock/task-convert.js +13 -84
  1009. package/clis/slock/task-create.js +6 -64
  1010. package/clis/slock/task-delete.js +5 -51
  1011. package/clis/slock/task-get.js +6 -54
  1012. package/clis/slock/task-list-server.js +5 -56
  1013. package/clis/slock/task-list.js +6 -62
  1014. package/clis/slock/task-status.js +6 -80
  1015. package/clis/slock/task-unclaim.js +4 -57
  1016. package/clis/slock/thread-done.js +1 -9
  1017. package/clis/slock/thread-follow.js +1 -46
  1018. package/clis/slock/thread-list.js +1 -44
  1019. package/clis/slock/thread-state.js +1 -45
  1020. package/clis/slock/thread-undone.js +1 -9
  1021. package/clis/slock/thread-unfollow.js +1 -9
  1022. package/clis/slock/unread-summary.js +5 -36
  1023. package/clis/slock/whoami.js +1 -12
  1024. package/clis/smzdm/search.js +3 -81
  1025. package/clis/sohu/article.js +1 -501
  1026. package/clis/sohu/attributes.js +1 -36
  1027. package/clis/sohu/categories.js +1 -48
  1028. package/clis/sohu/channels.js +1 -34
  1029. package/clis/sohu/columns.js +1 -36
  1030. package/clis/sohu/login.js +1 -15
  1031. package/clis/sohu/stats.js +95 -0
  1032. package/clis/sohu/topics.js +1 -50
  1033. package/clis/sohu/whoami.js +1 -27
  1034. package/clis/spotify/spotify.js +1 -327
  1035. package/clis/spotify/utils.js +8 -66
  1036. package/clis/stackoverflow/bounties.js +1 -35
  1037. package/clis/stackoverflow/hot.js +1 -32
  1038. package/clis/stackoverflow/read.js +10 -311
  1039. package/clis/stackoverflow/related.js +1 -66
  1040. package/clis/stackoverflow/search.js +1 -35
  1041. package/clis/stackoverflow/tag.js +1 -60
  1042. package/clis/stackoverflow/unanswered.js +1 -33
  1043. package/clis/stackoverflow/user.js +1 -50
  1044. package/clis/stackoverflow/utils.js +1 -118
  1045. package/clis/steam/app.js +1 -67
  1046. package/clis/steam/search.js +1 -58
  1047. package/clis/steam/top-sellers.js +1 -26
  1048. package/clis/steam/utils.js +1 -107
  1049. package/clis/substack/auth.js +11 -0
  1050. package/clis/substack/feed.js +1 -16
  1051. package/clis/substack/post-utils.js +2 -0
  1052. package/clis/substack/publication.js +1 -16
  1053. package/clis/substack/publish.js +10 -0
  1054. package/clis/substack/search.js +1 -79
  1055. package/clis/substack/utils.js +6 -34
  1056. package/clis/suno/auth.js +2 -40
  1057. package/clis/suno/download.js +5 -128
  1058. package/clis/suno/generate.js +4 -231
  1059. package/clis/suno/list.js +4 -69
  1060. package/clis/suno/status.js +1 -63
  1061. package/clis/suno/utils.js +29 -476
  1062. package/clis/taobao/add-cart.js +6 -63
  1063. package/clis/taobao/auth.js +3 -53
  1064. package/clis/taobao/cart.js +3 -31
  1065. package/clis/taobao/detail.js +5 -28
  1066. package/clis/taobao/reviews.js +4 -29
  1067. package/clis/taobao/search.js +3 -36
  1068. package/clis/tdx/hot-rank.js +2 -25
  1069. package/clis/test-utils.js +1 -61
  1070. package/clis/ths/hot-rank.js +2 -25
  1071. package/clis/tieba/hot.js +3 -35
  1072. package/clis/tieba/posts.js +1 -86
  1073. package/clis/tieba/read.js +2 -59
  1074. package/clis/tieba/search.js +3 -58
  1075. package/clis/tieba/utils.js +1 -240
  1076. package/clis/tiktok/auth.js +2 -37
  1077. package/clis/tiktok/comment.js +5 -81
  1078. package/clis/tiktok/creator-videos.js +3 -228
  1079. package/clis/tiktok/explore.js +8 -76
  1080. package/clis/tiktok/follow.js +8 -81
  1081. package/clis/tiktok/following.js +8 -76
  1082. package/clis/tiktok/friends.js +8 -75
  1083. package/clis/tiktok/like.js +2 -17
  1084. package/clis/tiktok/live.js +7 -72
  1085. package/clis/tiktok/notifications.js +10 -86
  1086. package/clis/tiktok/profile.js +2 -31
  1087. package/clis/tiktok/publish.js +82 -0
  1088. package/clis/tiktok/save.js +2 -17
  1089. package/clis/tiktok/search.js +2 -18
  1090. package/clis/tiktok/unfollow.js +7 -79
  1091. package/clis/tiktok/unlike.js +2 -17
  1092. package/clis/tiktok/unsave.js +2 -17
  1093. package/clis/tiktok/user.js +9 -82
  1094. package/clis/tiktok/utils.js +7 -240
  1095. package/clis/toutiao/article.js +1 -0
  1096. package/clis/toutiao/articles.js +2 -51
  1097. package/clis/toutiao/auth.js +2 -35
  1098. package/clis/toutiao/hot.js +1 -63
  1099. package/clis/toutiao/utils.js +2 -161
  1100. package/clis/trae-cn/activity.js +1 -22
  1101. package/clis/trae-cn/approve.js +1 -52
  1102. package/clis/trae-cn/ask.js +1 -99
  1103. package/clis/trae-cn/dump.js +1 -5
  1104. package/clis/trae-cn/export.js +3 -40
  1105. package/clis/trae-cn/model.js +1 -22
  1106. package/clis/trae-cn/new.js +1 -63
  1107. package/clis/trae-cn/read.js +1 -23
  1108. package/clis/trae-cn/screenshot.js +1 -5
  1109. package/clis/trae-cn/select-model.js +1 -25
  1110. package/clis/trae-cn/send.js +1 -23
  1111. package/clis/trae-cn/setup.js +1 -75
  1112. package/clis/trae-cn/status.js +1 -27
  1113. package/clis/trae-cn/targets.js +1 -96
  1114. package/clis/trae-cn/utils.js +24 -318
  1115. package/clis/trae-cn/watch.js +3 -119
  1116. package/clis/trae-solo/_actions.js +5 -24
  1117. package/clis/trae-solo/_fs.js +6 -118
  1118. package/clis/trae-solo/_state.js +2 -111
  1119. package/clis/trae-solo/automation.js +4 -58
  1120. package/clis/trae-solo/history.js +2 -41
  1121. package/clis/trae-solo/mode.js +4 -54
  1122. package/clis/trae-solo/model.js +4 -88
  1123. package/clis/trae-solo/renderer-storage.js +4 -163
  1124. package/clis/trae-solo/settings.js +1 -54
  1125. package/clis/trae-solo/skill-fs.js +1 -123
  1126. package/clis/trae-solo/skill.js +12 -151
  1127. package/clis/trae-solo/state-fs.js +2 -156
  1128. package/clis/trae-solo/status.js +1 -2
  1129. package/clis/trae-solo/task-fs.js +5 -181
  1130. package/clis/trae-solo/user-rules.js +1 -29
  1131. package/clis/trae-solo/workspaces-fs.js +1 -113
  1132. package/clis/tumblr/auth.js +24 -0
  1133. package/clis/tumblr/publish.js +14 -0
  1134. package/clis/tvmaze/search.js +1 -61
  1135. package/clis/tvmaze/show.js +1 -60
  1136. package/clis/tvmaze/utils.js +1 -110
  1137. package/clis/twitter/accept.js +7 -95
  1138. package/clis/twitter/article.js +7 -61
  1139. package/clis/twitter/auth.js +2 -39
  1140. package/clis/twitter/block.js +4 -32
  1141. package/clis/twitter/bookmark-folder.js +3 -189
  1142. package/clis/twitter/bookmark-folders.js +3 -113
  1143. package/clis/twitter/bookmark.js +3 -33
  1144. package/clis/twitter/bookmarks.js +4 -158
  1145. package/clis/twitter/delete.js +5 -123
  1146. package/clis/twitter/device-follow.js +3 -184
  1147. package/clis/twitter/dm-list.js +1 -0
  1148. package/clis/twitter/dm-read.js +1 -0
  1149. package/clis/twitter/dm-send.js +13 -0
  1150. package/clis/twitter/dm-shared.js +6 -0
  1151. package/clis/twitter/download.js +6 -449
  1152. package/clis/twitter/follow-batch.js +5 -124
  1153. package/clis/twitter/follow.js +4 -32
  1154. package/clis/twitter/followers.js +5 -139
  1155. package/clis/twitter/following.js +2 -272
  1156. package/clis/twitter/hide-reply.js +3 -33
  1157. package/clis/twitter/like.js +3 -35
  1158. package/clis/twitter/likes.js +8 -235
  1159. package/clis/twitter/list-add-batch.js +1 -32
  1160. package/clis/twitter/list-add-core.js +9 -219
  1161. package/clis/twitter/list-add.js +1 -20
  1162. package/clis/twitter/list-batch-utils.js +1 -95
  1163. package/clis/twitter/list-create.js +5 -148
  1164. package/clis/twitter/list-delete.js +4 -126
  1165. package/clis/twitter/list-remove-batch.js +1 -32
  1166. package/clis/twitter/list-remove-core.js +9 -173
  1167. package/clis/twitter/list-remove.js +1 -20
  1168. package/clis/twitter/list-tweets.js +7 -179
  1169. package/clis/twitter/lists.js +6 -157
  1170. package/clis/twitter/notifications.js +2 -126
  1171. package/clis/twitter/post.js +32 -357
  1172. package/clis/twitter/profile.js +7 -115
  1173. package/clis/twitter/quote.js +7 -118
  1174. package/clis/twitter/reply-dm.js +7 -78
  1175. package/clis/twitter/reply.js +12 -167
  1176. package/clis/twitter/retweet.js +3 -35
  1177. package/clis/twitter/schedule.js +11 -167
  1178. package/clis/twitter/scheduled-delete.js +3 -48
  1179. package/clis/twitter/scheduled-list.js +2 -30
  1180. package/clis/twitter/scheduled-utils.js +3 -17
  1181. package/clis/twitter/search.js +5 -339
  1182. package/clis/twitter/shared.js +6 -494
  1183. package/clis/twitter/thread.js +4 -164
  1184. package/clis/twitter/timeline.js +3 -210
  1185. package/clis/twitter/trending.js +2 -42
  1186. package/clis/twitter/tweets.js +6 -341
  1187. package/clis/twitter/unblock.js +4 -32
  1188. package/clis/twitter/unbookmark.js +3 -33
  1189. package/clis/twitter/unfollow.js +4 -32
  1190. package/clis/twitter/unlike.js +3 -35
  1191. package/clis/twitter/unretweet.js +3 -35
  1192. package/clis/twitter/utils.js +11 -279
  1193. package/clis/uisdc/news.js +2 -82
  1194. package/clis/uiverse/_shared.js +11 -181
  1195. package/clis/uiverse/code.js +1 -49
  1196. package/clis/uiverse/preview.js +1 -73
  1197. package/clis/upwork/auth.js +2 -36
  1198. package/clis/upwork/detail.js +2 -112
  1199. package/clis/upwork/feed.js +3 -91
  1200. package/clis/upwork/search.js +2 -96
  1201. package/clis/upwork/utils.js +1 -323
  1202. package/clis/v2ex/auth.js +2 -36
  1203. package/clis/v2ex/daily.js +3 -61
  1204. package/clis/v2ex/hot.js +1 -26
  1205. package/clis/v2ex/latest.js +1 -26
  1206. package/clis/v2ex/me.js +2 -44
  1207. package/clis/v2ex/member.js +1 -28
  1208. package/clis/v2ex/node.js +1 -39
  1209. package/clis/v2ex/nodes.js +1 -26
  1210. package/clis/v2ex/notifications.js +2 -34
  1211. package/clis/v2ex/replies.js +1 -27
  1212. package/clis/v2ex/topic.js +1 -31
  1213. package/clis/v2ex/user.js +1 -34
  1214. package/clis/wanfang/search.js +4 -28
  1215. package/clis/web/read.js +9 -240
  1216. package/clis/wechat-channels/auth.js +2 -47
  1217. package/clis/wechat-channels/publish.js +37 -534
  1218. package/clis/weibo/article.js +1 -0
  1219. package/clis/weibo/auth.js +3 -39
  1220. package/clis/weibo/comments.js +4 -29
  1221. package/clis/weibo/delete.js +3 -91
  1222. package/clis/weibo/favorites.js +8 -151
  1223. package/clis/weibo/feed.js +5 -41
  1224. package/clis/weibo/hot.js +2 -24
  1225. package/clis/weibo/me.js +3 -27
  1226. package/clis/weibo/post.js +3 -32
  1227. package/clis/weibo/publish.js +10 -244
  1228. package/clis/weibo/search.js +2 -35
  1229. package/clis/weibo/user-posts.js +7 -149
  1230. package/clis/weibo/user.js +3 -29
  1231. package/clis/weibo/utils.js +3 -46
  1232. package/clis/weixin/article.js +1 -332
  1233. package/clis/weixin/create-draft.js +26 -226
  1234. package/clis/weixin/download.js +2 -273
  1235. package/clis/weixin/drafts.js +2 -41
  1236. package/clis/weixin/login.js +1 -0
  1237. package/clis/weixin/search.js +2 -115
  1238. package/clis/weixin/stats.js +43 -0
  1239. package/clis/weixin/whoami.js +1 -26
  1240. package/clis/weread/ai-outline.js +2 -171
  1241. package/clis/weread/auth.js +2 -37
  1242. package/clis/weread/book-search.js +2 -438
  1243. package/clis/weread/book.js +2 -232
  1244. package/clis/weread/highlights.js +1 -24
  1245. package/clis/weread/notebooks.js +1 -22
  1246. package/clis/weread/notes.js +1 -30
  1247. package/clis/weread/ranking.js +1 -29
  1248. package/clis/weread/search.js +1 -186
  1249. package/clis/weread/shelf.js +1 -66
  1250. package/clis/weread/utils.js +6 -260
  1251. package/clis/weread-official/book.js +1 -135
  1252. package/clis/weread-official/discover.js +1 -107
  1253. package/clis/weread-official/list-apis.js +1 -95
  1254. package/clis/weread-official/notes.js +1 -171
  1255. package/clis/weread-official/readdata.js +1 -158
  1256. package/clis/weread-official/review.js +1 -93
  1257. package/clis/weread-official/search.js +1 -106
  1258. package/clis/weread-official/shelf.js +1 -97
  1259. package/clis/weread-official/utils.js +1 -293
  1260. package/clis/wikidata/entity.js +1 -60
  1261. package/clis/wikidata/search.js +1 -50
  1262. package/clis/wikidata/utils.js +1 -117
  1263. package/clis/wikipedia/page.js +2 -94
  1264. package/clis/wikipedia/random.js +1 -20
  1265. package/clis/wikipedia/search.js +1 -31
  1266. package/clis/wikipedia/summary.js +1 -24
  1267. package/clis/wikipedia/trending.js +1 -40
  1268. package/clis/wikipedia/utils.js +1 -31
  1269. package/clis/wordpress/publish.js +1 -0
  1270. package/clis/wordpress/shared.js +1 -0
  1271. package/clis/wordpress/whoami.js +1 -0
  1272. package/clis/woshipm/article.js +1 -301
  1273. package/clis/woshipm/login.js +1 -15
  1274. package/clis/woshipm/stats.js +52 -0
  1275. package/clis/woshipm/whoami.js +1 -34
  1276. package/clis/wttr/current.js +1 -63
  1277. package/clis/wttr/forecast.js +1 -71
  1278. package/clis/wttr/utils.js +1 -50
  1279. package/clis/xianyu/auth.js +2 -59
  1280. package/clis/xianyu/chat.js +1 -74
  1281. package/clis/xianyu/im.js +13 -95
  1282. package/clis/xianyu/inbox.js +1 -96
  1283. package/clis/xianyu/item.js +5 -61
  1284. package/clis/xianyu/messages.js +1 -91
  1285. package/clis/xianyu/publish.js +19 -299
  1286. package/clis/xianyu/reply.js +1 -82
  1287. package/clis/xianyu/search.js +8 -129
  1288. package/clis/xianyu/utils.js +1 -8
  1289. package/clis/xiaoe/auth.js +2 -47
  1290. package/clis/xiaoe/catalog.js +2 -95
  1291. package/clis/xiaoe/content.js +2 -161
  1292. package/clis/xiaoe/courses.js +2 -86
  1293. package/clis/xiaoe/detail.js +2 -19
  1294. package/clis/xiaoe/play-url.js +2 -26
  1295. package/clis/xiaohongshu/ask.js +8 -304
  1296. package/clis/xiaohongshu/auth.js +2 -42
  1297. package/clis/xiaohongshu/collection-helpers.js +5 -224
  1298. package/clis/xiaohongshu/comments.js +5 -144
  1299. package/clis/xiaohongshu/creator-note-detail.js +7 -409
  1300. package/clis/xiaohongshu/creator-notes-summary.js +1 -98
  1301. package/clis/xiaohongshu/creator-notes.js +13 -385
  1302. package/clis/xiaohongshu/creator-profile.js +2 -44
  1303. package/clis/xiaohongshu/creator-stats.js +2 -65
  1304. package/clis/xiaohongshu/delete-note.js +7 -207
  1305. package/clis/xiaohongshu/download.js +4 -71
  1306. package/clis/xiaohongshu/draft-clear.js +5 -52
  1307. package/clis/xiaohongshu/draft-delete.js +9 -75
  1308. package/clis/xiaohongshu/draft-open.js +1 -43
  1309. package/clis/xiaohongshu/draft-utils.js +5 -111
  1310. package/clis/xiaohongshu/drafts.js +1 -28
  1311. package/clis/xiaohongshu/feed.js +2 -127
  1312. package/clis/xiaohongshu/follow.js +3 -154
  1313. package/clis/xiaohongshu/liked.js +1 -29
  1314. package/clis/xiaohongshu/note-helpers.js +1 -69
  1315. package/clis/xiaohongshu/note.js +2 -74
  1316. package/clis/xiaohongshu/notifications.js +1 -46
  1317. package/clis/xiaohongshu/publish-video.js +87 -0
  1318. package/clis/xiaohongshu/publish.js +54 -910
  1319. package/clis/xiaohongshu/saved.js +1 -29
  1320. package/clis/xiaohongshu/search.js +8 -194
  1321. package/clis/xiaohongshu/unfollow.js +5 -192
  1322. package/clis/xiaohongshu/user-helpers.js +1 -78
  1323. package/clis/xiaohongshu/user.js +2 -112
  1324. package/clis/xiaoyuzhou/auth.js +3 -303
  1325. package/clis/xiaoyuzhou/download.js +1 -54
  1326. package/clis/xiaoyuzhou/episode.js +1 -34
  1327. package/clis/xiaoyuzhou/podcast-episodes.js +1 -41
  1328. package/clis/xiaoyuzhou/podcast.js +1 -33
  1329. package/clis/xiaoyuzhou/transcript.js +1 -77
  1330. package/clis/xiaoyuzhou/utils.js +1 -15
  1331. package/clis/xueqiu/article.js +4 -388
  1332. package/clis/xueqiu/auth.js +2 -38
  1333. package/clis/xueqiu/comments.js +4 -321
  1334. package/clis/xueqiu/danjuan-utils.js +4 -46
  1335. package/clis/xueqiu/earnings-date.js +1 -45
  1336. package/clis/xueqiu/events.js +17 -58
  1337. package/clis/xueqiu/feed.js +1 -39
  1338. package/clis/xueqiu/fund-holdings.js +1 -29
  1339. package/clis/xueqiu/fund-snapshot.js +1 -26
  1340. package/clis/xueqiu/groups.js +1 -23
  1341. package/clis/xueqiu/hashtags.js +26 -71
  1342. package/clis/xueqiu/hot-stock.js +1 -32
  1343. package/clis/xueqiu/hot.js +1 -37
  1344. package/clis/xueqiu/kline.js +1 -44
  1345. package/clis/xueqiu/search.js +1 -37
  1346. package/clis/xueqiu/stock.js +1 -65
  1347. package/clis/xueqiu/stocks.js +13 -49
  1348. package/clis/xueqiu/users.js +12 -48
  1349. package/clis/xueqiu/utils.js +3 -42
  1350. package/clis/xueqiu/watchlist.js +1 -37
  1351. package/clis/yahoo/search.js +3 -74
  1352. package/clis/yahoo-finance/quote.js +3 -27
  1353. package/clis/yollomi/background.js +1 -46
  1354. package/clis/yollomi/edit.js +1 -57
  1355. package/clis/yollomi/face-swap.js +1 -44
  1356. package/clis/yollomi/generate.js +1 -101
  1357. package/clis/yollomi/models.js +1 -34
  1358. package/clis/yollomi/object-remover.js +1 -43
  1359. package/clis/yollomi/remove-bg.js +1 -39
  1360. package/clis/yollomi/restore.js +1 -39
  1361. package/clis/yollomi/try-on.js +1 -47
  1362. package/clis/yollomi/upload.js +4 -59
  1363. package/clis/yollomi/upscale.js +1 -54
  1364. package/clis/yollomi/utils.js +4 -168
  1365. package/clis/yollomi/video.js +1 -57
  1366. package/clis/youdao/note.js +5 -150
  1367. package/clis/youtube/auth.js +2 -36
  1368. package/clis/youtube/channel.js +4 -113
  1369. package/clis/youtube/comments.js +4 -36
  1370. package/clis/youtube/feed.js +3 -35
  1371. package/clis/youtube/history.js +3 -35
  1372. package/clis/youtube/like.js +5 -39
  1373. package/clis/youtube/playlist.js +7 -58
  1374. package/clis/youtube/publish.js +56 -0
  1375. package/clis/youtube/search.js +3 -64
  1376. package/clis/youtube/subscribe.js +7 -41
  1377. package/clis/youtube/subscriptions.js +4 -36
  1378. package/clis/youtube/transcript-group.js +2 -226
  1379. package/clis/youtube/transcript.js +13 -252
  1380. package/clis/youtube/unlike.js +5 -39
  1381. package/clis/youtube/unsubscribe.js +7 -41
  1382. package/clis/youtube/utils.js +4 -190
  1383. package/clis/youtube/video.js +4 -60
  1384. package/clis/youtube/watch-later.js +6 -42
  1385. package/clis/yuanbao/ask.js +25 -242
  1386. package/clis/yuanbao/auth.js +2 -38
  1387. package/clis/yuanbao/detail.js +1 -65
  1388. package/clis/yuanbao/history.js +1 -51
  1389. package/clis/yuanbao/new.js +4 -60
  1390. package/clis/yuanbao/read.js +1 -38
  1391. package/clis/yuanbao/send.js +1 -57
  1392. package/clis/yuanbao/shared.js +10 -224
  1393. package/clis/yuanbao/status.js +1 -44
  1394. package/clis/yuque/article.js +1 -293
  1395. package/clis/yuque/whoami.js +1 -60
  1396. package/clis/zhihu/answer-comments.js +3 -272
  1397. package/clis/zhihu/answer-detail.js +3 -208
  1398. package/clis/zhihu/answer.js +4 -43
  1399. package/clis/zhihu/article-transform.js +1 -100
  1400. package/clis/zhihu/article.js +6 -129
  1401. package/clis/zhihu/auth.js +2 -50
  1402. package/clis/zhihu/collection.js +3 -195
  1403. package/clis/zhihu/collections.js +3 -124
  1404. package/clis/zhihu/comment.js +5 -43
  1405. package/clis/zhihu/download.js +2 -43
  1406. package/clis/zhihu/favorite.js +6 -54
  1407. package/clis/zhihu/follow.js +4 -35
  1408. package/clis/zhihu/followers.js +1 -40
  1409. package/clis/zhihu/following.js +1 -40
  1410. package/clis/zhihu/hot.js +2 -25
  1411. package/clis/zhihu/like.js +4 -35
  1412. package/clis/zhihu/paginate.js +3 -120
  1413. package/clis/zhihu/pin.js +4 -59
  1414. package/clis/zhihu/pins.js +1 -41
  1415. package/clis/zhihu/question.js +3 -109
  1416. package/clis/zhihu/recommend.js +3 -99
  1417. package/clis/zhihu/search.js +3 -198
  1418. package/clis/zhihu/stats.js +41 -0
  1419. package/clis/zhihu/target.js +1 -91
  1420. package/clis/zhihu/text.js +4 -27
  1421. package/clis/zhihu/user-answers.js +1 -41
  1422. package/clis/zhihu/user-arg.js +1 -34
  1423. package/clis/zhihu/user-articles.js +1 -40
  1424. package/clis/zhihu/user.js +3 -51
  1425. package/clis/zhihu/write-shared.js +7 -176
  1426. package/clis/zlibrary/info.js +1 -48
  1427. package/clis/zlibrary/search.js +1 -47
  1428. package/clis/zlibrary/utils.js +6 -94
  1429. package/clis/zsxq/auth.js +3 -38
  1430. package/clis/zsxq/dynamics.js +1 -48
  1431. package/clis/zsxq/groups.js +1 -33
  1432. package/clis/zsxq/search.js +1 -44
  1433. package/clis/zsxq/topic.js +1 -50
  1434. package/clis/zsxq/topics.js +1 -26
  1435. package/clis/zsxq/utils.js +5 -166
  1436. package/dist/src/adapter-shadow.js +2 -72
  1437. package/dist/src/adapter-source.js +1 -24
  1438. package/dist/src/browser/analyze.js +1 -405
  1439. package/dist/src/browser/article-extract.js +2 -169
  1440. package/dist/src/browser/ax-snapshot.js +2 -217
  1441. package/dist/src/browser/base-page.js +26 -861
  1442. package/dist/src/browser/bridge-readiness.js +1 -24
  1443. package/dist/src/browser/bridge.js +1 -58
  1444. package/dist/src/browser/cdp.d.ts +5 -0
  1445. package/dist/src/browser/cdp.js +1 -536
  1446. package/dist/src/browser/compound.js +2 -32
  1447. package/dist/src/browser/config.js +1 -14
  1448. package/dist/src/browser/daemon-client.js +1 -135
  1449. package/dist/src/browser/daemon-lifecycle.js +12 -150
  1450. package/dist/src/browser/daemon-transport.js +1 -68
  1451. package/dist/src/browser/daemon-version.js +2 -12
  1452. package/dist/src/browser/dom-helpers.js +36 -109
  1453. package/dist/src/browser/dom-snapshot.js +21 -106
  1454. package/dist/src/browser/errors.js +5 -78
  1455. package/dist/src/browser/extract.js +6 -96
  1456. package/dist/src/browser/find.js +13 -83
  1457. package/dist/src/browser/fingerprint.d.ts +44 -0
  1458. package/dist/src/browser/fingerprint.js +82 -0
  1459. package/dist/src/browser/html-tree.js +7 -58
  1460. package/dist/src/browser/index.js +1 -12
  1461. package/dist/src/browser/managed-chrome.d.ts +89 -0
  1462. package/dist/src/browser/managed-chrome.js +1 -0
  1463. package/dist/src/browser/network-cache.js +1 -78
  1464. package/dist/src/browser/network-key.js +1 -66
  1465. package/dist/src/browser/page.js +7 -445
  1466. package/dist/src/browser/profile.d.ts +82 -0
  1467. package/dist/src/browser/profile.js +2 -85
  1468. package/dist/src/browser/proxy-test.d.ts +28 -0
  1469. package/dist/src/browser/proxy-test.js +12 -0
  1470. package/dist/src/browser/shape-filter.js +1 -101
  1471. package/dist/src/browser/shape.js +1 -95
  1472. package/dist/src/browser/stealth.js +2 -25
  1473. package/dist/src/browser/tabs.js +2 -70
  1474. package/dist/src/browser/target-errors.js +1 -45
  1475. package/dist/src/browser/target-resolver.js +27 -174
  1476. package/dist/src/browser/trace.js +2 -91
  1477. package/dist/src/browser/utils.js +1 -64
  1478. package/dist/src/browser/verify-fixture.js +2 -318
  1479. package/dist/src/browser/visual-refs.js +6 -20
  1480. package/dist/src/browser-session-lock.d.ts +13 -0
  1481. package/dist/src/browser-session-lock.js +1 -0
  1482. package/dist/src/browser-session-lock.test.d.ts +1 -0
  1483. package/dist/src/build-manifest.js +15 -362
  1484. package/dist/src/capabilityRouting.js +1 -56
  1485. package/dist/src/cli-argv-preprocess.js +1 -303
  1486. package/dist/src/cli.js +29 -3319
  1487. package/dist/src/commanderAdapter.js +3 -210
  1488. package/dist/src/commands/auth.js +2 -434
  1489. package/dist/src/commands/daemon.d.ts +16 -0
  1490. package/dist/src/commands/daemon.js +1 -98
  1491. package/dist/src/completion-fast.js +1 -88
  1492. package/dist/src/completion-shared.js +4 -34
  1493. package/dist/src/completion.js +1 -68
  1494. package/dist/src/constants.js +1 -38
  1495. package/dist/src/convention-audit.js +2 -553
  1496. package/dist/src/daemon-utils.js +1 -37
  1497. package/dist/src/daemon.js +1 -455
  1498. package/dist/src/discovery.js +2 -280
  1499. package/dist/src/doctor.js +17 -230
  1500. package/dist/src/download/article-download.js +21 -305
  1501. package/dist/src/download/index.js +7 -369
  1502. package/dist/src/download/media-download.js +1 -127
  1503. package/dist/src/download/progress.js +5 -120
  1504. package/dist/src/electron-apps.js +1 -91
  1505. package/dist/src/errors.js +2 -193
  1506. package/dist/src/execution.js +2 -513
  1507. package/dist/src/external.js +1 -227
  1508. package/dist/src/help.js +8 -555
  1509. package/dist/src/hooks.js +1 -58
  1510. package/dist/src/interceptor.js +25 -85
  1511. package/dist/src/launcher.d.ts +1 -1
  1512. package/dist/src/launcher.js +7 -232
  1513. package/dist/src/logger.js +9 -49
  1514. package/dist/src/main.js +9 -175
  1515. package/dist/src/manifest-types.js +1 -9
  1516. package/dist/src/node-network.js +1 -177
  1517. package/dist/src/observation/artifact.js +8 -260
  1518. package/dist/src/observation/events.js +1 -1
  1519. package/dist/src/observation/index.js +1 -7
  1520. package/dist/src/observation/manager.js +1 -27
  1521. package/dist/src/observation/redaction.js +2 -81
  1522. package/dist/src/observation/retention.js +1 -160
  1523. package/dist/src/observation/ring-buffer.js +1 -45
  1524. package/dist/src/observation/session.js +1 -50
  1525. package/dist/src/output.js +2 -159
  1526. package/dist/src/package-paths.js +1 -41
  1527. package/dist/src/pipeline/executor.js +1 -93
  1528. package/dist/src/pipeline/index.js +1 -5
  1529. package/dist/src/pipeline/registry.js +1 -55
  1530. package/dist/src/pipeline/steps/browser.js +1 -86
  1531. package/dist/src/pipeline/steps/download.js +1 -252
  1532. package/dist/src/pipeline/steps/fetch.js +6 -112
  1533. package/dist/src/pipeline/steps/intercept.js +1 -50
  1534. package/dist/src/pipeline/steps/tap.js +17 -57
  1535. package/dist/src/pipeline/steps/transform.js +1 -97
  1536. package/dist/src/pipeline/template.js +1 -354
  1537. package/dist/src/plugin-manifest.js +1 -160
  1538. package/dist/src/plugin-scaffold.js +19 -87
  1539. package/dist/src/plugin.js +20 -1250
  1540. package/dist/src/rate-limit.js +2 -125
  1541. package/dist/src/registry-api.js +1 -10
  1542. package/dist/src/registry.js +1 -125
  1543. package/dist/src/runtime-detect.js +1 -47
  1544. package/dist/src/runtime.d.ts +10 -0
  1545. package/dist/src/runtime.js +1 -54
  1546. package/dist/src/scripts/framework.js +1 -25
  1547. package/dist/src/scripts/interact.js +1 -20
  1548. package/dist/src/scripts/store.js +1 -48
  1549. package/dist/src/serialization.js +4 -102
  1550. package/dist/src/skills.js +6 -127
  1551. package/dist/src/snapshotFormatter.js +3 -338
  1552. package/dist/src/tui.js +16 -179
  1553. package/dist/src/types.js +1 -7
  1554. package/dist/src/update-check.js +8 -202
  1555. package/dist/src/utils.js +6 -120
  1556. package/dist/src/validate.js +3 -129
  1557. package/dist/src/verify.js +2 -71
  1558. package/dist/src/version.js +1 -22
  1559. package/package.json +7 -4
  1560. package/scripts/minify-release.mjs +115 -0
  1561. package/clis/12306/utils.test.js +0 -424
  1562. package/clis/1688/assets.test.js +0 -39
  1563. package/clis/1688/download.test.js +0 -31
  1564. package/clis/1688/item.test.js +0 -67
  1565. package/clis/1688/search.test.js +0 -75
  1566. package/clis/1688/shared.test.js +0 -57
  1567. package/clis/1688/store.test.js +0 -62
  1568. package/clis/36kr/article.test.js +0 -46
  1569. package/clis/36kr/hot.test.js +0 -15
  1570. package/clis/36kr/news.test.js +0 -85
  1571. package/clis/51job/utils.test.js +0 -69
  1572. package/clis/_atlassian/shared.test.js +0 -170
  1573. package/clis/_shared/article/auth.test.js +0 -98
  1574. package/clis/_shared/article/format.test.js +0 -68
  1575. package/clis/_shared/article/images.test.js +0 -182
  1576. package/clis/_shared/article/page-runtime.test.js +0 -155
  1577. package/clis/_shared/article/publish.test.js +0 -104
  1578. package/clis/_shared/site-auth.test.js +0 -98
  1579. package/clis/aibase/news.test.js +0 -59
  1580. package/clis/amazon/bestsellers.test.js +0 -29
  1581. package/clis/amazon/discussion.test.js +0 -124
  1582. package/clis/amazon/offer.test.js +0 -29
  1583. package/clis/amazon/product.test.js +0 -24
  1584. package/clis/amazon/rankings.test.js +0 -41
  1585. package/clis/amazon/search.test.js +0 -22
  1586. package/clis/amazon/shared.test.js +0 -44
  1587. package/clis/antigravity/antigravity.test.js +0 -172
  1588. package/clis/apple-podcasts/commands.test.js +0 -119
  1589. package/clis/apple-podcasts/utils.test.js +0 -57
  1590. package/clis/archive/archive.test.js +0 -262
  1591. package/clis/arxiv/arxiv.test.js +0 -112
  1592. package/clis/autohome/autohome.test.js +0 -115
  1593. package/clis/baidu-scholar/search.test.js +0 -23
  1594. package/clis/baijiahao/article.test.js +0 -395
  1595. package/clis/barchart/greeks.test.js +0 -138
  1596. package/clis/bilibili/article.test.js +0 -384
  1597. package/clis/bilibili/comment.test.js +0 -153
  1598. package/clis/bilibili/comments.test.js +0 -142
  1599. package/clis/bilibili/download.test.js +0 -173
  1600. package/clis/bilibili/dynamic.test.js +0 -68
  1601. package/clis/bilibili/follow.test.js +0 -203
  1602. package/clis/bilibili/hot.test.js +0 -17
  1603. package/clis/bilibili/subtitle.test.js +0 -240
  1604. package/clis/bilibili/summary.test.js +0 -210
  1605. package/clis/bilibili/utils.test.js +0 -97
  1606. package/clis/bilibili/video.test.js +0 -308
  1607. package/clis/binance/commands.test.js +0 -70
  1608. package/clis/bloomberg/businessweek.test.js +0 -149
  1609. package/clis/bloomberg/utils.test.js +0 -129
  1610. package/clis/bluesky/feeds.js +0 -28
  1611. package/clis/bluesky/followers.js +0 -28
  1612. package/clis/bluesky/following.js +0 -28
  1613. package/clis/bluesky/profile.js +0 -30
  1614. package/clis/bluesky/search.js +0 -29
  1615. package/clis/bluesky/starter-packs.js +0 -29
  1616. package/clis/bluesky/thread.js +0 -31
  1617. package/clis/bluesky/trending.js +0 -20
  1618. package/clis/bluesky/user.js +0 -35
  1619. package/clis/booking/booking.test.js +0 -356
  1620. package/clis/boss/chatlist.test.js +0 -211
  1621. package/clis/boss/chatmsg.test.js +0 -230
  1622. package/clis/boss/search.test.js +0 -78
  1623. package/clis/boss/utils.test.js +0 -34
  1624. package/clis/brave/search.test.js +0 -76
  1625. package/clis/chaoxing/utils.test.js +0 -45
  1626. package/clis/chatgpt/commands.test.js +0 -204
  1627. package/clis/chatgpt/envelope.test.js +0 -108
  1628. package/clis/chatgpt/image.test.js +0 -207
  1629. package/clis/chatgpt/model.test.js +0 -36
  1630. package/clis/chatgpt/utils.test.js +0 -1453
  1631. package/clis/chatgpt-app/ax.test.js +0 -95
  1632. package/clis/chatgpt-app/commands.test.js +0 -45
  1633. package/clis/chatwise/composer.test.js +0 -186
  1634. package/clis/chess/analyze.test.js +0 -79
  1635. package/clis/chess/game.test.js +0 -178
  1636. package/clis/chess/games.test.js +0 -164
  1637. package/clis/chess/stats.test.js +0 -79
  1638. package/clis/chess/utils.test.js +0 -230
  1639. package/clis/claude/ask.test.js +0 -338
  1640. package/clis/claude/commands.test.js +0 -118
  1641. package/clis/claude/utils.test.js +0 -148
  1642. package/clis/cnblogs/article.test.js +0 -346
  1643. package/clis/cnki/search.test.js +0 -18
  1644. package/clis/codex/sidebar.test.js +0 -388
  1645. package/clis/coingecko/coingecko.test.js +0 -109
  1646. package/clis/confluence/commands.test.js +0 -195
  1647. package/clis/coupang/coupang.test.js +0 -159
  1648. package/clis/coupang/utils.test.js +0 -62
  1649. package/clis/csdn/article.test.js +0 -378
  1650. package/clis/cto51/article.test.js +0 -326
  1651. package/clis/ctrip/ctrip.test.js +0 -719
  1652. package/clis/dblp/dblp.test.js +0 -397
  1653. package/clis/deepseek/ask.test.js +0 -399
  1654. package/clis/deepseek/detail.test.js +0 -81
  1655. package/clis/deepseek/send.test.js +0 -107
  1656. package/clis/deepseek/utils.test.js +0 -370
  1657. package/clis/defillama/defillama.test.js +0 -99
  1658. package/clis/devto/devto.test.js +0 -236
  1659. package/clis/dianping/dianping.test.js +0 -578
  1660. package/clis/discord-app/commands.test.js +0 -395
  1661. package/clis/dongchedi/dongchedi.test.js +0 -191
  1662. package/clis/douban/article.test.js +0 -136
  1663. package/clis/douban/download.test.js +0 -170
  1664. package/clis/douban/movie-hot.test.js +0 -14
  1665. package/clis/douban/search.test.js +0 -11
  1666. package/clis/douban/subject.test.js +0 -11
  1667. package/clis/douban/utils.test.js +0 -488
  1668. package/clis/doubao/detail.test.js +0 -42
  1669. package/clis/doubao/history.test.js +0 -37
  1670. package/clis/doubao/utils.test.js +0 -396
  1671. package/clis/douyin/_shared/browser-fetch.test.js +0 -64
  1672. package/clis/douyin/_shared/creation-id.test.js +0 -22
  1673. package/clis/douyin/_shared/imagex-upload.test.js +0 -87
  1674. package/clis/douyin/_shared/sts2.test.js +0 -27
  1675. package/clis/douyin/_shared/text-extra.test.js +0 -37
  1676. package/clis/douyin/_shared/timing.test.js +0 -28
  1677. package/clis/douyin/_shared/tos-upload-short-read.test.js +0 -83
  1678. package/clis/douyin/_shared/tos-upload.test.js +0 -229
  1679. package/clis/douyin/_shared/transcode.test.js +0 -91
  1680. package/clis/douyin/_shared/vod-upload.test.js +0 -38
  1681. package/clis/douyin/activities.test.js +0 -55
  1682. package/clis/douyin/collections.test.js +0 -45
  1683. package/clis/douyin/delete.test.js +0 -100
  1684. package/clis/douyin/draft.test.js +0 -347
  1685. package/clis/douyin/drafts.test.js +0 -11
  1686. package/clis/douyin/hashtag.test.js +0 -171
  1687. package/clis/douyin/location.test.js +0 -23
  1688. package/clis/douyin/profile.test.js +0 -46
  1689. package/clis/douyin/publish-upload-id.test.js +0 -206
  1690. package/clis/douyin/publish.test.js +0 -38
  1691. package/clis/douyin/search.test.js +0 -307
  1692. package/clis/douyin/stats.test.js +0 -22
  1693. package/clis/douyin/update.test.js +0 -11
  1694. package/clis/douyin/user-videos.test.js +0 -151
  1695. package/clis/douyin/videos.test.js +0 -54
  1696. package/clis/duckduckgo/search.test.js +0 -128
  1697. package/clis/duckduckgo/suggest.test.js +0 -66
  1698. package/clis/eastmoney/article.test.js +0 -427
  1699. package/clis/eastmoney/hot-rank.test.js +0 -59
  1700. package/clis/endoflife/endoflife.test.js +0 -51
  1701. package/clis/facebook/feed.test.js +0 -169
  1702. package/clis/facebook/marketplace.test.js +0 -91
  1703. package/clis/facebook/notifications.test.js +0 -458
  1704. package/clis/facebook/search.test.js +0 -55
  1705. package/clis/flathub/flathub.test.js +0 -90
  1706. package/clis/flomo/memos.test.js +0 -144
  1707. package/clis/gemini/ask.test.js +0 -100
  1708. package/clis/gemini/commands.test.js +0 -212
  1709. package/clis/gemini/deep-research-result.test.js +0 -155
  1710. package/clis/gemini/deep-research.test.js +0 -181
  1711. package/clis/gemini/reply-state.test.js +0 -671
  1712. package/clis/gemini/utils.test.js +0 -392
  1713. package/clis/geogebra/geogebra.test.js +0 -175
  1714. package/clis/gitee/search.test.js +0 -65
  1715. package/clis/gitee/user.test.js +0 -63
  1716. package/clis/github-trending/repos.test.js +0 -149
  1717. package/clis/google/utils.test.js +0 -75
  1718. package/clis/google-scholar/cite.test.js +0 -47
  1719. package/clis/google-scholar/profile.test.js +0 -49
  1720. package/clis/google-scholar/search.test.js +0 -71
  1721. package/clis/goproxy/goproxy.test.js +0 -103
  1722. package/clis/gov-law/commands.test.js +0 -39
  1723. package/clis/gov-policy/gov-policy.test.js +0 -224
  1724. package/clis/grok/ask.test.js +0 -29
  1725. package/clis/grok/export.test.js +0 -210
  1726. package/clis/grok/utils.test.js +0 -141
  1727. package/clis/guazi/guazi.test.js +0 -126
  1728. package/clis/hackernews/hackernews.test.js +0 -132
  1729. package/clis/hf/hf.test.js +0 -16
  1730. package/clis/huodongxing/events.test.js +0 -296
  1731. package/clis/hupu/hot.test.js +0 -224
  1732. package/clis/imdb/utils.test.js +0 -88
  1733. package/clis/imooc/article.test.js +0 -264
  1734. package/clis/indeed/indeed.test.js +0 -375
  1735. package/clis/instagram/_shared/private-publish.test.js +0 -705
  1736. package/clis/instagram/_shared/protocol-capture.test.js +0 -114
  1737. package/clis/instagram/detail.test.js +0 -137
  1738. package/clis/instagram/download.test.js +0 -118
  1739. package/clis/instagram/instagram.test.js +0 -381
  1740. package/clis/instagram/note.test.js +0 -53
  1741. package/clis/instagram/post.test.js +0 -1647
  1742. package/clis/instagram/reel.test.js +0 -167
  1743. package/clis/instagram/story.test.js +0 -134
  1744. package/clis/instagram/user.test.js +0 -282
  1745. package/clis/jd/commands.test.js +0 -41
  1746. package/clis/jd/item.test.js +0 -354
  1747. package/clis/jianyu/search.test.js +0 -153
  1748. package/clis/jianyu/shared/procurement-contract.test.js +0 -72
  1749. package/clis/jianyu/shared/procurement-detail.test.js +0 -84
  1750. package/clis/jike/read.test.js +0 -86
  1751. package/clis/jira/commands.test.js +0 -287
  1752. package/clis/juejin/article.test.js +0 -299
  1753. package/clis/juejin/juejin.test.js +0 -241
  1754. package/clis/kimi/kimi.test.js +0 -187
  1755. package/clis/lesswrong/frontpage.test.js +0 -37
  1756. package/clis/lichess/lichess.test.js +0 -85
  1757. package/clis/linkedin/connect.test.js +0 -328
  1758. package/clis/linkedin/inbox.test.js +0 -152
  1759. package/clis/linkedin/job-detail.test.js +0 -64
  1760. package/clis/linkedin/jobs-preferences.test.js +0 -43
  1761. package/clis/linkedin/people-search.test.js +0 -216
  1762. package/clis/linkedin/post-analytics.test.js +0 -40
  1763. package/clis/linkedin/posts.test.js +0 -40
  1764. package/clis/linkedin/profile-analytics.test.js +0 -67
  1765. package/clis/linkedin/profile-experience.test.js +0 -152
  1766. package/clis/linkedin/profile-projects.test.js +0 -111
  1767. package/clis/linkedin/profile-read.test.js +0 -77
  1768. package/clis/linkedin/safe-send.test.js +0 -255
  1769. package/clis/linkedin/salesnav-inbox.test.js +0 -113
  1770. package/clis/linkedin/salesnav-message.test.js +0 -172
  1771. package/clis/linkedin/salesnav-search.test.js +0 -76
  1772. package/clis/linkedin/salesnav-thread.test.js +0 -79
  1773. package/clis/linkedin/search.test.js +0 -222
  1774. package/clis/linkedin/sent-invitations.test.js +0 -62
  1775. package/clis/linkedin/services-read.test.js +0 -105
  1776. package/clis/linkedin/thread-snapshot.test.js +0 -89
  1777. package/clis/linkedin/timeline.test.js +0 -81
  1778. package/clis/linkedin-learning/course.test.js +0 -114
  1779. package/clis/linkedin-learning/search.test.js +0 -144
  1780. package/clis/linkedin-learning/trending.test.js +0 -123
  1781. package/clis/linux-do/feed.test.js +0 -153
  1782. package/clis/linux-do/topic-content.test.js +0 -59
  1783. package/clis/lobsters/lobsters.test.js +0 -169
  1784. package/clis/maimai/search-talents.test.js +0 -29
  1785. package/clis/manus/manus.test.js +0 -382
  1786. package/clis/notebooklm/add-source.test.js +0 -97
  1787. package/clis/notebooklm/compat.test.js +0 -16
  1788. package/clis/notebooklm/create.test.js +0 -58
  1789. package/clis/notebooklm/generate-audio.test.js +0 -63
  1790. package/clis/notebooklm/generate-slides.test.js +0 -75
  1791. package/clis/notebooklm/history.test.js +0 -58
  1792. package/clis/notebooklm/note-list.test.js +0 -56
  1793. package/clis/notebooklm/notes-get.test.js +0 -72
  1794. package/clis/notebooklm/open.test.js +0 -63
  1795. package/clis/notebooklm/rpc.test.js +0 -131
  1796. package/clis/notebooklm/source-fulltext.test.js +0 -106
  1797. package/clis/notebooklm/source-get.test.js +0 -84
  1798. package/clis/notebooklm/source-guide.test.js +0 -104
  1799. package/clis/notebooklm/summary.test.js +0 -78
  1800. package/clis/notebooklm/utils.test.js +0 -449
  1801. package/clis/notebooklm/write-note.test.js +0 -70
  1802. package/clis/nuget/nuget.test.js +0 -111
  1803. package/clis/oeis/oeis.test.js +0 -88
  1804. package/clis/ones/task-helpers.test.js +0 -12
  1805. package/clis/ones/worklog.test.js +0 -20
  1806. package/clis/openfda/openfda.test.js +0 -114
  1807. package/clis/openreview/openreview.test.js +0 -427
  1808. package/clis/oschina/article.test.js +0 -361
  1809. package/clis/osv/osv.test.js +0 -97
  1810. package/clis/paperreview/commands.test.js +0 -243
  1811. package/clis/paperreview/utils.test.js +0 -49
  1812. package/clis/pixiv/detail.test.js +0 -93
  1813. package/clis/pixiv/download.test.js +0 -97
  1814. package/clis/pixiv/illusts.test.js +0 -99
  1815. package/clis/pixiv/search.test.js +0 -83
  1816. package/clis/pixiv/user.test.js +0 -100
  1817. package/clis/powerchina/search.test.js +0 -93
  1818. package/clis/producthunt/utils.test.js +0 -64
  1819. package/clis/pubmed/pubmed.test.js +0 -464
  1820. package/clis/qoder/qoder.test.js +0 -125
  1821. package/clis/quark/utils.test.js +0 -58
  1822. package/clis/qwen/ask.test.js +0 -36
  1823. package/clis/qwen/utils.test.js +0 -128
  1824. package/clis/reddit/extract-media.test.js +0 -149
  1825. package/clis/reddit/frontpage.test.js +0 -34
  1826. package/clis/reddit/home.test.js +0 -170
  1827. package/clis/reddit/hot.test.js +0 -32
  1828. package/clis/reddit/popular.test.js +0 -26
  1829. package/clis/reddit/read.test.js +0 -402
  1830. package/clis/reddit/reply.test.js +0 -89
  1831. package/clis/reddit/search.test.js +0 -26
  1832. package/clis/reddit/subreddit-info.test.js +0 -163
  1833. package/clis/reddit/subreddit.test.js +0 -31
  1834. package/clis/reddit/subscribed.test.js +0 -168
  1835. package/clis/reddit/whoami.test.js +0 -105
  1836. package/clis/rednote/navigation.test.js +0 -26
  1837. package/clis/rednote/rednote.test.js +0 -240
  1838. package/clis/rest-countries/rest-countries.test.js +0 -83
  1839. package/clis/reuters/reuters.test.js +0 -299
  1840. package/clis/rfc/rfc.test.js +0 -74
  1841. package/clis/segmentfault/article.test.js +0 -470
  1842. package/clis/semanticscholar/semanticscholar.test.js +0 -279
  1843. package/clis/sinafinance/stock.test.js +0 -59
  1844. package/clis/slock/api-base-canary.test.js +0 -62
  1845. package/clis/slock/attachment-download.test.js +0 -102
  1846. package/clis/slock/attachment-upload.test.js +0 -131
  1847. package/clis/slock/attachment-url.test.js +0 -41
  1848. package/clis/slock/bookmark-add.test.js +0 -38
  1849. package/clis/slock/bookmark-list.test.js +0 -47
  1850. package/clis/slock/bookmark-remove.test.js +0 -24
  1851. package/clis/slock/channel-action.test.js +0 -65
  1852. package/clis/slock/channel-create.test.js +0 -40
  1853. package/clis/slock/channel-files.test.js +0 -32
  1854. package/clis/slock/channel-info.test.js +0 -25
  1855. package/clis/slock/channel-list.test.js +0 -37
  1856. package/clis/slock/channel-mark.test.js +0 -49
  1857. package/clis/slock/channel-members.test.js +0 -44
  1858. package/clis/slock/cross-command.test.js +0 -21
  1859. package/clis/slock/dm-list.test.js +0 -26
  1860. package/clis/slock/error-detail-canary.test.js +0 -144
  1861. package/clis/slock/errors.test.js +0 -29
  1862. package/clis/slock/in-page.test.js +0 -362
  1863. package/clis/slock/inbox-done.test.js +0 -21
  1864. package/clis/slock/inbox-read-all.test.js +0 -20
  1865. package/clis/slock/inbox.test.js +0 -46
  1866. package/clis/slock/message-read.test.js +0 -83
  1867. package/clis/slock/message-search.test.js +0 -61
  1868. package/clis/slock/message-send.test.js +0 -127
  1869. package/clis/slock/reaction-add.test.js +0 -36
  1870. package/clis/slock/reaction-remove.test.js +0 -29
  1871. package/clis/slock/resolve.test.js +0 -102
  1872. package/clis/slock/server-list.test.js +0 -24
  1873. package/clis/slock/server-override-canary.test.js +0 -87
  1874. package/clis/slock/server-use.test.js +0 -48
  1875. package/clis/slock/short-id-canary.test.js +0 -86
  1876. package/clis/slock/site-session-canary.test.js +0 -49
  1877. package/clis/slock/task-claim.test.js +0 -81
  1878. package/clis/slock/task-convert.test.js +0 -82
  1879. package/clis/slock/task-create.test.js +0 -65
  1880. package/clis/slock/task-delete.test.js +0 -52
  1881. package/clis/slock/task-get.test.js +0 -45
  1882. package/clis/slock/task-list-server.test.js +0 -48
  1883. package/clis/slock/task-list.test.js +0 -59
  1884. package/clis/slock/task-status.test.js +0 -76
  1885. package/clis/slock/task-unclaim.test.js +0 -49
  1886. package/clis/slock/thread-follow.test.js +0 -34
  1887. package/clis/slock/thread-list.test.js +0 -24
  1888. package/clis/slock/thread-state.test.js +0 -38
  1889. package/clis/slock/unread-summary.test.js +0 -31
  1890. package/clis/slock/whoami.test.js +0 -23
  1891. package/clis/smzdm/search.test.js +0 -114
  1892. package/clis/sohu/article.test.js +0 -397
  1893. package/clis/spotify/utils.test.js +0 -67
  1894. package/clis/stackoverflow/stackoverflow.test.js +0 -404
  1895. package/clis/steam/steam.test.js +0 -46
  1896. package/clis/substack/utils.test.js +0 -44
  1897. package/clis/suno/commands.test.js +0 -188
  1898. package/clis/suno/download.test.js +0 -151
  1899. package/clis/suno/generate.test.js +0 -252
  1900. package/clis/suno/utils.test.js +0 -329
  1901. package/clis/taobao/commands.test.js +0 -41
  1902. package/clis/tdx/hot-rank.test.js +0 -59
  1903. package/clis/ths/hot-rank.test.js +0 -64
  1904. package/clis/tieba/commands.test.js +0 -79
  1905. package/clis/tieba/utils.test.js +0 -290
  1906. package/clis/tiktok/creator-videos.test.js +0 -113
  1907. package/clis/tiktok/refactor.test.js +0 -389
  1908. package/clis/tiktok/write-refactor.test.js +0 -370
  1909. package/clis/toutiao/toutiao.test.js +0 -378
  1910. package/clis/trae-cn/trae-cn.test.js +0 -412
  1911. package/clis/trae-solo/trae-solo.test.js +0 -67
  1912. package/clis/tvmaze/tvmaze.test.js +0 -93
  1913. package/clis/twitter/bookmark-folder.test.js +0 -396
  1914. package/clis/twitter/bookmark-folders.test.js +0 -152
  1915. package/clis/twitter/bookmark.test.js +0 -74
  1916. package/clis/twitter/bookmarks.test.js +0 -206
  1917. package/clis/twitter/delete.test.js +0 -103
  1918. package/clis/twitter/device-follow.test.js +0 -287
  1919. package/clis/twitter/download.test.js +0 -457
  1920. package/clis/twitter/follow-batch.test.js +0 -137
  1921. package/clis/twitter/followers.test.js +0 -62
  1922. package/clis/twitter/following.test.js +0 -359
  1923. package/clis/twitter/hide-reply.test.js +0 -76
  1924. package/clis/twitter/like.test.js +0 -73
  1925. package/clis/twitter/likes.test.js +0 -220
  1926. package/clis/twitter/list-add.test.js +0 -133
  1927. package/clis/twitter/list-batch.test.js +0 -113
  1928. package/clis/twitter/list-create.test.js +0 -169
  1929. package/clis/twitter/list-delete.test.js +0 -102
  1930. package/clis/twitter/list-remove.test.js +0 -147
  1931. package/clis/twitter/list-tweets.test.js +0 -198
  1932. package/clis/twitter/lists.test.js +0 -253
  1933. package/clis/twitter/post.test.js +0 -334
  1934. package/clis/twitter/profile.test.js +0 -150
  1935. package/clis/twitter/quote.test.js +0 -230
  1936. package/clis/twitter/reply.test.js +0 -237
  1937. package/clis/twitter/retweet.test.js +0 -73
  1938. package/clis/twitter/schedule.test.js +0 -86
  1939. package/clis/twitter/scheduled-delete.test.js +0 -58
  1940. package/clis/twitter/scheduled-list.test.js +0 -36
  1941. package/clis/twitter/search.test.js +0 -400
  1942. package/clis/twitter/shared.test.js +0 -1012
  1943. package/clis/twitter/thread.test.js +0 -58
  1944. package/clis/twitter/timeline.test.js +0 -104
  1945. package/clis/twitter/trending.test.js +0 -15
  1946. package/clis/twitter/tweets.test.js +0 -487
  1947. package/clis/twitter/unbookmark.test.js +0 -73
  1948. package/clis/twitter/unlike.test.js +0 -75
  1949. package/clis/twitter/unretweet.test.js +0 -73
  1950. package/clis/twitter/utils.test.js +0 -169
  1951. package/clis/uisdc/news.test.js +0 -66
  1952. package/clis/uiverse/_shared.test.js +0 -62
  1953. package/clis/uiverse/navigation.test.js +0 -12
  1954. package/clis/upwork/upwork.test.js +0 -566
  1955. package/clis/wanfang/search.test.js +0 -23
  1956. package/clis/web/read.test.js +0 -392
  1957. package/clis/wechat-channels/publish.test.js +0 -144
  1958. package/clis/weibo/delete.test.js +0 -94
  1959. package/clis/weibo/envelope.test.js +0 -85
  1960. package/clis/weibo/favorites.test.js +0 -114
  1961. package/clis/weibo/publish.test.js +0 -192
  1962. package/clis/weibo/user-posts.test.js +0 -92
  1963. package/clis/weibo/utils.test.js +0 -36
  1964. package/clis/weixin/article.test.js +0 -299
  1965. package/clis/weixin/download.test.js +0 -106
  1966. package/clis/weixin/drafts.test.js +0 -69
  1967. package/clis/weixin/search.test.js +0 -227
  1968. package/clis/weread/ai-outline.test.js +0 -83
  1969. package/clis/weread/book-search.test.js +0 -242
  1970. package/clis/weread/commands.test.js +0 -398
  1971. package/clis/weread/private-api-regression.test.js +0 -369
  1972. package/clis/weread/search-regression.test.js +0 -494
  1973. package/clis/weread/utils.test.js +0 -128
  1974. package/clis/weread-official/commands.test.js +0 -385
  1975. package/clis/weread-official/utils.test.js +0 -242
  1976. package/clis/wikidata/wikidata.test.js +0 -83
  1977. package/clis/wikipedia/trending.test.js +0 -57
  1978. package/clis/woshipm/article.test.js +0 -305
  1979. package/clis/wttr/wttr.test.js +0 -84
  1980. package/clis/xianyu/chat.test.js +0 -84
  1981. package/clis/xianyu/im.test.js +0 -253
  1982. package/clis/xianyu/item.test.js +0 -56
  1983. package/clis/xianyu/publish.test.js +0 -220
  1984. package/clis/xianyu/search.test.js +0 -104
  1985. package/clis/xiaoe/xiaoe.test.js +0 -486
  1986. package/clis/xiaohongshu/ask.test.js +0 -271
  1987. package/clis/xiaohongshu/collection-helpers.test.js +0 -125
  1988. package/clis/xiaohongshu/comments.test.js +0 -320
  1989. package/clis/xiaohongshu/creator-note-detail.test.js +0 -451
  1990. package/clis/xiaohongshu/creator-notes-summary.test.js +0 -94
  1991. package/clis/xiaohongshu/creator-notes.test.js +0 -281
  1992. package/clis/xiaohongshu/creator-stats.test.js +0 -24
  1993. package/clis/xiaohongshu/delete-note.test.js +0 -177
  1994. package/clis/xiaohongshu/download.test.js +0 -415
  1995. package/clis/xiaohongshu/drafts.test.js +0 -172
  1996. package/clis/xiaohongshu/feed.test.js +0 -126
  1997. package/clis/xiaohongshu/follow.test.js +0 -211
  1998. package/clis/xiaohongshu/liked.test.js +0 -82
  1999. package/clis/xiaohongshu/navigation.test.js +0 -38
  2000. package/clis/xiaohongshu/note.test.js +0 -249
  2001. package/clis/xiaohongshu/publish.test.js +0 -1155
  2002. package/clis/xiaohongshu/saved.test.js +0 -143
  2003. package/clis/xiaohongshu/search.test.js +0 -394
  2004. package/clis/xiaohongshu/user-helpers.test.js +0 -160
  2005. package/clis/xiaohongshu/user.test.js +0 -141
  2006. package/clis/xiaoyuzhou/auth.test.js +0 -124
  2007. package/clis/xiaoyuzhou/download.test.js +0 -135
  2008. package/clis/xiaoyuzhou/podcast-episodes.test.js +0 -78
  2009. package/clis/xiaoyuzhou/transcript.test.js +0 -195
  2010. package/clis/xiaoyuzhou/utils.test.js +0 -39
  2011. package/clis/xueqiu/article.test.js +0 -505
  2012. package/clis/xueqiu/comments.test.js +0 -696
  2013. package/clis/xueqiu/danjuan-utils.test.js +0 -41
  2014. package/clis/xueqiu/utils.test.js +0 -26
  2015. package/clis/yahoo/search.test.js +0 -94
  2016. package/clis/youdao/note.test.js +0 -99
  2017. package/clis/youtube/channel.test.js +0 -283
  2018. package/clis/youtube/feed.test.js +0 -131
  2019. package/clis/youtube/transcript-group.test.js +0 -99
  2020. package/clis/youtube/transcript.test.js +0 -296
  2021. package/clis/youtube/utils.test.js +0 -84
  2022. package/clis/youtube/video.test.js +0 -111
  2023. package/clis/yuanbao/ask.test.js +0 -124
  2024. package/clis/yuanbao/new.test.js +0 -30
  2025. package/clis/yuanbao/shared.test.js +0 -80
  2026. package/clis/yuque/article.test.js +0 -415
  2027. package/clis/zhihu/answer-comments.test.js +0 -287
  2028. package/clis/zhihu/answer-detail.test.js +0 -338
  2029. package/clis/zhihu/answer.test.js +0 -54
  2030. package/clis/zhihu/article-transform.test.js +0 -43
  2031. package/clis/zhihu/collection.test.js +0 -337
  2032. package/clis/zhihu/collections.test.js +0 -182
  2033. package/clis/zhihu/comment.test.js +0 -50
  2034. package/clis/zhihu/download.test.js +0 -12
  2035. package/clis/zhihu/favorite.test.js +0 -59
  2036. package/clis/zhihu/follow.test.js +0 -42
  2037. package/clis/zhihu/followers.test.js +0 -42
  2038. package/clis/zhihu/following.test.js +0 -44
  2039. package/clis/zhihu/like.test.js +0 -41
  2040. package/clis/zhihu/pins.test.js +0 -44
  2041. package/clis/zhihu/question.test.js +0 -251
  2042. package/clis/zhihu/recommend.test.js +0 -143
  2043. package/clis/zhihu/search.test.js +0 -198
  2044. package/clis/zhihu/target.test.js +0 -77
  2045. package/clis/zhihu/text.test.js +0 -24
  2046. package/clis/zhihu/user-answers.test.js +0 -69
  2047. package/clis/zhihu/user-articles.test.js +0 -44
  2048. package/clis/zhihu/user.test.js +0 -73
  2049. package/clis/zhihu/write-shared.test.js +0 -179
  2050. package/clis/zlibrary/commands.test.js +0 -65
  2051. package/clis/zsxq/search.test.js +0 -24
  2052. package/clis/zsxq/topic.test.js +0 -30
  2053. package/clis/zsxq/topics.test.js +0 -24
  2054. package/clis/zsxq/utils.test.js +0 -31
  2055. package/dist/src/adapter-shadow.test.js +0 -49
  2056. package/dist/src/adapter-source.test.js +0 -29
  2057. package/dist/src/browser/analyze.test.js +0 -209
  2058. package/dist/src/browser/article-extract.e2e.test.js +0 -105
  2059. package/dist/src/browser/article-extract.test.js +0 -94
  2060. package/dist/src/browser/ax-snapshot.test.js +0 -91
  2061. package/dist/src/browser/base-page.test.js +0 -803
  2062. package/dist/src/browser/bridge-readiness.test.js +0 -57
  2063. package/dist/src/browser/cdp-click-fixture.test.js +0 -87
  2064. package/dist/src/browser/cdp.test.js +0 -79
  2065. package/dist/src/browser/compound.test.js +0 -175
  2066. package/dist/src/browser/daemon-client.test.js +0 -318
  2067. package/dist/src/browser/dom-helpers.test.js +0 -106
  2068. package/dist/src/browser/dom-snapshot.test.js +0 -313
  2069. package/dist/src/browser/errors.test.js +0 -60
  2070. package/dist/src/browser/extract.test.js +0 -129
  2071. package/dist/src/browser/find.test.js +0 -180
  2072. package/dist/src/browser/html-tree.test.js +0 -181
  2073. package/dist/src/browser/network-cache.test.js +0 -75
  2074. package/dist/src/browser/network-key.test.js +0 -49
  2075. package/dist/src/browser/page.test.js +0 -406
  2076. package/dist/src/browser/shape-filter.test.js +0 -101
  2077. package/dist/src/browser/shape.test.js +0 -82
  2078. package/dist/src/browser/stealth.test.js +0 -134
  2079. package/dist/src/browser/target-errors.test.js +0 -94
  2080. package/dist/src/browser/target-resolver.test.js +0 -118
  2081. package/dist/src/browser/utils.test.js +0 -29
  2082. package/dist/src/browser/verify-fixture.test.js +0 -219
  2083. package/dist/src/browser.test.js +0 -291
  2084. package/dist/src/build-manifest.test.js +0 -341
  2085. package/dist/src/capabilityRouting.test.js +0 -63
  2086. package/dist/src/cli-argv-preprocess.test.js +0 -304
  2087. package/dist/src/cli.test.js +0 -3003
  2088. package/dist/src/commanderAdapter.test.js +0 -386
  2089. package/dist/src/commands/auth.test.js +0 -309
  2090. package/dist/src/commands/daemon.test.js +0 -283
  2091. package/dist/src/completion.test.js +0 -24
  2092. package/dist/src/convention-audit.test.js +0 -247
  2093. package/dist/src/daemon.test.js +0 -60
  2094. package/dist/src/doctor.test.js +0 -263
  2095. package/dist/src/download/article-download.test.js +0 -235
  2096. package/dist/src/download/index.test.js +0 -177
  2097. package/dist/src/download/media-download.test.js +0 -112
  2098. package/dist/src/download/progress.test.js +0 -36
  2099. package/dist/src/electron-apps.test.js +0 -76
  2100. package/dist/src/engine.test.js +0 -337
  2101. package/dist/src/errors.test.js +0 -109
  2102. package/dist/src/execution.test.js +0 -645
  2103. package/dist/src/extension-manifest-regression.test.js +0 -12
  2104. package/dist/src/external.test.js +0 -188
  2105. package/dist/src/help.test.js +0 -58
  2106. package/dist/src/hooks.test.js +0 -92
  2107. package/dist/src/interceptor.test.js +0 -81
  2108. package/dist/src/launcher.test.js +0 -191
  2109. package/dist/src/node-network.test.js +0 -81
  2110. package/dist/src/observation/artifact.test.js +0 -121
  2111. package/dist/src/observation/manager.test.js +0 -13
  2112. package/dist/src/observation/redaction.test.js +0 -32
  2113. package/dist/src/observation/retention.test.js +0 -118
  2114. package/dist/src/observation/ring-buffer.test.js +0 -22
  2115. package/dist/src/output.test.js +0 -79
  2116. package/dist/src/package-exports.test.js +0 -112
  2117. package/dist/src/pipeline/executor.test.js +0 -182
  2118. package/dist/src/pipeline/steps/download.test.js +0 -102
  2119. package/dist/src/pipeline/steps/fetch.test.js +0 -188
  2120. package/dist/src/pipeline/template.test.js +0 -212
  2121. package/dist/src/pipeline/transform.test.js +0 -174
  2122. package/dist/src/plugin-manifest.test.js +0 -179
  2123. package/dist/src/plugin-scaffold.test.js +0 -83
  2124. package/dist/src/plugin.test.js +0 -1349
  2125. package/dist/src/rate-limit.test.js +0 -66
  2126. package/dist/src/registry.test.js +0 -209
  2127. package/dist/src/runtime-detect.test.js +0 -39
  2128. package/dist/src/serialization.test.js +0 -78
  2129. package/dist/src/skills.test.js +0 -71
  2130. package/dist/src/snapshotFormatter.test.js +0 -521
  2131. package/dist/src/tui.test.js +0 -19
  2132. package/dist/src/update-check.test.js +0 -116
  2133. package/dist/src/utils.test.js +0 -155
  2134. package/dist/src/validate.test.js +0 -90
  2135. package/dist/src/verify.test.js +0 -63
  2136. package/dist/src/weixin-download.test.js +0 -45
package/cli-manifest.json CHANGED
@@ -3179,6 +3179,84 @@
3179
3179
  "siteSession": "persistent",
3180
3180
  "defaultWindowMode": "foreground"
3181
3181
  },
3182
+ {
3183
+ "site": "baijiahao",
3184
+ "name": "publish",
3185
+ "description": "发布视频到百家号(一条命令完成上传+填写+发布;可选定时)",
3186
+ "access": "write",
3187
+ "domain": "baijiahao.baidu.com",
3188
+ "strategy": "cookie",
3189
+ "browser": true,
3190
+ "args": [
3191
+ {
3192
+ "name": "video",
3193
+ "type": "str",
3194
+ "required": true,
3195
+ "positional": true,
3196
+ "help": "视频文件路径"
3197
+ },
3198
+ {
3199
+ "name": "title",
3200
+ "type": "str",
3201
+ "required": true,
3202
+ "help": "视频标题(不足 8 字会自动补「你不知道的」,截断到 30 字)"
3203
+ },
3204
+ {
3205
+ "name": "schedule",
3206
+ "type": "str",
3207
+ "default": "",
3208
+ "required": false,
3209
+ "help": "定时发布时间(ISO8601 或 Unix 秒;不填即立即发布)"
3210
+ }
3211
+ ],
3212
+ "columns": [
3213
+ "status",
3214
+ "title",
3215
+ "url"
3216
+ ],
3217
+ "type": "js",
3218
+ "modulePath": "baijiahao/publish.js",
3219
+ "sourceFile": "baijiahao/publish.js",
3220
+ "navigateBefore": false
3221
+ },
3222
+ {
3223
+ "site": "baijiahao",
3224
+ "name": "stats",
3225
+ "description": "百家号内容数据(每篇文章/视频的展现/阅读/点赞/评论/收藏/分享/收益等全量运营指标)",
3226
+ "access": "read",
3227
+ "domain": "baijiahao.baidu.com",
3228
+ "strategy": "cookie",
3229
+ "browser": true,
3230
+ "args": [
3231
+ {
3232
+ "name": "limit",
3233
+ "type": "number",
3234
+ "default": 20,
3235
+ "required": false,
3236
+ "help": "返回条数"
3237
+ }
3238
+ ],
3239
+ "columns": [
3240
+ "id",
3241
+ "type",
3242
+ "status",
3243
+ "title",
3244
+ "url",
3245
+ "published_at",
3246
+ "views",
3247
+ "shows",
3248
+ "likes",
3249
+ "comments",
3250
+ "collects",
3251
+ "shares",
3252
+ "profit",
3253
+ "extra"
3254
+ ],
3255
+ "type": "js",
3256
+ "modulePath": "baijiahao/stats.js",
3257
+ "sourceFile": "baijiahao/stats.js",
3258
+ "navigateBefore": "https://baijiahao.baidu.com"
3259
+ },
3182
3260
  {
3183
3261
  "site": "baijiahao",
3184
3262
  "name": "whoami",
@@ -4341,6 +4419,30 @@
4341
4419
  "sourceFile": "bilibili/me.js",
4342
4420
  "navigateBefore": "https://www.bilibili.com"
4343
4421
  },
4422
+ {
4423
+ "site": "bilibili",
4424
+ "name": "partitions",
4425
+ "aliases": [
4426
+ "tid-list"
4427
+ ],
4428
+ "description": "列出 B站视频投稿分区(tid + 名称 + 父分区 + 简介),供 `bilibili upload --tid` 取合法分区 id。禁止臆造 tid。",
4429
+ "access": "read",
4430
+ "domain": "member.bilibili.com",
4431
+ "strategy": "cookie",
4432
+ "browser": true,
4433
+ "args": [],
4434
+ "columns": [
4435
+ "tid",
4436
+ "name",
4437
+ "parent",
4438
+ "parent_name",
4439
+ "desc"
4440
+ ],
4441
+ "type": "js",
4442
+ "modulePath": "bilibili/partitions.js",
4443
+ "sourceFile": "bilibili/partitions.js",
4444
+ "navigateBefore": "https://member.bilibili.com"
4445
+ },
4344
4446
  {
4345
4447
  "site": "bilibili",
4346
4448
  "name": "ranking",
@@ -4420,6 +4522,44 @@
4420
4522
  "sourceFile": "bilibili/search.js",
4421
4523
  "navigateBefore": "https://www.bilibili.com"
4422
4524
  },
4525
+ {
4526
+ "site": "bilibili",
4527
+ "name": "stats",
4528
+ "description": "B站稿件数据(每个视频/图文/专栏稿件的播放、点赞、投币、收藏、弹幕、分享、评论等全量运营指标)",
4529
+ "access": "read",
4530
+ "domain": "member.bilibili.com",
4531
+ "strategy": "cookie",
4532
+ "browser": true,
4533
+ "args": [
4534
+ {
4535
+ "name": "limit",
4536
+ "type": "int",
4537
+ "default": 20,
4538
+ "required": false,
4539
+ "help": "返回条数(视频与图文合并后按发布时间倒序截取)"
4540
+ }
4541
+ ],
4542
+ "columns": [
4543
+ "id",
4544
+ "type",
4545
+ "title",
4546
+ "url",
4547
+ "published_at",
4548
+ "views",
4549
+ "likes",
4550
+ "comments",
4551
+ "collects",
4552
+ "shares",
4553
+ "danmaku",
4554
+ "coins",
4555
+ "status",
4556
+ "extra"
4557
+ ],
4558
+ "type": "js",
4559
+ "modulePath": "bilibili/stats.js",
4560
+ "sourceFile": "bilibili/stats.js",
4561
+ "navigateBefore": "https://member.bilibili.com"
4562
+ },
4423
4563
  {
4424
4564
  "site": "bilibili",
4425
4565
  "name": "subtitle",
@@ -4486,6 +4626,36 @@
4486
4626
  "sourceFile": "bilibili/summary.js",
4487
4627
  "navigateBefore": "https://www.bilibili.com"
4488
4628
  },
4629
+ {
4630
+ "site": "bilibili",
4631
+ "name": "topics",
4632
+ "aliases": [
4633
+ "topic-list"
4634
+ ],
4635
+ "description": "列出某分区下可参与的投稿话题(topic_id + 名称 + 简介 + 播放量),供 `bilibili upload --topic` 取合法 topic_id。禁止臆造。先用 `bilibili partitions` 取 tid。",
4636
+ "access": "read",
4637
+ "domain": "member.bilibili.com",
4638
+ "strategy": "cookie",
4639
+ "browser": true,
4640
+ "args": [
4641
+ {
4642
+ "name": "tid",
4643
+ "type": "number",
4644
+ "required": true,
4645
+ "help": "分区 id(用 `bilibili partitions` 取)。话题按分区提供。"
4646
+ }
4647
+ ],
4648
+ "columns": [
4649
+ "topic_id",
4650
+ "name",
4651
+ "play",
4652
+ "desc"
4653
+ ],
4654
+ "type": "js",
4655
+ "modulePath": "bilibili/topics.js",
4656
+ "sourceFile": "bilibili/topics.js",
4657
+ "navigateBefore": "https://member.bilibili.com"
4658
+ },
4489
4659
  {
4490
4660
  "site": "bilibili",
4491
4661
  "name": "unfollow",
@@ -4514,6 +4684,124 @@
4514
4684
  "sourceFile": "bilibili/unfollow.js",
4515
4685
  "navigateBefore": "https://www.bilibili.com"
4516
4686
  },
4687
+ {
4688
+ "site": "bilibili",
4689
+ "name": "upload",
4690
+ "description": "投稿视频到 B站(在真实浏览器登录态里走 web 投稿:preupload→upos 分块→add/v3)。默认仅 dry-run 校验,加 --execute 才真正上传并提交。",
4691
+ "access": "write",
4692
+ "domain": "member.bilibili.com",
4693
+ "strategy": "cookie",
4694
+ "browser": true,
4695
+ "args": [
4696
+ {
4697
+ "name": "file",
4698
+ "type": "str",
4699
+ "required": true,
4700
+ "positional": true,
4701
+ "help": "视频文件路径"
4702
+ },
4703
+ {
4704
+ "name": "title",
4705
+ "type": "str",
4706
+ "required": false,
4707
+ "help": "稿件标题(默认取文件名)"
4708
+ },
4709
+ {
4710
+ "name": "tid",
4711
+ "type": "number",
4712
+ "required": true,
4713
+ "help": "分区 id(B站 typeid,必填,禁止臆造)。合法值用 `bilibili partitions` 列举后取。"
4714
+ },
4715
+ {
4716
+ "name": "tag",
4717
+ "type": "str",
4718
+ "required": true,
4719
+ "help": "标签,逗号分隔(B站要求至少 1 个)"
4720
+ },
4721
+ {
4722
+ "name": "desc",
4723
+ "type": "str",
4724
+ "required": false,
4725
+ "help": "简介"
4726
+ },
4727
+ {
4728
+ "name": "topic",
4729
+ "type": "number",
4730
+ "required": false,
4731
+ "help": "参与话题的 topic_id(重要流量入口)。合法值用 `bilibili topics --tid <tid>` 列举,禁止臆造;mission_id 自动匹配。"
4732
+ },
4733
+ {
4734
+ "name": "cover",
4735
+ "type": "str",
4736
+ "required": false,
4737
+ "help": "封面图片路径(不传由 B站自动截取)"
4738
+ },
4739
+ {
4740
+ "name": "copyright",
4741
+ "type": "number",
4742
+ "required": false,
4743
+ "help": "1=自制 2=转载(默认 1)"
4744
+ },
4745
+ {
4746
+ "name": "source",
4747
+ "type": "str",
4748
+ "required": false,
4749
+ "help": "转载来源 URL(copyright=2 时必填)"
4750
+ },
4751
+ {
4752
+ "name": "dynamic",
4753
+ "type": "str",
4754
+ "required": false,
4755
+ "help": "同步发布的动态文案(可空)"
4756
+ },
4757
+ {
4758
+ "name": "no-reprint",
4759
+ "type": "boolean",
4760
+ "required": false,
4761
+ "help": "禁止转载(默认允许)"
4762
+ },
4763
+ {
4764
+ "name": "dtime",
4765
+ "type": "number",
4766
+ "required": false,
4767
+ "help": "定时发布的 10 位 unix 时间戳(可空=立即)"
4768
+ },
4769
+ {
4770
+ "name": "line",
4771
+ "type": "str",
4772
+ "required": false,
4773
+ "help": "上传线路:bda2/bldsa/qn/ws(默认 bda2)"
4774
+ },
4775
+ {
4776
+ "name": "concurrency",
4777
+ "type": "number",
4778
+ "required": false,
4779
+ "help": "分块并发数(默认 3)"
4780
+ },
4781
+ {
4782
+ "name": "draft",
4783
+ "type": "boolean",
4784
+ "required": false,
4785
+ "help": "存草稿而非直接发布(上传视频后存到创作中心草稿箱,不公开)"
4786
+ },
4787
+ {
4788
+ "name": "execute",
4789
+ "type": "boolean",
4790
+ "required": false,
4791
+ "help": "真正发布投稿;不带(也不带 --draft)则只做 dry-run 校验"
4792
+ }
4793
+ ],
4794
+ "columns": [
4795
+ "status",
4796
+ "title",
4797
+ "bvid",
4798
+ "url"
4799
+ ],
4800
+ "type": "js",
4801
+ "modulePath": "bilibili/upload.js",
4802
+ "sourceFile": "bilibili/upload.js",
4803
+ "navigateBefore": "https://member.bilibili.com"
4804
+ },
4517
4805
  {
4518
4806
  "site": "bilibili",
4519
4807
  "name": "user-videos",
@@ -4596,6 +4884,30 @@
4596
4884
  "sourceFile": "bilibili/video.js",
4597
4885
  "navigateBefore": true
4598
4886
  },
4887
+ {
4888
+ "site": "bilibili",
4889
+ "name": "video-drafts",
4890
+ "aliases": [
4891
+ "upload-drafts"
4892
+ ],
4893
+ "description": "列出 B站视频投稿草稿箱里的草稿(id + 标题 + 时长 + 修改时间),供确认 `bilibili upload --draft` 结果。(专栏草稿见 `bilibili drafts`)",
4894
+ "access": "read",
4895
+ "domain": "member.bilibili.com",
4896
+ "strategy": "cookie",
4897
+ "browser": true,
4898
+ "args": [],
4899
+ "columns": [
4900
+ "id",
4901
+ "title",
4902
+ "duration",
4903
+ "mtime",
4904
+ "cid"
4905
+ ],
4906
+ "type": "js",
4907
+ "modulePath": "bilibili/video-drafts.js",
4908
+ "sourceFile": "bilibili/video-drafts.js",
4909
+ "navigateBefore": "https://member.bilibili.com"
4910
+ },
4599
4911
  {
4600
4912
  "site": "bilibili",
4601
4913
  "name": "whoami",
@@ -5308,298 +5620,6 @@
5308
5620
  "modulePath": "bloomberg/tech.js",
5309
5621
  "sourceFile": "bloomberg/tech.js"
5310
5622
  },
5311
- {
5312
- "site": "bluesky",
5313
- "name": "feeds",
5314
- "description": "Popular Bluesky feed generators",
5315
- "access": "read",
5316
- "domain": "public.api.bsky.app",
5317
- "strategy": "public",
5318
- "browser": false,
5319
- "args": [
5320
- {
5321
- "name": "limit",
5322
- "type": "int",
5323
- "default": 20,
5324
- "required": false,
5325
- "help": "Number of feeds"
5326
- }
5327
- ],
5328
- "columns": [
5329
- "rank",
5330
- "name",
5331
- "likes",
5332
- "creator",
5333
- "description"
5334
- ],
5335
- "type": "js",
5336
- "modulePath": "bluesky/feeds.js",
5337
- "sourceFile": "bluesky/feeds.js"
5338
- },
5339
- {
5340
- "site": "bluesky",
5341
- "name": "followers",
5342
- "description": "List followers of a Bluesky user",
5343
- "access": "read",
5344
- "domain": "public.api.bsky.app",
5345
- "strategy": "public",
5346
- "browser": false,
5347
- "args": [
5348
- {
5349
- "name": "handle",
5350
- "type": "str",
5351
- "required": true,
5352
- "positional": true,
5353
- "help": "Bluesky handle"
5354
- },
5355
- {
5356
- "name": "limit",
5357
- "type": "int",
5358
- "default": 20,
5359
- "required": false,
5360
- "help": "Number of followers"
5361
- }
5362
- ],
5363
- "columns": [
5364
- "rank",
5365
- "handle",
5366
- "name",
5367
- "description"
5368
- ],
5369
- "type": "js",
5370
- "modulePath": "bluesky/followers.js",
5371
- "sourceFile": "bluesky/followers.js"
5372
- },
5373
- {
5374
- "site": "bluesky",
5375
- "name": "following",
5376
- "description": "List accounts a Bluesky user is following",
5377
- "access": "read",
5378
- "domain": "public.api.bsky.app",
5379
- "strategy": "public",
5380
- "browser": false,
5381
- "args": [
5382
- {
5383
- "name": "handle",
5384
- "type": "str",
5385
- "required": true,
5386
- "positional": true,
5387
- "help": "Bluesky handle"
5388
- },
5389
- {
5390
- "name": "limit",
5391
- "type": "int",
5392
- "default": 20,
5393
- "required": false,
5394
- "help": "Number of accounts"
5395
- }
5396
- ],
5397
- "columns": [
5398
- "rank",
5399
- "handle",
5400
- "name",
5401
- "description"
5402
- ],
5403
- "type": "js",
5404
- "modulePath": "bluesky/following.js",
5405
- "sourceFile": "bluesky/following.js"
5406
- },
5407
- {
5408
- "site": "bluesky",
5409
- "name": "profile",
5410
- "description": "Get Bluesky user profile info",
5411
- "access": "read",
5412
- "domain": "public.api.bsky.app",
5413
- "strategy": "public",
5414
- "browser": false,
5415
- "args": [
5416
- {
5417
- "name": "handle",
5418
- "type": "str",
5419
- "required": true,
5420
- "positional": true,
5421
- "help": "Bluesky handle (e.g. bsky.app, jay.bsky.team)"
5422
- }
5423
- ],
5424
- "columns": [
5425
- "handle",
5426
- "name",
5427
- "followers",
5428
- "following",
5429
- "posts",
5430
- "description"
5431
- ],
5432
- "type": "js",
5433
- "modulePath": "bluesky/profile.js",
5434
- "sourceFile": "bluesky/profile.js"
5435
- },
5436
- {
5437
- "site": "bluesky",
5438
- "name": "search",
5439
- "description": "Search Bluesky users",
5440
- "access": "read",
5441
- "domain": "public.api.bsky.app",
5442
- "strategy": "public",
5443
- "browser": false,
5444
- "args": [
5445
- {
5446
- "name": "query",
5447
- "type": "str",
5448
- "required": true,
5449
- "positional": true,
5450
- "help": "Search query"
5451
- },
5452
- {
5453
- "name": "limit",
5454
- "type": "int",
5455
- "default": 10,
5456
- "required": false,
5457
- "help": "Number of results"
5458
- }
5459
- ],
5460
- "columns": [
5461
- "rank",
5462
- "handle",
5463
- "name",
5464
- "followers",
5465
- "description"
5466
- ],
5467
- "type": "js",
5468
- "modulePath": "bluesky/search.js",
5469
- "sourceFile": "bluesky/search.js"
5470
- },
5471
- {
5472
- "site": "bluesky",
5473
- "name": "starter-packs",
5474
- "description": "Get starter packs created by a Bluesky user",
5475
- "access": "read",
5476
- "domain": "public.api.bsky.app",
5477
- "strategy": "public",
5478
- "browser": false,
5479
- "args": [
5480
- {
5481
- "name": "handle",
5482
- "type": "str",
5483
- "required": true,
5484
- "positional": true,
5485
- "help": "Bluesky handle"
5486
- },
5487
- {
5488
- "name": "limit",
5489
- "type": "int",
5490
- "default": 10,
5491
- "required": false,
5492
- "help": "Number of starter packs"
5493
- }
5494
- ],
5495
- "columns": [
5496
- "rank",
5497
- "name",
5498
- "description",
5499
- "members",
5500
- "joins"
5501
- ],
5502
- "type": "js",
5503
- "modulePath": "bluesky/starter-packs.js",
5504
- "sourceFile": "bluesky/starter-packs.js"
5505
- },
5506
- {
5507
- "site": "bluesky",
5508
- "name": "thread",
5509
- "description": "Get a Bluesky post thread with replies",
5510
- "access": "read",
5511
- "domain": "public.api.bsky.app",
5512
- "strategy": "public",
5513
- "browser": false,
5514
- "args": [
5515
- {
5516
- "name": "uri",
5517
- "type": "str",
5518
- "required": true,
5519
- "positional": true,
5520
- "help": "Post AT URI (at://did:.../app.bsky.feed.post/...) or bsky.app URL"
5521
- },
5522
- {
5523
- "name": "limit",
5524
- "type": "int",
5525
- "default": 20,
5526
- "required": false,
5527
- "help": "Number of replies"
5528
- }
5529
- ],
5530
- "columns": [
5531
- "author",
5532
- "text",
5533
- "likes",
5534
- "reposts",
5535
- "replies_count"
5536
- ],
5537
- "type": "js",
5538
- "modulePath": "bluesky/thread.js",
5539
- "sourceFile": "bluesky/thread.js"
5540
- },
5541
- {
5542
- "site": "bluesky",
5543
- "name": "trending",
5544
- "description": "Trending topics on Bluesky",
5545
- "access": "read",
5546
- "domain": "public.api.bsky.app",
5547
- "strategy": "public",
5548
- "browser": false,
5549
- "args": [
5550
- {
5551
- "name": "limit",
5552
- "type": "int",
5553
- "default": 20,
5554
- "required": false,
5555
- "help": "Number of topics"
5556
- }
5557
- ],
5558
- "columns": [
5559
- "rank",
5560
- "topic",
5561
- "link"
5562
- ],
5563
- "type": "js",
5564
- "modulePath": "bluesky/trending.js",
5565
- "sourceFile": "bluesky/trending.js"
5566
- },
5567
- {
5568
- "site": "bluesky",
5569
- "name": "user",
5570
- "description": "Get recent posts from a Bluesky user",
5571
- "access": "read",
5572
- "domain": "public.api.bsky.app",
5573
- "strategy": "public",
5574
- "browser": false,
5575
- "args": [
5576
- {
5577
- "name": "handle",
5578
- "type": "str",
5579
- "required": true,
5580
- "positional": true,
5581
- "help": "Bluesky handle (e.g. bsky.app)"
5582
- },
5583
- {
5584
- "name": "limit",
5585
- "type": "int",
5586
- "default": 20,
5587
- "required": false,
5588
- "help": "Number of posts"
5589
- }
5590
- ],
5591
- "columns": [
5592
- "rank",
5593
- "uri",
5594
- "text",
5595
- "likes",
5596
- "reposts",
5597
- "replies"
5598
- ],
5599
- "type": "js",
5600
- "modulePath": "bluesky/user.js",
5601
- "sourceFile": "bluesky/user.js"
5602
- },
5603
5623
  {
5604
5624
  "site": "booking",
5605
5625
  "name": "search",
@@ -7933,6 +7953,42 @@
7933
7953
  "siteSession": "persistent",
7934
7954
  "defaultWindowMode": "foreground"
7935
7955
  },
7956
+ {
7957
+ "site": "cnblogs",
7958
+ "name": "stats",
7959
+ "description": "博客园文章数据(每篇阅读/评论/推荐等全量运营指标)",
7960
+ "access": "read",
7961
+ "domain": "i.cnblogs.com",
7962
+ "strategy": "cookie",
7963
+ "browser": true,
7964
+ "args": [
7965
+ {
7966
+ "name": "limit",
7967
+ "type": "number",
7968
+ "default": 20,
7969
+ "required": false,
7970
+ "help": "返回条数"
7971
+ }
7972
+ ],
7973
+ "columns": [
7974
+ "id",
7975
+ "type",
7976
+ "title",
7977
+ "url",
7978
+ "published_at",
7979
+ "views",
7980
+ "likes",
7981
+ "comments",
7982
+ "collects",
7983
+ "shares",
7984
+ "status",
7985
+ "extra"
7986
+ ],
7987
+ "type": "js",
7988
+ "modulePath": "cnblogs/stats.js",
7989
+ "sourceFile": "cnblogs/stats.js",
7990
+ "navigateBefore": "https://i.cnblogs.com"
7991
+ },
7936
7992
  {
7937
7993
  "site": "cnblogs",
7938
7994
  "name": "whoami",
@@ -9410,6 +9466,43 @@
9410
9466
  "siteSession": "persistent",
9411
9467
  "defaultWindowMode": "foreground"
9412
9468
  },
9469
+ {
9470
+ "site": "csdn",
9471
+ "name": "stats",
9472
+ "description": "CSDN 文章数据(每篇阅读/点赞/评论/收藏等全量运营指标)",
9473
+ "access": "read",
9474
+ "domain": "mp.csdn.net",
9475
+ "strategy": "cookie",
9476
+ "browser": true,
9477
+ "args": [
9478
+ {
9479
+ "name": "limit",
9480
+ "type": "number",
9481
+ "default": 20,
9482
+ "required": false,
9483
+ "help": "返回条数"
9484
+ }
9485
+ ],
9486
+ "columns": [
9487
+ "id",
9488
+ "type",
9489
+ "title",
9490
+ "url",
9491
+ "published_at",
9492
+ "views",
9493
+ "likes",
9494
+ "comments",
9495
+ "collects",
9496
+ "shares",
9497
+ "status",
9498
+ "badges",
9499
+ "edit_url"
9500
+ ],
9501
+ "type": "js",
9502
+ "modulePath": "csdn/stats.js",
9503
+ "sourceFile": "csdn/stats.js",
9504
+ "navigateBefore": "https://mp.csdn.net"
9505
+ },
9413
9506
  {
9414
9507
  "site": "csdn",
9415
9508
  "name": "whoami",
@@ -10577,6 +10670,121 @@
10577
10670
  "modulePath": "devto/latest.js",
10578
10671
  "sourceFile": "devto/latest.js"
10579
10672
  },
10673
+ {
10674
+ "site": "devto",
10675
+ "name": "login",
10676
+ "description": "打开 dev.to 登录页并等待浏览器完成登录(供桌面客户端引导登录)。",
10677
+ "access": "write",
10678
+ "domain": "dev.to",
10679
+ "strategy": "cookie",
10680
+ "browser": true,
10681
+ "args": [
10682
+ {
10683
+ "name": "timeout",
10684
+ "type": "int",
10685
+ "default": 300,
10686
+ "required": false,
10687
+ "help": "Maximum seconds to wait for the user to finish login"
10688
+ }
10689
+ ],
10690
+ "columns": [
10691
+ "status",
10692
+ "logged_in",
10693
+ "site",
10694
+ "user_id",
10695
+ "username",
10696
+ "name"
10697
+ ],
10698
+ "type": "js",
10699
+ "modulePath": "devto/auth.js",
10700
+ "sourceFile": "devto/auth.js",
10701
+ "navigateBefore": false,
10702
+ "siteSession": "persistent",
10703
+ "defaultWindowMode": "foreground"
10704
+ },
10705
+ {
10706
+ "site": "devto",
10707
+ "name": "publish",
10708
+ "description": "Publish or update a DEV.to article (markdown). Draft by default; pass --published to go live.",
10709
+ "access": "write",
10710
+ "domain": "dev.to",
10711
+ "strategy": "cookie",
10712
+ "browser": true,
10713
+ "args": [
10714
+ {
10715
+ "name": "title",
10716
+ "type": "string",
10717
+ "required": false,
10718
+ "help": "Article title (required for new articles)"
10719
+ },
10720
+ {
10721
+ "name": "body",
10722
+ "type": "string",
10723
+ "required": false,
10724
+ "help": "Article body in Markdown (or use --body-file)"
10725
+ },
10726
+ {
10727
+ "name": "body-file",
10728
+ "type": "string",
10729
+ "required": false,
10730
+ "help": "Path to a Markdown file for the body"
10731
+ },
10732
+ {
10733
+ "name": "published",
10734
+ "type": "boolean",
10735
+ "default": false,
10736
+ "required": false,
10737
+ "help": "Publish live now (default: save as draft)"
10738
+ },
10739
+ {
10740
+ "name": "tags",
10741
+ "type": "string",
10742
+ "required": false,
10743
+ "help": "Comma-separated tags, max 4, lowercase alphanumeric"
10744
+ },
10745
+ {
10746
+ "name": "cover-image",
10747
+ "type": "string",
10748
+ "required": false,
10749
+ "help": "Cover image URL (main_image)"
10750
+ },
10751
+ {
10752
+ "name": "canonical-url",
10753
+ "type": "string",
10754
+ "required": false,
10755
+ "help": "Canonical URL (original source)"
10756
+ },
10757
+ {
10758
+ "name": "series",
10759
+ "type": "string",
10760
+ "required": false,
10761
+ "help": "Series name to group articles"
10762
+ },
10763
+ {
10764
+ "name": "description",
10765
+ "type": "string",
10766
+ "required": false,
10767
+ "help": "Social/SEO description"
10768
+ },
10769
+ {
10770
+ "name": "id",
10771
+ "type": "string",
10772
+ "required": false,
10773
+ "help": "Existing article id to update (PUT instead of POST)"
10774
+ }
10775
+ ],
10776
+ "columns": [
10777
+ "status",
10778
+ "id",
10779
+ "url",
10780
+ "published",
10781
+ "slug"
10782
+ ],
10783
+ "type": "js",
10784
+ "modulePath": "devto/publish.js",
10785
+ "sourceFile": "devto/publish.js",
10786
+ "navigateBefore": "https://dev.to"
10787
+ },
10580
10788
  {
10581
10789
  "site": "devto",
10582
10790
  "name": "read",
@@ -10728,6 +10936,28 @@
10728
10936
  "modulePath": "devto/user.js",
10729
10937
  "sourceFile": "devto/user.js"
10730
10938
  },
10939
+ {
10940
+ "site": "devto",
10941
+ "name": "whoami",
10942
+ "description": "Show the current logged-in devto account",
10943
+ "access": "read",
10944
+ "domain": "dev.to",
10945
+ "strategy": "cookie",
10946
+ "browser": true,
10947
+ "args": [],
10948
+ "columns": [
10949
+ "logged_in",
10950
+ "site",
10951
+ "user_id",
10952
+ "username",
10953
+ "name"
10954
+ ],
10955
+ "type": "js",
10956
+ "modulePath": "devto/auth.js",
10957
+ "sourceFile": "devto/auth.js",
10958
+ "navigateBefore": false,
10959
+ "siteSession": "persistent"
10960
+ },
10731
10961
  {
10732
10962
  "site": "dianping",
10733
10963
  "name": "login",
@@ -12649,7 +12879,8 @@
12649
12879
  "type": "js",
12650
12880
  "modulePath": "douyin/draft.js",
12651
12881
  "sourceFile": "douyin/draft.js",
12652
- "navigateBefore": false
12882
+ "navigateBefore": false,
12883
+ "defaultWindowMode": "foreground"
12653
12884
  },
12654
12885
  {
12655
12886
  "site": "douyin",
@@ -12939,7 +13170,66 @@
12939
13170
  "type": "js",
12940
13171
  "modulePath": "douyin/publish.js",
12941
13172
  "sourceFile": "douyin/publish.js",
12942
- "navigateBefore": "https://creator.douyin.com"
13173
+ "navigateBefore": "https://creator.douyin.com",
13174
+ "defaultWindowMode": "foreground"
13175
+ },
13176
+ {
13177
+ "site": "douyin",
13178
+ "name": "publish-image",
13179
+ "description": "发布图文(图集)到抖音(UI 自动化,最多 35 张图;话题以 #词 写进正文)",
13180
+ "access": "write",
13181
+ "domain": "creator.douyin.com",
13182
+ "strategy": "cookie",
13183
+ "browser": true,
13184
+ "args": [
13185
+ {
13186
+ "name": "content",
13187
+ "type": "str",
13188
+ "required": false,
13189
+ "positional": true,
13190
+ "help": "正文(字面文本,不展开 @文件 引用;长正文用 --file)"
13191
+ },
13192
+ {
13193
+ "name": "file",
13194
+ "type": "str",
13195
+ "required": false,
13196
+ "help": "从本机文件读取正文(UTF-8),与位置参数 <content> 二选一"
13197
+ },
13198
+ {
13199
+ "name": "title",
13200
+ "type": "str",
13201
+ "required": true,
13202
+ "help": "作品标题(≤20字)"
13203
+ },
13204
+ {
13205
+ "name": "images",
13206
+ "type": "str",
13207
+ "required": true,
13208
+ "help": "图片路径,逗号分隔,最多35张 (jpg/png/bmp/webp/tif)"
13209
+ },
13210
+ {
13211
+ "name": "topics",
13212
+ "type": "str",
13213
+ "required": false,
13214
+ "help": "话题标签,逗号分隔,不含 # 号"
13215
+ },
13216
+ {
13217
+ "name": "draft",
13218
+ "type": "bool",
13219
+ "default": false,
13220
+ "required": false,
13221
+ "help": "暂存为草稿,不直接发布"
13222
+ }
13223
+ ],
13224
+ "columns": [
13225
+ "status",
13226
+ "detail"
13227
+ ],
13228
+ "type": "js",
13229
+ "modulePath": "douyin/publish-image.js",
13230
+ "sourceFile": "douyin/publish-image.js",
13231
+ "navigateBefore": false,
13232
+ "defaultWindowMode": "foreground"
12943
13233
  },
12944
13234
  {
12945
13235
  "site": "douyin",
@@ -15148,6 +15438,103 @@
15148
15438
  "sourceFile": "geogebra/triangle.js",
15149
15439
  "navigateBefore": false
15150
15440
  },
15441
+ {
15442
+ "site": "ghost",
15443
+ "name": "publish",
15444
+ "description": "Publish a post to a Ghost site via the Admin API. A Markdown body is converted to HTML automatically (sent with ?source=html). Defaults to a draft for safety — pass --status published to go live.",
15445
+ "access": "write",
15446
+ "domain": "ghost.org",
15447
+ "strategy": "local",
15448
+ "browser": false,
15449
+ "args": [
15450
+ {
15451
+ "name": "title",
15452
+ "type": "str",
15453
+ "required": true,
15454
+ "help": "Post title"
15455
+ },
15456
+ {
15457
+ "name": "content",
15458
+ "type": "str",
15459
+ "required": false,
15460
+ "help": "Post body (Markdown or HTML). Or use --file."
15461
+ },
15462
+ {
15463
+ "name": "file",
15464
+ "type": "str",
15465
+ "required": false,
15466
+ "help": "Read the post body from a local file instead of --content"
15467
+ },
15468
+ {
15469
+ "name": "markup",
15470
+ "type": "str",
15471
+ "default": "auto",
15472
+ "required": false,
15473
+ "help": "How to interpret the body: auto-detect (default), markdown, or html",
15474
+ "choices": [
15475
+ "auto",
15476
+ "markdown",
15477
+ "html"
15478
+ ]
15479
+ },
15480
+ {
15481
+ "name": "status",
15482
+ "type": "str",
15483
+ "default": "draft",
15484
+ "required": false,
15485
+ "help": "Post status (default: draft)",
15486
+ "choices": [
15487
+ "draft",
15488
+ "published"
15489
+ ]
15490
+ },
15491
+ {
15492
+ "name": "excerpt",
15493
+ "type": "str",
15494
+ "required": false,
15495
+ "help": "Optional custom excerpt"
15496
+ },
15497
+ {
15498
+ "name": "slug",
15499
+ "type": "str",
15500
+ "required": false,
15501
+ "help": "Optional URL slug"
15502
+ },
15503
+ {
15504
+ "name": "tags",
15505
+ "type": "str",
15506
+ "required": false,
15507
+ "help": "Comma-separated tag names (created if missing)"
15508
+ }
15509
+ ],
15510
+ "columns": [
15511
+ "id",
15512
+ "status",
15513
+ "title",
15514
+ "url"
15515
+ ],
15516
+ "type": "js",
15517
+ "modulePath": "ghost/publish.js",
15518
+ "sourceFile": "ghost/publish.js"
15519
+ },
15520
+ {
15521
+ "site": "ghost",
15522
+ "name": "whoami",
15523
+ "description": "Verify the Ghost connection by fetching site info (GET /ghost/api/admin/site). Use this to test that the site URL and Admin API key are valid before publishing.",
15524
+ "access": "read",
15525
+ "domain": "ghost.org",
15526
+ "strategy": "local",
15527
+ "browser": false,
15528
+ "args": [],
15529
+ "columns": [
15530
+ "title",
15531
+ "version",
15532
+ "site"
15533
+ ],
15534
+ "type": "js",
15535
+ "modulePath": "ghost/whoami.js",
15536
+ "sourceFile": "ghost/whoami.js"
15537
+ },
15151
15538
  {
15152
15539
  "site": "gitee",
15153
15540
  "name": "login",
@@ -16758,6 +17145,125 @@
16758
17145
  "modulePath": "hackernews/user.js",
16759
17146
  "sourceFile": "hackernews/user.js"
16760
17147
  },
17148
+ {
17149
+ "site": "hashnode",
17150
+ "name": "login",
17151
+ "description": "打开 Hashnode 登录页并等待浏览器完成登录(供桌面客户端引导登录)。",
17152
+ "access": "write",
17153
+ "domain": "hashnode.com",
17154
+ "strategy": "cookie",
17155
+ "browser": true,
17156
+ "args": [
17157
+ {
17158
+ "name": "timeout",
17159
+ "type": "int",
17160
+ "default": 300,
17161
+ "required": false,
17162
+ "help": "Maximum seconds to wait for the user to finish login"
17163
+ }
17164
+ ],
17165
+ "columns": [
17166
+ "status",
17167
+ "logged_in",
17168
+ "site",
17169
+ "user_id",
17170
+ "username",
17171
+ "name"
17172
+ ],
17173
+ "type": "js",
17174
+ "modulePath": "hashnode/auth.js",
17175
+ "sourceFile": "hashnode/auth.js",
17176
+ "navigateBefore": false,
17177
+ "siteSession": "persistent",
17178
+ "defaultWindowMode": "foreground"
17179
+ },
17180
+ {
17181
+ "site": "hashnode",
17182
+ "name": "publish",
17183
+ "description": "Publish a Hashnode post via the web editor (or save a draft with --draft). Markdown body + tags/cover/canonical.",
17184
+ "access": "write",
17185
+ "domain": "hashnode.com",
17186
+ "strategy": "cookie",
17187
+ "browser": true,
17188
+ "args": [
17189
+ {
17190
+ "name": "title",
17191
+ "type": "string",
17192
+ "required": true,
17193
+ "help": "Post title"
17194
+ },
17195
+ {
17196
+ "name": "body",
17197
+ "type": "string",
17198
+ "required": false,
17199
+ "help": "Post body in Markdown (or use --body-file)"
17200
+ },
17201
+ {
17202
+ "name": "body-file",
17203
+ "type": "string",
17204
+ "required": false,
17205
+ "help": "Path to a Markdown file for the body"
17206
+ },
17207
+ {
17208
+ "name": "tags",
17209
+ "type": "string",
17210
+ "required": false,
17211
+ "help": "Comma-separated tag names"
17212
+ },
17213
+ {
17214
+ "name": "cover-image",
17215
+ "type": "string",
17216
+ "required": false,
17217
+ "help": "Cover image URL"
17218
+ },
17219
+ {
17220
+ "name": "canonical-url",
17221
+ "type": "string",
17222
+ "required": false,
17223
+ "help": "Canonical / original article URL"
17224
+ },
17225
+ {
17226
+ "name": "draft",
17227
+ "type": "boolean",
17228
+ "default": false,
17229
+ "required": false,
17230
+ "help": "Save as draft instead of publishing"
17231
+ }
17232
+ ],
17233
+ "columns": [
17234
+ "status",
17235
+ "draft_id",
17236
+ "url"
17237
+ ],
17238
+ "type": "js",
17239
+ "modulePath": "hashnode/publish.js",
17240
+ "sourceFile": "hashnode/publish.js",
17241
+ "navigateBefore": "https://hashnode.com",
17242
+ "siteSession": "persistent",
17243
+ "defaultWindowMode": "foreground"
17244
+ },
17245
+ {
17246
+ "site": "hashnode",
17247
+ "name": "whoami",
17248
+ "description": "Show the current logged-in hashnode account",
17249
+ "access": "read",
17250
+ "domain": "hashnode.com",
17251
+ "strategy": "cookie",
17252
+ "browser": true,
17253
+ "args": [],
17254
+ "columns": [
17255
+ "logged_in",
17256
+ "site",
17257
+ "user_id",
17258
+ "username",
17259
+ "name"
17260
+ ],
17261
+ "type": "js",
17262
+ "modulePath": "hashnode/auth.js",
17263
+ "sourceFile": "hashnode/auth.js",
17264
+ "navigateBefore": false,
17265
+ "siteSession": "persistent"
17266
+ },
16761
17267
  {
16762
17268
  "site": "hf",
16763
17269
  "name": "datasets",
@@ -19084,6 +19590,135 @@
19084
19590
  "navigateBefore": false,
19085
19591
  "siteSession": "persistent"
19086
19592
  },
19593
+ {
19594
+ "site": "jianshu",
19595
+ "name": "article",
19596
+ "description": "发布简书文章。默认正式发布;加 --draft 仅存草稿。必须指定文集 --notebook(用 `jianshu notebooks` 查看)。正文为 Markdown;图片自动转存至简书图床(七牛)。",
19597
+ "access": "write",
19598
+ "domain": "jianshu.com",
19599
+ "strategy": "cookie",
19600
+ "browser": true,
19601
+ "args": [
19602
+ {
19603
+ "name": "title",
19604
+ "type": "str",
19605
+ "required": true,
19606
+ "positional": true,
19607
+ "help": "文章标题"
19608
+ },
19609
+ {
19610
+ "name": "text",
19611
+ "type": "str",
19612
+ "required": false,
19613
+ "positional": true,
19614
+ "help": "文章正文(Markdown)"
19615
+ },
19616
+ {
19617
+ "name": "file",
19618
+ "type": "str",
19619
+ "required": false,
19620
+ "help": "正文文件路径(UTF-8 编码,Markdown)"
19621
+ },
19622
+ {
19623
+ "name": "notebook",
19624
+ "type": "str",
19625
+ "required": true,
19626
+ "help": "【必填】文集名(精确匹配;也接受文集数字 ID)。可用 `jianshu notebooks` 查看全部文集。"
19627
+ },
19628
+ {
19629
+ "name": "draft",
19630
+ "type": "boolean",
19631
+ "required": false,
19632
+ "help": "仅保存草稿,不发布"
19633
+ },
19634
+ {
19635
+ "name": "execute",
19636
+ "type": "boolean",
19637
+ "required": false,
19638
+ "help": "确认执行写操作。不加此参数则拒绝写入。"
19639
+ }
19640
+ ],
19641
+ "columns": [
19642
+ "status",
19643
+ "outcome",
19644
+ "message",
19645
+ "target_type",
19646
+ "target",
19647
+ "created_target",
19648
+ "created_url"
19649
+ ],
19650
+ "type": "js",
19651
+ "modulePath": "jianshu/article.js",
19652
+ "sourceFile": "jianshu/article.js",
19653
+ "navigateBefore": "https://jianshu.com"
19654
+ },
19655
+ {
19656
+ "site": "jianshu",
19657
+ "name": "login",
19658
+ "description": "打开简书登录页并等待浏览器完成登录(供桌面客户端引导登录)。",
19659
+ "access": "write",
19660
+ "domain": "jianshu.com",
19661
+ "strategy": "cookie",
19662
+ "browser": true,
19663
+ "args": [
19664
+ {
19665
+ "name": "timeout",
19666
+ "type": "int",
19667
+ "default": 300,
19668
+ "required": false,
19669
+ "help": "等待用户完成登录的最长秒数"
19670
+ }
19671
+ ],
19672
+ "columns": [
19673
+ "status",
19674
+ "logged_in",
19675
+ "user_id",
19676
+ "username"
19677
+ ],
19678
+ "type": "js",
19679
+ "modulePath": "jianshu/login.js",
19680
+ "sourceFile": "jianshu/login.js",
19681
+ "navigateBefore": false,
19682
+ "siteSession": "persistent",
19683
+ "defaultWindowMode": "foreground"
19684
+ },
19685
+ {
19686
+ "site": "jianshu",
19687
+ "name": "notebooks",
19688
+ "description": "列出简书账号下的全部文集(id 与名称),供 `jianshu article --notebook` 取值。",
19689
+ "access": "read",
19690
+ "domain": "jianshu.com",
19691
+ "strategy": "cookie",
19692
+ "browser": true,
19693
+ "args": [],
19694
+ "columns": [
19695
+ "id",
19696
+ "name"
19697
+ ],
19698
+ "type": "js",
19699
+ "modulePath": "jianshu/notebooks.js",
19700
+ "sourceFile": "jianshu/notebooks.js",
19701
+ "navigateBefore": "https://jianshu.com"
19702
+ },
19703
+ {
19704
+ "site": "jianshu",
19705
+ "name": "whoami",
19706
+ "description": "检测简书当前登录状态,返回用户 ID 和昵称。",
19707
+ "access": "read",
19708
+ "domain": "jianshu.com",
19709
+ "strategy": "cookie",
19710
+ "browser": true,
19711
+ "args": [],
19712
+ "columns": [
19713
+ "logged_in",
19714
+ "user_id",
19715
+ "username"
19716
+ ],
19717
+ "type": "js",
19718
+ "modulePath": "jianshu/whoami.js",
19719
+ "sourceFile": "jianshu/whoami.js",
19720
+ "navigateBefore": "https://jianshu.com"
19721
+ },
19087
19722
  {
19088
19723
  "site": "jianyu",
19089
19724
  "name": "detail",
@@ -20126,6 +20761,47 @@
20126
20761
  "modulePath": "juejin/recommend.js",
20127
20762
  "sourceFile": "juejin/recommend.js"
20128
20763
  },
20764
+ {
20765
+ "site": "juejin",
20766
+ "name": "stats",
20767
+ "description": "掘金文章数据(每篇展现/阅读/点赞/评论/收藏/阅读比/热度等全量运营指标)。首次调用要拉起浏览器会话、偏慢,客户端超时属正常,重试一次即可",
20768
+ "access": "read",
20769
+ "domain": "juejin.cn",
20770
+ "strategy": "cookie",
20771
+ "browser": true,
20772
+ "args": [
20773
+ {
20774
+ "name": "limit",
20775
+ "type": "number",
20776
+ "default": 20,
20777
+ "required": false,
20778
+ "help": "返回条数"
20779
+ }
20780
+ ],
20781
+ "columns": [
20782
+ "id",
20783
+ "type",
20784
+ "title",
20785
+ "url",
20786
+ "published_at",
20787
+ "views",
20788
+ "likes",
20789
+ "comments",
20790
+ "collects",
20791
+ "shares",
20792
+ "displays",
20793
+ "read_ratio",
20794
+ "hot_index",
20795
+ "category",
20796
+ "tags",
20797
+ "read_time",
20798
+ "extra"
20799
+ ],
20800
+ "type": "js",
20801
+ "modulePath": "juejin/stats.js",
20802
+ "sourceFile": "juejin/stats.js",
20803
+ "navigateBefore": false
20804
+ },
20129
20805
  {
20130
20806
  "site": "juejin",
20131
20807
  "name": "tags",
@@ -21423,6 +22099,117 @@
21423
22099
  "navigateBefore": false,
21424
22100
  "siteSession": "persistent"
21425
22101
  },
22102
+ {
22103
+ "site": "kuaishou",
22104
+ "name": "login",
22105
+ "description": "Open kuaishou login and wait until the browser session is authenticated",
22106
+ "access": "write",
22107
+ "domain": "cp.kuaishou.com",
22108
+ "strategy": "cookie",
22109
+ "browser": true,
22110
+ "args": [
22111
+ {
22112
+ "name": "timeout",
22113
+ "type": "int",
22114
+ "default": 300,
22115
+ "required": false,
22116
+ "help": "Maximum seconds to wait for the user to finish login"
22117
+ }
22118
+ ],
22119
+ "columns": [
22120
+ "status",
22121
+ "logged_in",
22122
+ "site",
22123
+ "logged_in"
22124
+ ],
22125
+ "type": "js",
22126
+ "modulePath": "kuaishou/auth.js",
22127
+ "sourceFile": "kuaishou/auth.js",
22128
+ "navigateBefore": false,
22129
+ "siteSession": "persistent",
22130
+ "defaultWindowMode": "foreground"
22131
+ },
22132
+ {
22133
+ "site": "kuaishou",
22134
+ "name": "publish",
22135
+ "description": "发布视频到快手(一条命令完成上传+填写+发布;可选封面/定时/话题)",
22136
+ "access": "write",
22137
+ "domain": "cp.kuaishou.com",
22138
+ "strategy": "cookie",
22139
+ "browser": true,
22140
+ "args": [
22141
+ {
22142
+ "name": "video",
22143
+ "type": "str",
22144
+ "required": true,
22145
+ "positional": true,
22146
+ "help": "视频文件路径"
22147
+ },
22148
+ {
22149
+ "name": "title",
22150
+ "type": "str",
22151
+ "required": true,
22152
+ "help": "作品标题(无 --desc 时作为描述)"
22153
+ },
22154
+ {
22155
+ "name": "desc",
22156
+ "type": "str",
22157
+ "default": "",
22158
+ "required": false,
22159
+ "help": "视频描述(默认用标题)"
22160
+ },
22161
+ {
22162
+ "name": "tags",
22163
+ "type": "str",
22164
+ "default": "",
22165
+ "required": false,
22166
+ "help": "话题标签,逗号分隔,最多取前 3 个(不含 #)"
22167
+ },
22168
+ {
22169
+ "name": "cover",
22170
+ "type": "str",
22171
+ "default": "",
22172
+ "required": false,
22173
+ "help": "封面图片路径(可选)"
22174
+ },
22175
+ {
22176
+ "name": "schedule",
22177
+ "type": "str",
22178
+ "default": "",
22179
+ "required": false,
22180
+ "help": "定时发布时间(ISO8601 或 Unix 秒;不填即立即发布)"
22181
+ }
22182
+ ],
22183
+ "columns": [
22184
+ "status",
22185
+ "title",
22186
+ "url"
22187
+ ],
22188
+ "type": "js",
22189
+ "modulePath": "kuaishou/publish.js",
22190
+ "sourceFile": "kuaishou/publish.js",
22191
+ "navigateBefore": false
22192
+ },
22193
+ {
22194
+ "site": "kuaishou",
22195
+ "name": "whoami",
22196
+ "description": "Show the current logged-in kuaishou account",
22197
+ "access": "read",
22198
+ "domain": "cp.kuaishou.com",
22199
+ "strategy": "cookie",
22200
+ "browser": true,
22201
+ "args": [],
22202
+ "columns": [
22203
+ "logged_in",
22204
+ "site",
22205
+ "logged_in"
22206
+ ],
22207
+ "type": "js",
22208
+ "modulePath": "kuaishou/auth.js",
22209
+ "sourceFile": "kuaishou/auth.js",
22210
+ "navigateBefore": false,
22211
+ "siteSession": "persistent"
22212
+ },
21426
22213
  {
21427
22214
  "site": "lesswrong",
21428
22215
  "name": "comments",
@@ -24261,6 +25048,80 @@
24261
25048
  "modulePath": "mdn/search.js",
24262
25049
  "sourceFile": "mdn/search.js"
24263
25050
  },
25051
+ {
25052
+ "site": "medium",
25053
+ "name": "article",
25054
+ "description": "发布 Medium 文章(走 medium.com 内部编辑器端点,非官方 API)。默认正式发布;加 --draft 仅存草稿。正文 Markdown,图片自动转存 Medium 图床。可选 --tags/--subtitle/--canonical-url。",
25055
+ "access": "write",
25056
+ "domain": "medium.com",
25057
+ "strategy": "cookie",
25058
+ "browser": true,
25059
+ "args": [
25060
+ {
25061
+ "name": "title",
25062
+ "type": "str",
25063
+ "required": true,
25064
+ "positional": true,
25065
+ "help": "文章标题(作为 Medium 文章标题)"
25066
+ },
25067
+ {
25068
+ "name": "text",
25069
+ "type": "str",
25070
+ "required": false,
25071
+ "positional": true,
25072
+ "help": "文章正文(Markdown)"
25073
+ },
25074
+ {
25075
+ "name": "file",
25076
+ "type": "str",
25077
+ "required": false,
25078
+ "help": "正文文件路径(UTF-8,Markdown)"
25079
+ },
25080
+ {
25081
+ "name": "tags",
25082
+ "type": "str",
25083
+ "required": false,
25084
+ "help": "Medium 话题标签,逗号分隔,最多 5 个(如 \"AI,Programming,Open Source\")"
25085
+ },
25086
+ {
25087
+ "name": "subtitle",
25088
+ "type": "str",
25089
+ "required": false,
25090
+ "help": "副标题(可选,显示在标题下方)"
25091
+ },
25092
+ {
25093
+ "name": "canonical-url",
25094
+ "type": "str",
25095
+ "required": false,
25096
+ "help": "原文规范链接(可选,内容首发别处时填,避免 SEO 重复)"
25097
+ },
25098
+ {
25099
+ "name": "draft",
25100
+ "type": "boolean",
25101
+ "required": false,
25102
+ "help": "仅保存草稿,不正式发布"
25103
+ },
25104
+ {
25105
+ "name": "execute",
25106
+ "type": "boolean",
25107
+ "required": false,
25108
+ "help": "确认执行写操作。不加此参数则拒绝写入。"
25109
+ }
25110
+ ],
25111
+ "columns": [
25112
+ "status",
25113
+ "outcome",
25114
+ "message",
25115
+ "target_type",
25116
+ "target",
25117
+ "created_target",
25118
+ "created_url"
25119
+ ],
25120
+ "type": "js",
25121
+ "modulePath": "medium/article.js",
25122
+ "sourceFile": "medium/article.js",
25123
+ "navigateBefore": "https://medium.com"
25124
+ },
24264
25125
  {
24265
25126
  "site": "medium",
24266
25127
  "name": "feed",
@@ -24298,6 +25159,36 @@
24298
25159
  "sourceFile": "medium/feed.js",
24299
25160
  "navigateBefore": "https://medium.com"
24300
25161
  },
25162
+ {
25163
+ "site": "medium",
25164
+ "name": "login",
25165
+ "description": "打开 Medium 首页并等待浏览器完成登录(供桌面客户端引导登录)。",
25166
+ "access": "write",
25167
+ "domain": "medium.com",
25168
+ "strategy": "cookie",
25169
+ "browser": true,
25170
+ "args": [
25171
+ {
25172
+ "name": "timeout",
25173
+ "type": "int",
25174
+ "default": 300,
25175
+ "required": false,
25176
+ "help": "等待用户完成登录的最长秒数"
25177
+ }
25178
+ ],
25179
+ "columns": [
25180
+ "status",
25181
+ "logged_in",
25182
+ "user_id",
25183
+ "username"
25184
+ ],
25185
+ "type": "js",
25186
+ "modulePath": "medium/login.js",
25187
+ "sourceFile": "medium/login.js",
25188
+ "navigateBefore": false,
25189
+ "siteSession": "persistent",
25190
+ "defaultWindowMode": "foreground"
25191
+ },
24301
25192
  {
24302
25193
  "site": "medium",
24303
25194
  "name": "search",
@@ -24410,6 +25301,25 @@
24410
25301
  "sourceFile": "medium/user.js",
24411
25302
  "navigateBefore": "https://medium.com"
24412
25303
  },
25304
+ {
25305
+ "site": "medium",
25306
+ "name": "whoami",
25307
+ "description": "查询当前登录的 Medium 账户信息。",
25308
+ "access": "read",
25309
+ "domain": "medium.com",
25310
+ "strategy": "cookie",
25311
+ "browser": true,
25312
+ "args": [],
25313
+ "columns": [
25314
+ "logged_in",
25315
+ "user_id",
25316
+ "username"
25317
+ ],
25318
+ "type": "js",
25319
+ "modulePath": "medium/whoami.js",
25320
+ "sourceFile": "medium/whoami.js",
25321
+ "navigateBefore": "https://medium.com"
25322
+ },
24413
25323
  {
24414
25324
  "site": "mubu",
24415
25325
  "name": "doc",
@@ -24613,6 +25523,118 @@
24613
25523
  "sourceFile": "mubu/search.js",
24614
25524
  "navigateBefore": "https://mubu.com"
24615
25525
  },
25526
+ {
25527
+ "site": "note",
25528
+ "name": "login",
25529
+ "description": "Open note login and wait until the browser session is authenticated",
25530
+ "access": "write",
25531
+ "domain": "note.com",
25532
+ "strategy": "cookie",
25533
+ "browser": true,
25534
+ "args": [
25535
+ {
25536
+ "name": "timeout",
25537
+ "type": "int",
25538
+ "default": 300,
25539
+ "required": false,
25540
+ "help": "Maximum seconds to wait for the user to finish login"
25541
+ }
25542
+ ],
25543
+ "columns": [
25544
+ "status",
25545
+ "logged_in",
25546
+ "site",
25547
+ "urlname",
25548
+ "nickname",
25549
+ "url"
25550
+ ],
25551
+ "type": "js",
25552
+ "modulePath": "note/auth.js",
25553
+ "sourceFile": "note/auth.js",
25554
+ "navigateBefore": false,
25555
+ "siteSession": "persistent",
25556
+ "defaultWindowMode": "foreground"
25557
+ },
25558
+ {
25559
+ "site": "note",
25560
+ "name": "publish",
25561
+ "description": "Publish a text note to note.com (or save a draft with --draft)",
25562
+ "access": "write",
25563
+ "domain": "note.com",
25564
+ "strategy": "cookie",
25565
+ "browser": true,
25566
+ "args": [
25567
+ {
25568
+ "name": "title",
25569
+ "type": "string",
25570
+ "required": true,
25571
+ "positional": true,
25572
+ "help": "Note title"
25573
+ },
25574
+ {
25575
+ "name": "body",
25576
+ "type": "string",
25577
+ "required": false,
25578
+ "help": "Note body text (blank lines split paragraphs)"
25579
+ },
25580
+ {
25581
+ "name": "tags",
25582
+ "type": "string",
25583
+ "required": false,
25584
+ "help": "Hashtags, comma-separated (# optional)"
25585
+ },
25586
+ {
25587
+ "name": "magazine",
25588
+ "type": "string",
25589
+ "required": false,
25590
+ "help": "Magazine id(s) to file under, comma-separated"
25591
+ },
25592
+ {
25593
+ "name": "images",
25594
+ "type": "string",
25595
+ "required": false,
25596
+ "help": "(best-effort) in-body images: local paths and/or urls"
25597
+ },
25598
+ {
25599
+ "name": "draft",
25600
+ "type": "boolean",
25601
+ "default": false,
25602
+ "required": false,
25603
+ "help": "Save the draft but do not publish"
25604
+ }
25605
+ ],
25606
+ "columns": [
25607
+ "status",
25608
+ "note_key",
25609
+ "url"
25610
+ ],
25611
+ "type": "js",
25612
+ "modulePath": "note/publish.js",
25613
+ "sourceFile": "note/publish.js",
25614
+ "navigateBefore": "https://note.com"
25615
+ },
25616
+ {
25617
+ "site": "note",
25618
+ "name": "whoami",
25619
+ "description": "Show the current logged-in note account",
25620
+ "access": "read",
25621
+ "domain": "note.com",
25622
+ "strategy": "cookie",
25623
+ "browser": true,
25624
+ "args": [],
25625
+ "columns": [
25626
+ "logged_in",
25627
+ "site",
25628
+ "urlname",
25629
+ "nickname",
25630
+ "url"
25631
+ ],
25632
+ "type": "js",
25633
+ "modulePath": "note/auth.js",
25634
+ "sourceFile": "note/auth.js",
25635
+ "navigateBefore": false,
25636
+ "siteSession": "persistent"
25637
+ },
24616
25638
  {
24617
25639
  "site": "notebooklm",
24618
25640
  "name": "add-source",
@@ -25229,6 +26251,89 @@
25229
26251
  "sourceFile": "notebooklm/write-note.js",
25230
26252
  "navigateBefore": false
25231
26253
  },
26254
+ {
26255
+ "site": "nowcoder",
26256
+ "name": "comment",
26257
+ "description": "评论帖子;配 --to-user/--to-comment 可定向回复某条评论",
26258
+ "access": "write",
26259
+ "domain": "www.nowcoder.com",
26260
+ "strategy": "cookie",
26261
+ "browser": true,
26262
+ "args": [
26263
+ {
26264
+ "name": "id",
26265
+ "type": "str",
26266
+ "required": true,
26267
+ "positional": true,
26268
+ "help": "帖子 id(数字 momentId / UUID / 链接均可)"
26269
+ },
26270
+ {
26271
+ "name": "content",
26272
+ "type": "str",
26273
+ "required": true,
26274
+ "positional": true,
26275
+ "help": "评论内容"
26276
+ },
26277
+ {
26278
+ "name": "to-user",
26279
+ "type": "str",
26280
+ "default": "0",
26281
+ "required": false,
26282
+ "help": "帖主/对方 userId(定向回复时必传)"
26283
+ },
26284
+ {
26285
+ "name": "to-comment",
26286
+ "type": "str",
26287
+ "default": "0",
26288
+ "required": false,
26289
+ "help": "定向回复的评论 id(inbox 的 reply_comment_id)"
26290
+ }
26291
+ ],
26292
+ "columns": [
26293
+ "post_id",
26294
+ "kind",
26295
+ "status"
26296
+ ],
26297
+ "type": "js",
26298
+ "modulePath": "nowcoder/comment.js",
26299
+ "sourceFile": "nowcoder/comment.js",
26300
+ "navigateBefore": "https://www.nowcoder.com"
26301
+ },
26302
+ {
26303
+ "site": "nowcoder",
26304
+ "name": "comments",
26305
+ "description": "某帖的评论列表(评论前先读,避免重复/不合语境)",
26306
+ "access": "read",
26307
+ "domain": "www.nowcoder.com",
26308
+ "strategy": "cookie",
26309
+ "browser": true,
26310
+ "args": [
26311
+ {
26312
+ "name": "id",
26313
+ "type": "str",
26314
+ "required": true,
26315
+ "positional": true,
26316
+ "help": "帖子 id(数字 momentId / UUID / 链接均可)"
26317
+ },
26318
+ {
26319
+ "name": "page",
26320
+ "type": "int",
26321
+ "default": 1,
26322
+ "required": false,
26323
+ "help": "页码"
26324
+ }
26325
+ ],
26326
+ "columns": [
26327
+ "comment_id",
26328
+ "user_id",
26329
+ "nickname",
26330
+ "content"
26331
+ ],
26332
+ "type": "js",
26333
+ "modulePath": "nowcoder/comments.js",
26334
+ "sourceFile": "nowcoder/comments.js",
26335
+ "navigateBefore": "https://www.nowcoder.com"
26336
+ },
25232
26337
  {
25233
26338
  "site": "nowcoder",
25234
26339
  "name": "companies",
@@ -25284,6 +26389,32 @@
25284
26389
  "modulePath": "nowcoder/creators.js",
25285
26390
  "sourceFile": "nowcoder/creators.js"
25286
26391
  },
26392
+ {
26393
+ "site": "nowcoder",
26394
+ "name": "delete",
26395
+ "description": "删除自己发布的动态",
26396
+ "access": "write",
26397
+ "domain": "www.nowcoder.com",
26398
+ "strategy": "cookie",
26399
+ "browser": true,
26400
+ "args": [
26401
+ {
26402
+ "name": "id",
26403
+ "type": "str",
26404
+ "required": true,
26405
+ "positional": true,
26406
+ "help": "要删除的 momentId(my/post 返回的 moment_id)"
26407
+ }
26408
+ ],
26409
+ "columns": [
26410
+ "moment_id",
26411
+ "status"
26412
+ ],
26413
+ "type": "js",
26414
+ "modulePath": "nowcoder/delete.js",
26415
+ "sourceFile": "nowcoder/delete.js",
26416
+ "navigateBefore": "https://www.nowcoder.com"
26417
+ },
25287
26418
  {
25288
26419
  "site": "nowcoder",
25289
26420
  "name": "detail",
@@ -25317,6 +26448,130 @@
25317
26448
  "sourceFile": "nowcoder/detail.js",
25318
26449
  "navigateBefore": "https://www.nowcoder.com"
25319
26450
  },
26451
+ {
26452
+ "site": "nowcoder",
26453
+ "name": "dm-list",
26454
+ "description": "私信会话列表(conversationId / 最后一条消息 / 未读数)",
26455
+ "access": "read",
26456
+ "domain": "www.nowcoder.com",
26457
+ "strategy": "cookie",
26458
+ "browser": true,
26459
+ "args": [
26460
+ {
26461
+ "name": "page",
26462
+ "type": "int",
26463
+ "default": 1,
26464
+ "required": false,
26465
+ "help": "页码"
26466
+ }
26467
+ ],
26468
+ "columns": [
26469
+ "conversation_id",
26470
+ "target_user_id",
26471
+ "target_name",
26472
+ "last_content",
26473
+ "unread",
26474
+ "allow_send",
26475
+ "is_official"
26476
+ ],
26477
+ "type": "js",
26478
+ "modulePath": "nowcoder/dm-list.js",
26479
+ "sourceFile": "nowcoder/dm-list.js",
26480
+ "navigateBefore": "https://www.nowcoder.com"
26481
+ },
26482
+ {
26483
+ "site": "nowcoder",
26484
+ "name": "dm-read",
26485
+ "description": "读某私信会话的消息(target 为 dm-list 的 target_user_id)",
26486
+ "access": "read",
26487
+ "domain": "www.nowcoder.com",
26488
+ "strategy": "cookie",
26489
+ "browser": true,
26490
+ "args": [
26491
+ {
26492
+ "name": "target",
26493
+ "type": "str",
26494
+ "required": true,
26495
+ "positional": true,
26496
+ "help": "对方 userId(dm-list 的 target_user_id)"
26497
+ },
26498
+ {
26499
+ "name": "page",
26500
+ "type": "int",
26501
+ "default": 1,
26502
+ "required": false,
26503
+ "help": "页码"
26504
+ }
26505
+ ],
26506
+ "columns": [
26507
+ "from_user_id",
26508
+ "content"
26509
+ ],
26510
+ "type": "js",
26511
+ "modulePath": "nowcoder/dm-read.js",
26512
+ "sourceFile": "nowcoder/dm-read.js",
26513
+ "navigateBefore": "https://www.nowcoder.com"
26514
+ },
26515
+ {
26516
+ "site": "nowcoder",
26517
+ "name": "dm-send",
26518
+ "description": "发私信(conversation 为 dm-list 的 conversation_id)",
26519
+ "access": "write",
26520
+ "domain": "www.nowcoder.com",
26521
+ "strategy": "cookie",
26522
+ "browser": true,
26523
+ "args": [
26524
+ {
26525
+ "name": "conversation",
26526
+ "type": "str",
26527
+ "required": true,
26528
+ "positional": true,
26529
+ "help": "会话 id(dm-list 的 conversation_id,格式 <我uid>_<对方uid>)"
26530
+ },
26531
+ {
26532
+ "name": "content",
26533
+ "type": "str",
26534
+ "required": true,
26535
+ "positional": true,
26536
+ "help": "私信内容"
26537
+ }
26538
+ ],
26539
+ "columns": [
26540
+ "conversation_id",
26541
+ "status"
26542
+ ],
26543
+ "type": "js",
26544
+ "modulePath": "nowcoder/dm-send.js",
26545
+ "sourceFile": "nowcoder/dm-send.js",
26546
+ "navigateBefore": "https://www.nowcoder.com"
26547
+ },
26548
+ {
26549
+ "site": "nowcoder",
26550
+ "name": "drafts",
26551
+ "description": "我的草稿列表",
26552
+ "access": "read",
26553
+ "domain": "www.nowcoder.com",
26554
+ "strategy": "cookie",
26555
+ "browser": true,
26556
+ "args": [
26557
+ {
26558
+ "name": "page",
26559
+ "type": "int",
26560
+ "default": 1,
26561
+ "required": false,
26562
+ "help": "页码"
26563
+ }
26564
+ ],
26565
+ "columns": [
26566
+ "draft_id",
26567
+ "title",
26568
+ "content"
26569
+ ],
26570
+ "type": "js",
26571
+ "modulePath": "nowcoder/drafts.js",
26572
+ "sourceFile": "nowcoder/drafts.js",
26573
+ "navigateBefore": "https://www.nowcoder.com"
26574
+ },
25320
26575
  {
25321
26576
  "site": "nowcoder",
25322
26577
  "name": "experience",
@@ -25382,6 +26637,38 @@
25382
26637
  "modulePath": "nowcoder/hot.js",
25383
26638
  "sourceFile": "nowcoder/hot.js"
25384
26639
  },
26640
+ {
26641
+ "site": "nowcoder",
26642
+ "name": "inbox",
26643
+ "description": "评论回复收件箱(谁回复/@了我们,含定向回复所需的评论 id)",
26644
+ "access": "read",
26645
+ "domain": "www.nowcoder.com",
26646
+ "strategy": "cookie",
26647
+ "browser": true,
26648
+ "args": [
26649
+ {
26650
+ "name": "page",
26651
+ "type": "int",
26652
+ "default": 1,
26653
+ "required": false,
26654
+ "help": "页码"
26655
+ }
26656
+ ],
26657
+ "columns": [
26658
+ "msg_id",
26659
+ "from_user_id",
26660
+ "from_nickname",
26661
+ "reply_content",
26662
+ "reply_comment_id",
26663
+ "quoted_ours",
26664
+ "url",
26665
+ "time"
26666
+ ],
26667
+ "type": "js",
26668
+ "modulePath": "nowcoder/inbox.js",
26669
+ "sourceFile": "nowcoder/inbox.js",
26670
+ "navigateBefore": "https://www.nowcoder.com"
26671
+ },
25385
26672
  {
25386
26673
  "site": "nowcoder",
25387
26674
  "name": "jobs",
@@ -25400,6 +26687,33 @@
25400
26687
  "modulePath": "nowcoder/jobs.js",
25401
26688
  "sourceFile": "nowcoder/jobs.js"
25402
26689
  },
26690
+ {
26691
+ "site": "nowcoder",
26692
+ "name": "like",
26693
+ "description": "点赞帖子(toggle,再次调用取消;有频控,务必低频)",
26694
+ "access": "write",
26695
+ "domain": "www.nowcoder.com",
26696
+ "strategy": "cookie",
26697
+ "browser": true,
26698
+ "args": [
26699
+ {
26700
+ "name": "id",
26701
+ "type": "str",
26702
+ "required": true,
26703
+ "positional": true,
26704
+ "help": "帖子 id(数字 momentId / UUID / 链接均可)"
26705
+ }
26706
+ ],
26707
+ "columns": [
26708
+ "post_id",
26709
+ "status",
26710
+ "like_count"
26711
+ ],
26712
+ "type": "js",
26713
+ "modulePath": "nowcoder/like.js",
26714
+ "sourceFile": "nowcoder/like.js",
26715
+ "navigateBefore": "https://www.nowcoder.com"
26716
+ },
25403
26717
  {
25404
26718
  "site": "nowcoder",
25405
26719
  "name": "login",
@@ -25431,6 +26745,33 @@
25431
26745
  "siteSession": "persistent",
25432
26746
  "defaultWindowMode": "foreground"
25433
26747
  },
26748
+ {
26749
+ "site": "nowcoder",
26750
+ "name": "my",
26751
+ "description": "我发布的动态列表(含 momentId,可供 delete 使用)",
26752
+ "access": "read",
26753
+ "domain": "www.nowcoder.com",
26754
+ "strategy": "cookie",
26755
+ "browser": true,
26756
+ "args": [
26757
+ {
26758
+ "name": "page",
26759
+ "type": "int",
26760
+ "default": 1,
26761
+ "required": false,
26762
+ "help": "页码"
26763
+ }
26764
+ ],
26765
+ "columns": [
26766
+ "moment_id",
26767
+ "title",
26768
+ "content"
26769
+ ],
26770
+ "type": "js",
26771
+ "modulePath": "nowcoder/my.js",
26772
+ "sourceFile": "nowcoder/my.js",
26773
+ "navigateBefore": "https://www.nowcoder.com"
26774
+ },
25434
26775
  {
25435
26776
  "site": "nowcoder",
25436
26777
  "name": "notifications",
@@ -25491,6 +26832,40 @@
25491
26832
  "sourceFile": "nowcoder/papers.js",
25492
26833
  "navigateBefore": "https://www.nowcoder.com"
25493
26834
  },
26835
+ {
26836
+ "site": "nowcoder",
26837
+ "name": "post",
26838
+ "description": "发布动态(实名发帖,高风险写操作,务必低频且内容有价值)",
26839
+ "access": "write",
26840
+ "domain": "www.nowcoder.com",
26841
+ "strategy": "cookie",
26842
+ "browser": true,
26843
+ "args": [
26844
+ {
26845
+ "name": "content",
26846
+ "type": "str",
26847
+ "required": true,
26848
+ "positional": true,
26849
+ "help": "正文内容"
26850
+ },
26851
+ {
26852
+ "name": "title",
26853
+ "type": "str",
26854
+ "default": "",
26855
+ "required": false,
26856
+ "help": "标题(可选)"
26857
+ }
26858
+ ],
26859
+ "columns": [
26860
+ "moment_id",
26861
+ "content_id",
26862
+ "url"
26863
+ ],
26864
+ "type": "js",
26865
+ "modulePath": "nowcoder/post.js",
26866
+ "sourceFile": "nowcoder/post.js",
26867
+ "navigateBefore": "https://www.nowcoder.com"
26868
+ },
25494
26869
  {
25495
26870
  "site": "nowcoder",
25496
26871
  "name": "practice",
@@ -26873,6 +28248,52 @@
26873
28248
  "siteSession": "persistent",
26874
28249
  "defaultWindowMode": "foreground"
26875
28250
  },
28251
+ {
28252
+ "site": "oschina",
28253
+ "name": "stats",
28254
+ "description": "开源中国博客数据(每篇阅读/点赞/评论等全量运营指标)",
28255
+ "access": "read",
28256
+ "domain": "my.oschina.net",
28257
+ "strategy": "cookie",
28258
+ "browser": true,
28259
+ "args": [
28260
+ {
28261
+ "name": "limit",
28262
+ "type": "number",
28263
+ "default": 20,
28264
+ "required": false,
28265
+ "help": "返回条数"
28266
+ },
28267
+ {
28268
+ "name": "user",
28269
+ "type": "str",
28270
+ "required": false,
28271
+ "help": "查看指定用户 ID 的公开博客数据(默认当前登录账号,含私密与定时博客)"
28272
+ }
28273
+ ],
28274
+ "columns": [
28275
+ "id",
28276
+ "type",
28277
+ "title",
28278
+ "url",
28279
+ "published_at",
28280
+ "views",
28281
+ "likes",
28282
+ "comments",
28283
+ "collects",
28284
+ "shares",
28285
+ "origin",
28286
+ "is_private",
28287
+ "recommended",
28288
+ "top",
28289
+ "status",
28290
+ "extra"
28291
+ ],
28292
+ "type": "js",
28293
+ "modulePath": "oschina/stats.js",
28294
+ "sourceFile": "oschina/stats.js",
28295
+ "navigateBefore": "https://my.oschina.net"
28296
+ },
26876
28297
  {
26877
28298
  "site": "oschina",
26878
28299
  "name": "whoami",
@@ -27215,6 +28636,181 @@
27215
28636
  "modulePath": "paperreview/submit.js",
27216
28637
  "sourceFile": "paperreview/submit.js"
27217
28638
  },
28639
+ {
28640
+ "site": "pinterest",
28641
+ "name": "board-create",
28642
+ "description": "Create a new Pinterest board",
28643
+ "access": "write",
28644
+ "domain": "www.pinterest.com",
28645
+ "strategy": "cookie",
28646
+ "browser": true,
28647
+ "args": [
28648
+ {
28649
+ "name": "name",
28650
+ "type": "string",
28651
+ "required": true,
28652
+ "positional": true,
28653
+ "help": "Board name"
28654
+ },
28655
+ {
28656
+ "name": "description",
28657
+ "type": "string",
28658
+ "required": false,
28659
+ "help": "Board description"
28660
+ },
28661
+ {
28662
+ "name": "privacy",
28663
+ "type": "string",
28664
+ "default": "public",
28665
+ "required": false,
28666
+ "help": "public | secret"
28667
+ }
28668
+ ],
28669
+ "columns": [
28670
+ "id",
28671
+ "name",
28672
+ "url"
28673
+ ],
28674
+ "type": "js",
28675
+ "modulePath": "pinterest/boards.js",
28676
+ "sourceFile": "pinterest/boards.js",
28677
+ "navigateBefore": "https://www.pinterest.com"
28678
+ },
28679
+ {
28680
+ "site": "pinterest",
28681
+ "name": "boards",
28682
+ "description": "List your Pinterest boards",
28683
+ "access": "read",
28684
+ "domain": "www.pinterest.com",
28685
+ "strategy": "cookie",
28686
+ "browser": true,
28687
+ "args": [],
28688
+ "columns": [
28689
+ "id",
28690
+ "name",
28691
+ "url"
28692
+ ],
28693
+ "type": "js",
28694
+ "modulePath": "pinterest/boards.js",
28695
+ "sourceFile": "pinterest/boards.js",
28696
+ "navigateBefore": "https://www.pinterest.com"
28697
+ },
28698
+ {
28699
+ "site": "pinterest",
28700
+ "name": "login",
28701
+ "description": "Open pinterest login and wait until the browser session is authenticated",
28702
+ "access": "write",
28703
+ "domain": "www.pinterest.com",
28704
+ "strategy": "cookie",
28705
+ "browser": true,
28706
+ "args": [
28707
+ {
28708
+ "name": "timeout",
28709
+ "type": "int",
28710
+ "default": 300,
28711
+ "required": false,
28712
+ "help": "Maximum seconds to wait for the user to finish login"
28713
+ }
28714
+ ],
28715
+ "columns": [
28716
+ "status",
28717
+ "logged_in",
28718
+ "site",
28719
+ "username",
28720
+ "url"
28721
+ ],
28722
+ "type": "js",
28723
+ "modulePath": "pinterest/auth.js",
28724
+ "sourceFile": "pinterest/auth.js",
28725
+ "navigateBefore": false,
28726
+ "siteSession": "persistent",
28727
+ "defaultWindowMode": "foreground"
28728
+ },
28729
+ {
28730
+ "site": "pinterest",
28731
+ "name": "pin",
28732
+ "description": "Create a pin on a board with an optional destination link",
28733
+ "access": "write",
28734
+ "domain": "www.pinterest.com",
28735
+ "strategy": "cookie",
28736
+ "browser": true,
28737
+ "args": [
28738
+ {
28739
+ "name": "title",
28740
+ "type": "string",
28741
+ "required": true,
28742
+ "positional": true,
28743
+ "help": "Pin title"
28744
+ },
28745
+ {
28746
+ "name": "image-url",
28747
+ "type": "string",
28748
+ "required": false,
28749
+ "help": "Image URL to pin (required unless --image)"
28750
+ },
28751
+ {
28752
+ "name": "image",
28753
+ "type": "string",
28754
+ "required": false,
28755
+ "help": "(best-effort) local image file to upload"
28756
+ },
28757
+ {
28758
+ "name": "board",
28759
+ "type": "string",
28760
+ "required": true,
28761
+ "help": "Target board name"
28762
+ },
28763
+ {
28764
+ "name": "description",
28765
+ "type": "string",
28766
+ "required": false,
28767
+ "help": "Pin description"
28768
+ },
28769
+ {
28770
+ "name": "link",
28771
+ "type": "string",
28772
+ "required": false,
28773
+ "help": "Destination/landing URL (defaults to the image URL)"
28774
+ },
28775
+ {
28776
+ "name": "create-board",
28777
+ "type": "boolean",
28778
+ "default": false,
28779
+ "required": false,
28780
+ "help": "Create the board if it does not exist"
28781
+ }
28782
+ ],
28783
+ "columns": [
28784
+ "status",
28785
+ "pin_id",
28786
+ "url"
28787
+ ],
28788
+ "type": "js",
28789
+ "modulePath": "pinterest/publish.js",
28790
+ "sourceFile": "pinterest/publish.js",
28791
+ "navigateBefore": "https://www.pinterest.com"
28792
+ },
28793
+ {
28794
+ "site": "pinterest",
28795
+ "name": "whoami",
28796
+ "description": "Show the current logged-in pinterest account",
28797
+ "access": "read",
28798
+ "domain": "www.pinterest.com",
28799
+ "strategy": "cookie",
28800
+ "browser": true,
28801
+ "args": [],
28802
+ "columns": [
28803
+ "logged_in",
28804
+ "site",
28805
+ "username",
28806
+ "url"
28807
+ ],
28808
+ "type": "js",
28809
+ "modulePath": "pinterest/auth.js",
28810
+ "sourceFile": "pinterest/auth.js",
28811
+ "navigateBefore": false,
28812
+ "siteSession": "persistent"
28813
+ },
27218
28814
  {
27219
28815
  "site": "pixiv",
27220
28816
  "name": "detail",
@@ -28421,6 +30017,150 @@
28421
30017
  "modulePath": "pypi/package.js",
28422
30018
  "sourceFile": "pypi/package.js"
28423
30019
  },
30020
+ {
30021
+ "site": "qiita",
30022
+ "name": "delete",
30023
+ "description": "Delete a Qiita article or draft by its URL (article linkUrl, or https://qiita.com/drafts/<uuid>).",
30024
+ "access": "write",
30025
+ "domain": "qiita.com",
30026
+ "strategy": "cookie",
30027
+ "browser": true,
30028
+ "args": [
30029
+ {
30030
+ "name": "url",
30031
+ "type": "string",
30032
+ "required": false,
30033
+ "help": "Article URL (e.g. https://qiita.com/<urlName>/items/<uuid>) or draft URL (https://qiita.com/drafts/<uuid>)"
30034
+ }
30035
+ ],
30036
+ "columns": [
30037
+ "status",
30038
+ "url"
30039
+ ],
30040
+ "type": "js",
30041
+ "modulePath": "qiita/publish.js",
30042
+ "sourceFile": "qiita/publish.js",
30043
+ "navigateBefore": "https://qiita.com"
30044
+ },
30045
+ {
30046
+ "site": "qiita",
30047
+ "name": "login",
30048
+ "description": "打开 Qiita 登录页并等待浏览器完成登录(供桌面客户端引导登录)。",
30049
+ "access": "write",
30050
+ "domain": "qiita.com",
30051
+ "strategy": "cookie",
30052
+ "browser": true,
30053
+ "args": [
30054
+ {
30055
+ "name": "timeout",
30056
+ "type": "int",
30057
+ "default": 300,
30058
+ "required": false,
30059
+ "help": "Maximum seconds to wait for the user to finish login"
30060
+ }
30061
+ ],
30062
+ "columns": [
30063
+ "status",
30064
+ "logged_in",
30065
+ "site",
30066
+ "url_name",
30067
+ "name",
30068
+ "user_id"
30069
+ ],
30070
+ "type": "js",
30071
+ "modulePath": "qiita/auth.js",
30072
+ "sourceFile": "qiita/auth.js",
30073
+ "navigateBefore": false,
30074
+ "siteSession": "persistent",
30075
+ "defaultWindowMode": "foreground"
30076
+ },
30077
+ {
30078
+ "site": "qiita",
30079
+ "name": "publish",
30080
+ "description": "Publish a Qiita article (markdown). Tags required. Public by default; --draft or --secret to change.",
30081
+ "access": "write",
30082
+ "domain": "qiita.com",
30083
+ "strategy": "cookie",
30084
+ "browser": true,
30085
+ "args": [
30086
+ {
30087
+ "name": "title",
30088
+ "type": "string",
30089
+ "required": false,
30090
+ "help": "Article title (required)"
30091
+ },
30092
+ {
30093
+ "name": "body",
30094
+ "type": "string",
30095
+ "required": false,
30096
+ "help": "Article body in Markdown (or use --body-file)"
30097
+ },
30098
+ {
30099
+ "name": "body-file",
30100
+ "type": "string",
30101
+ "required": false,
30102
+ "help": "Path to a Markdown file for the body"
30103
+ },
30104
+ {
30105
+ "name": "tags",
30106
+ "type": "string",
30107
+ "required": false,
30108
+ "help": "Comma-separated tags (REQUIRED, at least 1)"
30109
+ },
30110
+ {
30111
+ "name": "draft",
30112
+ "type": "boolean",
30113
+ "default": false,
30114
+ "required": false,
30115
+ "help": "Save as draft only (do not publish)"
30116
+ },
30117
+ {
30118
+ "name": "secret",
30119
+ "type": "boolean",
30120
+ "default": false,
30121
+ "required": false,
30122
+ "help": "Publish as limited-public (secret) instead of public"
30123
+ },
30124
+ {
30125
+ "name": "tweet-share",
30126
+ "type": "boolean",
30127
+ "default": false,
30128
+ "required": false,
30129
+ "help": "Also share to X/Twitter on publish (public only)"
30130
+ }
30131
+ ],
30132
+ "columns": [
30133
+ "status",
30134
+ "uuid",
30135
+ "url"
30136
+ ],
30137
+ "type": "js",
30138
+ "modulePath": "qiita/publish.js",
30139
+ "sourceFile": "qiita/publish.js",
30140
+ "navigateBefore": "https://qiita.com"
30141
+ },
30142
+ {
30143
+ "site": "qiita",
30144
+ "name": "whoami",
30145
+ "description": "Show the current logged-in qiita account",
30146
+ "access": "read",
30147
+ "domain": "qiita.com",
30148
+ "strategy": "cookie",
30149
+ "browser": true,
30150
+ "args": [],
30151
+ "columns": [
30152
+ "logged_in",
30153
+ "site",
30154
+ "url_name",
30155
+ "name",
30156
+ "user_id"
30157
+ ],
30158
+ "type": "js",
30159
+ "modulePath": "qiita/auth.js",
30160
+ "sourceFile": "qiita/auth.js",
30161
+ "navigateBefore": false,
30162
+ "siteSession": "persistent"
30163
+ },
28424
30164
  {
28425
30165
  "site": "qoder",
28426
30166
  "name": "account",
@@ -30989,14 +32729,14 @@
30989
32729
  {
30990
32730
  "site": "segmentfault",
30991
32731
  "name": "channels",
30992
- "description": "列出思否文章频道(id + 名称),供 `segmentfault article --channels` 取合法频道名。",
32732
+ "description": "列出思否文章频道(名称 + slug),供 `segmentfault article --channels` 取合法频道名。",
30993
32733
  "access": "read",
30994
32734
  "domain": "segmentfault.com",
30995
32735
  "strategy": "cookie",
30996
32736
  "browser": true,
30997
32737
  "args": [],
30998
32738
  "columns": [
30999
- "channel_id",
32739
+ "channel_slug",
31000
32740
  "channel_name"
31001
32741
  ],
31002
32742
  "type": "js",
@@ -31034,6 +32774,51 @@
31034
32774
  "siteSession": "persistent",
31035
32775
  "defaultWindowMode": "foreground"
31036
32776
  },
32777
+ {
32778
+ "site": "segmentfault",
32779
+ "name": "stats",
32780
+ "description": "思否文章数据(每篇阅读/独立访客/得票/评论/收藏/预计阅读时长等全量运营指标)",
32781
+ "access": "read",
32782
+ "domain": "segmentfault.com",
32783
+ "strategy": "cookie",
32784
+ "browser": true,
32785
+ "args": [
32786
+ {
32787
+ "name": "limit",
32788
+ "type": "number",
32789
+ "default": 20,
32790
+ "required": false,
32791
+ "help": "返回条数"
32792
+ },
32793
+ {
32794
+ "name": "user",
32795
+ "type": "str",
32796
+ "required": false,
32797
+ "help": "指定思否用户名(/u/<name> 里的 name),默认当前登录账号"
32798
+ }
32799
+ ],
32800
+ "columns": [
32801
+ "id",
32802
+ "type",
32803
+ "title",
32804
+ "url",
32805
+ "published_at",
32806
+ "views",
32807
+ "likes",
32808
+ "comments",
32809
+ "collects",
32810
+ "shares",
32811
+ "unique_views",
32812
+ "read_time",
32813
+ "status",
32814
+ "tags",
32815
+ "extra"
32816
+ ],
32817
+ "type": "js",
32818
+ "modulePath": "segmentfault/stats.js",
32819
+ "sourceFile": "segmentfault/stats.js",
32820
+ "navigateBefore": false
32821
+ },
31037
32822
  {
31038
32823
  "site": "segmentfault",
31039
32824
  "name": "tags",
@@ -33401,6 +35186,44 @@
33401
35186
  "siteSession": "persistent",
33402
35187
  "defaultWindowMode": "foreground"
33403
35188
  },
35189
+ {
35190
+ "site": "sohu",
35191
+ "name": "stats",
35192
+ "description": "搜狐号文章数据(每篇阅读/评论/播放等全量运营指标;点赞/分享/投票仅覆盖最近30天已发布内容)",
35193
+ "access": "read",
35194
+ "domain": "mp.sohu.com",
35195
+ "strategy": "cookie",
35196
+ "browser": true,
35197
+ "args": [
35198
+ {
35199
+ "name": "limit",
35200
+ "type": "number",
35201
+ "default": 20,
35202
+ "required": false,
35203
+ "help": "返回条数"
35204
+ }
35205
+ ],
35206
+ "columns": [
35207
+ "id",
35208
+ "type",
35209
+ "title",
35210
+ "url",
35211
+ "published_at",
35212
+ "status",
35213
+ "views",
35214
+ "likes",
35215
+ "comments",
35216
+ "collects",
35217
+ "shares",
35218
+ "video_plays",
35219
+ "votes",
35220
+ "extra"
35221
+ ],
35222
+ "type": "js",
35223
+ "modulePath": "sohu/stats.js",
35224
+ "sourceFile": "sohu/stats.js",
35225
+ "navigateBefore": "https://mp.sohu.com"
35226
+ },
33404
35227
  {
33405
35228
  "site": "sohu",
33406
35229
  "name": "topics",
@@ -34176,6 +35999,38 @@
34176
35999
  "sourceFile": "substack/feed.js",
34177
36000
  "navigateBefore": "https://substack.com"
34178
36001
  },
36002
+ {
36003
+ "site": "substack",
36004
+ "name": "login",
36005
+ "description": "Open substack login and wait until the browser session is authenticated",
36006
+ "access": "write",
36007
+ "domain": "substack.com",
36008
+ "strategy": "cookie",
36009
+ "browser": true,
36010
+ "args": [
36011
+ {
36012
+ "name": "timeout",
36013
+ "type": "int",
36014
+ "default": 300,
36015
+ "required": false,
36016
+ "help": "Maximum seconds to wait for the user to finish login"
36017
+ }
36018
+ ],
36019
+ "columns": [
36020
+ "status",
36021
+ "logged_in",
36022
+ "site",
36023
+ "user_id",
36024
+ "publication",
36025
+ "url"
36026
+ ],
36027
+ "type": "js",
36028
+ "modulePath": "substack/auth.js",
36029
+ "sourceFile": "substack/auth.js",
36030
+ "navigateBefore": false,
36031
+ "siteSession": "persistent",
36032
+ "defaultWindowMode": "foreground"
36033
+ },
34179
36034
  {
34180
36035
  "site": "substack",
34181
36036
  "name": "publication",
@@ -34212,6 +36067,79 @@
34212
36067
  "sourceFile": "substack/publication.js",
34213
36068
  "navigateBefore": "https://substack.com"
34214
36069
  },
36070
+ {
36071
+ "site": "substack",
36072
+ "name": "publish",
36073
+ "description": "Publish a post to your Substack publication (or save a draft with --draft)",
36074
+ "access": "write",
36075
+ "domain": "substack.com",
36076
+ "strategy": "cookie",
36077
+ "browser": true,
36078
+ "args": [
36079
+ {
36080
+ "name": "title",
36081
+ "type": "string",
36082
+ "required": true,
36083
+ "positional": true,
36084
+ "help": "Post title"
36085
+ },
36086
+ {
36087
+ "name": "body",
36088
+ "type": "string",
36089
+ "required": false,
36090
+ "help": "Post body text (blank lines split paragraphs)"
36091
+ },
36092
+ {
36093
+ "name": "subtitle",
36094
+ "type": "string",
36095
+ "required": false,
36096
+ "help": "Optional subtitle"
36097
+ },
36098
+ {
36099
+ "name": "images",
36100
+ "type": "string",
36101
+ "required": false,
36102
+ "help": "Images: comma-separated local paths and/or http(s) urls"
36103
+ },
36104
+ {
36105
+ "name": "audience",
36106
+ "type": "string",
36107
+ "default": "everyone",
36108
+ "required": false,
36109
+ "help": "Visibility: everyone | only_paid"
36110
+ },
36111
+ {
36112
+ "name": "section",
36113
+ "type": "string",
36114
+ "required": false,
36115
+ "help": "Section name to file the post under"
36116
+ },
36117
+ {
36118
+ "name": "send",
36119
+ "type": "boolean",
36120
+ "default": false,
36121
+ "required": false,
36122
+ "help": "Also email subscribers on publish"
36123
+ },
36124
+ {
36125
+ "name": "draft",
36126
+ "type": "boolean",
36127
+ "default": false,
36128
+ "required": false,
36129
+ "help": "Create the draft but do not publish"
36130
+ }
36131
+ ],
36132
+ "columns": [
36133
+ "status",
36134
+ "publication",
36135
+ "draft_id",
36136
+ "url"
36137
+ ],
36138
+ "type": "js",
36139
+ "modulePath": "substack/publish.js",
36140
+ "sourceFile": "substack/publish.js",
36141
+ "navigateBefore": "https://substack.com"
36142
+ },
34215
36143
  {
34216
36144
  "site": "substack",
34217
36145
  "name": "search",
@@ -34259,6 +36187,28 @@
34259
36187
  "modulePath": "substack/search.js",
34260
36188
  "sourceFile": "substack/search.js"
34261
36189
  },
36190
+ {
36191
+ "site": "substack",
36192
+ "name": "whoami",
36193
+ "description": "Show the current logged-in substack account",
36194
+ "access": "read",
36195
+ "domain": "substack.com",
36196
+ "strategy": "cookie",
36197
+ "browser": true,
36198
+ "args": [],
36199
+ "columns": [
36200
+ "logged_in",
36201
+ "site",
36202
+ "user_id",
36203
+ "publication",
36204
+ "url"
36205
+ ],
36206
+ "type": "js",
36207
+ "modulePath": "substack/auth.js",
36208
+ "sourceFile": "substack/auth.js",
36209
+ "navigateBefore": false,
36210
+ "siteSession": "persistent"
36211
+ },
34262
36212
  {
34263
36213
  "site": "suno",
34264
36214
  "name": "download",
@@ -35357,6 +37307,53 @@
35357
37307
  "sourceFile": "tiktok/profile.js",
35358
37308
  "navigateBefore": "https://www.tiktok.com"
35359
37309
  },
37310
+ {
37311
+ "site": "tiktok",
37312
+ "name": "publish",
37313
+ "description": "Publish a video to TikTok (one command: upload + caption + publish; optional schedule)",
37314
+ "access": "write",
37315
+ "domain": "www.tiktok.com",
37316
+ "strategy": "cookie",
37317
+ "browser": true,
37318
+ "args": [
37319
+ {
37320
+ "name": "video",
37321
+ "type": "str",
37322
+ "required": true,
37323
+ "positional": true,
37324
+ "help": "Video file path"
37325
+ },
37326
+ {
37327
+ "name": "title",
37328
+ "type": "str",
37329
+ "required": true,
37330
+ "help": "Caption / title text"
37331
+ },
37332
+ {
37333
+ "name": "tags",
37334
+ "type": "str",
37335
+ "default": "",
37336
+ "required": false,
37337
+ "help": "Comma-separated hashtags (without #)"
37338
+ },
37339
+ {
37340
+ "name": "schedule",
37341
+ "type": "str",
37342
+ "default": "",
37343
+ "required": false,
37344
+ "help": "Scheduled publish time (ISO8601 or Unix seconds); omit to post now"
37345
+ }
37346
+ ],
37347
+ "columns": [
37348
+ "status",
37349
+ "title",
37350
+ "url"
37351
+ ],
37352
+ "type": "js",
37353
+ "modulePath": "tiktok/publish.js",
37354
+ "sourceFile": "tiktok/publish.js",
37355
+ "navigateBefore": false
37356
+ },
35360
37357
  {
35361
37358
  "site": "tiktok",
35362
37359
  "name": "save",
@@ -35568,6 +37565,68 @@
35568
37565
  "navigateBefore": false,
35569
37566
  "siteSession": "persistent"
35570
37567
  },
37568
+ {
37569
+ "site": "toutiao",
37570
+ "name": "article",
37571
+ "description": "正式发布头条号图文文章(会立即公开,头条无可靠的存草稿接口,故不支持草稿)。正文默认 Markdown,图片自动转存到头条图床。标题需 2~30 字;封面可选(--cover,不传则头条自动从正文图选封面)。",
37572
+ "access": "write",
37573
+ "domain": "mp.toutiao.com",
37574
+ "strategy": "cookie",
37575
+ "browser": true,
37576
+ "args": [
37577
+ {
37578
+ "name": "title",
37579
+ "type": "str",
37580
+ "required": true,
37581
+ "positional": true,
37582
+ "help": "文章标题(2~30 字)"
37583
+ },
37584
+ {
37585
+ "name": "text",
37586
+ "type": "str",
37587
+ "required": false,
37588
+ "positional": true,
37589
+ "help": "文章正文(默认 Markdown;传 --html 则视为原始 HTML)"
37590
+ },
37591
+ {
37592
+ "name": "file",
37593
+ "type": "str",
37594
+ "required": false,
37595
+ "help": "正文文件路径(UTF-8,默认 Markdown)"
37596
+ },
37597
+ {
37598
+ "name": "html",
37599
+ "type": "boolean",
37600
+ "required": false,
37601
+ "help": "将正文视为原始 HTML 而非 Markdown"
37602
+ },
37603
+ {
37604
+ "name": "cover",
37605
+ "type": "str",
37606
+ "required": false,
37607
+ "help": "封面图 URL 或本机路径(可选;会先转存到头条图床)"
37608
+ },
37609
+ {
37610
+ "name": "execute",
37611
+ "type": "boolean",
37612
+ "required": false,
37613
+ "help": "真正执行写操作。不加此参数时命令拒绝写入。"
37614
+ }
37615
+ ],
37616
+ "columns": [
37617
+ "status",
37618
+ "outcome",
37619
+ "message",
37620
+ "target_type",
37621
+ "target",
37622
+ "created_target",
37623
+ "created_url"
37624
+ ],
37625
+ "type": "js",
37626
+ "modulePath": "toutiao/article.js",
37627
+ "sourceFile": "toutiao/article.js",
37628
+ "navigateBefore": "https://mp.toutiao.com"
37629
+ },
35571
37630
  {
35572
37631
  "site": "toutiao",
35573
37632
  "name": "articles",
@@ -37012,6 +39071,175 @@
37012
39071
  "modulePath": "trae-solo/workspaces-fs.js",
37013
39072
  "sourceFile": "trae-solo/workspaces-fs.js"
37014
39073
  },
39074
+ {
39075
+ "site": "tumblr",
39076
+ "name": "delete",
39077
+ "description": "Delete a Tumblr post by id (POST /v2/blog/{blog}/post/delete).",
39078
+ "access": "write",
39079
+ "domain": "tumblr.com",
39080
+ "strategy": "cookie",
39081
+ "browser": true,
39082
+ "args": [
39083
+ {
39084
+ "name": "id",
39085
+ "type": "string",
39086
+ "required": true,
39087
+ "help": "Post id to delete"
39088
+ },
39089
+ {
39090
+ "name": "blog",
39091
+ "type": "string",
39092
+ "required": false,
39093
+ "help": "Target blog identifier (else your primary blog)"
39094
+ }
39095
+ ],
39096
+ "columns": [
39097
+ "status",
39098
+ "id",
39099
+ "blog"
39100
+ ],
39101
+ "type": "js",
39102
+ "modulePath": "tumblr/publish.js",
39103
+ "sourceFile": "tumblr/publish.js",
39104
+ "navigateBefore": "https://tumblr.com"
39105
+ },
39106
+ {
39107
+ "site": "tumblr",
39108
+ "name": "login",
39109
+ "description": "打开 Tumblr 登录页并等待浏览器完成登录(供桌面客户端引导登录)。",
39110
+ "access": "write",
39111
+ "domain": "tumblr.com",
39112
+ "strategy": "cookie",
39113
+ "browser": true,
39114
+ "args": [
39115
+ {
39116
+ "name": "timeout",
39117
+ "type": "int",
39118
+ "default": 300,
39119
+ "required": false,
39120
+ "help": "Maximum seconds to wait for the user to finish login"
39121
+ }
39122
+ ],
39123
+ "columns": [
39124
+ "status",
39125
+ "logged_in",
39126
+ "site",
39127
+ "name",
39128
+ "primary_blog",
39129
+ "blogs"
39130
+ ],
39131
+ "type": "js",
39132
+ "modulePath": "tumblr/auth.js",
39133
+ "sourceFile": "tumblr/auth.js",
39134
+ "navigateBefore": false,
39135
+ "siteSession": "persistent",
39136
+ "defaultWindowMode": "foreground"
39137
+ },
39138
+ {
39139
+ "site": "tumblr",
39140
+ "name": "publish",
39141
+ "description": "Publish a Tumblr post (NPF: title/text/image/link). Draft by default; pass --state published to go live.",
39142
+ "access": "write",
39143
+ "domain": "tumblr.com",
39144
+ "strategy": "cookie",
39145
+ "browser": true,
39146
+ "args": [
39147
+ {
39148
+ "name": "title",
39149
+ "type": "string",
39150
+ "required": false,
39151
+ "help": "Title (rendered as a heading1 text block)"
39152
+ },
39153
+ {
39154
+ "name": "text",
39155
+ "type": "string",
39156
+ "required": false,
39157
+ "help": "Body text (blank lines split paragraphs); alias of --body"
39158
+ },
39159
+ {
39160
+ "name": "body",
39161
+ "type": "string",
39162
+ "required": false,
39163
+ "help": "Body text (blank lines split paragraphs)"
39164
+ },
39165
+ {
39166
+ "name": "body-file",
39167
+ "type": "string",
39168
+ "required": false,
39169
+ "help": "Path to a text file for the body"
39170
+ },
39171
+ {
39172
+ "name": "image-url",
39173
+ "type": "string",
39174
+ "required": false,
39175
+ "help": "Image URL (NPF image block)"
39176
+ },
39177
+ {
39178
+ "name": "link",
39179
+ "type": "string",
39180
+ "required": false,
39181
+ "help": "Link URL (NPF link block)"
39182
+ },
39183
+ {
39184
+ "name": "tags",
39185
+ "type": "string",
39186
+ "required": false,
39187
+ "help": "Comma-separated tags"
39188
+ },
39189
+ {
39190
+ "name": "state",
39191
+ "type": "string",
39192
+ "default": "draft",
39193
+ "required": false,
39194
+ "help": "draft | published | queue | private (default: draft)",
39195
+ "choices": [
39196
+ "published",
39197
+ "draft",
39198
+ "queue",
39199
+ "private"
39200
+ ]
39201
+ },
39202
+ {
39203
+ "name": "blog",
39204
+ "type": "string",
39205
+ "required": false,
39206
+ "help": "Target blog identifier (else your primary blog)"
39207
+ }
39208
+ ],
39209
+ "columns": [
39210
+ "status",
39211
+ "id",
39212
+ "blog",
39213
+ "state",
39214
+ "url"
39215
+ ],
39216
+ "type": "js",
39217
+ "modulePath": "tumblr/publish.js",
39218
+ "sourceFile": "tumblr/publish.js",
39219
+ "navigateBefore": "https://tumblr.com"
39220
+ },
39221
+ {
39222
+ "site": "tumblr",
39223
+ "name": "whoami",
39224
+ "description": "Show the current logged-in tumblr account",
39225
+ "access": "read",
39226
+ "domain": "tumblr.com",
39227
+ "strategy": "cookie",
39228
+ "browser": true,
39229
+ "args": [],
39230
+ "columns": [
39231
+ "logged_in",
39232
+ "site",
39233
+ "name",
39234
+ "primary_blog",
39235
+ "blogs"
39236
+ ],
39237
+ "type": "js",
39238
+ "modulePath": "tumblr/auth.js",
39239
+ "sourceFile": "tumblr/auth.js",
39240
+ "navigateBefore": false,
39241
+ "siteSession": "persistent"
39242
+ },
37015
39243
  {
37016
39244
  "site": "tvmaze",
37017
39245
  "name": "search",
@@ -37397,6 +39625,115 @@
37397
39625
  "sourceFile": "twitter/device-follow.js",
37398
39626
  "navigateBefore": "https://x.com"
37399
39627
  },
39628
+ {
39629
+ "site": "twitter",
39630
+ "name": "dm-list",
39631
+ "description": "List recent DM conversations (id, participants, last message, unread state)",
39632
+ "access": "read",
39633
+ "domain": "x.com",
39634
+ "strategy": "cookie",
39635
+ "browser": true,
39636
+ "args": [
39637
+ {
39638
+ "name": "limit",
39639
+ "type": "int",
39640
+ "default": 20,
39641
+ "required": false,
39642
+ "help": "Maximum number of conversations to return (default 20)"
39643
+ }
39644
+ ],
39645
+ "columns": [
39646
+ "conversation_id",
39647
+ "type",
39648
+ "participants",
39649
+ "last_message",
39650
+ "last_time",
39651
+ "trusted",
39652
+ "muted"
39653
+ ],
39654
+ "type": "js",
39655
+ "modulePath": "twitter/dm-list.js",
39656
+ "sourceFile": "twitter/dm-list.js",
39657
+ "navigateBefore": "https://x.com"
39658
+ },
39659
+ {
39660
+ "site": "twitter",
39661
+ "name": "dm-read",
39662
+ "description": "Read message history of one DM conversation (by conversation id from dm-list, or @screen_name / numeric user id for the 1-on-1 conversation)",
39663
+ "access": "read",
39664
+ "domain": "x.com",
39665
+ "strategy": "cookie",
39666
+ "browser": true,
39667
+ "args": [
39668
+ {
39669
+ "name": "conversation",
39670
+ "type": "string",
39671
+ "required": true,
39672
+ "positional": true,
39673
+ "help": "Conversation id like 123-456 (from `dm-list`), or @screen_name / numeric user id of the peer"
39674
+ },
39675
+ {
39676
+ "name": "limit",
39677
+ "type": "int",
39678
+ "default": 50,
39679
+ "required": false,
39680
+ "help": "Maximum number of messages to return, newest first (default 50)"
39681
+ }
39682
+ ],
39683
+ "columns": [
39684
+ "id",
39685
+ "sender",
39686
+ "text",
39687
+ "time",
39688
+ "media_url"
39689
+ ],
39690
+ "type": "js",
39691
+ "modulePath": "twitter/dm-read.js",
39692
+ "sourceFile": "twitter/dm-read.js",
39693
+ "navigateBefore": "https://x.com"
39694
+ },
39695
+ {
39696
+ "site": "twitter",
39697
+ "name": "dm-send",
39698
+ "description": "Send a direct message to one user (by @screen_name, numeric user id, or conversation id from dm-list)",
39699
+ "access": "write",
39700
+ "domain": "x.com",
39701
+ "strategy": "cookie",
39702
+ "browser": true,
39703
+ "args": [
39704
+ {
39705
+ "name": "user",
39706
+ "type": "string",
39707
+ "required": true,
39708
+ "positional": true,
39709
+ "help": "Recipient: @screen_name, numeric user id, or a conversation id like 123-456 from `dm-list`"
39710
+ },
39711
+ {
39712
+ "name": "text",
39713
+ "type": "string",
39714
+ "required": true,
39715
+ "positional": true,
39716
+ "help": "Message text to send"
39717
+ },
39718
+ {
39719
+ "name": "reply-to",
39720
+ "type": "string",
39721
+ "required": false,
39722
+ "help": "Message id to reply to (from `dm-read`)"
39723
+ }
39724
+ ],
39725
+ "columns": [
39726
+ "id",
39727
+ "conversation_id",
39728
+ "text",
39729
+ "time",
39730
+ "status"
39731
+ ],
39732
+ "type": "js",
39733
+ "modulePath": "twitter/dm-send.js",
39734
+ "sourceFile": "twitter/dm-send.js",
39735
+ "navigateBefore": "https://x.com"
39736
+ },
37400
39737
  {
37401
39738
  "site": "twitter",
37402
39739
  "name": "download",
@@ -38211,9 +40548,15 @@
38211
40548
  {
38212
40549
  "name": "text",
38213
40550
  "type": "string",
38214
- "required": true,
40551
+ "required": false,
38215
40552
  "positional": true,
38216
- "help": "The text content of your reply"
40553
+ "help": "The text content of your reply (or use --file)"
40554
+ },
40555
+ {
40556
+ "name": "file",
40557
+ "type": "str",
40558
+ "required": false,
40559
+ "help": "从本机文件读取回复正文(UTF-8),与位置参数 <text> 二选一"
38217
40560
  },
38218
40561
  {
38219
40562
  "name": "image",
@@ -39787,6 +42130,74 @@
39787
42130
  "navigateBefore": false,
39788
42131
  "siteSession": "persistent"
39789
42132
  },
42133
+ {
42134
+ "site": "weibo",
42135
+ "name": "article",
42136
+ "description": "把长文以微博头条文章形式保存到草稿箱(card.weibo.com)。正文默认 Markdown,外链/本机图片自动转存到微博图床,支持 --cover 题图。注意:平台接口只到草稿态,正式发布需在微博头条文章编辑器里手动操作。",
42137
+ "access": "write",
42138
+ "domain": "weibo.com",
42139
+ "strategy": "cookie",
42140
+ "browser": true,
42141
+ "args": [
42142
+ {
42143
+ "name": "title",
42144
+ "type": "str",
42145
+ "required": true,
42146
+ "positional": true,
42147
+ "help": "文章标题"
42148
+ },
42149
+ {
42150
+ "name": "text",
42151
+ "type": "str",
42152
+ "required": false,
42153
+ "positional": true,
42154
+ "help": "文章正文(默认 Markdown;加 --html 则当 HTML 处理)"
42155
+ },
42156
+ {
42157
+ "name": "file",
42158
+ "type": "str",
42159
+ "required": false,
42160
+ "help": "正文文件路径(UTF-8,默认 Markdown)"
42161
+ },
42162
+ {
42163
+ "name": "html",
42164
+ "type": "boolean",
42165
+ "required": false,
42166
+ "help": "把正文当 HTML 处理而不是 Markdown"
42167
+ },
42168
+ {
42169
+ "name": "cover",
42170
+ "type": "str",
42171
+ "required": false,
42172
+ "help": "题图(本机图片路径或图片 URL,自动转存到微博图床)"
42173
+ },
42174
+ {
42175
+ "name": "draft",
42176
+ "type": "boolean",
42177
+ "required": false,
42178
+ "help": "仅保存草稿(微博头条文章目前只支持草稿,此参数保留兼容性)"
42179
+ },
42180
+ {
42181
+ "name": "execute",
42182
+ "type": "boolean",
42183
+ "required": false,
42184
+ "help": "实际执行写入。不加此参数时命令拒绝写入。"
42185
+ }
42186
+ ],
42187
+ "columns": [
42188
+ "status",
42189
+ "outcome",
42190
+ "message",
42191
+ "target_type",
42192
+ "target",
42193
+ "created_target",
42194
+ "created_url"
42195
+ ],
42196
+ "type": "js",
42197
+ "modulePath": "weibo/article.js",
42198
+ "sourceFile": "weibo/article.js",
42199
+ "navigateBefore": "https://weibo.com"
42200
+ },
39790
42201
  {
39791
42202
  "site": "weibo",
39792
42203
  "name": "comments",
@@ -40420,6 +42831,36 @@
40420
42831
  "sourceFile": "weixin/drafts.js",
40421
42832
  "navigateBefore": false
40422
42833
  },
42834
+ {
42835
+ "site": "weixin",
42836
+ "name": "login",
42837
+ "description": "打开微信公众平台首页并等待浏览器完成扫码登录(供桌面客户端引导登录)。",
42838
+ "access": "write",
42839
+ "domain": "mp.weixin.qq.com",
42840
+ "strategy": "cookie",
42841
+ "browser": true,
42842
+ "args": [
42843
+ {
42844
+ "name": "timeout",
42845
+ "type": "int",
42846
+ "default": 300,
42847
+ "required": false,
42848
+ "help": "等待用户完成登录的最长秒数"
42849
+ }
42850
+ ],
42851
+ "columns": [
42852
+ "status",
42853
+ "logged_in",
42854
+ "user_id",
42855
+ "username"
42856
+ ],
42857
+ "type": "js",
42858
+ "modulePath": "weixin/login.js",
42859
+ "sourceFile": "weixin/login.js",
42860
+ "navigateBefore": false,
42861
+ "siteSession": "persistent",
42862
+ "defaultWindowMode": "foreground"
42863
+ },
40423
42864
  {
40424
42865
  "site": "weixin",
40425
42866
  "name": "search",
@@ -40463,6 +42904,43 @@
40463
42904
  "modulePath": "weixin/search.js",
40464
42905
  "sourceFile": "weixin/search.js"
40465
42906
  },
42907
+ {
42908
+ "site": "weixin",
42909
+ "name": "stats",
42910
+ "description": "微信公众号内容数据(每篇阅读/赞/在看/分享/留言/转载等全量运营指标)",
42911
+ "access": "read",
42912
+ "domain": "mp.weixin.qq.com",
42913
+ "strategy": "cookie",
42914
+ "browser": true,
42915
+ "args": [
42916
+ {
42917
+ "name": "limit",
42918
+ "type": "int",
42919
+ "default": 20,
42920
+ "required": false,
42921
+ "help": "返回条数"
42922
+ }
42923
+ ],
42924
+ "columns": [
42925
+ "id",
42926
+ "type",
42927
+ "title",
42928
+ "url",
42929
+ "published_at",
42930
+ "views",
42931
+ "likes",
42932
+ "looking",
42933
+ "comments",
42934
+ "collects",
42935
+ "shares",
42936
+ "reprints",
42937
+ "extra"
42938
+ ],
42939
+ "type": "js",
42940
+ "modulePath": "weixin/stats.js",
42941
+ "sourceFile": "weixin/stats.js",
42942
+ "navigateBefore": false
42943
+ },
40466
42944
  {
40467
42945
  "site": "weixin",
40468
42946
  "name": "whoami",
@@ -41485,6 +43963,112 @@
41485
43963
  "modulePath": "wikipedia/trending.js",
41486
43964
  "sourceFile": "wikipedia/trending.js"
41487
43965
  },
43966
+ {
43967
+ "site": "wordpress",
43968
+ "name": "publish",
43969
+ "description": "Publish a post to a self-hosted WordPress site via the REST API. A Markdown body is converted to HTML automatically. Defaults to a draft for safety — pass --status publish to go live.",
43970
+ "access": "write",
43971
+ "domain": "wordpress.org",
43972
+ "strategy": "local",
43973
+ "browser": false,
43974
+ "args": [
43975
+ {
43976
+ "name": "title",
43977
+ "type": "str",
43978
+ "required": true,
43979
+ "help": "Post title"
43980
+ },
43981
+ {
43982
+ "name": "content",
43983
+ "type": "str",
43984
+ "required": false,
43985
+ "help": "Post body (Markdown or HTML). Or use --file."
43986
+ },
43987
+ {
43988
+ "name": "file",
43989
+ "type": "str",
43990
+ "required": false,
43991
+ "help": "Read the post body from a local file instead of --content"
43992
+ },
43993
+ {
43994
+ "name": "markup",
43995
+ "type": "str",
43996
+ "default": "auto",
43997
+ "required": false,
43998
+ "help": "How to interpret the body: auto-detect (default), markdown, or html",
43999
+ "choices": [
44000
+ "auto",
44001
+ "markdown",
44002
+ "html"
44003
+ ]
44004
+ },
44005
+ {
44006
+ "name": "status",
44007
+ "type": "str",
44008
+ "default": "draft",
44009
+ "required": false,
44010
+ "help": "Post status (default: draft)",
44011
+ "choices": [
44012
+ "draft",
44013
+ "publish",
44014
+ "pending",
44015
+ "private"
44016
+ ]
44017
+ },
44018
+ {
44019
+ "name": "excerpt",
44020
+ "type": "str",
44021
+ "required": false,
44022
+ "help": "Optional excerpt / summary"
44023
+ },
44024
+ {
44025
+ "name": "slug",
44026
+ "type": "str",
44027
+ "required": false,
44028
+ "help": "Optional URL slug"
44029
+ },
44030
+ {
44031
+ "name": "categories",
44032
+ "type": "str",
44033
+ "required": false,
44034
+ "help": "Comma-separated category IDs"
44035
+ },
44036
+ {
44037
+ "name": "tags",
44038
+ "type": "str",
44039
+ "required": false,
44040
+ "help": "Comma-separated tag IDs"
44041
+ }
44042
+ ],
44043
+ "columns": [
44044
+ "id",
44045
+ "status",
44046
+ "title",
44047
+ "url"
44048
+ ],
44049
+ "type": "js",
44050
+ "modulePath": "wordpress/publish.js",
44051
+ "sourceFile": "wordpress/publish.js"
44052
+ },
44053
+ {
44054
+ "site": "wordpress",
44055
+ "name": "whoami",
44056
+ "description": "Verify the WordPress connection by fetching the authenticated user (GET /wp/v2/users/me). Use this to test that the site URL and Application Password are valid before publishing.",
44057
+ "access": "read",
44058
+ "domain": "wordpress.org",
44059
+ "strategy": "local",
44060
+ "browser": false,
44061
+ "args": [],
44062
+ "columns": [
44063
+ "id",
44064
+ "name",
44065
+ "slug",
44066
+ "site"
44067
+ ],
44068
+ "type": "js",
44069
+ "modulePath": "wordpress/whoami.js",
44070
+ "sourceFile": "wordpress/whoami.js"
44071
+ },
41488
44072
  {
41489
44073
  "site": "woshipm",
41490
44074
  "name": "article",
@@ -41577,6 +44161,42 @@
41577
44161
  "siteSession": "persistent",
41578
44162
  "defaultWindowMode": "foreground"
41579
44163
  },
44164
+ {
44165
+ "site": "woshipm",
44166
+ "name": "stats",
44167
+ "description": "人人都是产品经理文章数据(每篇阅读/收藏/喜欢等全量运营指标,含草稿/审核中/定时发布)",
44168
+ "access": "read",
44169
+ "domain": "www.woshipm.com",
44170
+ "strategy": "cookie",
44171
+ "browser": true,
44172
+ "args": [
44173
+ {
44174
+ "name": "limit",
44175
+ "type": "number",
44176
+ "default": 20,
44177
+ "required": false,
44178
+ "help": "返回条数"
44179
+ }
44180
+ ],
44181
+ "columns": [
44182
+ "id",
44183
+ "type",
44184
+ "title",
44185
+ "url",
44186
+ "published_at",
44187
+ "status",
44188
+ "views",
44189
+ "likes",
44190
+ "comments",
44191
+ "collects",
44192
+ "shares",
44193
+ "extra"
44194
+ ],
44195
+ "type": "js",
44196
+ "modulePath": "woshipm/stats.js",
44197
+ "sourceFile": "woshipm/stats.js",
44198
+ "navigateBefore": "https://www.woshipm.com"
44199
+ },
41580
44200
  {
41581
44201
  "site": "woshipm",
41582
44202
  "name": "whoami",
@@ -42953,9 +45573,15 @@
42953
45573
  {
42954
45574
  "name": "content",
42955
45575
  "type": "str",
42956
- "required": true,
45576
+ "required": false,
42957
45577
  "positional": true,
42958
- "help": "笔记正文"
45578
+ "help": "笔记正文(字面文本,不会展开 @文件 引用;长正文建议用 --file)"
45579
+ },
45580
+ {
45581
+ "name": "file",
45582
+ "type": "str",
45583
+ "required": false,
45584
+ "help": "从本机文件读取笔记正文(UTF-8),与位置参数 <content> 二选一"
42959
45585
  },
42960
45586
  {
42961
45587
  "name": "title",
@@ -43004,6 +45630,63 @@
43004
45630
  "sourceFile": "xiaohongshu/publish.js",
43005
45631
  "navigateBefore": false
43006
45632
  },
45633
+ {
45634
+ "site": "xiaohongshu",
45635
+ "name": "publish-video",
45636
+ "description": "小红书发布视频笔记(creator center UI 自动化)",
45637
+ "access": "write",
45638
+ "domain": "creator.xiaohongshu.com",
45639
+ "strategy": "cookie",
45640
+ "browser": true,
45641
+ "args": [
45642
+ {
45643
+ "name": "content",
45644
+ "type": "str",
45645
+ "required": false,
45646
+ "positional": true,
45647
+ "help": "笔记正文(字面文本,不展开 @文件 引用;长正文用 --file)"
45648
+ },
45649
+ {
45650
+ "name": "file",
45651
+ "type": "str",
45652
+ "required": false,
45653
+ "help": "从本机文件读取正文(UTF-8),与位置参数 <content> 二选一"
45654
+ },
45655
+ {
45656
+ "name": "title",
45657
+ "type": "str",
45658
+ "required": true,
45659
+ "help": "笔记标题(≤20字)"
45660
+ },
45661
+ {
45662
+ "name": "video",
45663
+ "type": "str",
45664
+ "required": true,
45665
+ "help": "视频文件路径 (mp4/mov/mkv/...)"
45666
+ },
45667
+ {
45668
+ "name": "topics",
45669
+ "type": "str",
45670
+ "required": false,
45671
+ "help": "话题标签,逗号分隔,不含 # 号,最多10个"
45672
+ },
45673
+ {
45674
+ "name": "draft",
45675
+ "type": "bool",
45676
+ "default": false,
45677
+ "required": false,
45678
+ "help": "暂存为草稿,不直接发布"
45679
+ }
45680
+ ],
45681
+ "columns": [
45682
+ "status",
45683
+ "detail"
45684
+ ],
45685
+ "type": "js",
45686
+ "modulePath": "xiaohongshu/publish-video.js",
45687
+ "sourceFile": "xiaohongshu/publish-video.js",
45688
+ "navigateBefore": false
45689
+ },
43007
45690
  {
43008
45691
  "site": "xiaohongshu",
43009
45692
  "name": "saved",
@@ -44915,6 +47598,80 @@
44915
47598
  "sourceFile": "youtube/playlist.js",
44916
47599
  "navigateBefore": "https://www.youtube.com"
44917
47600
  },
47601
+ {
47602
+ "site": "youtube",
47603
+ "name": "publish",
47604
+ "description": "Publish a video to YouTube via Studio (one command: upload + metadata + publish)",
47605
+ "access": "write",
47606
+ "domain": "www.youtube.com",
47607
+ "strategy": "cookie",
47608
+ "browser": true,
47609
+ "args": [
47610
+ {
47611
+ "name": "video",
47612
+ "type": "str",
47613
+ "required": true,
47614
+ "positional": true,
47615
+ "help": "Video file path"
47616
+ },
47617
+ {
47618
+ "name": "title",
47619
+ "type": "str",
47620
+ "required": true,
47621
+ "help": "Video title (≤100 chars)"
47622
+ },
47623
+ {
47624
+ "name": "description",
47625
+ "type": "str",
47626
+ "default": "",
47627
+ "required": false,
47628
+ "help": "Video description"
47629
+ },
47630
+ {
47631
+ "name": "tags",
47632
+ "type": "str",
47633
+ "default": "",
47634
+ "required": false,
47635
+ "help": "Comma-separated tags"
47636
+ },
47637
+ {
47638
+ "name": "thumbnail",
47639
+ "type": "str",
47640
+ "default": "",
47641
+ "required": false,
47642
+ "help": "Thumbnail image path (optional)"
47643
+ },
47644
+ {
47645
+ "name": "playlist",
47646
+ "type": "str",
47647
+ "default": "",
47648
+ "required": false,
47649
+ "help": "Playlist name to add to (optional)"
47650
+ },
47651
+ {
47652
+ "name": "visibility",
47653
+ "type": "str",
47654
+ "default": "public",
47655
+ "required": false,
47656
+ "help": "Visibility",
47657
+ "choices": [
47658
+ "public",
47659
+ "unlisted",
47660
+ "private"
47661
+ ]
47662
+ }
47663
+ ],
47664
+ "columns": [
47665
+ "status",
47666
+ "title",
47667
+ "visibility",
47668
+ "url"
47669
+ ],
47670
+ "type": "js",
47671
+ "modulePath": "youtube/publish.js",
47672
+ "sourceFile": "youtube/publish.js",
47673
+ "navigateBefore": false
47674
+ },
44918
47675
  {
44919
47676
  "site": "youtube",
44920
47677
  "name": "search",
@@ -45531,7 +48288,7 @@
45531
48288
  {
45532
48289
  "site": "zhihu",
45533
48290
  "name": "answer",
45534
- "description": "Answer a Zhihu question",
48291
+ "description": "Answer a Zhihu question. Body is Markdown by default (paragraphs become <p>); pass --html for raw HTML.",
45535
48292
  "access": "write",
45536
48293
  "domain": "www.zhihu.com",
45537
48294
  "strategy": "cookie",
@@ -45542,20 +48299,26 @@
45542
48299
  "type": "str",
45543
48300
  "required": true,
45544
48301
  "positional": true,
45545
- "help": "Zhihu question URL or typed target"
48302
+ "help": "Zhihu question URL (e.g. https://www.zhihu.com/question/461491497) or typed target question:461491497; bare numeric id is rejected"
45546
48303
  },
45547
48304
  {
45548
48305
  "name": "text",
45549
48306
  "type": "str",
45550
48307
  "required": false,
45551
48308
  "positional": true,
45552
- "help": "Answer text"
48309
+ "help": "Answer body (Markdown by default; pass --html for raw HTML)"
45553
48310
  },
45554
48311
  {
45555
48312
  "name": "file",
45556
48313
  "type": "str",
45557
48314
  "required": false,
45558
- "help": "Answer text file path"
48315
+ "help": "Answer body file path (UTF-8, Markdown by default)"
48316
+ },
48317
+ {
48318
+ "name": "html",
48319
+ "type": "boolean",
48320
+ "required": false,
48321
+ "help": "Treat body as raw HTML instead of Markdown"
45559
48322
  },
45560
48323
  {
45561
48324
  "name": "execute",
@@ -45673,7 +48436,7 @@
45673
48436
  {
45674
48437
  "site": "zhihu",
45675
48438
  "name": "article",
45676
- "description": "Publish a Zhihu article (文章/专栏). Body is Markdown by default; images are auto-rehosted to Zhihu.",
48439
+ "description": "Publish a Zhihu article (文章/专栏). Body is Markdown by default; images (incl. local paths) and --cover are auto-rehosted to Zhihu.",
45677
48440
  "access": "write",
45678
48441
  "domain": "zhuanlan.zhihu.com",
45679
48442
  "strategy": "cookie",
@@ -45705,6 +48468,12 @@
45705
48468
  "required": false,
45706
48469
  "help": "Treat body as raw HTML instead of Markdown"
45707
48470
  },
48471
+ {
48472
+ "name": "cover",
48473
+ "type": "str",
48474
+ "required": false,
48475
+ "help": "Cover image (题图): local file path or image URL; auto-rehosted to Zhihu (zhimg.com)"
48476
+ },
45708
48477
  {
45709
48478
  "name": "draft",
45710
48479
  "type": "boolean",
@@ -46362,6 +49131,48 @@
46362
49131
  "sourceFile": "zhihu/search.js",
46363
49132
  "navigateBefore": "https://www.zhihu.com"
46364
49133
  },
49134
+ {
49135
+ "site": "zhihu",
49136
+ "name": "stats",
49137
+ "description": "知乎内容数据(每篇阅读/赞同/收藏/评论等全量运营指标)",
49138
+ "access": "read",
49139
+ "domain": "www.zhihu.com",
49140
+ "strategy": "cookie",
49141
+ "browser": true,
49142
+ "args": [
49143
+ {
49144
+ "name": "limit",
49145
+ "type": "number",
49146
+ "default": 20,
49147
+ "required": false,
49148
+ "help": "返回条数"
49149
+ }
49150
+ ],
49151
+ "columns": [
49152
+ "id",
49153
+ "type",
49154
+ "title",
49155
+ "url",
49156
+ "published_at",
49157
+ "views",
49158
+ "likes",
49159
+ "comments",
49160
+ "collects",
49161
+ "shares",
49162
+ "shows",
49163
+ "favors",
49164
+ "reposts",
49165
+ "new_followers",
49166
+ "finish_read_rate",
49167
+ "interact_rate",
49168
+ "mark",
49169
+ "extra"
49170
+ ],
49171
+ "type": "js",
49172
+ "modulePath": "zhihu/stats.js",
49173
+ "sourceFile": "zhihu/stats.js",
49174
+ "navigateBefore": false
49175
+ },
46365
49176
  {
46366
49177
  "site": "zhihu",
46367
49178
  "name": "user",