@zenalexa/unicli 0.209.0 → 0.211.2

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 (399) hide show
  1. package/AGENTS.md +75 -20
  2. package/README.md +832 -285
  3. package/dist/adapters/cursor/cursor.d.ts +2 -1
  4. package/dist/adapters/cursor/cursor.d.ts.map +1 -1
  5. package/dist/adapters/cursor/cursor.js +87 -1
  6. package/dist/adapters/cursor/cursor.js.map +1 -1
  7. package/dist/adapters/discord-app/discord-app.d.ts +1 -1
  8. package/dist/adapters/discord-app/discord-app.js +94 -1
  9. package/dist/adapters/discord-app/discord-app.js.map +1 -1
  10. package/dist/browser/bridge.d.ts +45 -0
  11. package/dist/browser/bridge.d.ts.map +1 -1
  12. package/dist/browser/bridge.js +94 -1
  13. package/dist/browser/bridge.js.map +1 -1
  14. package/dist/browser/cdp-client.d.ts +24 -1
  15. package/dist/browser/cdp-client.d.ts.map +1 -1
  16. package/dist/browser/cdp-client.js +56 -2
  17. package/dist/browser/cdp-client.js.map +1 -1
  18. package/dist/browser/launcher.d.ts +5 -0
  19. package/dist/browser/launcher.d.ts.map +1 -1
  20. package/dist/browser/launcher.js +7 -0
  21. package/dist/browser/launcher.js.map +1 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +72 -2
  24. package/dist/cli.js.map +1 -1
  25. package/dist/commands/agents.d.ts +14 -3
  26. package/dist/commands/agents.d.ts.map +1 -1
  27. package/dist/commands/agents.js +369 -140
  28. package/dist/commands/agents.js.map +1 -1
  29. package/dist/commands/browser.d.ts.map +1 -1
  30. package/dist/commands/browser.js +79 -1
  31. package/dist/commands/browser.js.map +1 -1
  32. package/dist/commands/ext.d.ts +11 -0
  33. package/dist/commands/ext.d.ts.map +1 -0
  34. package/dist/commands/ext.js +122 -0
  35. package/dist/commands/ext.js.map +1 -0
  36. package/dist/commands/mcp.d.ts +3 -4
  37. package/dist/commands/mcp.d.ts.map +1 -1
  38. package/dist/commands/mcp.js +47 -62
  39. package/dist/commands/mcp.js.map +1 -1
  40. package/dist/commands/schema.d.ts +12 -0
  41. package/dist/commands/schema.d.ts.map +1 -0
  42. package/dist/commands/schema.js +72 -0
  43. package/dist/commands/schema.js.map +1 -0
  44. package/dist/commands/search.d.ts +12 -0
  45. package/dist/commands/search.d.ts.map +1 -0
  46. package/dist/commands/search.js +47 -0
  47. package/dist/commands/search.js.map +1 -0
  48. package/dist/commands/skills.d.ts +2 -3
  49. package/dist/commands/skills.d.ts.map +1 -1
  50. package/dist/commands/skills.js +2 -3
  51. package/dist/commands/skills.js.map +1 -1
  52. package/dist/commands/status.d.ts +12 -0
  53. package/dist/commands/status.d.ts.map +1 -0
  54. package/dist/commands/status.js +137 -0
  55. package/dist/commands/status.js.map +1 -0
  56. package/dist/discovery/aliases.d.ts +31 -0
  57. package/dist/discovery/aliases.d.ts.map +1 -0
  58. package/dist/discovery/aliases.js +477 -0
  59. package/dist/discovery/aliases.js.map +1 -0
  60. package/dist/discovery/loader.d.ts.map +1 -1
  61. package/dist/discovery/loader.js +25 -0
  62. package/dist/discovery/loader.js.map +1 -1
  63. package/dist/discovery/search.d.ts +73 -0
  64. package/dist/discovery/search.d.ts.map +1 -0
  65. package/dist/discovery/search.js +355 -0
  66. package/dist/discovery/search.js.map +1 -0
  67. package/dist/engine/yaml-runner.d.ts +10 -0
  68. package/dist/engine/yaml-runner.d.ts.map +1 -1
  69. package/dist/engine/yaml-runner.js +51 -3
  70. package/dist/engine/yaml-runner.js.map +1 -1
  71. package/dist/hub/index.d.ts +37 -0
  72. package/dist/hub/index.d.ts.map +1 -0
  73. package/dist/hub/index.js +98 -0
  74. package/dist/hub/index.js.map +1 -0
  75. package/dist/hub/passthrough.d.ts +21 -0
  76. package/dist/hub/passthrough.d.ts.map +1 -0
  77. package/dist/hub/passthrough.js +71 -0
  78. package/dist/hub/passthrough.js.map +1 -0
  79. package/dist/manifest-compact.txt +15 -0
  80. package/dist/manifest-search.json +1 -0
  81. package/dist/manifest.json +2163 -268
  82. package/dist/mcp/oauth.d.ts +33 -0
  83. package/dist/mcp/oauth.d.ts.map +1 -0
  84. package/dist/mcp/oauth.js +220 -0
  85. package/dist/mcp/oauth.js.map +1 -0
  86. package/dist/mcp/schema.d.ts +65 -0
  87. package/dist/mcp/schema.d.ts.map +1 -0
  88. package/dist/mcp/schema.js +136 -0
  89. package/dist/mcp/schema.js.map +1 -0
  90. package/dist/mcp/server.d.ts +23 -10
  91. package/dist/mcp/server.d.ts.map +1 -1
  92. package/dist/mcp/server.js +350 -182
  93. package/dist/mcp/server.js.map +1 -1
  94. package/dist/mcp/sse-transport.d.ts +34 -0
  95. package/dist/mcp/sse-transport.d.ts.map +1 -0
  96. package/dist/mcp/sse-transport.js +182 -0
  97. package/dist/mcp/sse-transport.js.map +1 -0
  98. package/dist/mcp/streamable-http.d.ts +64 -0
  99. package/dist/mcp/streamable-http.d.ts.map +1 -0
  100. package/dist/mcp/streamable-http.js +312 -0
  101. package/dist/mcp/streamable-http.js.map +1 -0
  102. package/dist/permissions/sensitive-paths.js +2 -2
  103. package/dist/permissions/sensitive-paths.js.map +1 -1
  104. package/dist/types.d.ts +15 -0
  105. package/dist/types.d.ts.map +1 -1
  106. package/dist/types.js.map +1 -1
  107. package/package.json +8 -7
  108. package/src/adapters/1688/_site.json +9 -0
  109. package/src/adapters/36kr/latest.yaml +36 -0
  110. package/src/adapters/arxiv/trending.yaml +37 -0
  111. package/src/adapters/baidu/hot.yaml +37 -0
  112. package/src/adapters/baidu/search.yaml +41 -0
  113. package/src/adapters/barchart/_site.json +10 -0
  114. package/src/adapters/bbc/technology.yaml +26 -0
  115. package/src/adapters/bbc/top.yaml +26 -0
  116. package/src/adapters/bbc/world.yaml +26 -0
  117. package/src/adapters/bilibili/coin.yaml +33 -0
  118. package/src/adapters/bilibili/later.yaml +31 -0
  119. package/src/adapters/bilibili/live.yaml +41 -0
  120. package/src/adapters/bilibili/trending.yaml +29 -0
  121. package/src/adapters/binance/hot.yaml +39 -0
  122. package/src/adapters/binance/kline.yaml +35 -0
  123. package/src/adapters/binance/ticker.yaml +33 -0
  124. package/src/adapters/bluesky/likes.yaml +35 -0
  125. package/src/adapters/bluesky/notifications.yaml +30 -0
  126. package/src/adapters/bluesky/post.yaml +25 -0
  127. package/src/adapters/chrome/bookmarks.yaml +26 -0
  128. package/src/adapters/chrome/tabs.yaml +25 -0
  129. package/src/adapters/cnki/search.yaml +40 -0
  130. package/src/adapters/cnn/technology.yaml +26 -0
  131. package/src/adapters/cocoapods/info.yaml +33 -0
  132. package/src/adapters/coinbase/prices.yaml +27 -0
  133. package/src/adapters/coinbase/rates.yaml +24 -0
  134. package/src/adapters/coupang/hot.yaml +29 -0
  135. package/src/adapters/crates-io/info.yaml +29 -0
  136. package/src/adapters/crates-io/versions.yaml +33 -0
  137. package/src/adapters/ctrip/hot.yaml +28 -0
  138. package/src/adapters/cursor/cursor.ts +91 -1
  139. package/src/adapters/dangdang/hot.yaml +38 -0
  140. package/src/adapters/dangdang/search.yaml +43 -0
  141. package/src/adapters/deepseek/chat.yaml +33 -0
  142. package/src/adapters/deepseek/models.yaml +18 -0
  143. package/src/adapters/devto/latest.yaml +29 -0
  144. package/src/adapters/devto/search.yaml +34 -0
  145. package/src/adapters/dianping/hot.yaml +43 -0
  146. package/src/adapters/dianping/search.yaml +48 -0
  147. package/src/adapters/discord-app/discord-app.ts +99 -1
  148. package/src/adapters/docker/networks.yaml +20 -0
  149. package/src/adapters/docker/volumes.yaml +19 -0
  150. package/src/adapters/docker-hub/info.yaml +26 -0
  151. package/src/adapters/docker-hub/tags.yaml +34 -0
  152. package/src/adapters/douban/group-hot.yaml +29 -0
  153. package/src/adapters/douban/new-movies.yaml +32 -0
  154. package/src/adapters/douban/tv-hot.yaml +32 -0
  155. package/src/adapters/doubao/ask.yaml +64 -0
  156. package/src/adapters/doubao/new.yaml +18 -0
  157. package/src/adapters/doubao/status.yaml +21 -0
  158. package/src/adapters/douyu/hot.yaml +34 -0
  159. package/src/adapters/douyu/search.yaml +42 -0
  160. package/src/adapters/eastmoney/fund.yaml +36 -0
  161. package/src/adapters/eastmoney/market.yaml +26 -0
  162. package/src/adapters/ele/hot.yaml +40 -0
  163. package/src/adapters/ele/search.yaml +47 -0
  164. package/src/adapters/exchangerate/list.yaml +25 -0
  165. package/src/adapters/facebook/marketplace.yaml +43 -0
  166. package/src/adapters/facebook/post.yaml +29 -0
  167. package/src/adapters/futu/hot.yaml +49 -0
  168. package/src/adapters/futu/quote.yaml +46 -0
  169. package/src/adapters/gitee/repos.yaml +34 -0
  170. package/src/adapters/github-trending/developers.yaml +33 -0
  171. package/src/adapters/github-trending/weekly.yaml +34 -0
  172. package/src/adapters/gitlab/projects.yaml +34 -0
  173. package/src/adapters/godot/scene-export.yaml +1 -1
  174. package/src/adapters/hackernews/comments.yaml +36 -0
  175. package/src/adapters/hackernews/item.yaml +28 -0
  176. package/src/adapters/hf/datasets.yaml +34 -0
  177. package/src/adapters/hf/spaces.yaml +34 -0
  178. package/src/adapters/homebrew/search.yaml +27 -0
  179. package/src/adapters/huggingface-papers/search.yaml +33 -0
  180. package/src/adapters/imdb/box-office.yaml +28 -0
  181. package/src/adapters/infoq/latest.yaml +26 -0
  182. package/src/adapters/instagram/activity.yaml +45 -0
  183. package/src/adapters/instagram/highlights.yaml +48 -0
  184. package/src/adapters/instagram/reels-trending.yaml +51 -0
  185. package/src/adapters/instagram/reels.yaml +34 -0
  186. package/src/adapters/instagram/stories.yaml +29 -0
  187. package/src/adapters/instagram/suggested.yaml +40 -0
  188. package/src/adapters/instagram/tags.yaml +52 -0
  189. package/src/adapters/itch-io/search.yaml +35 -0
  190. package/src/adapters/itch-io/top.yaml +31 -0
  191. package/src/adapters/ithome/hot.yaml +27 -0
  192. package/src/adapters/ithome/latest.yaml +26 -0
  193. package/src/adapters/jd/_site.json +9 -0
  194. package/src/adapters/jianyu/search.yaml +42 -0
  195. package/src/adapters/ke/ershoufang.yaml +75 -0
  196. package/src/adapters/ke/xiaoqu.yaml +73 -0
  197. package/src/adapters/kuaishou/hot.yaml +39 -0
  198. package/src/adapters/kuaishou/search.yaml +44 -0
  199. package/src/adapters/linkedin/_site.json +10 -0
  200. package/src/adapters/linkedin/jobs.yaml +47 -0
  201. package/src/adapters/lobsters/search.yaml +35 -0
  202. package/src/adapters/macos/active-app.yaml +16 -0
  203. package/src/adapters/macos/apps-list.yaml +14 -0
  204. package/src/adapters/macos/apps.yaml +31 -0
  205. package/src/adapters/macos/battery.yaml +26 -0
  206. package/src/adapters/macos/bluetooth.yaml +14 -0
  207. package/src/adapters/macos/brightness.yaml +22 -0
  208. package/src/adapters/macos/caffeinate.yaml +25 -0
  209. package/src/adapters/macos/calendar-create.yaml +81 -0
  210. package/src/adapters/macos/calendar-list.yaml +53 -0
  211. package/src/adapters/macos/calendar-today.yaml +30 -0
  212. package/src/adapters/macos/clipboard.yaml +23 -0
  213. package/src/adapters/macos/contacts-search.yaml +59 -0
  214. package/src/adapters/macos/dark-mode.yaml +19 -0
  215. package/src/adapters/macos/disk-info.yaml +31 -0
  216. package/src/adapters/macos/disk-usage.yaml +14 -0
  217. package/src/adapters/macos/do-not-disturb.yaml +21 -0
  218. package/src/adapters/macos/empty-trash.yaml +16 -0
  219. package/src/adapters/macos/finder-copy.yaml +40 -0
  220. package/src/adapters/macos/finder-move.yaml +40 -0
  221. package/src/adapters/macos/finder-new-folder.yaml +36 -0
  222. package/src/adapters/macos/finder-recent.yaml +24 -0
  223. package/src/adapters/macos/finder-selection.yaml +22 -0
  224. package/src/adapters/macos/finder-tags.yaml +40 -0
  225. package/src/adapters/macos/lock-screen.yaml +16 -0
  226. package/src/adapters/macos/mail-send.yaml +54 -0
  227. package/src/adapters/macos/mail-status.yaml +38 -0
  228. package/src/adapters/macos/messages-send.yaml +42 -0
  229. package/src/adapters/macos/music-control.yaml +43 -0
  230. package/src/adapters/macos/music-now.yaml +34 -0
  231. package/src/adapters/macos/notes-list.yaml +30 -0
  232. package/src/adapters/macos/notes-search.yaml +45 -0
  233. package/src/adapters/macos/notification.yaml +27 -0
  234. package/src/adapters/macos/notify.yaml +46 -0
  235. package/src/adapters/macos/open-app.yaml +21 -0
  236. package/src/adapters/macos/open.yaml +24 -0
  237. package/src/adapters/macos/photos-search.yaml +44 -0
  238. package/src/adapters/macos/processes.yaml +14 -0
  239. package/src/adapters/macos/reminder-create.yaml +75 -0
  240. package/src/adapters/macos/reminders-complete.yaml +33 -0
  241. package/src/adapters/macos/reminders-list.yaml +28 -0
  242. package/src/adapters/macos/safari-history.yaml +23 -0
  243. package/src/adapters/macos/safari-tabs.yaml +26 -0
  244. package/src/adapters/macos/safari-url.yaml +22 -0
  245. package/src/adapters/macos/say.yaml +36 -0
  246. package/src/adapters/macos/screen-lock.yaml +16 -0
  247. package/src/adapters/macos/screen-recording.yaml +32 -0
  248. package/src/adapters/macos/screenshot.yaml +34 -0
  249. package/src/adapters/macos/shortcuts-list.yaml +14 -0
  250. package/src/adapters/macos/shortcuts-run.yaml +28 -0
  251. package/src/adapters/macos/sleep.yaml +14 -0
  252. package/src/adapters/macos/spotlight.yaml +43 -0
  253. package/src/adapters/macos/system-info.yaml +32 -0
  254. package/src/adapters/macos/trash.yaml +32 -0
  255. package/src/adapters/macos/uptime.yaml +14 -0
  256. package/src/adapters/macos/volume.yaml +19 -0
  257. package/src/adapters/macos/wallpaper.yaml +33 -0
  258. package/src/adapters/macos/wifi-info.yaml +14 -0
  259. package/src/adapters/macos/wifi.yaml +63 -0
  260. package/src/adapters/maimai/search.yaml +62 -0
  261. package/src/adapters/maoyan/hot.yaml +33 -0
  262. package/src/adapters/maoyan/search.yaml +40 -0
  263. package/src/adapters/mastodon/timeline.yaml +33 -0
  264. package/src/adapters/mastodon/user.yaml +32 -0
  265. package/src/adapters/medium/article.yaml +22 -0
  266. package/src/adapters/medium/trending.yaml +30 -0
  267. package/src/adapters/meituan/hot.yaml +26 -0
  268. package/src/adapters/mubu/list.yaml +36 -0
  269. package/src/adapters/mubu/search.yaml +54 -0
  270. package/src/adapters/netease-music/playlist.yaml +34 -0
  271. package/src/adapters/netease-music/top.yaml +33 -0
  272. package/src/adapters/notion/databases.yaml +41 -0
  273. package/src/adapters/notion/pages.yaml +44 -0
  274. package/src/adapters/notion/search.yaml +41 -0
  275. package/src/adapters/npm/downloads.yaml +28 -0
  276. package/src/adapters/npm/info.yaml +25 -0
  277. package/src/adapters/npm/search.yaml +35 -0
  278. package/src/adapters/npm/versions.yaml +33 -0
  279. package/src/adapters/npm-trends/trending.yaml +17 -0
  280. package/src/adapters/nytimes/search.yaml +35 -0
  281. package/src/adapters/obsidian/daily.yaml +23 -0
  282. package/src/adapters/obsidian/open.yaml +26 -0
  283. package/src/adapters/obsidian/search.yaml +28 -0
  284. package/src/adapters/ollama/generate.yaml +33 -0
  285. package/src/adapters/ollama/models.yaml +29 -0
  286. package/src/adapters/ollama/ps.yaml +20 -0
  287. package/src/adapters/openrouter/search.yaml +31 -0
  288. package/src/adapters/perplexity/ask.yaml +33 -0
  289. package/src/adapters/pexels/curated.yaml +31 -0
  290. package/src/adapters/pinduoduo/search.yaml +36 -0
  291. package/src/adapters/producthunt/search.yaml +41 -0
  292. package/src/adapters/pypi/search.yaml +37 -0
  293. package/src/adapters/pypi/versions.yaml +31 -0
  294. package/src/adapters/quark/ls.yaml +39 -0
  295. package/src/adapters/quark/search.yaml +39 -0
  296. package/src/adapters/qweather/forecast.yaml +37 -0
  297. package/src/adapters/reddit/new.yaml +34 -0
  298. package/src/adapters/reddit/rising.yaml +33 -0
  299. package/src/adapters/reddit/top.yaml +40 -0
  300. package/src/adapters/reddit/trending.yaml +25 -0
  301. package/src/adapters/replicate/run.yaml +39 -0
  302. package/src/adapters/reuters/_site.json +9 -0
  303. package/src/adapters/reuters/latest.yaml +26 -0
  304. package/src/adapters/sinablog/_site.json +9 -0
  305. package/src/adapters/sinafinance/market.yaml +21 -0
  306. package/src/adapters/slack/messages.yaml +41 -0
  307. package/src/adapters/slack/post.yaml +32 -0
  308. package/src/adapters/slack/search.yaml +28 -0
  309. package/src/adapters/slack/send.yaml +35 -0
  310. package/src/adapters/slack/status.yaml +19 -0
  311. package/src/adapters/slack/users.yaml +37 -0
  312. package/src/adapters/slock/servers.yaml +32 -0
  313. package/src/adapters/smzdm/_site.json +9 -0
  314. package/src/adapters/spotify/now-playing.yaml +28 -0
  315. package/src/adapters/spotify/playlists.yaml +37 -0
  316. package/src/adapters/spotify/top-tracks.yaml +42 -0
  317. package/src/adapters/stackoverflow/question.yaml +34 -0
  318. package/src/adapters/stackoverflow/tags.yaml +30 -0
  319. package/src/adapters/steam/app-details.yaml +32 -0
  320. package/src/adapters/steam/new-releases.yaml +28 -0
  321. package/src/adapters/steam/search.yaml +36 -0
  322. package/src/adapters/steam/specials.yaml +29 -0
  323. package/src/adapters/steam/wishlist.yaml +36 -0
  324. package/src/adapters/substack/trending.yaml +28 -0
  325. package/src/adapters/taobao/hot.yaml +31 -0
  326. package/src/adapters/taobao/search.yaml +44 -0
  327. package/src/adapters/techcrunch/search.yaml +33 -0
  328. package/src/adapters/theverge/search.yaml +33 -0
  329. package/src/adapters/threads/hot.yaml +44 -0
  330. package/src/adapters/threads/search.yaml +47 -0
  331. package/src/adapters/tiktok/trending.yaml +28 -0
  332. package/src/adapters/toutiao/hot.yaml +31 -0
  333. package/src/adapters/toutiao/search.yaml +47 -0
  334. package/src/adapters/twitch/games.yaml +31 -0
  335. package/src/adapters/twitch/search.yaml +39 -0
  336. package/src/adapters/twitch/streams.yaml +38 -0
  337. package/src/adapters/twitter/lists.yaml +49 -0
  338. package/src/adapters/twitter/media.yaml +48 -0
  339. package/src/adapters/twitter/mentions.yaml +38 -0
  340. package/src/adapters/twitter/mute.yaml +42 -0
  341. package/src/adapters/twitter/pin.yaml +43 -0
  342. package/src/adapters/twitter/quotes.yaml +43 -0
  343. package/src/adapters/twitter/retweets.yaml +44 -0
  344. package/src/adapters/twitter/spaces.yaml +43 -0
  345. package/src/adapters/twitter/unmute.yaml +42 -0
  346. package/src/adapters/unsplash/random.yaml +27 -0
  347. package/src/adapters/v2ex/search.yaml +36 -0
  348. package/src/adapters/vscode/extensions.yaml +23 -0
  349. package/src/adapters/vscode/install-ext.yaml +26 -0
  350. package/src/adapters/vscode/open.yaml +25 -0
  351. package/src/adapters/wechat-channels/hot.yaml +39 -0
  352. package/src/adapters/wechat-channels/search.yaml +57 -0
  353. package/src/adapters/weibo/trending.yaml +28 -0
  354. package/src/adapters/weixin/_site.json +9 -0
  355. package/src/adapters/weixin/hot.yaml +22 -0
  356. package/src/adapters/wikipedia/today.yaml +25 -0
  357. package/src/adapters/xiaohongshu/follow.yaml +35 -0
  358. package/src/adapters/xiaohongshu/hashtag.yaml +44 -0
  359. package/src/adapters/xiaohongshu/hot.yaml +34 -0
  360. package/src/adapters/xiaohongshu/like.yaml +27 -0
  361. package/src/adapters/xiaohongshu/profile.yaml +39 -0
  362. package/src/adapters/xiaohongshu/save.yaml +27 -0
  363. package/src/adapters/xiaohongshu/suggest.yaml +34 -0
  364. package/src/adapters/xiaohongshu/trending.yaml +35 -0
  365. package/src/adapters/xiaohongshu/unfollow.yaml +40 -0
  366. package/src/adapters/xueqiu/market.yaml +25 -0
  367. package/src/adapters/yahoo-finance/quote.yaml +35 -0
  368. package/src/adapters/yahoo-finance/search.yaml +42 -0
  369. package/src/adapters/yahoo-finance/trending.yaml +30 -0
  370. package/src/adapters/youtube/playlist.yaml +43 -0
  371. package/src/adapters/youtube/shorts.yaml +42 -0
  372. package/src/adapters/youtube/trending.yaml +41 -0
  373. package/src/adapters/zhihu/answer.yaml +29 -0
  374. package/src/adapters/zhihu/answers.yaml +38 -0
  375. package/src/adapters/zhihu/article.yaml +27 -0
  376. package/src/adapters/zhihu/articles.yaml +38 -0
  377. package/src/adapters/zhihu/collections.yaml +37 -0
  378. package/src/adapters/zhihu/columns.yaml +38 -0
  379. package/src/adapters/zhihu/comment.yaml +42 -0
  380. package/src/adapters/zhihu/followers.yaml +37 -0
  381. package/src/adapters/zhihu/following.yaml +37 -0
  382. package/src/adapters/zhihu/pins.yaml +37 -0
  383. package/src/adapters/zhihu/topic.yaml +35 -0
  384. package/src/adapters/zhihu/topics.yaml +37 -0
  385. package/src/adapters/zhihu/trending.yaml +36 -0
  386. package/src/adapters/zhihu/user.yaml +30 -0
  387. package/src/adapters/zoom/join.yaml +24 -0
  388. package/src/adapters/zoom/start.yaml +17 -0
  389. package/src/hub/external-clis.yaml +343 -0
  390. package/src/hub/index.ts +128 -0
  391. package/src/hub/passthrough.ts +85 -0
  392. package/src/adapters/1688/manifest.yaml +0 -7
  393. package/src/adapters/barchart/manifest.yaml +0 -8
  394. package/src/adapters/jd/manifest.yaml +0 -7
  395. package/src/adapters/linkedin/manifest.yaml +0 -8
  396. package/src/adapters/reuters/manifest.yaml +0 -7
  397. package/src/adapters/sinablog/manifest.yaml +0 -7
  398. package/src/adapters/smzdm/manifest.yaml +0 -7
  399. package/src/adapters/weixin/manifest.yaml +0 -7
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.209.0",
2
+ "version": "0.211.2",
3
3
  "sites": {
4
4
  "1688": {
5
5
  "commands": [
@@ -9,12 +9,6 @@
9
9
  "strategy": "cookie",
10
10
  "type": "browser"
11
11
  },
12
- {
13
- "name": "manifest",
14
- "description": "1688.com — Alibaba wholesale B2B marketplace",
15
- "strategy": "cookie",
16
- "type": "web-api"
17
- },
18
12
  {
19
13
  "name": "search",
20
14
  "description": "Search 1688.com wholesale products",
@@ -27,7 +21,8 @@
27
21
  "strategy": "cookie",
28
22
  "type": "web-api"
29
23
  }
30
- ]
24
+ ],
25
+ "category": "shopping"
31
26
  },
32
27
  "36kr": {
33
28
  "commands": [
@@ -43,6 +38,12 @@
43
38
  "strategy": "public",
44
39
  "type": "web-api"
45
40
  },
41
+ {
42
+ "name": "latest",
43
+ "description": "Latest 36Kr tech news articles",
44
+ "strategy": "public",
45
+ "type": "web-api"
46
+ },
46
47
  {
47
48
  "name": "news",
48
49
  "description": "36Kr tech news (RSS)",
@@ -55,7 +56,8 @@
55
56
  "strategy": "public",
56
57
  "type": "web-api"
57
58
  }
58
- ]
59
+ ],
60
+ "category": "news"
59
61
  },
60
62
  "adguardhome": {
61
63
  "commands": [
@@ -89,7 +91,8 @@
89
91
  "strategy": "public",
90
92
  "type": "service"
91
93
  }
92
- ]
94
+ ],
95
+ "category": "other"
93
96
  },
94
97
  "amazon": {
95
98
  "commands": [
@@ -141,7 +144,8 @@
141
144
  "strategy": "intercept",
142
145
  "type": "web-api"
143
146
  }
144
- ]
147
+ ],
148
+ "category": "shopping"
145
149
  },
146
150
  "apple-podcasts": {
147
151
  "commands": [
@@ -163,7 +167,8 @@
163
167
  "strategy": "public",
164
168
  "type": "web-api"
165
169
  }
166
- ]
170
+ ],
171
+ "category": "audio"
167
172
  },
168
173
  "arxiv": {
169
174
  "commands": [
@@ -178,8 +183,15 @@
178
183
  "description": "Search arXiv papers",
179
184
  "strategy": "public",
180
185
  "type": "web-api"
186
+ },
187
+ {
188
+ "name": "trending",
189
+ "description": "Recent arXiv papers by category (newest submissions)",
190
+ "strategy": "public",
191
+ "type": "web-api"
181
192
  }
182
- ]
193
+ ],
194
+ "category": "reference"
183
195
  },
184
196
  "audacity": {
185
197
  "commands": [
@@ -231,7 +243,8 @@
231
243
  "strategy": "public",
232
244
  "type": "desktop"
233
245
  }
234
- ]
246
+ ],
247
+ "category": "other"
235
248
  },
236
249
  "autoagent": {
237
250
  "commands": [
@@ -241,7 +254,8 @@
241
254
  "strategy": "public",
242
255
  "type": "bridge"
243
256
  }
244
- ]
257
+ ],
258
+ "category": "other"
245
259
  },
246
260
  "aws": {
247
261
  "commands": [
@@ -251,7 +265,8 @@
251
265
  "strategy": "public",
252
266
  "type": "bridge"
253
267
  }
254
- ]
268
+ ],
269
+ "category": "other"
255
270
  },
256
271
  "az": {
257
272
  "commands": [
@@ -261,7 +276,25 @@
261
276
  "strategy": "public",
262
277
  "type": "bridge"
263
278
  }
264
- ]
279
+ ],
280
+ "category": "other"
281
+ },
282
+ "baidu": {
283
+ "commands": [
284
+ {
285
+ "name": "hot",
286
+ "description": "Get Baidu hot search trending topics",
287
+ "strategy": "intercept",
288
+ "type": "web-api"
289
+ },
290
+ {
291
+ "name": "search",
292
+ "description": "Search Baidu for web results",
293
+ "strategy": "intercept",
294
+ "type": "web-api"
295
+ }
296
+ ],
297
+ "category": "other"
265
298
  },
266
299
  "band": {
267
300
  "commands": [
@@ -289,7 +322,8 @@
289
322
  "strategy": "intercept",
290
323
  "type": "web-api"
291
324
  }
292
- ]
325
+ ],
326
+ "category": "social"
293
327
  },
294
328
  "barchart": {
295
329
  "commands": [
@@ -305,12 +339,6 @@
305
339
  "strategy": "cookie",
306
340
  "type": "web-api"
307
341
  },
308
- {
309
- "name": "manifest",
310
- "description": "Barchart — financial data, options, and market analytics",
311
- "strategy": "cookie",
312
- "type": "web-api"
313
- },
314
342
  {
315
343
  "name": "options",
316
344
  "description": "Options chain for a symbol (strike, bid, ask, volume, OI)",
@@ -323,7 +351,8 @@
323
351
  "strategy": "cookie",
324
352
  "type": "web-api"
325
353
  }
326
- ]
354
+ ],
355
+ "category": "finance"
327
356
  },
328
357
  "bbc": {
329
358
  "commands": [
@@ -332,11 +361,36 @@
332
361
  "description": "BBC News headlines (RSS)",
333
362
  "strategy": "public",
334
363
  "type": "web-api"
364
+ },
365
+ {
366
+ "name": "technology",
367
+ "description": "BBC technology news",
368
+ "strategy": "public",
369
+ "type": "web-api"
370
+ },
371
+ {
372
+ "name": "top",
373
+ "description": "BBC top news headlines",
374
+ "strategy": "public",
375
+ "type": "web-api"
376
+ },
377
+ {
378
+ "name": "world",
379
+ "description": "BBC world news",
380
+ "strategy": "public",
381
+ "type": "web-api"
335
382
  }
336
- ]
383
+ ],
384
+ "category": "news"
337
385
  },
338
386
  "bilibili": {
339
387
  "commands": [
388
+ {
389
+ "name": "coin",
390
+ "description": "Bilibili recently coined videos",
391
+ "strategy": "cookie",
392
+ "type": "web-api"
393
+ },
340
394
  {
341
395
  "name": "comments",
342
396
  "description": "Fetch comments on a Bilibili video",
@@ -385,6 +439,18 @@
385
439
  "strategy": "cookie",
386
440
  "type": "web-api"
387
441
  },
442
+ {
443
+ "name": "later",
444
+ "description": "Bilibili watch later list",
445
+ "strategy": "cookie",
446
+ "type": "web-api"
447
+ },
448
+ {
449
+ "name": "live",
450
+ "description": "Bilibili popular live streams",
451
+ "strategy": "public",
452
+ "type": "web-api"
453
+ },
388
454
  {
389
455
  "name": "me",
390
456
  "description": "Current Bilibili user profile info",
@@ -409,13 +475,43 @@
409
475
  "strategy": "cookie",
410
476
  "type": "web-api"
411
477
  },
478
+ {
479
+ "name": "trending",
480
+ "description": "Bilibili trending searches",
481
+ "strategy": "public",
482
+ "type": "web-api"
483
+ },
412
484
  {
413
485
  "name": "user-videos",
414
486
  "description": "List videos published by a Bilibili user",
415
487
  "strategy": "cookie",
416
488
  "type": "web-api"
417
489
  }
418
- ]
490
+ ],
491
+ "category": "video"
492
+ },
493
+ "binance": {
494
+ "commands": [
495
+ {
496
+ "name": "hot",
497
+ "description": "Top trending coins by 24h trading volume",
498
+ "strategy": "public",
499
+ "type": "web-api"
500
+ },
501
+ {
502
+ "name": "kline",
503
+ "description": "Candlestick (kline) data for a trading pair",
504
+ "strategy": "public",
505
+ "type": "web-api"
506
+ },
507
+ {
508
+ "name": "ticker",
509
+ "description": "Price ticker for a trading pair",
510
+ "strategy": "public",
511
+ "type": "web-api"
512
+ }
513
+ ],
514
+ "category": "finance"
419
515
  },
420
516
  "blender": {
421
517
  "commands": [
@@ -497,7 +593,8 @@
497
593
  "strategy": "public",
498
594
  "type": "desktop"
499
595
  }
500
- ]
596
+ ],
597
+ "category": "desktop"
501
598
  },
502
599
  "bloomberg": {
503
600
  "commands": [
@@ -561,7 +658,8 @@
561
658
  "strategy": "public",
562
659
  "type": "web-api"
563
660
  }
564
- ]
661
+ ],
662
+ "category": "news"
565
663
  },
566
664
  "bluesky": {
567
665
  "commands": [
@@ -583,6 +681,24 @@
583
681
  "strategy": "public",
584
682
  "type": "web-api"
585
683
  },
684
+ {
685
+ "name": "likes",
686
+ "description": "Get Bluesky liked posts for a user",
687
+ "strategy": "cookie",
688
+ "type": "web-api"
689
+ },
690
+ {
691
+ "name": "notifications",
692
+ "description": "Get Bluesky notifications",
693
+ "strategy": "cookie",
694
+ "type": "web-api"
695
+ },
696
+ {
697
+ "name": "post",
698
+ "description": "Create a Bluesky post",
699
+ "strategy": "cookie",
700
+ "type": "web-api"
701
+ },
586
702
  {
587
703
  "name": "profile",
588
704
  "description": "Get Bluesky user profile info",
@@ -619,7 +735,8 @@
619
735
  "strategy": "public",
620
736
  "type": "web-api"
621
737
  }
622
- ]
738
+ ],
739
+ "category": "social"
623
740
  },
624
741
  "boss": {
625
742
  "commands": [
@@ -707,7 +824,8 @@
707
824
  "strategy": "intercept",
708
825
  "type": "web-api"
709
826
  }
710
- ]
827
+ ],
828
+ "category": "jobs"
711
829
  },
712
830
  "chaoxing": {
713
831
  "commands": [
@@ -723,7 +841,25 @@
723
841
  "strategy": "intercept",
724
842
  "type": "web-api"
725
843
  }
726
- ]
844
+ ],
845
+ "category": "reference"
846
+ },
847
+ "chrome": {
848
+ "commands": [
849
+ {
850
+ "name": "bookmarks",
851
+ "description": "List bookmarks from Chrome's bookmark bar (macOS)",
852
+ "strategy": "public",
853
+ "type": "desktop"
854
+ },
855
+ {
856
+ "name": "tabs",
857
+ "description": "List all open tabs in Google Chrome (macOS)",
858
+ "strategy": "public",
859
+ "type": "desktop"
860
+ }
861
+ ],
862
+ "category": "other"
727
863
  },
728
864
  "claude-code": {
729
865
  "commands": [
@@ -733,7 +869,8 @@
733
869
  "strategy": "public",
734
870
  "type": "bridge"
735
871
  }
736
- ]
872
+ ],
873
+ "category": "other"
737
874
  },
738
875
  "cloudcompare": {
739
876
  "commands": [
@@ -761,27 +898,53 @@
761
898
  "strategy": "public",
762
899
  "type": "desktop"
763
900
  }
764
- ]
901
+ ],
902
+ "category": "other"
903
+ },
904
+ "cnki": {
905
+ "commands": [
906
+ {
907
+ "name": "search",
908
+ "description": "Search CNKI academic papers",
909
+ "strategy": "public",
910
+ "type": "web-api"
911
+ }
912
+ ],
913
+ "category": "reference"
765
914
  },
766
915
  "cnn": {
767
916
  "commands": [
917
+ {
918
+ "name": "technology",
919
+ "description": "CNN technology news",
920
+ "strategy": "public",
921
+ "type": "web-api"
922
+ },
768
923
  {
769
924
  "name": "top",
770
925
  "description": "CNN top stories via RSS",
771
926
  "strategy": "public",
772
927
  "type": "web-api"
773
928
  }
774
- ]
929
+ ],
930
+ "category": "news"
775
931
  },
776
932
  "cocoapods": {
777
933
  "commands": [
934
+ {
935
+ "name": "info",
936
+ "description": "Get CocoaPods pod details",
937
+ "strategy": "public",
938
+ "type": "web-api"
939
+ },
778
940
  {
779
941
  "name": "search",
780
942
  "description": "Search CocoaPods iOS/macOS libraries",
781
943
  "strategy": "public",
782
944
  "type": "web-api"
783
945
  }
784
- ]
946
+ ],
947
+ "category": "dev"
785
948
  },
786
949
  "codex": {
787
950
  "commands": [
@@ -791,7 +954,8 @@
791
954
  "strategy": "public",
792
955
  "type": "web-api"
793
956
  }
794
- ]
957
+ ],
958
+ "category": "other"
795
959
  },
796
960
  "codex-cli": {
797
961
  "commands": [
@@ -801,7 +965,25 @@
801
965
  "strategy": "public",
802
966
  "type": "bridge"
803
967
  }
804
- ]
968
+ ],
969
+ "category": "other"
970
+ },
971
+ "coinbase": {
972
+ "commands": [
973
+ {
974
+ "name": "prices",
975
+ "description": "Get cryptocurrency spot prices from Coinbase",
976
+ "strategy": "public",
977
+ "type": "web-api"
978
+ },
979
+ {
980
+ "name": "rates",
981
+ "description": "Get cryptocurrency exchange rates from Coinbase",
982
+ "strategy": "public",
983
+ "type": "web-api"
984
+ }
985
+ ],
986
+ "category": "finance"
805
987
  },
806
988
  "comfyui": {
807
989
  "commands": [
@@ -829,7 +1011,8 @@
829
1011
  "strategy": "public",
830
1012
  "type": "service"
831
1013
  }
832
- ]
1014
+ ],
1015
+ "category": "desktop"
833
1016
  },
834
1017
  "coupang": {
835
1018
  "commands": [
@@ -839,33 +1022,60 @@
839
1022
  "strategy": "intercept",
840
1023
  "type": "web-api"
841
1024
  },
1025
+ {
1026
+ "name": "hot",
1027
+ "description": "Coupang trending/popular products",
1028
+ "strategy": "public",
1029
+ "type": "web-api"
1030
+ },
842
1031
  {
843
1032
  "name": "search",
844
1033
  "description": "Search Coupang products",
845
1034
  "strategy": "intercept",
846
1035
  "type": "web-api"
847
1036
  }
848
- ]
1037
+ ],
1038
+ "category": "shopping"
849
1039
  },
850
1040
  "crates-io": {
851
1041
  "commands": [
1042
+ {
1043
+ "name": "info",
1044
+ "description": "Get Rust crate details from crates.io",
1045
+ "strategy": "public",
1046
+ "type": "web-api"
1047
+ },
852
1048
  {
853
1049
  "name": "search",
854
1050
  "description": "Search Rust crates on crates.io",
855
1051
  "strategy": "public",
856
1052
  "type": "web-api"
1053
+ },
1054
+ {
1055
+ "name": "versions",
1056
+ "description": "List versions of a Rust crate",
1057
+ "strategy": "public",
1058
+ "type": "web-api"
857
1059
  }
858
- ]
1060
+ ],
1061
+ "category": "dev"
859
1062
  },
860
1063
  "ctrip": {
861
1064
  "commands": [
1065
+ {
1066
+ "name": "hot",
1067
+ "description": "Ctrip popular travel destinations",
1068
+ "strategy": "public",
1069
+ "type": "web-api"
1070
+ },
862
1071
  {
863
1072
  "name": "search",
864
1073
  "description": "Search flights on Ctrip",
865
1074
  "strategy": "public",
866
1075
  "type": "web-api"
867
1076
  }
868
- ]
1077
+ ],
1078
+ "category": "other"
869
1079
  },
870
1080
  "cua": {
871
1081
  "commands": [
@@ -881,7 +1091,8 @@
881
1091
  "strategy": "public",
882
1092
  "type": "bridge"
883
1093
  }
884
- ]
1094
+ ],
1095
+ "category": "other"
885
1096
  },
886
1097
  "cursor": {
887
1098
  "commands": [
@@ -891,10 +1102,57 @@
891
1102
  "strategy": "public",
892
1103
  "type": "web-api"
893
1104
  }
894
- ]
1105
+ ],
1106
+ "category": "other"
1107
+ },
1108
+ "dangdang": {
1109
+ "commands": [
1110
+ {
1111
+ "name": "hot",
1112
+ "description": "Dangdang bestseller book list",
1113
+ "strategy": "intercept",
1114
+ "type": "web-api"
1115
+ },
1116
+ {
1117
+ "name": "search",
1118
+ "description": "Search books on Dangdang",
1119
+ "strategy": "intercept",
1120
+ "type": "web-api"
1121
+ }
1122
+ ],
1123
+ "category": "shopping"
1124
+ },
1125
+ "deepseek": {
1126
+ "commands": [
1127
+ {
1128
+ "name": "chat",
1129
+ "description": "Chat with DeepSeek AI (OpenAI-compatible API)",
1130
+ "strategy": "header",
1131
+ "type": "web-api"
1132
+ },
1133
+ {
1134
+ "name": "models",
1135
+ "description": "List available DeepSeek models",
1136
+ "strategy": "header",
1137
+ "type": "web-api"
1138
+ }
1139
+ ],
1140
+ "category": "ai"
895
1141
  },
896
1142
  "devto": {
897
1143
  "commands": [
1144
+ {
1145
+ "name": "latest",
1146
+ "description": "Latest Dev.to articles",
1147
+ "strategy": "public",
1148
+ "type": "web-api"
1149
+ },
1150
+ {
1151
+ "name": "search",
1152
+ "description": "Search Dev.to articles",
1153
+ "strategy": "public",
1154
+ "type": "web-api"
1155
+ },
898
1156
  {
899
1157
  "name": "tag",
900
1158
  "description": "Latest DEV.to articles for a specific tag",
@@ -913,7 +1171,25 @@
913
1171
  "strategy": "public",
914
1172
  "type": "web-api"
915
1173
  }
916
- ]
1174
+ ],
1175
+ "category": "dev"
1176
+ },
1177
+ "dianping": {
1178
+ "commands": [
1179
+ {
1180
+ "name": "hot",
1181
+ "description": "Dianping trending restaurants",
1182
+ "strategy": "intercept",
1183
+ "type": "web-api"
1184
+ },
1185
+ {
1186
+ "name": "search",
1187
+ "description": "Search restaurants on Dianping",
1188
+ "strategy": "intercept",
1189
+ "type": "web-api"
1190
+ }
1191
+ ],
1192
+ "category": "shopping"
917
1193
  },
918
1194
  "dictionary": {
919
1195
  "commands": [
@@ -935,7 +1211,8 @@
935
1211
  "strategy": "public",
936
1212
  "type": "web-api"
937
1213
  }
938
- ]
1214
+ ],
1215
+ "category": "reference"
939
1216
  },
940
1217
  "dingtalk": {
941
1218
  "commands": [
@@ -945,7 +1222,8 @@
945
1222
  "strategy": "public",
946
1223
  "type": "bridge"
947
1224
  }
948
- ]
1225
+ ],
1226
+ "category": "other"
949
1227
  },
950
1228
  "discord-app": {
951
1229
  "commands": [
@@ -955,7 +1233,8 @@
955
1233
  "strategy": "public",
956
1234
  "type": "web-api"
957
1235
  }
958
- ]
1236
+ ],
1237
+ "category": "other"
959
1238
  },
960
1239
  "docker": {
961
1240
  "commands": [
@@ -977,6 +1256,12 @@
977
1256
  "strategy": "public",
978
1257
  "type": "bridge"
979
1258
  },
1259
+ {
1260
+ "name": "networks",
1261
+ "description": "List Docker networks",
1262
+ "strategy": "public",
1263
+ "type": "desktop"
1264
+ },
980
1265
  {
981
1266
  "name": "ps",
982
1267
  "description": "List running Docker containers",
@@ -988,18 +1273,38 @@
988
1273
  "description": "Run a command in a Docker container",
989
1274
  "strategy": "public",
990
1275
  "type": "bridge"
1276
+ },
1277
+ {
1278
+ "name": "volumes",
1279
+ "description": "List Docker volumes",
1280
+ "strategy": "public",
1281
+ "type": "desktop"
991
1282
  }
992
- ]
1283
+ ],
1284
+ "category": "desktop"
993
1285
  },
994
1286
  "docker-hub": {
995
1287
  "commands": [
1288
+ {
1289
+ "name": "info",
1290
+ "description": "Get Docker Hub image details",
1291
+ "strategy": "public",
1292
+ "type": "web-api"
1293
+ },
996
1294
  {
997
1295
  "name": "search",
998
1296
  "description": "Search Docker Hub images",
999
1297
  "strategy": "public",
1000
1298
  "type": "web-api"
1299
+ },
1300
+ {
1301
+ "name": "tags",
1302
+ "description": "List Docker Hub image tags",
1303
+ "strategy": "public",
1304
+ "type": "web-api"
1001
1305
  }
1002
- ]
1306
+ ],
1307
+ "category": "dev"
1003
1308
  },
1004
1309
  "doctl": {
1005
1310
  "commands": [
@@ -1009,7 +1314,8 @@
1009
1314
  "strategy": "public",
1010
1315
  "type": "bridge"
1011
1316
  }
1012
- ]
1317
+ ],
1318
+ "category": "other"
1013
1319
  },
1014
1320
  "douban": {
1015
1321
  "commands": [
@@ -1025,6 +1331,12 @@
1025
1331
  "strategy": "cookie",
1026
1332
  "type": "browser"
1027
1333
  },
1334
+ {
1335
+ "name": "group-hot",
1336
+ "description": "Douban group hot topics",
1337
+ "strategy": "cookie",
1338
+ "type": "web-api"
1339
+ },
1028
1340
  {
1029
1341
  "name": "marks",
1030
1342
  "description": "Douban movie marks/ratings for a user",
@@ -1037,6 +1349,12 @@
1037
1349
  "strategy": "public",
1038
1350
  "type": "web-api"
1039
1351
  },
1352
+ {
1353
+ "name": "new-movies",
1354
+ "description": "Douban new movies in theaters",
1355
+ "strategy": "public",
1356
+ "type": "web-api"
1357
+ },
1040
1358
  {
1041
1359
  "name": "photos",
1042
1360
  "description": "Get Douban movie posters and stills",
@@ -1066,8 +1384,38 @@
1066
1384
  "description": "Douban movie Top 250",
1067
1385
  "strategy": "cookie",
1068
1386
  "type": "browser"
1387
+ },
1388
+ {
1389
+ "name": "tv-hot",
1390
+ "description": "Douban popular TV shows",
1391
+ "strategy": "public",
1392
+ "type": "web-api"
1393
+ }
1394
+ ],
1395
+ "category": "social"
1396
+ },
1397
+ "doubao": {
1398
+ "commands": [
1399
+ {
1400
+ "name": "ask",
1401
+ "description": "Ask Doubao AI a question",
1402
+ "strategy": "intercept",
1403
+ "type": "web-api"
1404
+ },
1405
+ {
1406
+ "name": "new",
1407
+ "description": "Start a new Doubao chat conversation",
1408
+ "strategy": "intercept",
1409
+ "type": "web-api"
1410
+ },
1411
+ {
1412
+ "name": "status",
1413
+ "description": "Check Doubao login status",
1414
+ "strategy": "intercept",
1415
+ "type": "web-api"
1069
1416
  }
1070
- ]
1417
+ ],
1418
+ "category": "ai"
1071
1419
  },
1072
1420
  "doubao-web": {
1073
1421
  "commands": [
@@ -1125,7 +1473,8 @@
1125
1473
  "strategy": "intercept",
1126
1474
  "type": "web-api"
1127
1475
  }
1128
- ]
1476
+ ],
1477
+ "category": "ai"
1129
1478
  },
1130
1479
  "douyin": {
1131
1480
  "commands": [
@@ -1207,7 +1556,25 @@
1207
1556
  "strategy": "cookie",
1208
1557
  "type": "web-api"
1209
1558
  }
1210
- ]
1559
+ ],
1560
+ "category": "video"
1561
+ },
1562
+ "douyu": {
1563
+ "commands": [
1564
+ {
1565
+ "name": "hot",
1566
+ "description": "Douyu trending live streams",
1567
+ "strategy": "public",
1568
+ "type": "web-api"
1569
+ },
1570
+ {
1571
+ "name": "search",
1572
+ "description": "Search Douyu live streams",
1573
+ "strategy": "intercept",
1574
+ "type": "web-api"
1575
+ }
1576
+ ],
1577
+ "category": "video"
1211
1578
  },
1212
1579
  "drawio": {
1213
1580
  "commands": [
@@ -1217,13 +1584,26 @@
1217
1584
  "strategy": "public",
1218
1585
  "type": "desktop"
1219
1586
  }
1220
- ]
1587
+ ],
1588
+ "category": "desktop"
1221
1589
  },
1222
1590
  "eastmoney": {
1223
1591
  "commands": [
1224
1592
  {
1225
- "name": "hot",
1226
- "description": "Eastmoney hot stocks (A-share volume leaders)",
1593
+ "name": "fund",
1594
+ "description": "East Money fund search",
1595
+ "strategy": "public",
1596
+ "type": "web-api"
1597
+ },
1598
+ {
1599
+ "name": "hot",
1600
+ "description": "Eastmoney hot stocks (A-share volume leaders)",
1601
+ "strategy": "public",
1602
+ "type": "web-api"
1603
+ },
1604
+ {
1605
+ "name": "market",
1606
+ "description": "East Money market indices overview",
1227
1607
  "strategy": "public",
1228
1608
  "type": "web-api"
1229
1609
  },
@@ -1233,7 +1613,25 @@
1233
1613
  "strategy": "public",
1234
1614
  "type": "web-api"
1235
1615
  }
1236
- ]
1616
+ ],
1617
+ "category": "finance"
1618
+ },
1619
+ "ele": {
1620
+ "commands": [
1621
+ {
1622
+ "name": "hot",
1623
+ "description": "Ele.me trending restaurants",
1624
+ "strategy": "intercept",
1625
+ "type": "web-api"
1626
+ },
1627
+ {
1628
+ "name": "search",
1629
+ "description": "Search restaurants and food on Ele.me",
1630
+ "strategy": "intercept",
1631
+ "type": "web-api"
1632
+ }
1633
+ ],
1634
+ "category": "shopping"
1237
1635
  },
1238
1636
  "exchangerate": {
1239
1637
  "commands": [
@@ -1242,8 +1640,15 @@
1242
1640
  "description": "Get exchange rates (free API, no key needed)",
1243
1641
  "strategy": "public",
1244
1642
  "type": "web-api"
1643
+ },
1644
+ {
1645
+ "name": "list",
1646
+ "description": "List all exchange rates for a base currency",
1647
+ "strategy": "public",
1648
+ "type": "web-api"
1245
1649
  }
1246
- ]
1650
+ ],
1651
+ "category": "utility"
1247
1652
  },
1248
1653
  "facebook": {
1249
1654
  "commands": [
@@ -1283,6 +1688,12 @@
1283
1688
  "strategy": "intercept",
1284
1689
  "type": "web-api"
1285
1690
  },
1691
+ {
1692
+ "name": "marketplace",
1693
+ "description": "Search Facebook Marketplace listings",
1694
+ "strategy": "cookie",
1695
+ "type": "web-api"
1696
+ },
1286
1697
  {
1287
1698
  "name": "memories",
1288
1699
  "description": "Get your Facebook memories (On This Day)",
@@ -1295,6 +1706,12 @@
1295
1706
  "strategy": "intercept",
1296
1707
  "type": "web-api"
1297
1708
  },
1709
+ {
1710
+ "name": "post",
1711
+ "description": "Create a Facebook post",
1712
+ "strategy": "cookie",
1713
+ "type": "web-api"
1714
+ },
1298
1715
  {
1299
1716
  "name": "profile",
1300
1717
  "description": "Get Facebook user/page profile info",
@@ -1307,7 +1724,8 @@
1307
1724
  "strategy": "intercept",
1308
1725
  "type": "web-api"
1309
1726
  }
1310
- ]
1727
+ ],
1728
+ "category": "social"
1311
1729
  },
1312
1730
  "feishu": {
1313
1731
  "commands": [
@@ -1335,7 +1753,8 @@
1335
1753
  "strategy": "public",
1336
1754
  "type": "bridge"
1337
1755
  }
1338
- ]
1756
+ ],
1757
+ "category": "other"
1339
1758
  },
1340
1759
  "ffmpeg": {
1341
1760
  "commands": [
@@ -1405,7 +1824,8 @@
1405
1824
  "strategy": "public",
1406
1825
  "type": "desktop"
1407
1826
  }
1408
- ]
1827
+ ],
1828
+ "category": "desktop"
1409
1829
  },
1410
1830
  "flyctl": {
1411
1831
  "commands": [
@@ -1415,7 +1835,8 @@
1415
1835
  "strategy": "public",
1416
1836
  "type": "bridge"
1417
1837
  }
1418
- ]
1838
+ ],
1839
+ "category": "other"
1419
1840
  },
1420
1841
  "freecad": {
1421
1842
  "commands": [
@@ -1509,7 +1930,25 @@
1509
1930
  "strategy": "public",
1510
1931
  "type": "desktop"
1511
1932
  }
1512
- ]
1933
+ ],
1934
+ "category": "desktop"
1935
+ },
1936
+ "futu": {
1937
+ "commands": [
1938
+ {
1939
+ "name": "hot",
1940
+ "description": "Futu hot stocks list",
1941
+ "strategy": "intercept",
1942
+ "type": "web-api"
1943
+ },
1944
+ {
1945
+ "name": "quote",
1946
+ "description": "Get stock quote from Futu",
1947
+ "strategy": "intercept",
1948
+ "type": "web-api"
1949
+ }
1950
+ ],
1951
+ "category": "finance"
1513
1952
  },
1514
1953
  "gcloud": {
1515
1954
  "commands": [
@@ -1519,7 +1958,8 @@
1519
1958
  "strategy": "public",
1520
1959
  "type": "bridge"
1521
1960
  }
1522
- ]
1961
+ ],
1962
+ "category": "other"
1523
1963
  },
1524
1964
  "gemini": {
1525
1965
  "commands": [
@@ -1553,7 +1993,8 @@
1553
1993
  "strategy": "intercept",
1554
1994
  "type": "web-api"
1555
1995
  }
1556
- ]
1996
+ ],
1997
+ "category": "ai"
1557
1998
  },
1558
1999
  "gh": {
1559
2000
  "commands": [
@@ -1587,7 +2028,8 @@
1587
2028
  "strategy": "public",
1588
2029
  "type": "bridge"
1589
2030
  }
1590
- ]
2031
+ ],
2032
+ "category": "other"
1591
2033
  },
1592
2034
  "gimp": {
1593
2035
  "commands": [
@@ -1663,10 +2105,17 @@
1663
2105
  "strategy": "public",
1664
2106
  "type": "desktop"
1665
2107
  }
1666
- ]
2108
+ ],
2109
+ "category": "desktop"
1667
2110
  },
1668
2111
  "gitee": {
1669
2112
  "commands": [
2113
+ {
2114
+ "name": "repos",
2115
+ "description": "Search Gitee repositories",
2116
+ "strategy": "public",
2117
+ "type": "web-api"
2118
+ },
1670
2119
  {
1671
2120
  "name": "search",
1672
2121
  "description": "Search repositories on Gitee",
@@ -1679,7 +2128,8 @@
1679
2128
  "strategy": "public",
1680
2129
  "type": "web-api"
1681
2130
  }
1682
- ]
2131
+ ],
2132
+ "category": "dev"
1683
2133
  },
1684
2134
  "github-trending": {
1685
2135
  "commands": [
@@ -1688,11 +2138,30 @@
1688
2138
  "description": "GitHub trending repositories (by recent stars)",
1689
2139
  "strategy": "public",
1690
2140
  "type": "web-api"
2141
+ },
2142
+ {
2143
+ "name": "developers",
2144
+ "description": "GitHub trending developers",
2145
+ "strategy": "public",
2146
+ "type": "web-api"
2147
+ },
2148
+ {
2149
+ "name": "weekly",
2150
+ "description": "GitHub trending repositories this week",
2151
+ "strategy": "public",
2152
+ "type": "web-api"
1691
2153
  }
1692
- ]
2154
+ ],
2155
+ "category": "dev"
1693
2156
  },
1694
2157
  "gitlab": {
1695
2158
  "commands": [
2159
+ {
2160
+ "name": "projects",
2161
+ "description": "Search GitLab projects",
2162
+ "strategy": "public",
2163
+ "type": "web-api"
2164
+ },
1696
2165
  {
1697
2166
  "name": "search",
1698
2167
  "description": "Search GitLab projects",
@@ -1705,7 +2174,8 @@
1705
2174
  "strategy": "public",
1706
2175
  "type": "web-api"
1707
2176
  }
1708
- ]
2177
+ ],
2178
+ "category": "dev"
1709
2179
  },
1710
2180
  "godot": {
1711
2181
  "commands": [
@@ -1721,7 +2191,8 @@
1721
2191
  "strategy": "public",
1722
2192
  "type": "desktop"
1723
2193
  }
1724
- ]
2194
+ ],
2195
+ "category": "other"
1725
2196
  },
1726
2197
  "google": {
1727
2198
  "commands": [
@@ -1749,7 +2220,8 @@
1749
2220
  "strategy": "public",
1750
2221
  "type": "web-api"
1751
2222
  }
1752
- ]
2223
+ ],
2224
+ "category": "reference"
1753
2225
  },
1754
2226
  "grok": {
1755
2227
  "commands": [
@@ -1759,7 +2231,8 @@
1759
2231
  "strategy": "intercept",
1760
2232
  "type": "web-api"
1761
2233
  }
1762
- ]
2234
+ ],
2235
+ "category": "ai"
1763
2236
  },
1764
2237
  "hackernews": {
1765
2238
  "commands": [
@@ -1775,6 +2248,18 @@
1775
2248
  "strategy": "public",
1776
2249
  "type": "web-api"
1777
2250
  },
2251
+ {
2252
+ "name": "comments",
2253
+ "description": "Get comments for a Hacker News story",
2254
+ "strategy": "public",
2255
+ "type": "web-api"
2256
+ },
2257
+ {
2258
+ "name": "item",
2259
+ "description": "Get a Hacker News item (story, comment, job, poll)",
2260
+ "strategy": "public",
2261
+ "type": "web-api"
2262
+ },
1778
2263
  {
1779
2264
  "name": "jobs",
1780
2265
  "description": "Hacker News job postings",
@@ -1811,7 +2296,8 @@
1811
2296
  "strategy": "public",
1812
2297
  "type": "web-api"
1813
2298
  }
1814
- ]
2299
+ ],
2300
+ "category": "news"
1815
2301
  },
1816
2302
  "hermes": {
1817
2303
  "commands": [
@@ -1833,23 +2319,37 @@
1833
2319
  "strategy": "public",
1834
2320
  "type": "desktop"
1835
2321
  }
1836
- ]
2322
+ ],
2323
+ "category": "other"
1837
2324
  },
1838
2325
  "hf": {
1839
2326
  "commands": [
2327
+ {
2328
+ "name": "datasets",
2329
+ "description": "Search Hugging Face datasets",
2330
+ "strategy": "public",
2331
+ "type": "web-api"
2332
+ },
1840
2333
  {
1841
2334
  "name": "models",
1842
2335
  "description": "Search HuggingFace models",
1843
2336
  "strategy": "public",
1844
2337
  "type": "bridge"
1845
2338
  },
2339
+ {
2340
+ "name": "spaces",
2341
+ "description": "Search Hugging Face Spaces",
2342
+ "strategy": "public",
2343
+ "type": "web-api"
2344
+ },
1846
2345
  {
1847
2346
  "name": "top",
1848
2347
  "description": "Top upvoted Hugging Face papers (daily)",
1849
2348
  "strategy": "public",
1850
2349
  "type": "web-api"
1851
2350
  }
1852
- ]
2351
+ ],
2352
+ "category": "ai"
1853
2353
  },
1854
2354
  "homebrew": {
1855
2355
  "commands": [
@@ -1858,8 +2358,15 @@
1858
2358
  "description": "Get Homebrew formula details",
1859
2359
  "strategy": "public",
1860
2360
  "type": "web-api"
2361
+ },
2362
+ {
2363
+ "name": "search",
2364
+ "description": "Search Homebrew formulae",
2365
+ "strategy": "public",
2366
+ "type": "web-api"
1861
2367
  }
1862
- ]
2368
+ ],
2369
+ "category": "dev"
1863
2370
  },
1864
2371
  "huggingface-papers": {
1865
2372
  "commands": [
@@ -1868,8 +2375,15 @@
1868
2375
  "description": "Daily trending papers on Hugging Face",
1869
2376
  "strategy": "public",
1870
2377
  "type": "web-api"
2378
+ },
2379
+ {
2380
+ "name": "search",
2381
+ "description": "Search Hugging Face papers",
2382
+ "strategy": "public",
2383
+ "type": "web-api"
1871
2384
  }
1872
- ]
2385
+ ],
2386
+ "category": "ai"
1873
2387
  },
1874
2388
  "hupu": {
1875
2389
  "commands": [
@@ -1915,7 +2429,8 @@
1915
2429
  "strategy": "intercept",
1916
2430
  "type": "web-api"
1917
2431
  }
1918
- ]
2432
+ ],
2433
+ "category": "social"
1919
2434
  },
1920
2435
  "imagemagick": {
1921
2436
  "commands": [
@@ -1955,10 +2470,17 @@
1955
2470
  "strategy": "public",
1956
2471
  "type": "desktop"
1957
2472
  }
1958
- ]
2473
+ ],
2474
+ "category": "desktop"
1959
2475
  },
1960
2476
  "imdb": {
1961
2477
  "commands": [
2478
+ {
2479
+ "name": "box-office",
2480
+ "description": "IMDB box office / popular movies",
2481
+ "strategy": "public",
2482
+ "type": "web-api"
2483
+ },
1962
2484
  {
1963
2485
  "name": "person",
1964
2486
  "description": "IMDb person/actor details via suggestion API",
@@ -1995,7 +2517,8 @@
1995
2517
  "strategy": "public",
1996
2518
  "type": "web-api"
1997
2519
  }
1998
- ]
2520
+ ],
2521
+ "category": "reference"
1999
2522
  },
2000
2523
  "infoq": {
2001
2524
  "commands": [
@@ -2004,8 +2527,15 @@
2004
2527
  "description": "Latest InfoQ articles (Chinese edition)",
2005
2528
  "strategy": "public",
2006
2529
  "type": "web-api"
2530
+ },
2531
+ {
2532
+ "name": "latest",
2533
+ "description": "Latest InfoQ articles",
2534
+ "strategy": "public",
2535
+ "type": "web-api"
2007
2536
  }
2008
- ]
2537
+ ],
2538
+ "category": "news"
2009
2539
  },
2010
2540
  "inkscape": {
2011
2541
  "commands": [
@@ -2027,10 +2557,17 @@
2027
2557
  "strategy": "public",
2028
2558
  "type": "desktop"
2029
2559
  }
2030
- ]
2560
+ ],
2561
+ "category": "desktop"
2031
2562
  },
2032
2563
  "instagram": {
2033
2564
  "commands": [
2565
+ {
2566
+ "name": "activity",
2567
+ "description": "Get recent activity/notifications for logged-in Instagram user",
2568
+ "strategy": "intercept",
2569
+ "type": "web-api"
2570
+ },
2034
2571
  {
2035
2572
  "name": "comment",
2036
2573
  "description": "Comment on an Instagram post",
@@ -2067,6 +2604,12 @@
2067
2604
  "strategy": "intercept",
2068
2605
  "type": "web-api"
2069
2606
  },
2607
+ {
2608
+ "name": "highlights",
2609
+ "description": "List story highlights for an Instagram user",
2610
+ "strategy": "intercept",
2611
+ "type": "web-api"
2612
+ },
2070
2613
  {
2071
2614
  "name": "like",
2072
2615
  "description": "Like an Instagram post",
@@ -2097,6 +2640,18 @@
2097
2640
  "strategy": "ui",
2098
2641
  "type": "web-api"
2099
2642
  },
2643
+ {
2644
+ "name": "reels",
2645
+ "description": "Get Instagram trending reels",
2646
+ "strategy": "cookie",
2647
+ "type": "web-api"
2648
+ },
2649
+ {
2650
+ "name": "reels-trending",
2651
+ "description": "Get trending Instagram Reels",
2652
+ "strategy": "intercept",
2653
+ "type": "web-api"
2654
+ },
2100
2655
  {
2101
2656
  "name": "save",
2102
2657
  "description": "Save (bookmark) an Instagram post",
@@ -2115,12 +2670,30 @@
2115
2670
  "strategy": "intercept",
2116
2671
  "type": "web-api"
2117
2672
  },
2673
+ {
2674
+ "name": "stories",
2675
+ "description": "Get Instagram stories for a user",
2676
+ "strategy": "cookie",
2677
+ "type": "web-api"
2678
+ },
2118
2679
  {
2119
2680
  "name": "story",
2120
2681
  "description": "Post a single Instagram story image or video",
2121
2682
  "strategy": "ui",
2122
2683
  "type": "web-api"
2123
2684
  },
2685
+ {
2686
+ "name": "suggested",
2687
+ "description": "Get suggested users to follow on Instagram",
2688
+ "strategy": "intercept",
2689
+ "type": "web-api"
2690
+ },
2691
+ {
2692
+ "name": "tags",
2693
+ "description": "Browse recent posts for an Instagram hashtag",
2694
+ "strategy": "intercept",
2695
+ "type": "web-api"
2696
+ },
2124
2697
  {
2125
2698
  "name": "unfollow",
2126
2699
  "description": "Unfollow an Instagram user",
@@ -2145,7 +2718,8 @@
2145
2718
  "strategy": "intercept",
2146
2719
  "type": "web-api"
2147
2720
  }
2148
- ]
2721
+ ],
2722
+ "category": "social"
2149
2723
  },
2150
2724
  "ip-info": {
2151
2725
  "commands": [
@@ -2155,7 +2729,8 @@
2155
2729
  "strategy": "public",
2156
2730
  "type": "web-api"
2157
2731
  }
2158
- ]
2732
+ ],
2733
+ "category": "utility"
2159
2734
  },
2160
2735
  "itch-io": {
2161
2736
  "commands": [
@@ -2164,18 +2739,44 @@
2164
2739
  "description": "Popular games on itch.io",
2165
2740
  "strategy": "public",
2166
2741
  "type": "web-api"
2742
+ },
2743
+ {
2744
+ "name": "search",
2745
+ "description": "Search itch.io games",
2746
+ "strategy": "public",
2747
+ "type": "web-api"
2748
+ },
2749
+ {
2750
+ "name": "top",
2751
+ "description": "Top rated itch.io games",
2752
+ "strategy": "public",
2753
+ "type": "web-api"
2167
2754
  }
2168
- ]
2755
+ ],
2756
+ "category": "other"
2169
2757
  },
2170
2758
  "ithome": {
2171
2759
  "commands": [
2760
+ {
2761
+ "name": "hot",
2762
+ "description": "IT Home hot news",
2763
+ "strategy": "public",
2764
+ "type": "web-api"
2765
+ },
2766
+ {
2767
+ "name": "latest",
2768
+ "description": "Latest IT Home news articles",
2769
+ "strategy": "public",
2770
+ "type": "web-api"
2771
+ },
2172
2772
  {
2173
2773
  "name": "news",
2174
2774
  "description": "IT Home (IT之家) latest tech news via RSS",
2175
2775
  "strategy": "public",
2176
2776
  "type": "web-api"
2177
2777
  }
2178
- ]
2778
+ ],
2779
+ "category": "news"
2179
2780
  },
2180
2781
  "jd": {
2181
2782
  "commands": [
@@ -2191,19 +2792,25 @@
2191
2792
  "strategy": "cookie",
2192
2793
  "type": "web-api"
2193
2794
  },
2194
- {
2195
- "name": "manifest",
2196
- "description": "JD.com — Chinese e-commerce platform",
2197
- "strategy": "public",
2198
- "type": "web-api"
2199
- },
2200
2795
  {
2201
2796
  "name": "search",
2202
2797
  "description": "Search JD.com products",
2203
2798
  "strategy": "public",
2204
2799
  "type": "web-api"
2205
2800
  }
2206
- ]
2801
+ ],
2802
+ "category": "shopping"
2803
+ },
2804
+ "jianyu": {
2805
+ "commands": [
2806
+ {
2807
+ "name": "search",
2808
+ "description": "Search Jianyu real estate listings",
2809
+ "strategy": "intercept",
2810
+ "type": "browser"
2811
+ }
2812
+ ],
2813
+ "category": "other"
2207
2814
  },
2208
2815
  "jike": {
2209
2816
  "commands": [
@@ -2267,7 +2874,8 @@
2267
2874
  "strategy": "cookie",
2268
2875
  "type": "browser"
2269
2876
  }
2270
- ]
2877
+ ],
2878
+ "category": "social"
2271
2879
  },
2272
2880
  "jimeng": {
2273
2881
  "commands": [
@@ -2283,7 +2891,8 @@
2283
2891
  "strategy": "intercept",
2284
2892
  "type": "web-api"
2285
2893
  }
2286
- ]
2894
+ ],
2895
+ "category": "other"
2287
2896
  },
2288
2897
  "jq": {
2289
2898
  "commands": [
@@ -2299,7 +2908,8 @@
2299
2908
  "strategy": "public",
2300
2909
  "type": "bridge"
2301
2910
  }
2302
- ]
2911
+ ],
2912
+ "category": "other"
2303
2913
  },
2304
2914
  "kdenlive": {
2305
2915
  "commands": [
@@ -2321,7 +2931,25 @@
2321
2931
  "strategy": "public",
2322
2932
  "type": "desktop"
2323
2933
  }
2324
- ]
2934
+ ],
2935
+ "category": "other"
2936
+ },
2937
+ "ke": {
2938
+ "commands": [
2939
+ {
2940
+ "name": "ershoufang",
2941
+ "description": "Ke.com (Beike) second-hand housing listings",
2942
+ "strategy": "intercept",
2943
+ "type": "browser"
2944
+ },
2945
+ {
2946
+ "name": "xiaoqu",
2947
+ "description": "Ke.com (Beike) neighborhood/community listings",
2948
+ "strategy": "intercept",
2949
+ "type": "browser"
2950
+ }
2951
+ ],
2952
+ "category": "other"
2325
2953
  },
2326
2954
  "krita": {
2327
2955
  "commands": [
@@ -2349,7 +2977,25 @@
2349
2977
  "strategy": "public",
2350
2978
  "type": "desktop"
2351
2979
  }
2352
- ]
2980
+ ],
2981
+ "category": "other"
2982
+ },
2983
+ "kuaishou": {
2984
+ "commands": [
2985
+ {
2986
+ "name": "hot",
2987
+ "description": "Kuaishou trending videos",
2988
+ "strategy": "intercept",
2989
+ "type": "web-api"
2990
+ },
2991
+ {
2992
+ "name": "search",
2993
+ "description": "Search Kuaishou videos",
2994
+ "strategy": "intercept",
2995
+ "type": "web-api"
2996
+ }
2997
+ ],
2998
+ "category": "video"
2353
2999
  },
2354
3000
  "lark": {
2355
3001
  "commands": [
@@ -2359,7 +3005,8 @@
2359
3005
  "strategy": "public",
2360
3006
  "type": "bridge"
2361
3007
  }
2362
- ]
3008
+ ],
3009
+ "category": "other"
2363
3010
  },
2364
3011
  "lesswrong": {
2365
3012
  "commands": [
@@ -2453,7 +3100,8 @@
2453
3100
  "strategy": "public",
2454
3101
  "type": "web-api"
2455
3102
  }
2456
- ]
3103
+ ],
3104
+ "category": "other"
2457
3105
  },
2458
3106
  "libreoffice": {
2459
3107
  "commands": [
@@ -2469,14 +3117,15 @@
2469
3117
  "strategy": "public",
2470
3118
  "type": "desktop"
2471
3119
  }
2472
- ]
3120
+ ],
3121
+ "category": "desktop"
2473
3122
  },
2474
3123
  "linkedin": {
2475
3124
  "commands": [
2476
3125
  {
2477
- "name": "manifest",
2478
- "description": "LinkedIn — professional networking and job search",
2479
- "strategy": "header",
3126
+ "name": "jobs",
3127
+ "description": "Search LinkedIn job postings",
3128
+ "strategy": "cookie",
2480
3129
  "type": "web-api"
2481
3130
  },
2482
3131
  {
@@ -2497,7 +3146,8 @@
2497
3146
  "strategy": "header",
2498
3147
  "type": "web-api"
2499
3148
  }
2500
- ]
3149
+ ],
3150
+ "category": "jobs"
2501
3151
  },
2502
3152
  "linux-do": {
2503
3153
  "commands": [
@@ -2561,7 +3211,8 @@
2561
3211
  "strategy": "public",
2562
3212
  "type": "web-api"
2563
3213
  }
2564
- ]
3214
+ ],
3215
+ "category": "social"
2565
3216
  },
2566
3217
  "lobsters": {
2567
3218
  "commands": [
@@ -2583,85 +3234,507 @@
2583
3234
  "strategy": "public",
2584
3235
  "type": "web-api"
2585
3236
  },
3237
+ {
3238
+ "name": "search",
3239
+ "description": "Search Lobsters stories",
3240
+ "strategy": "public",
3241
+ "type": "web-api"
3242
+ },
2586
3243
  {
2587
3244
  "name": "tag",
2588
3245
  "description": "Lobste.rs stories by tag",
2589
3246
  "strategy": "public",
2590
3247
  "type": "web-api"
2591
3248
  }
2592
- ]
3249
+ ],
3250
+ "category": "social"
2593
3251
  },
2594
- "mastodon": {
3252
+ "macos": {
2595
3253
  "commands": [
2596
3254
  {
2597
- "name": "search",
2598
- "description": "Search posts on a Mastodon instance",
3255
+ "name": "active-app",
3256
+ "description": "Get the currently active macOS application",
2599
3257
  "strategy": "public",
2600
- "type": "web-api"
3258
+ "type": "desktop"
2601
3259
  },
2602
3260
  {
2603
- "name": "trending",
2604
- "description": "Trending posts on a Mastodon instance (default mastodon.social)",
3261
+ "name": "apps",
3262
+ "description": "List running applications with name, PID, and bundle ID",
2605
3263
  "strategy": "public",
2606
- "type": "web-api"
2607
- }
2608
- ]
2609
- },
2610
- "medium": {
2611
- "commands": [
3264
+ "type": "desktop"
3265
+ },
2612
3266
  {
2613
- "name": "feed",
2614
- "description": "Medium trending articles by topic",
3267
+ "name": "apps-list",
3268
+ "description": "List installed macOS applications",
2615
3269
  "strategy": "public",
2616
- "type": "web-api"
3270
+ "type": "desktop"
2617
3271
  },
2618
3272
  {
2619
- "name": "search",
2620
- "description": "Search Medium articles",
3273
+ "name": "battery",
3274
+ "description": "Get battery percentage, charging status, and time remaining",
2621
3275
  "strategy": "public",
2622
- "type": "web-api"
3276
+ "type": "desktop"
2623
3277
  },
2624
3278
  {
2625
- "name": "user",
2626
- "description": "Medium user profile and recent articles",
3279
+ "name": "bluetooth",
3280
+ "description": "Check macOS Bluetooth status",
2627
3281
  "strategy": "public",
2628
- "type": "web-api"
2629
- }
2630
- ]
2631
- },
2632
- "meituan": {
2633
- "commands": [
3282
+ "type": "desktop"
3283
+ },
2634
3284
  {
2635
- "name": "search",
2636
- "description": "Search restaurants/shops on Meituan",
2637
- "strategy": "cookie",
2638
- "type": "web-api"
2639
- }
2640
- ]
2641
- },
2642
- "mermaid": {
2643
- "commands": [
3285
+ "name": "brightness",
3286
+ "description": "Get current screen brightness",
3287
+ "strategy": "public",
3288
+ "type": "desktop"
3289
+ },
2644
3290
  {
2645
- "name": "render",
2646
- "description": "Render Mermaid diagram code to an image file",
3291
+ "name": "caffeinate",
3292
+ "description": "Keep Mac awake for a specified duration (prevents display sleep)",
2647
3293
  "strategy": "public",
2648
3294
  "type": "desktop"
2649
- }
2650
- ]
2651
- },
2652
- "minimax": {
2653
- "commands": [
3295
+ },
2654
3296
  {
2655
- "name": "chat",
2656
- "description": "MiniMax M2 chat completion (OpenAI-compatible API)",
2657
- "strategy": "header",
2658
- "type": "web-api"
3297
+ "name": "calendar-create",
3298
+ "description": "Create a new calendar event with title, date, time, and duration",
3299
+ "strategy": "public",
3300
+ "type": "desktop"
2659
3301
  },
2660
3302
  {
2661
- "name": "models",
2662
- "description": "List available MiniMax models",
2663
- "strategy": "header",
2664
- "type": "web-api"
3303
+ "name": "calendar-list",
3304
+ "description": "List calendar events for the next N days",
3305
+ "strategy": "public",
3306
+ "type": "desktop"
3307
+ },
3308
+ {
3309
+ "name": "calendar-today",
3310
+ "description": "List today's calendar events from macOS Calendar.app",
3311
+ "strategy": "public",
3312
+ "type": "desktop"
3313
+ },
3314
+ {
3315
+ "name": "clipboard",
3316
+ "description": "Get current clipboard text contents",
3317
+ "strategy": "public",
3318
+ "type": "desktop"
3319
+ },
3320
+ {
3321
+ "name": "contacts-search",
3322
+ "description": "Search contacts by name, email, or phone",
3323
+ "strategy": "public",
3324
+ "type": "desktop"
3325
+ },
3326
+ {
3327
+ "name": "dark-mode",
3328
+ "description": "Get current dark mode status",
3329
+ "strategy": "public",
3330
+ "type": "desktop"
3331
+ },
3332
+ {
3333
+ "name": "disk-info",
3334
+ "description": "Get disk names, capacity, and free space for all mounted volumes",
3335
+ "strategy": "public",
3336
+ "type": "desktop"
3337
+ },
3338
+ {
3339
+ "name": "disk-usage",
3340
+ "description": "Get disk usage summary",
3341
+ "strategy": "public",
3342
+ "type": "desktop"
3343
+ },
3344
+ {
3345
+ "name": "do-not-disturb",
3346
+ "description": "Toggle macOS Focus/Do Not Disturb mode",
3347
+ "strategy": "public",
3348
+ "type": "desktop"
3349
+ },
3350
+ {
3351
+ "name": "empty-trash",
3352
+ "description": "Empty the macOS Trash",
3353
+ "strategy": "public",
3354
+ "type": "desktop"
3355
+ },
3356
+ {
3357
+ "name": "finder-copy",
3358
+ "description": "Copy a file or folder to a destination path",
3359
+ "strategy": "public",
3360
+ "type": "desktop"
3361
+ },
3362
+ {
3363
+ "name": "finder-move",
3364
+ "description": "Move or rename a file or folder",
3365
+ "strategy": "public",
3366
+ "type": "desktop"
3367
+ },
3368
+ {
3369
+ "name": "finder-new-folder",
3370
+ "description": "Create a new directory (with intermediate directories)",
3371
+ "strategy": "public",
3372
+ "type": "desktop"
3373
+ },
3374
+ {
3375
+ "name": "finder-recent",
3376
+ "description": "List files opened in the last 7 days",
3377
+ "strategy": "public",
3378
+ "type": "desktop"
3379
+ },
3380
+ {
3381
+ "name": "finder-selection",
3382
+ "description": "Get currently selected files in Finder",
3383
+ "strategy": "public",
3384
+ "type": "desktop"
3385
+ },
3386
+ {
3387
+ "name": "finder-tags",
3388
+ "description": "List Finder tags on a file or directory",
3389
+ "strategy": "public",
3390
+ "type": "desktop"
3391
+ },
3392
+ {
3393
+ "name": "lock-screen",
3394
+ "description": "Lock the screen (put display to sleep)",
3395
+ "strategy": "public",
3396
+ "type": "desktop"
3397
+ },
3398
+ {
3399
+ "name": "mail-send",
3400
+ "description": "Send an email using Mail.app",
3401
+ "strategy": "public",
3402
+ "type": "desktop"
3403
+ },
3404
+ {
3405
+ "name": "mail-status",
3406
+ "description": "Get Mail.app accounts and unread message counts",
3407
+ "strategy": "public",
3408
+ "type": "desktop"
3409
+ },
3410
+ {
3411
+ "name": "messages-send",
3412
+ "description": "Send an iMessage to a contact",
3413
+ "strategy": "public",
3414
+ "type": "desktop"
3415
+ },
3416
+ {
3417
+ "name": "music-control",
3418
+ "description": "Control Apple Music playback (play, pause, next, prev, toggle)",
3419
+ "strategy": "public",
3420
+ "type": "desktop"
3421
+ },
3422
+ {
3423
+ "name": "music-now",
3424
+ "description": "Get currently playing track from Apple Music",
3425
+ "strategy": "public",
3426
+ "type": "desktop"
3427
+ },
3428
+ {
3429
+ "name": "notes-list",
3430
+ "description": "List recent Apple Notes with folder and modification date",
3431
+ "strategy": "public",
3432
+ "type": "desktop"
3433
+ },
3434
+ {
3435
+ "name": "notes-search",
3436
+ "description": "Search Apple Notes by title or content",
3437
+ "strategy": "public",
3438
+ "type": "desktop"
3439
+ },
3440
+ {
3441
+ "name": "notification",
3442
+ "description": "Send a macOS notification",
3443
+ "strategy": "public",
3444
+ "type": "desktop"
3445
+ },
3446
+ {
3447
+ "name": "notify",
3448
+ "description": "Send a macOS notification with title and optional subtitle",
3449
+ "strategy": "public",
3450
+ "type": "desktop"
3451
+ },
3452
+ {
3453
+ "name": "open",
3454
+ "description": "Open a file, URL, or application using macOS open command",
3455
+ "strategy": "public",
3456
+ "type": "desktop"
3457
+ },
3458
+ {
3459
+ "name": "open-app",
3460
+ "description": "Open a macOS application",
3461
+ "strategy": "public",
3462
+ "type": "desktop"
3463
+ },
3464
+ {
3465
+ "name": "photos-search",
3466
+ "description": "Search Apple Photos library by keyword",
3467
+ "strategy": "public",
3468
+ "type": "desktop"
3469
+ },
3470
+ {
3471
+ "name": "processes",
3472
+ "description": "List top processes by CPU usage",
3473
+ "strategy": "public",
3474
+ "type": "desktop"
3475
+ },
3476
+ {
3477
+ "name": "reminder-create",
3478
+ "description": "Create a new reminder in Reminders.app",
3479
+ "strategy": "public",
3480
+ "type": "desktop"
3481
+ },
3482
+ {
3483
+ "name": "reminders-complete",
3484
+ "description": "Mark a reminder as complete in macOS Reminders.app",
3485
+ "strategy": "public",
3486
+ "type": "desktop"
3487
+ },
3488
+ {
3489
+ "name": "reminders-list",
3490
+ "description": "List all reminders from macOS Reminders.app",
3491
+ "strategy": "public",
3492
+ "type": "desktop"
3493
+ },
3494
+ {
3495
+ "name": "safari-history",
3496
+ "description": "Get recent Safari browsing history via SQLite",
3497
+ "strategy": "public",
3498
+ "type": "desktop"
3499
+ },
3500
+ {
3501
+ "name": "safari-tabs",
3502
+ "description": "List all open Safari tabs",
3503
+ "strategy": "public",
3504
+ "type": "desktop"
3505
+ },
3506
+ {
3507
+ "name": "safari-url",
3508
+ "description": "Get the URL and title of the active Safari tab",
3509
+ "strategy": "public",
3510
+ "type": "desktop"
3511
+ },
3512
+ {
3513
+ "name": "say",
3514
+ "description": "Speak text aloud using macOS text-to-speech",
3515
+ "strategy": "public",
3516
+ "type": "desktop"
3517
+ },
3518
+ {
3519
+ "name": "screen-lock",
3520
+ "description": "Lock the macOS screen",
3521
+ "strategy": "public",
3522
+ "type": "desktop"
3523
+ },
3524
+ {
3525
+ "name": "screen-recording",
3526
+ "description": "Record the screen to a video file using screencapture",
3527
+ "strategy": "public",
3528
+ "type": "desktop"
3529
+ },
3530
+ {
3531
+ "name": "screenshot",
3532
+ "description": "Take a screenshot and save to file or clipboard",
3533
+ "strategy": "public",
3534
+ "type": "desktop"
3535
+ },
3536
+ {
3537
+ "name": "shortcuts-list",
3538
+ "description": "List all Shortcuts.app shortcuts",
3539
+ "strategy": "public",
3540
+ "type": "desktop"
3541
+ },
3542
+ {
3543
+ "name": "shortcuts-run",
3544
+ "description": "Run a Shortcuts.app shortcut",
3545
+ "strategy": "public",
3546
+ "type": "desktop"
3547
+ },
3548
+ {
3549
+ "name": "sleep",
3550
+ "description": "Put macOS to sleep",
3551
+ "strategy": "public",
3552
+ "type": "desktop"
3553
+ },
3554
+ {
3555
+ "name": "spotlight",
3556
+ "description": "Search files by name using Spotlight index",
3557
+ "strategy": "public",
3558
+ "type": "desktop"
3559
+ },
3560
+ {
3561
+ "name": "system-info",
3562
+ "description": "Get hardware model, processor, memory, and OS version",
3563
+ "strategy": "public",
3564
+ "type": "desktop"
3565
+ },
3566
+ {
3567
+ "name": "trash",
3568
+ "description": "Get Trash item count and list of items",
3569
+ "strategy": "public",
3570
+ "type": "desktop"
3571
+ },
3572
+ {
3573
+ "name": "uptime",
3574
+ "description": "Get system uptime",
3575
+ "strategy": "public",
3576
+ "type": "desktop"
3577
+ },
3578
+ {
3579
+ "name": "volume",
3580
+ "description": "Get system volume settings (output, input, alert levels and mute status)",
3581
+ "strategy": "public",
3582
+ "type": "desktop"
3583
+ },
3584
+ {
3585
+ "name": "wallpaper",
3586
+ "description": "Get or set the desktop wallpaper",
3587
+ "strategy": "public",
3588
+ "type": "desktop"
3589
+ },
3590
+ {
3591
+ "name": "wifi",
3592
+ "description": "Get Wi-Fi status or turn Wi-Fi on/off",
3593
+ "strategy": "public",
3594
+ "type": "desktop"
3595
+ },
3596
+ {
3597
+ "name": "wifi-info",
3598
+ "description": "Get current WiFi connection info",
3599
+ "strategy": "public",
3600
+ "type": "desktop"
3601
+ }
3602
+ ],
3603
+ "category": "desktop"
3604
+ },
3605
+ "maimai": {
3606
+ "commands": [
3607
+ {
3608
+ "name": "search",
3609
+ "description": "Search talents/people on Maimai (requires login)",
3610
+ "strategy": "intercept",
3611
+ "type": "browser"
3612
+ }
3613
+ ],
3614
+ "category": "other"
3615
+ },
3616
+ "maoyan": {
3617
+ "commands": [
3618
+ {
3619
+ "name": "hot",
3620
+ "description": "Maoyan current hot movies (box office)",
3621
+ "strategy": "public",
3622
+ "type": "web-api"
3623
+ },
3624
+ {
3625
+ "name": "search",
3626
+ "description": "Search movies on Maoyan",
3627
+ "strategy": "intercept",
3628
+ "type": "web-api"
3629
+ }
3630
+ ],
3631
+ "category": "shopping"
3632
+ },
3633
+ "mastodon": {
3634
+ "commands": [
3635
+ {
3636
+ "name": "search",
3637
+ "description": "Search posts on a Mastodon instance",
3638
+ "strategy": "public",
3639
+ "type": "web-api"
3640
+ },
3641
+ {
3642
+ "name": "timeline",
3643
+ "description": "Get Mastodon public timeline",
3644
+ "strategy": "public",
3645
+ "type": "web-api"
3646
+ },
3647
+ {
3648
+ "name": "trending",
3649
+ "description": "Trending posts on a Mastodon instance (default mastodon.social)",
3650
+ "strategy": "public",
3651
+ "type": "web-api"
3652
+ },
3653
+ {
3654
+ "name": "user",
3655
+ "description": "Get Mastodon user profile",
3656
+ "strategy": "public",
3657
+ "type": "web-api"
3658
+ }
3659
+ ],
3660
+ "category": "social"
3661
+ },
3662
+ "medium": {
3663
+ "commands": [
3664
+ {
3665
+ "name": "article",
3666
+ "description": "Read a Medium article as Markdown",
3667
+ "strategy": "public",
3668
+ "type": "web-api"
3669
+ },
3670
+ {
3671
+ "name": "feed",
3672
+ "description": "Medium trending articles by topic",
3673
+ "strategy": "public",
3674
+ "type": "web-api"
3675
+ },
3676
+ {
3677
+ "name": "search",
3678
+ "description": "Search Medium articles",
3679
+ "strategy": "public",
3680
+ "type": "web-api"
3681
+ },
3682
+ {
3683
+ "name": "trending",
3684
+ "description": "Medium trending articles",
3685
+ "strategy": "public",
3686
+ "type": "web-api"
3687
+ },
3688
+ {
3689
+ "name": "user",
3690
+ "description": "Medium user profile and recent articles",
3691
+ "strategy": "public",
3692
+ "type": "web-api"
3693
+ }
3694
+ ],
3695
+ "category": "content"
3696
+ },
3697
+ "meituan": {
3698
+ "commands": [
3699
+ {
3700
+ "name": "hot",
3701
+ "description": "Meituan hot search keywords",
3702
+ "strategy": "public",
3703
+ "type": "web-api"
3704
+ },
3705
+ {
3706
+ "name": "search",
3707
+ "description": "Search restaurants/shops on Meituan",
3708
+ "strategy": "cookie",
3709
+ "type": "web-api"
3710
+ }
3711
+ ],
3712
+ "category": "shopping"
3713
+ },
3714
+ "mermaid": {
3715
+ "commands": [
3716
+ {
3717
+ "name": "render",
3718
+ "description": "Render Mermaid diagram code to an image file",
3719
+ "strategy": "public",
3720
+ "type": "desktop"
3721
+ }
3722
+ ],
3723
+ "category": "desktop"
3724
+ },
3725
+ "minimax": {
3726
+ "commands": [
3727
+ {
3728
+ "name": "chat",
3729
+ "description": "MiniMax M2 chat completion (OpenAI-compatible API)",
3730
+ "strategy": "header",
3731
+ "type": "web-api"
3732
+ },
3733
+ {
3734
+ "name": "models",
3735
+ "description": "List available MiniMax models",
3736
+ "strategy": "header",
3737
+ "type": "web-api"
2665
3738
  },
2666
3739
  {
2667
3740
  "name": "tts",
@@ -2669,7 +3742,8 @@
2669
3742
  "strategy": "header",
2670
3743
  "type": "web-api"
2671
3744
  }
2672
- ]
3745
+ ],
3746
+ "category": "ai"
2673
3747
  },
2674
3748
  "motion-studio": {
2675
3749
  "commands": [
@@ -2679,7 +3753,25 @@
2679
3753
  "strategy": "public",
2680
3754
  "type": "web-api"
2681
3755
  }
2682
- ]
3756
+ ],
3757
+ "category": "other"
3758
+ },
3759
+ "mubu": {
3760
+ "commands": [
3761
+ {
3762
+ "name": "list",
3763
+ "description": "List Mubu documents",
3764
+ "strategy": "intercept",
3765
+ "type": "web-api"
3766
+ },
3767
+ {
3768
+ "name": "search",
3769
+ "description": "Search Mubu notes",
3770
+ "strategy": "intercept",
3771
+ "type": "web-api"
3772
+ }
3773
+ ],
3774
+ "category": "other"
2683
3775
  },
2684
3776
  "musescore": {
2685
3777
  "commands": [
@@ -2713,7 +3805,8 @@
2713
3805
  "strategy": "public",
2714
3806
  "type": "desktop"
2715
3807
  }
2716
- ]
3808
+ ],
3809
+ "category": "desktop"
2717
3810
  },
2718
3811
  "neonctl": {
2719
3812
  "commands": [
@@ -2723,7 +3816,8 @@
2723
3816
  "strategy": "public",
2724
3817
  "type": "bridge"
2725
3818
  }
2726
- ]
3819
+ ],
3820
+ "category": "other"
2727
3821
  },
2728
3822
  "netease-music": {
2729
3823
  "commands": [
@@ -2733,13 +3827,26 @@
2733
3827
  "strategy": "public",
2734
3828
  "type": "web-api"
2735
3829
  },
3830
+ {
3831
+ "name": "playlist",
3832
+ "description": "Get NetEase Cloud Music playlist tracks",
3833
+ "strategy": "public",
3834
+ "type": "web-api"
3835
+ },
2736
3836
  {
2737
3837
  "name": "search",
2738
3838
  "description": "Search songs on NetEase Cloud Music",
2739
3839
  "strategy": "public",
2740
3840
  "type": "web-api"
3841
+ },
3842
+ {
3843
+ "name": "top",
3844
+ "description": "NetEase Cloud Music top charts",
3845
+ "strategy": "public",
3846
+ "type": "web-api"
2741
3847
  }
2742
- ]
3848
+ ],
3849
+ "category": "audio"
2743
3850
  },
2744
3851
  "netlify": {
2745
3852
  "commands": [
@@ -2749,7 +3856,8 @@
2749
3856
  "strategy": "public",
2750
3857
  "type": "bridge"
2751
3858
  }
2752
- ]
3859
+ ],
3860
+ "category": "other"
2753
3861
  },
2754
3862
  "notebooklm": {
2755
3863
  "commands": [
@@ -2843,7 +3951,31 @@
2843
3951
  "strategy": "intercept",
2844
3952
  "type": "web-api"
2845
3953
  }
2846
- ]
3954
+ ],
3955
+ "category": "ai"
3956
+ },
3957
+ "notion": {
3958
+ "commands": [
3959
+ {
3960
+ "name": "databases",
3961
+ "description": "List Notion databases",
3962
+ "strategy": "cookie",
3963
+ "type": "web-api"
3964
+ },
3965
+ {
3966
+ "name": "pages",
3967
+ "description": "List recent Notion pages",
3968
+ "strategy": "cookie",
3969
+ "type": "web-api"
3970
+ },
3971
+ {
3972
+ "name": "search",
3973
+ "description": "Search Notion pages via web API",
3974
+ "strategy": "cookie",
3975
+ "type": "web-api"
3976
+ }
3977
+ ],
3978
+ "category": "other"
2847
3979
  },
2848
3980
  "notion-app": {
2849
3981
  "commands": [
@@ -2853,7 +3985,8 @@
2853
3985
  "strategy": "public",
2854
3986
  "type": "web-api"
2855
3987
  }
2856
- ]
3988
+ ],
3989
+ "category": "other"
2857
3990
  },
2858
3991
  "novita": {
2859
3992
  "commands": [
@@ -2875,7 +4008,37 @@
2875
4008
  "strategy": "public",
2876
4009
  "type": "service"
2877
4010
  }
2878
- ]
4011
+ ],
4012
+ "category": "ai"
4013
+ },
4014
+ "npm": {
4015
+ "commands": [
4016
+ {
4017
+ "name": "downloads",
4018
+ "description": "Get npm package download stats",
4019
+ "strategy": "public",
4020
+ "type": "web-api"
4021
+ },
4022
+ {
4023
+ "name": "info",
4024
+ "description": "Get npm package details",
4025
+ "strategy": "public",
4026
+ "type": "web-api"
4027
+ },
4028
+ {
4029
+ "name": "search",
4030
+ "description": "Search npm packages",
4031
+ "strategy": "public",
4032
+ "type": "web-api"
4033
+ },
4034
+ {
4035
+ "name": "versions",
4036
+ "description": "List all versions of an npm package",
4037
+ "strategy": "public",
4038
+ "type": "web-api"
4039
+ }
4040
+ ],
4041
+ "category": "dev"
2879
4042
  },
2880
4043
  "npm-trends": {
2881
4044
  "commands": [
@@ -2884,18 +4047,32 @@
2884
4047
  "description": "Compare npm package download counts",
2885
4048
  "strategy": "public",
2886
4049
  "type": "web-api"
4050
+ },
4051
+ {
4052
+ "name": "trending",
4053
+ "description": "Get trending npm packages",
4054
+ "strategy": "public",
4055
+ "type": "web-api"
2887
4056
  }
2888
- ]
4057
+ ],
4058
+ "category": "dev"
2889
4059
  },
2890
4060
  "nytimes": {
2891
4061
  "commands": [
4062
+ {
4063
+ "name": "search",
4064
+ "description": "Search NYTimes articles",
4065
+ "strategy": "public",
4066
+ "type": "web-api"
4067
+ },
2892
4068
  {
2893
4069
  "name": "top",
2894
4070
  "description": "New York Times top stories via RSS",
2895
4071
  "strategy": "public",
2896
4072
  "type": "web-api"
2897
4073
  }
2898
- ]
4074
+ ],
4075
+ "category": "news"
2899
4076
  },
2900
4077
  "obs": {
2901
4078
  "commands": [
@@ -2942,22 +4119,65 @@
2942
4119
  "type": "service"
2943
4120
  },
2944
4121
  {
2945
- "name": "stream-stop",
2946
- "description": "Stop OBS streaming",
4122
+ "name": "stream-stop",
4123
+ "description": "Stop OBS streaming",
4124
+ "strategy": "public",
4125
+ "type": "service"
4126
+ }
4127
+ ],
4128
+ "category": "other"
4129
+ },
4130
+ "obsidian": {
4131
+ "commands": [
4132
+ {
4133
+ "name": "daily",
4134
+ "description": "Open today's daily note in an Obsidian vault",
4135
+ "strategy": "public",
4136
+ "type": "desktop"
4137
+ },
4138
+ {
4139
+ "name": "open",
4140
+ "description": "Open an Obsidian vault or specific note",
4141
+ "strategy": "public",
4142
+ "type": "desktop"
4143
+ },
4144
+ {
4145
+ "name": "search",
4146
+ "description": "Search for text within an Obsidian vault",
4147
+ "strategy": "public",
4148
+ "type": "desktop"
4149
+ }
4150
+ ],
4151
+ "category": "other"
4152
+ },
4153
+ "ollama": {
4154
+ "commands": [
4155
+ {
4156
+ "name": "generate",
4157
+ "description": "Generate text with an Ollama model",
4158
+ "strategy": "public",
4159
+ "type": "service"
4160
+ },
4161
+ {
4162
+ "name": "list",
4163
+ "description": "List locally installed Ollama models",
4164
+ "strategy": "public",
4165
+ "type": "service"
4166
+ },
4167
+ {
4168
+ "name": "models",
4169
+ "description": "List available Ollama models in registry",
2947
4170
  "strategy": "public",
2948
4171
  "type": "service"
2949
- }
2950
- ]
2951
- },
2952
- "ollama": {
2953
- "commands": [
4172
+ },
2954
4173
  {
2955
- "name": "list",
2956
- "description": "List locally installed Ollama models",
4174
+ "name": "ps",
4175
+ "description": "List running Ollama models",
2957
4176
  "strategy": "public",
2958
4177
  "type": "service"
2959
4178
  }
2960
- ]
4179
+ ],
4180
+ "category": "ai"
2961
4181
  },
2962
4182
  "ones": {
2963
4183
  "commands": [
@@ -3027,7 +4247,8 @@
3027
4247
  "strategy": "intercept",
3028
4248
  "type": "web-api"
3029
4249
  }
3030
- ]
4250
+ ],
4251
+ "category": "other"
3031
4252
  },
3032
4253
  "opencode": {
3033
4254
  "commands": [
@@ -3037,7 +4258,8 @@
3037
4258
  "strategy": "public",
3038
4259
  "type": "bridge"
3039
4260
  }
3040
- ]
4261
+ ],
4262
+ "category": "other"
3041
4263
  },
3042
4264
  "openharness": {
3043
4265
  "commands": [
@@ -3053,7 +4275,8 @@
3053
4275
  "strategy": "public",
3054
4276
  "type": "desktop"
3055
4277
  }
3056
- ]
4278
+ ],
4279
+ "category": "other"
3057
4280
  },
3058
4281
  "openrouter": {
3059
4282
  "commands": [
@@ -3062,8 +4285,15 @@
3062
4285
  "description": "List all available AI models on OpenRouter",
3063
4286
  "strategy": "public",
3064
4287
  "type": "web-api"
4288
+ },
4289
+ {
4290
+ "name": "search",
4291
+ "description": "Search OpenRouter AI models",
4292
+ "strategy": "public",
4293
+ "type": "web-api"
3065
4294
  }
3066
- ]
4295
+ ],
4296
+ "category": "ai"
3067
4297
  },
3068
4298
  "pandoc": {
3069
4299
  "commands": [
@@ -3073,7 +4303,8 @@
3073
4303
  "strategy": "public",
3074
4304
  "type": "desktop"
3075
4305
  }
3076
- ]
4306
+ ],
4307
+ "category": "desktop"
3077
4308
  },
3078
4309
  "paperreview": {
3079
4310
  "commands": [
@@ -3095,17 +4326,36 @@
3095
4326
  "strategy": "public",
3096
4327
  "type": "web-api"
3097
4328
  }
3098
- ]
4329
+ ],
4330
+ "category": "reference"
4331
+ },
4332
+ "perplexity": {
4333
+ "commands": [
4334
+ {
4335
+ "name": "ask",
4336
+ "description": "Ask Perplexity AI a question via API",
4337
+ "strategy": "header",
4338
+ "type": "web-api"
4339
+ }
4340
+ ],
4341
+ "category": "ai"
3099
4342
  },
3100
4343
  "pexels": {
3101
4344
  "commands": [
4345
+ {
4346
+ "name": "curated",
4347
+ "description": "Get Pexels curated photos",
4348
+ "strategy": "public",
4349
+ "type": "web-api"
4350
+ },
3102
4351
  {
3103
4352
  "name": "search",
3104
4353
  "description": "Search free stock photos on Pexels",
3105
4354
  "strategy": "header",
3106
4355
  "type": "web-api"
3107
4356
  }
3108
- ]
4357
+ ],
4358
+ "category": "other"
3109
4359
  },
3110
4360
  "pinduoduo": {
3111
4361
  "commands": [
@@ -3114,8 +4364,15 @@
3114
4364
  "description": "Pinduoduo hot/trending products",
3115
4365
  "strategy": "cookie",
3116
4366
  "type": "web-api"
4367
+ },
4368
+ {
4369
+ "name": "search",
4370
+ "description": "Search Pinduoduo products",
4371
+ "strategy": "cookie",
4372
+ "type": "web-api"
3117
4373
  }
3118
- ]
4374
+ ],
4375
+ "category": "shopping"
3119
4376
  },
3120
4377
  "pixiv": {
3121
4378
  "commands": [
@@ -3155,7 +4412,8 @@
3155
4412
  "strategy": "intercept",
3156
4413
  "type": "web-api"
3157
4414
  }
3158
- ]
4415
+ ],
4416
+ "category": "content"
3159
4417
  },
3160
4418
  "producthunt": {
3161
4419
  "commands": [
@@ -3177,13 +4435,20 @@
3177
4435
  "strategy": "public",
3178
4436
  "type": "web-api"
3179
4437
  },
4438
+ {
4439
+ "name": "search",
4440
+ "description": "Search Product Hunt products",
4441
+ "strategy": "public",
4442
+ "type": "web-api"
4443
+ },
3180
4444
  {
3181
4445
  "name": "today",
3182
4446
  "description": "Today's top Product Hunt launches",
3183
4447
  "strategy": "public",
3184
4448
  "type": "web-api"
3185
4449
  }
3186
- ]
4450
+ ],
4451
+ "category": "dev"
3187
4452
  },
3188
4453
  "pscale": {
3189
4454
  "commands": [
@@ -3193,7 +4458,8 @@
3193
4458
  "strategy": "public",
3194
4459
  "type": "bridge"
3195
4460
  }
3196
- ]
4461
+ ],
4462
+ "category": "other"
3197
4463
  },
3198
4464
  "pypi": {
3199
4465
  "commands": [
@@ -3202,18 +4468,55 @@
3202
4468
  "description": "Get PyPI package details",
3203
4469
  "strategy": "public",
3204
4470
  "type": "web-api"
4471
+ },
4472
+ {
4473
+ "name": "search",
4474
+ "description": "Search PyPI packages via warehouse API",
4475
+ "strategy": "public",
4476
+ "type": "web-api"
4477
+ },
4478
+ {
4479
+ "name": "versions",
4480
+ "description": "List all versions of a PyPI package",
4481
+ "strategy": "public",
4482
+ "type": "web-api"
4483
+ }
4484
+ ],
4485
+ "category": "dev"
4486
+ },
4487
+ "quark": {
4488
+ "commands": [
4489
+ {
4490
+ "name": "ls",
4491
+ "description": "List files in Quark cloud drive",
4492
+ "strategy": "cookie",
4493
+ "type": "web-api"
4494
+ },
4495
+ {
4496
+ "name": "search",
4497
+ "description": "Search files in Quark cloud drive",
4498
+ "strategy": "cookie",
4499
+ "type": "web-api"
3205
4500
  }
3206
- ]
4501
+ ],
4502
+ "category": "other"
3207
4503
  },
3208
4504
  "qweather": {
3209
4505
  "commands": [
4506
+ {
4507
+ "name": "forecast",
4508
+ "description": "Weather forecast from QWeather",
4509
+ "strategy": "public",
4510
+ "type": "web-api"
4511
+ },
3210
4512
  {
3211
4513
  "name": "now",
3212
4514
  "description": "Current weather from QWeather (和风天气, free tier)",
3213
4515
  "strategy": "public",
3214
4516
  "type": "web-api"
3215
4517
  }
3216
- ]
4518
+ ],
4519
+ "category": "utility"
3217
4520
  },
3218
4521
  "railway": {
3219
4522
  "commands": [
@@ -3223,7 +4526,8 @@
3223
4526
  "strategy": "public",
3224
4527
  "type": "bridge"
3225
4528
  }
3226
- ]
4529
+ ],
4530
+ "category": "other"
3227
4531
  },
3228
4532
  "reddit": {
3229
4533
  "commands": [
@@ -3251,6 +4555,12 @@
3251
4555
  "strategy": "public",
3252
4556
  "type": "web-api"
3253
4557
  },
4558
+ {
4559
+ "name": "new",
4560
+ "description": "Reddit newest posts from all subreddits",
4561
+ "strategy": "public",
4562
+ "type": "web-api"
4563
+ },
3254
4564
  {
3255
4565
  "name": "popular",
3256
4566
  "description": "Reddit popular posts (/r/popular)",
@@ -3263,6 +4573,12 @@
3263
4573
  "strategy": "public",
3264
4574
  "type": "web-api"
3265
4575
  },
4576
+ {
4577
+ "name": "rising",
4578
+ "description": "Reddit rising posts",
4579
+ "strategy": "public",
4580
+ "type": "web-api"
4581
+ },
3266
4582
  {
3267
4583
  "name": "save",
3268
4584
  "description": "Save a Reddit post or comment",
@@ -3293,6 +4609,18 @@
3293
4609
  "strategy": "cookie",
3294
4610
  "type": "web-api"
3295
4611
  },
4612
+ {
4613
+ "name": "top",
4614
+ "description": "Reddit top posts",
4615
+ "strategy": "public",
4616
+ "type": "web-api"
4617
+ },
4618
+ {
4619
+ "name": "trending",
4620
+ "description": "Reddit trending subreddits",
4621
+ "strategy": "public",
4622
+ "type": "web-api"
4623
+ },
3296
4624
  {
3297
4625
  "name": "upvote",
3298
4626
  "description": "Upvote a Reddit post or comment",
@@ -3323,7 +4651,8 @@
3323
4651
  "strategy": "public",
3324
4652
  "type": "web-api"
3325
4653
  }
3326
- ]
4654
+ ],
4655
+ "category": "social"
3327
4656
  },
3328
4657
  "renderdoc": {
3329
4658
  "commands": [
@@ -3339,10 +4668,17 @@
3339
4668
  "strategy": "public",
3340
4669
  "type": "desktop"
3341
4670
  }
3342
- ]
4671
+ ],
4672
+ "category": "other"
3343
4673
  },
3344
4674
  "replicate": {
3345
4675
  "commands": [
4676
+ {
4677
+ "name": "run",
4678
+ "description": "Run a Replicate AI model",
4679
+ "strategy": "cookie",
4680
+ "type": "web-api"
4681
+ },
3346
4682
  {
3347
4683
  "name": "search",
3348
4684
  "description": "Search AI models on Replicate",
@@ -3355,7 +4691,8 @@
3355
4691
  "strategy": "public",
3356
4692
  "type": "web-api"
3357
4693
  }
3358
- ]
4694
+ ],
4695
+ "category": "ai"
3359
4696
  },
3360
4697
  "reuters": {
3361
4698
  "commands": [
@@ -3366,8 +4703,8 @@
3366
4703
  "type": "web-api"
3367
4704
  },
3368
4705
  {
3369
- "name": "manifest",
3370
- "description": "Reuters — international news and wire service",
4706
+ "name": "latest",
4707
+ "description": "Latest Reuters news articles",
3371
4708
  "strategy": "public",
3372
4709
  "type": "web-api"
3373
4710
  },
@@ -3383,7 +4720,8 @@
3383
4720
  "strategy": "public",
3384
4721
  "type": "web-api"
3385
4722
  }
3386
- ]
4723
+ ],
4724
+ "category": "news"
3387
4725
  },
3388
4726
  "shotcut": {
3389
4727
  "commands": [
@@ -3405,7 +4743,8 @@
3405
4743
  "strategy": "public",
3406
4744
  "type": "desktop"
3407
4745
  }
3408
- ]
4746
+ ],
4747
+ "category": "other"
3409
4748
  },
3410
4749
  "sinablog": {
3411
4750
  "commands": [
@@ -3421,12 +4760,6 @@
3421
4760
  "strategy": "public",
3422
4761
  "type": "browser"
3423
4762
  },
3424
- {
3425
- "name": "manifest",
3426
- "description": "Sina Blog — Chinese blogging platform",
3427
- "strategy": "public",
3428
- "type": "web-api"
3429
- },
3430
4763
  {
3431
4764
  "name": "search",
3432
4765
  "description": "Search Sina Blog posts",
@@ -3439,10 +4772,17 @@
3439
4772
  "strategy": "public",
3440
4773
  "type": "browser"
3441
4774
  }
3442
- ]
4775
+ ],
4776
+ "category": "other"
3443
4777
  },
3444
4778
  "sinafinance": {
3445
4779
  "commands": [
4780
+ {
4781
+ "name": "market",
4782
+ "description": "Sina Finance stock market overview",
4783
+ "strategy": "public",
4784
+ "type": "web-api"
4785
+ },
3446
4786
  {
3447
4787
  "name": "news",
3448
4788
  "description": "Sina Finance 7x24 live news feed",
@@ -3467,7 +4807,8 @@
3467
4807
  "strategy": "public",
3468
4808
  "type": "web-api"
3469
4809
  }
3470
- ]
4810
+ ],
4811
+ "category": "finance"
3471
4812
  },
3472
4813
  "sketch": {
3473
4814
  "commands": [
@@ -3489,7 +4830,8 @@
3489
4830
  "strategy": "public",
3490
4831
  "type": "desktop"
3491
4832
  }
3492
- ]
4833
+ ],
4834
+ "category": "other"
3493
4835
  },
3494
4836
  "slack": {
3495
4837
  "commands": [
@@ -3498,8 +4840,45 @@
3498
4840
  "description": "List Slack channels",
3499
4841
  "strategy": "public",
3500
4842
  "type": "bridge"
4843
+ },
4844
+ {
4845
+ "name": "messages",
4846
+ "description": "Read Slack channel messages",
4847
+ "strategy": "cookie",
4848
+ "type": "web-api"
4849
+ },
4850
+ {
4851
+ "name": "post",
4852
+ "description": "Post a message to a Slack channel",
4853
+ "strategy": "cookie",
4854
+ "type": "web-api"
4855
+ },
4856
+ {
4857
+ "name": "search",
4858
+ "description": "Search Slack messages",
4859
+ "strategy": "public",
4860
+ "type": "bridge"
4861
+ },
4862
+ {
4863
+ "name": "send",
4864
+ "description": "Send a message to a Slack channel",
4865
+ "strategy": "public",
4866
+ "type": "bridge"
4867
+ },
4868
+ {
4869
+ "name": "status",
4870
+ "description": "Check Slack CLI auth and workspace status",
4871
+ "strategy": "public",
4872
+ "type": "bridge"
4873
+ },
4874
+ {
4875
+ "name": "users",
4876
+ "description": "List Slack workspace users",
4877
+ "strategy": "cookie",
4878
+ "type": "web-api"
3501
4879
  }
3502
- ]
4880
+ ],
4881
+ "category": "other"
3503
4882
  },
3504
4883
  "slay-the-spire-ii": {
3505
4884
  "commands": [
@@ -3539,7 +4918,19 @@
3539
4918
  "strategy": "public",
3540
4919
  "type": "service"
3541
4920
  }
3542
- ]
4921
+ ],
4922
+ "category": "other"
4923
+ },
4924
+ "slock": {
4925
+ "commands": [
4926
+ {
4927
+ "name": "servers",
4928
+ "description": "List Slock.ai servers (requires login)",
4929
+ "strategy": "intercept",
4930
+ "type": "browser"
4931
+ }
4932
+ ],
4933
+ "category": "other"
3543
4934
  },
3544
4935
  "smzdm": {
3545
4936
  "commands": [
@@ -3555,29 +4946,43 @@
3555
4946
  "strategy": "public",
3556
4947
  "type": "web-api"
3557
4948
  },
3558
- {
3559
- "name": "manifest",
3560
- "description": "SMZDM (Shi Me Zhi De Mai) — deals, reviews, and shopping guides",
3561
- "strategy": "public",
3562
- "type": "web-api"
3563
- },
3564
4949
  {
3565
4950
  "name": "search",
3566
4951
  "description": "Search SMZDM deals and articles",
3567
4952
  "strategy": "public",
3568
4953
  "type": "web-api"
3569
4954
  }
3570
- ]
4955
+ ],
4956
+ "category": "shopping"
3571
4957
  },
3572
4958
  "spotify": {
3573
4959
  "commands": [
4960
+ {
4961
+ "name": "now-playing",
4962
+ "description": "Get currently playing track on Spotify",
4963
+ "strategy": "cookie",
4964
+ "type": "web-api"
4965
+ },
4966
+ {
4967
+ "name": "playlists",
4968
+ "description": "Get user's playlists on Spotify",
4969
+ "strategy": "cookie",
4970
+ "type": "web-api"
4971
+ },
3574
4972
  {
3575
4973
  "name": "search",
3576
4974
  "description": "Search Spotify catalog",
3577
4975
  "strategy": "public",
3578
4976
  "type": "web-api"
4977
+ },
4978
+ {
4979
+ "name": "top-tracks",
4980
+ "description": "Get user's top tracks on Spotify",
4981
+ "strategy": "cookie",
4982
+ "type": "web-api"
3579
4983
  }
3580
- ]
4984
+ ],
4985
+ "category": "audio"
3581
4986
  },
3582
4987
  "sspai": {
3583
4988
  "commands": [
@@ -3593,7 +4998,8 @@
3593
4998
  "strategy": "public",
3594
4999
  "type": "web-api"
3595
5000
  }
3596
- ]
5001
+ ],
5002
+ "category": "content"
3597
5003
  },
3598
5004
  "stackoverflow": {
3599
5005
  "commands": [
@@ -3609,19 +5015,32 @@
3609
5015
  "strategy": "public",
3610
5016
  "type": "web-api"
3611
5017
  },
5018
+ {
5019
+ "name": "question",
5020
+ "description": "Get a StackOverflow question with answers",
5021
+ "strategy": "public",
5022
+ "type": "web-api"
5023
+ },
3612
5024
  {
3613
5025
  "name": "search",
3614
5026
  "description": "Search Stack Overflow questions",
3615
5027
  "strategy": "public",
3616
5028
  "type": "web-api"
3617
5029
  },
5030
+ {
5031
+ "name": "tags",
5032
+ "description": "Popular StackOverflow tags",
5033
+ "strategy": "public",
5034
+ "type": "web-api"
5035
+ },
3618
5036
  {
3619
5037
  "name": "unanswered",
3620
5038
  "description": "Top voted unanswered questions on Stack Overflow",
3621
5039
  "strategy": "public",
3622
5040
  "type": "web-api"
3623
5041
  }
3624
- ]
5042
+ ],
5043
+ "category": "dev"
3625
5044
  },
3626
5045
  "stagehand": {
3627
5046
  "commands": [
@@ -3631,17 +5050,49 @@
3631
5050
  "strategy": "public",
3632
5051
  "type": "bridge"
3633
5052
  }
3634
- ]
5053
+ ],
5054
+ "category": "other"
3635
5055
  },
3636
5056
  "steam": {
3637
5057
  "commands": [
5058
+ {
5059
+ "name": "app-details",
5060
+ "description": "Get Steam game details by appid",
5061
+ "strategy": "public",
5062
+ "type": "web-api"
5063
+ },
5064
+ {
5065
+ "name": "new-releases",
5066
+ "description": "Steam new releases",
5067
+ "strategy": "public",
5068
+ "type": "web-api"
5069
+ },
5070
+ {
5071
+ "name": "search",
5072
+ "description": "Search Steam store for games",
5073
+ "strategy": "public",
5074
+ "type": "web-api"
5075
+ },
5076
+ {
5077
+ "name": "specials",
5078
+ "description": "Steam games on special/sale",
5079
+ "strategy": "public",
5080
+ "type": "web-api"
5081
+ },
3638
5082
  {
3639
5083
  "name": "top-sellers",
3640
5084
  "description": "Steam top selling games",
3641
5085
  "strategy": "public",
3642
5086
  "type": "web-api"
5087
+ },
5088
+ {
5089
+ "name": "wishlist",
5090
+ "description": "Get a Steam user's public wishlist",
5091
+ "strategy": "public",
5092
+ "type": "web-api"
3643
5093
  }
3644
- ]
5094
+ ],
5095
+ "category": "games"
3645
5096
  },
3646
5097
  "substack": {
3647
5098
  "commands": [
@@ -3662,8 +5113,15 @@
3662
5113
  "description": "Search Substack publications",
3663
5114
  "strategy": "public",
3664
5115
  "type": "web-api"
5116
+ },
5117
+ {
5118
+ "name": "trending",
5119
+ "description": "Trending Substack posts",
5120
+ "strategy": "public",
5121
+ "type": "web-api"
3665
5122
  }
3666
- ]
5123
+ ],
5124
+ "category": "content"
3667
5125
  },
3668
5126
  "supabase": {
3669
5127
  "commands": [
@@ -3673,7 +5131,25 @@
3673
5131
  "strategy": "public",
3674
5132
  "type": "bridge"
3675
5133
  }
3676
- ]
5134
+ ],
5135
+ "category": "other"
5136
+ },
5137
+ "taobao": {
5138
+ "commands": [
5139
+ {
5140
+ "name": "hot",
5141
+ "description": "Taobao hot search keywords",
5142
+ "strategy": "public",
5143
+ "type": "web-api"
5144
+ },
5145
+ {
5146
+ "name": "search",
5147
+ "description": "Search Taobao products",
5148
+ "strategy": "intercept",
5149
+ "type": "browser"
5150
+ }
5151
+ ],
5152
+ "category": "shopping"
3677
5153
  },
3678
5154
  "techcrunch": {
3679
5155
  "commands": [
@@ -3682,8 +5158,15 @@
3682
5158
  "description": "Latest TechCrunch articles via RSS",
3683
5159
  "strategy": "public",
3684
5160
  "type": "web-api"
5161
+ },
5162
+ {
5163
+ "name": "search",
5164
+ "description": "Search TechCrunch articles",
5165
+ "strategy": "public",
5166
+ "type": "web-api"
3685
5167
  }
3686
- ]
5168
+ ],
5169
+ "category": "news"
3687
5170
  },
3688
5171
  "theverge": {
3689
5172
  "commands": [
@@ -3692,8 +5175,32 @@
3692
5175
  "description": "Latest The Verge articles via RSS",
3693
5176
  "strategy": "public",
3694
5177
  "type": "web-api"
5178
+ },
5179
+ {
5180
+ "name": "search",
5181
+ "description": "Search The Verge articles",
5182
+ "strategy": "public",
5183
+ "type": "web-api"
3695
5184
  }
3696
- ]
5185
+ ],
5186
+ "category": "news"
5187
+ },
5188
+ "threads": {
5189
+ "commands": [
5190
+ {
5191
+ "name": "hot",
5192
+ "description": "Get trending posts from Threads",
5193
+ "strategy": "intercept",
5194
+ "type": "web-api"
5195
+ },
5196
+ {
5197
+ "name": "search",
5198
+ "description": "Search Threads for posts matching a query",
5199
+ "strategy": "intercept",
5200
+ "type": "web-api"
5201
+ }
5202
+ ],
5203
+ "category": "other"
3697
5204
  },
3698
5205
  "tieba": {
3699
5206
  "commands": [
@@ -3721,7 +5228,8 @@
3721
5228
  "strategy": "public",
3722
5229
  "type": "web-api"
3723
5230
  }
3724
- ]
5231
+ ],
5232
+ "category": "social"
3725
5233
  },
3726
5234
  "tiktok": {
3727
5235
  "commands": [
@@ -3791,6 +5299,12 @@
3791
5299
  "strategy": "intercept",
3792
5300
  "type": "web-api"
3793
5301
  },
5302
+ {
5303
+ "name": "trending",
5304
+ "description": "TikTok trending hashtags and sounds",
5305
+ "strategy": "cookie",
5306
+ "type": "web-api"
5307
+ },
3794
5308
  {
3795
5309
  "name": "unfollow",
3796
5310
  "description": "Unfollow a TikTok user",
@@ -3804,28 +5318,65 @@
3804
5318
  "type": "web-api"
3805
5319
  },
3806
5320
  {
3807
- "name": "unsave",
3808
- "description": "Remove a TikTok video from Favorites",
3809
- "strategy": "intercept",
5321
+ "name": "unsave",
5322
+ "description": "Remove a TikTok video from Favorites",
5323
+ "strategy": "intercept",
5324
+ "type": "web-api"
5325
+ },
5326
+ {
5327
+ "name": "user",
5328
+ "description": "Get recent videos from a TikTok user",
5329
+ "strategy": "intercept",
5330
+ "type": "web-api"
5331
+ }
5332
+ ],
5333
+ "category": "video"
5334
+ },
5335
+ "toutiao": {
5336
+ "commands": [
5337
+ {
5338
+ "name": "hot",
5339
+ "description": "Get Toutiao (Jinri Toutiao) hot topics",
5340
+ "strategy": "public",
5341
+ "type": "web-api"
5342
+ },
5343
+ {
5344
+ "name": "search",
5345
+ "description": "Search Toutiao for articles",
5346
+ "strategy": "intercept",
5347
+ "type": "web-api"
5348
+ }
5349
+ ],
5350
+ "category": "other"
5351
+ },
5352
+ "twitch": {
5353
+ "commands": [
5354
+ {
5355
+ "name": "games",
5356
+ "description": "Get top games on Twitch by viewer count",
5357
+ "strategy": "cookie",
5358
+ "type": "web-api"
5359
+ },
5360
+ {
5361
+ "name": "search",
5362
+ "description": "Search Twitch channels",
5363
+ "strategy": "cookie",
3810
5364
  "type": "web-api"
3811
5365
  },
3812
5366
  {
3813
- "name": "user",
3814
- "description": "Get recent videos from a TikTok user",
3815
- "strategy": "intercept",
5367
+ "name": "streams",
5368
+ "description": "Get top live streams on Twitch",
5369
+ "strategy": "cookie",
3816
5370
  "type": "web-api"
3817
- }
3818
- ]
3819
- },
3820
- "twitch": {
3821
- "commands": [
5371
+ },
3822
5372
  {
3823
5373
  "name": "top",
3824
5374
  "description": "Top live streams on Twitch via GQL public endpoint",
3825
5375
  "strategy": "public",
3826
5376
  "type": "web-api"
3827
5377
  }
3828
- ]
5378
+ ],
5379
+ "category": "video"
3829
5380
  },
3830
5381
  "twitter": {
3831
5382
  "commands": [
@@ -3907,12 +5458,42 @@
3907
5458
  "strategy": "cookie",
3908
5459
  "type": "web-api"
3909
5460
  },
5461
+ {
5462
+ "name": "lists",
5463
+ "description": "Get Twitter/X lists for a user",
5464
+ "strategy": "intercept",
5465
+ "type": "web-api"
5466
+ },
5467
+ {
5468
+ "name": "media",
5469
+ "description": "Get media tweets from a Twitter/X user",
5470
+ "strategy": "intercept",
5471
+ "type": "web-api"
5472
+ },
5473
+ {
5474
+ "name": "mentions",
5475
+ "description": "Get recent mentions/replies for the logged-in Twitter/X user",
5476
+ "strategy": "intercept",
5477
+ "type": "web-api"
5478
+ },
5479
+ {
5480
+ "name": "mute",
5481
+ "description": "Mute a Twitter/X user",
5482
+ "strategy": "intercept",
5483
+ "type": "web-api"
5484
+ },
3910
5485
  {
3911
5486
  "name": "notifications",
3912
5487
  "description": "Get recent notifications",
3913
5488
  "strategy": "cookie",
3914
5489
  "type": "web-api"
3915
5490
  },
5491
+ {
5492
+ "name": "pin",
5493
+ "description": "Get pinned tweet from a Twitter/X user",
5494
+ "strategy": "intercept",
5495
+ "type": "web-api"
5496
+ },
3916
5497
  {
3917
5498
  "name": "post",
3918
5499
  "description": "Post a new tweet",
@@ -3925,6 +5506,12 @@
3925
5506
  "strategy": "cookie",
3926
5507
  "type": "web-api"
3927
5508
  },
5509
+ {
5510
+ "name": "quotes",
5511
+ "description": "Get quote tweets for a specific tweet",
5512
+ "strategy": "intercept",
5513
+ "type": "web-api"
5514
+ },
3928
5515
  {
3929
5516
  "name": "reply",
3930
5517
  "description": "Reply to a tweet",
@@ -3937,12 +5524,24 @@
3937
5524
  "strategy": "cookie",
3938
5525
  "type": "web-api"
3939
5526
  },
5527
+ {
5528
+ "name": "retweets",
5529
+ "description": "Get users who retweeted a specific tweet",
5530
+ "strategy": "intercept",
5531
+ "type": "web-api"
5532
+ },
3940
5533
  {
3941
5534
  "name": "search",
3942
5535
  "description": "Search tweets by keyword",
3943
5536
  "strategy": "cookie",
3944
5537
  "type": "web-api"
3945
5538
  },
5539
+ {
5540
+ "name": "spaces",
5541
+ "description": "Browse live and upcoming Twitter/X Spaces",
5542
+ "strategy": "intercept",
5543
+ "type": "web-api"
5544
+ },
3946
5545
  {
3947
5546
  "name": "thread",
3948
5547
  "description": "Get a tweet and its conversation thread",
@@ -3978,18 +5577,32 @@
3978
5577
  "description": "Unfollow a user",
3979
5578
  "strategy": "cookie",
3980
5579
  "type": "web-api"
5580
+ },
5581
+ {
5582
+ "name": "unmute",
5583
+ "description": "Unmute a Twitter/X user",
5584
+ "strategy": "intercept",
5585
+ "type": "web-api"
3981
5586
  }
3982
- ]
5587
+ ],
5588
+ "category": "social"
3983
5589
  },
3984
5590
  "unsplash": {
3985
5591
  "commands": [
5592
+ {
5593
+ "name": "random",
5594
+ "description": "Get a random Unsplash photo",
5595
+ "strategy": "public",
5596
+ "type": "web-api"
5597
+ },
3986
5598
  {
3987
5599
  "name": "search",
3988
5600
  "description": "Search free photos on Unsplash",
3989
5601
  "strategy": "public",
3990
5602
  "type": "web-api"
3991
5603
  }
3992
- ]
5604
+ ],
5605
+ "category": "other"
3993
5606
  },
3994
5607
  "v2ex": {
3995
5608
  "commands": [
@@ -4047,6 +5660,12 @@
4047
5660
  "strategy": "public",
4048
5661
  "type": "web-api"
4049
5662
  },
5663
+ {
5664
+ "name": "search",
5665
+ "description": "Search V2EX topics via SOV2EX",
5666
+ "strategy": "public",
5667
+ "type": "web-api"
5668
+ },
4050
5669
  {
4051
5670
  "name": "topic",
4052
5671
  "description": "V2EX topic detail",
@@ -4059,7 +5678,8 @@
4059
5678
  "strategy": "public",
4060
5679
  "type": "web-api"
4061
5680
  }
4062
- ]
5681
+ ],
5682
+ "category": "social"
4063
5683
  },
4064
5684
  "vercel": {
4065
5685
  "commands": [
@@ -4069,7 +5689,31 @@
4069
5689
  "strategy": "public",
4070
5690
  "type": "bridge"
4071
5691
  }
4072
- ]
5692
+ ],
5693
+ "category": "other"
5694
+ },
5695
+ "vscode": {
5696
+ "commands": [
5697
+ {
5698
+ "name": "extensions",
5699
+ "description": "List installed VS Code extensions with versions",
5700
+ "strategy": "public",
5701
+ "type": "desktop"
5702
+ },
5703
+ {
5704
+ "name": "install-ext",
5705
+ "description": "Install a VS Code extension by identifier",
5706
+ "strategy": "public",
5707
+ "type": "desktop"
5708
+ },
5709
+ {
5710
+ "name": "open",
5711
+ "description": "Open a file or folder in VS Code",
5712
+ "strategy": "public",
5713
+ "type": "desktop"
5714
+ }
5715
+ ],
5716
+ "category": "other"
4073
5717
  },
4074
5718
  "web": {
4075
5719
  "commands": [
@@ -4079,7 +5723,25 @@
4079
5723
  "strategy": "public",
4080
5724
  "type": "web-api"
4081
5725
  }
4082
- ]
5726
+ ],
5727
+ "category": "utility"
5728
+ },
5729
+ "wechat-channels": {
5730
+ "commands": [
5731
+ {
5732
+ "name": "hot",
5733
+ "description": "WeChat Channels (Video Accounts) trending videos",
5734
+ "strategy": "intercept",
5735
+ "type": "web-api"
5736
+ },
5737
+ {
5738
+ "name": "search",
5739
+ "description": "Search WeChat Channels (Video Accounts) videos",
5740
+ "strategy": "intercept",
5741
+ "type": "web-api"
5742
+ }
5743
+ ],
5744
+ "category": "other"
4083
5745
  },
4084
5746
  "weibo": {
4085
5747
  "commands": [
@@ -4131,13 +5793,20 @@
4131
5793
  "strategy": "cookie",
4132
5794
  "type": "web-api"
4133
5795
  },
5796
+ {
5797
+ "name": "trending",
5798
+ "description": "Weibo trending topics (real-time hot search)",
5799
+ "strategy": "public",
5800
+ "type": "web-api"
5801
+ },
4134
5802
  {
4135
5803
  "name": "user",
4136
5804
  "description": "Get Weibo user profile by UID",
4137
5805
  "strategy": "cookie",
4138
5806
  "type": "web-api"
4139
5807
  }
4140
- ]
5808
+ ],
5809
+ "category": "social"
4141
5810
  },
4142
5811
  "weixin": {
4143
5812
  "commands": [
@@ -4154,9 +5823,9 @@
4154
5823
  "type": "browser"
4155
5824
  },
4156
5825
  {
4157
- "name": "manifest",
4158
- "description": "WeChat Official Accounts — article publishing and search",
4159
- "strategy": "cookie",
5826
+ "name": "hot",
5827
+ "description": "WeChat/Weixin hot articles trending",
5828
+ "strategy": "public",
4160
5829
  "type": "web-api"
4161
5830
  },
4162
5831
  {
@@ -4165,7 +5834,8 @@
4165
5834
  "strategy": "cookie",
4166
5835
  "type": "browser"
4167
5836
  }
4168
- ]
5837
+ ],
5838
+ "category": "other"
4169
5839
  },
4170
5840
  "weread": {
4171
5841
  "commands": [
@@ -4211,7 +5881,8 @@
4211
5881
  "strategy": "cookie",
4212
5882
  "type": "web-api"
4213
5883
  }
4214
- ]
5884
+ ],
5885
+ "category": "content"
4215
5886
  },
4216
5887
  "wikipedia": {
4217
5888
  "commands": [
@@ -4233,13 +5904,20 @@
4233
5904
  "strategy": "public",
4234
5905
  "type": "web-api"
4235
5906
  },
5907
+ {
5908
+ "name": "today",
5909
+ "description": "Wikipedia featured article of the day",
5910
+ "strategy": "public",
5911
+ "type": "web-api"
5912
+ },
4236
5913
  {
4237
5914
  "name": "trending",
4238
5915
  "description": "Most-read Wikipedia articles (yesterday)",
4239
5916
  "strategy": "public",
4240
5917
  "type": "web-api"
4241
5918
  }
4242
- ]
5919
+ ],
5920
+ "category": "reference"
4243
5921
  },
4244
5922
  "wiremock": {
4245
5923
  "commands": [
@@ -4273,7 +5951,8 @@
4273
5951
  "strategy": "public",
4274
5952
  "type": "service"
4275
5953
  }
4276
- ]
5954
+ ],
5955
+ "category": "other"
4277
5956
  },
4278
5957
  "wrangler": {
4279
5958
  "commands": [
@@ -4283,7 +5962,8 @@
4283
5962
  "strategy": "public",
4284
5963
  "type": "bridge"
4285
5964
  }
4286
- ]
5965
+ ],
5966
+ "category": "other"
4287
5967
  },
4288
5968
  "xianyu": {
4289
5969
  "commands": [
@@ -4305,7 +5985,8 @@
4305
5985
  "strategy": "intercept",
4306
5986
  "type": "web-api"
4307
5987
  }
4308
- ]
5988
+ ],
5989
+ "category": "shopping"
4309
5990
  },
4310
5991
  "xiaoe": {
4311
5992
  "commands": [
@@ -4339,7 +6020,8 @@
4339
6020
  "strategy": "intercept",
4340
6021
  "type": "web-api"
4341
6022
  }
4342
- ]
6023
+ ],
6024
+ "category": "other"
4343
6025
  },
4344
6026
  "xiaohongshu": {
4345
6027
  "commands": [
@@ -4391,6 +6073,30 @@
4391
6073
  "strategy": "intercept",
4392
6074
  "type": "web-api"
4393
6075
  },
6076
+ {
6077
+ "name": "follow",
6078
+ "description": "Follow a Xiaohongshu user",
6079
+ "strategy": "intercept",
6080
+ "type": "web-api"
6081
+ },
6082
+ {
6083
+ "name": "hashtag",
6084
+ "description": "Browse notes under a Xiaohongshu hashtag/topic",
6085
+ "strategy": "intercept",
6086
+ "type": "web-api"
6087
+ },
6088
+ {
6089
+ "name": "hot",
6090
+ "description": "Xiaohongshu trending/hot notes",
6091
+ "strategy": "intercept",
6092
+ "type": "web-api"
6093
+ },
6094
+ {
6095
+ "name": "like",
6096
+ "description": "Like a Xiaohongshu note",
6097
+ "strategy": "intercept",
6098
+ "type": "web-api"
6099
+ },
4394
6100
  {
4395
6101
  "name": "note",
4396
6102
  "description": "Get note content and engagement metrics",
@@ -4403,25 +6109,56 @@
4403
6109
  "strategy": "intercept",
4404
6110
  "type": "web-api"
4405
6111
  },
6112
+ {
6113
+ "name": "profile",
6114
+ "description": "Get a Xiaohongshu user profile",
6115
+ "strategy": "intercept",
6116
+ "type": "web-api"
6117
+ },
4406
6118
  {
4407
6119
  "name": "publish",
4408
6120
  "description": "Publish an image+text note via Xiaohongshu creator center (UI automation)",
4409
6121
  "strategy": "cookie",
4410
6122
  "type": "web-api"
4411
6123
  },
6124
+ {
6125
+ "name": "save",
6126
+ "description": "Save/collect a Xiaohongshu note",
6127
+ "strategy": "intercept",
6128
+ "type": "web-api"
6129
+ },
4412
6130
  {
4413
6131
  "name": "search",
4414
6132
  "description": "Search notes on Xiaohongshu",
4415
6133
  "strategy": "cookie",
4416
6134
  "type": "web-api"
4417
6135
  },
6136
+ {
6137
+ "name": "suggest",
6138
+ "description": "Xiaohongshu search suggestions/autocomplete",
6139
+ "strategy": "intercept",
6140
+ "type": "web-api"
6141
+ },
6142
+ {
6143
+ "name": "trending",
6144
+ "description": "Xiaohongshu trending searches",
6145
+ "strategy": "intercept",
6146
+ "type": "web-api"
6147
+ },
6148
+ {
6149
+ "name": "unfollow",
6150
+ "description": "Unfollow a Xiaohongshu user",
6151
+ "strategy": "intercept",
6152
+ "type": "web-api"
6153
+ },
4418
6154
  {
4419
6155
  "name": "user",
4420
6156
  "description": "Get public notes from a Xiaohongshu user profile",
4421
6157
  "strategy": "cookie",
4422
6158
  "type": "web-api"
4423
6159
  }
4424
- ]
6160
+ ],
6161
+ "category": "social"
4425
6162
  },
4426
6163
  "xiaoyuzhou": {
4427
6164
  "commands": [
@@ -4443,7 +6180,8 @@
4443
6180
  "strategy": "public",
4444
6181
  "type": "web-api"
4445
6182
  }
4446
- ]
6183
+ ],
6184
+ "category": "audio"
4447
6185
  },
4448
6186
  "xueqiu": {
4449
6187
  "commands": [
@@ -4489,6 +6227,12 @@
4489
6227
  "strategy": "cookie",
4490
6228
  "type": "web-api"
4491
6229
  },
6230
+ {
6231
+ "name": "market",
6232
+ "description": "Xueqiu market indices overview",
6233
+ "strategy": "cookie",
6234
+ "type": "web-api"
6235
+ },
4492
6236
  {
4493
6237
  "name": "quote",
4494
6238
  "description": "Xueqiu stock quote",
@@ -4513,7 +6257,31 @@
4513
6257
  "strategy": "cookie",
4514
6258
  "type": "web-api"
4515
6259
  }
4516
- ]
6260
+ ],
6261
+ "category": "finance"
6262
+ },
6263
+ "yahoo-finance": {
6264
+ "commands": [
6265
+ {
6266
+ "name": "quote",
6267
+ "description": "Get stock quote from Yahoo Finance",
6268
+ "strategy": "public",
6269
+ "type": "web-api"
6270
+ },
6271
+ {
6272
+ "name": "search",
6273
+ "description": "Search Yahoo Finance for tickers and companies",
6274
+ "strategy": "public",
6275
+ "type": "web-api"
6276
+ },
6277
+ {
6278
+ "name": "trending",
6279
+ "description": "Yahoo Finance trending tickers",
6280
+ "strategy": "public",
6281
+ "type": "web-api"
6282
+ }
6283
+ ],
6284
+ "category": "finance"
4517
6285
  },
4518
6286
  "ycombinator": {
4519
6287
  "commands": [
@@ -4523,7 +6291,8 @@
4523
6291
  "strategy": "public",
4524
6292
  "type": "web-api"
4525
6293
  }
4526
- ]
6294
+ ],
6295
+ "category": "other"
4527
6296
  },
4528
6297
  "yollomi": {
4529
6298
  "commands": [
@@ -4599,7 +6368,8 @@
4599
6368
  "strategy": "intercept",
4600
6369
  "type": "web-api"
4601
6370
  }
4602
- ]
6371
+ ],
6372
+ "category": "other"
4603
6373
  },
4604
6374
  "youtube": {
4605
6375
  "commands": [
@@ -4615,25 +6385,44 @@
4615
6385
  "strategy": "public",
4616
6386
  "type": "web-api"
4617
6387
  },
6388
+ {
6389
+ "name": "playlist",
6390
+ "description": "Get videos from a YouTube playlist",
6391
+ "strategy": "intercept",
6392
+ "type": "web-api"
6393
+ },
4618
6394
  {
4619
6395
  "name": "search",
4620
6396
  "description": "Search YouTube videos",
4621
6397
  "strategy": "public",
4622
6398
  "type": "web-api"
4623
6399
  },
6400
+ {
6401
+ "name": "shorts",
6402
+ "description": "Get YouTube Shorts from a channel or trending",
6403
+ "strategy": "intercept",
6404
+ "type": "web-api"
6405
+ },
4624
6406
  {
4625
6407
  "name": "transcript",
4626
6408
  "description": "Get YouTube video transcript/subtitles",
4627
6409
  "strategy": "public",
4628
6410
  "type": "web-api"
4629
6411
  },
6412
+ {
6413
+ "name": "trending",
6414
+ "description": "Get YouTube trending videos",
6415
+ "strategy": "intercept",
6416
+ "type": "web-api"
6417
+ },
4630
6418
  {
4631
6419
  "name": "video",
4632
6420
  "description": "Get YouTube video info",
4633
6421
  "strategy": "public",
4634
6422
  "type": "web-api"
4635
6423
  }
4636
- ]
6424
+ ],
6425
+ "category": "video"
4637
6426
  },
4638
6427
  "yt-dlp": {
4639
6428
  "commands": [
@@ -4661,7 +6450,8 @@
4661
6450
  "strategy": "public",
4662
6451
  "type": "bridge"
4663
6452
  }
4664
- ]
6453
+ ],
6454
+ "category": "other"
4665
6455
  },
4666
6456
  "yuanbao": {
4667
6457
  "commands": [
@@ -4683,10 +6473,53 @@
4683
6473
  "strategy": "intercept",
4684
6474
  "type": "web-api"
4685
6475
  }
4686
- ]
6476
+ ],
6477
+ "category": "other"
4687
6478
  },
4688
6479
  "zhihu": {
4689
6480
  "commands": [
6481
+ {
6482
+ "name": "answer",
6483
+ "description": "Get a specific Zhihu answer by ID",
6484
+ "strategy": "cookie",
6485
+ "type": "web-api"
6486
+ },
6487
+ {
6488
+ "name": "answers",
6489
+ "description": "List answers by a Zhihu user",
6490
+ "strategy": "cookie",
6491
+ "type": "web-api"
6492
+ },
6493
+ {
6494
+ "name": "article",
6495
+ "description": "Get a Zhihu article (zhuanlan) by ID",
6496
+ "strategy": "cookie",
6497
+ "type": "web-api"
6498
+ },
6499
+ {
6500
+ "name": "articles",
6501
+ "description": "List articles by a Zhihu user",
6502
+ "strategy": "cookie",
6503
+ "type": "web-api"
6504
+ },
6505
+ {
6506
+ "name": "collections",
6507
+ "description": "List Zhihu collections (favorites) for a user",
6508
+ "strategy": "cookie",
6509
+ "type": "web-api"
6510
+ },
6511
+ {
6512
+ "name": "columns",
6513
+ "description": "Get articles from a Zhihu column (zhuanlan)",
6514
+ "strategy": "cookie",
6515
+ "type": "web-api"
6516
+ },
6517
+ {
6518
+ "name": "comment",
6519
+ "description": "Get comments on a Zhihu answer or article",
6520
+ "strategy": "cookie",
6521
+ "type": "web-api"
6522
+ },
4690
6523
  {
4691
6524
  "name": "download",
4692
6525
  "description": "Download Zhihu answer/article content as markdown",
@@ -4699,6 +6532,18 @@
4699
6532
  "strategy": "cookie",
4700
6533
  "type": "web-api"
4701
6534
  },
6535
+ {
6536
+ "name": "followers",
6537
+ "description": "List followers of a Zhihu user",
6538
+ "strategy": "cookie",
6539
+ "type": "web-api"
6540
+ },
6541
+ {
6542
+ "name": "following",
6543
+ "description": "List users followed by a Zhihu user",
6544
+ "strategy": "cookie",
6545
+ "type": "web-api"
6546
+ },
4702
6547
  {
4703
6548
  "name": "hot",
4704
6549
  "description": "Zhihu hot topics list",
@@ -4717,6 +6562,12 @@
4717
6562
  "strategy": "cookie",
4718
6563
  "type": "web-api"
4719
6564
  },
6565
+ {
6566
+ "name": "pins",
6567
+ "description": "List Zhihu pins (thoughts/status updates) by a user",
6568
+ "strategy": "cookie",
6569
+ "type": "web-api"
6570
+ },
4720
6571
  {
4721
6572
  "name": "question",
4722
6573
  "description": "Zhihu question with top answers",
@@ -4728,8 +6579,50 @@
4728
6579
  "description": "Search Zhihu questions and answers",
4729
6580
  "strategy": "cookie",
4730
6581
  "type": "web-api"
6582
+ },
6583
+ {
6584
+ "name": "topic",
6585
+ "description": "Get Zhihu topic best answers",
6586
+ "strategy": "cookie",
6587
+ "type": "web-api"
6588
+ },
6589
+ {
6590
+ "name": "topics",
6591
+ "description": "Get top answers for a Zhihu topic",
6592
+ "strategy": "cookie",
6593
+ "type": "web-api"
6594
+ },
6595
+ {
6596
+ "name": "trending",
6597
+ "description": "Zhihu trending topics by category",
6598
+ "strategy": "cookie",
6599
+ "type": "web-api"
6600
+ },
6601
+ {
6602
+ "name": "user",
6603
+ "description": "Get a Zhihu user profile by URL name",
6604
+ "strategy": "cookie",
6605
+ "type": "web-api"
6606
+ }
6607
+ ],
6608
+ "category": "social"
6609
+ },
6610
+ "zoom": {
6611
+ "commands": [
6612
+ {
6613
+ "name": "join",
6614
+ "description": "Join a Zoom meeting by meeting ID",
6615
+ "strategy": "public",
6616
+ "type": "desktop"
6617
+ },
6618
+ {
6619
+ "name": "start",
6620
+ "description": "Start your personal Zoom meeting",
6621
+ "strategy": "public",
6622
+ "type": "desktop"
4731
6623
  }
4732
- ]
6624
+ ],
6625
+ "category": "other"
4733
6626
  },
4734
6627
  "zotero": {
4735
6628
  "commands": [
@@ -4781,7 +6674,8 @@
4781
6674
  "strategy": "public",
4782
6675
  "type": "service"
4783
6676
  }
4784
- ]
6677
+ ],
6678
+ "category": "other"
4785
6679
  },
4786
6680
  "zsxq": {
4787
6681
  "commands": [
@@ -4815,7 +6709,8 @@
4815
6709
  "strategy": "cookie",
4816
6710
  "type": "web-api"
4817
6711
  }
4818
- ]
6712
+ ],
6713
+ "category": "content"
4819
6714
  }
4820
6715
  }
4821
6716
  }