argo-search 1.0.1 → 2.9.8

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 (472) hide show
  1. package/LICENSE +201 -21
  2. package/README.en.md +735 -0
  3. package/README.es.md +777 -0
  4. package/README.ja.md +777 -0
  5. package/README.ko.md +777 -0
  6. package/README.md +778 -320
  7. package/SKILL.md +135 -0
  8. package/assets/readme/hero.svg +121 -0
  9. package/assets/readme/made-with-beautify.svg +10 -0
  10. package/assets/readme/proof-routes.svg +73 -0
  11. package/assets/readme/why-better.svg +104 -0
  12. package/assets/readme/workflow.svg +83 -0
  13. package/backends/domain_profiles.json +2356 -96
  14. package/backends/engine_registry.yaml +3428 -503
  15. package/backends/query_synonyms_cn.json +35 -0
  16. package/backends/quota_profiles.json +2488 -160
  17. package/backends/source_types_cn.json +109 -0
  18. package/backends/text_lexicon.json +44 -0
  19. package/bin/argo +772 -0
  20. package/bin/argo.js +102 -39
  21. package/config.yaml +5139 -367
  22. package/cordis.patch.yml +21 -0
  23. package/data/countries.json +40 -0
  24. package/data/lang_matrix/lang_capability.json +842 -0
  25. package/data/lang_matrix/matrix_2026-09-10.json +11921 -0
  26. package/data/regions_cn.json +1 -0
  27. package/docs/ADDING_NEW_ENGINE.md +184 -0
  28. package/docs/ARGO_INTRO.md +124 -0
  29. package/docs/DATA_SOURCE_GAPS.md +81 -0
  30. package/docs/DESIGN_LOCAL_DATA_FUSION.md +90 -0
  31. package/docs/ENGINE_CATALOG.md +575 -0
  32. package/docs/MCP_SETUP.md +108 -0
  33. package/docs/PLATFORM_PATHS.md +111 -0
  34. package/docs/RELEASE_NOTES_v2.8.0.md +71 -0
  35. package/docs/RELEASE_NOTES_v2.8.2.md +63 -0
  36. package/docs/RELEASE_NOTES_v2.8.3.md +55 -0
  37. package/docs/RELEASE_NOTES_v2.8.4.md +79 -0
  38. package/docs/RELEASE_NOTES_v2.8.5.md +102 -0
  39. package/docs/RELEASE_NOTES_v2.8.6.md +66 -0
  40. package/docs/RELEASE_NOTES_v2.8.7.md +65 -0
  41. package/docs/RELEASE_NOTES_v2.8.8.md +67 -0
  42. package/docs/RELEASE_NOTES_v2.8.9.md +67 -0
  43. package/docs/RELEASE_NOTES_v2.9.0.md +64 -0
  44. package/docs/RELEASE_NOTES_v2.9.8.md +73 -0
  45. package/docs/SEARCH_ARCHIVE.md +115 -0
  46. package/docs/assets/architecture.svg +104 -0
  47. package/docs/assets/hero.svg +98 -0
  48. package/docs/engines/bangumi.md +27 -0
  49. package/docs/engines/biorxiv.md +27 -0
  50. package/docs/engines/clawhub.md +27 -0
  51. package/docs/engines/crt_sh.md +27 -0
  52. package/docs/engines/datacite.md +27 -0
  53. package/docs/engines/deps_dev.md +27 -0
  54. package/docs/engines/douban_movie.md +27 -0
  55. package/docs/engines/endoflife.md +27 -0
  56. package/docs/engines/flk_law.md +27 -0
  57. package/docs/engines/fxtwitter.md +27 -0
  58. package/docs/engines/google_news.md +27 -0
  59. package/docs/engines/gov_regulations.md +27 -0
  60. package/docs/engines/guqian.md +27 -0
  61. package/docs/engines/hackernews.md +27 -0
  62. package/docs/engines/iplant.md +27 -0
  63. package/docs/engines/keenable.md +27 -0
  64. package/docs/engines/met_museum.md +27 -0
  65. package/docs/engines/nasa_images.md +27 -0
  66. package/docs/engines/netease_music.md +27 -0
  67. package/docs/engines/npm.md +27 -0
  68. package/docs/engines/nvd.md +27 -0
  69. package/docs/engines/openreview.md +27 -0
  70. package/docs/engines/openstd.md +27 -0
  71. package/docs/engines/parallel_free.md +27 -0
  72. package/docs/engines/people_daily.md +27 -0
  73. package/docs/engines/realtime_index.md +27 -0
  74. package/docs/engines/sec_edgar.md +27 -0
  75. package/docs/engines/seltz.md +27 -0
  76. package/docs/engines/skillsmp.md +27 -0
  77. package/docs/engines/sspai.md +27 -0
  78. package/docs/engines/std_samr.md +27 -0
  79. package/docs/engines/train.md +27 -0
  80. package/docs/engines/un_comtrade.md +27 -0
  81. package/docs/engines/wikisource.md +27 -0
  82. package/docs/engines/zdic.md +27 -0
  83. package/docs/engines/zenodo.md +27 -0
  84. package/docs/engines/zhihu_hot_app.md +27 -0
  85. package/docs//344/270/272/344/273/200/344/271/210/351/200/211/346/213/251argo.md +176 -0
  86. package/engines/README.md +10 -0
  87. package/engines/_template_cli.yaml +39 -0
  88. package/engines/_template_http.yaml +37 -0
  89. package/engines/plugins/_template_plugin.py +50 -0
  90. package/engines/specs/_cisa_kev.yaml +54 -0
  91. package/engines/specs/_osv.yaml +63 -0
  92. package/engines/specs/aljazeera.yaml +43 -0
  93. package/engines/specs/antara.yaml +43 -0
  94. package/engines/specs/artic.yaml +20 -0
  95. package/engines/specs/aviation_weather.yaml +39 -0
  96. package/engines/specs/bangumi.yaml +21 -0
  97. package/engines/specs/biorxiv.yaml +24 -0
  98. package/engines/specs/carbon_intensity.yaml +32 -0
  99. package/engines/specs/cfets.yaml +41 -0
  100. package/engines/specs/cinii.yaml +44 -0
  101. package/engines/specs/clawhub.yaml +49 -0
  102. package/engines/specs/cleveland.yaml +19 -0
  103. package/engines/specs/cn_ai_news.yaml +43 -0
  104. package/engines/specs/core.yaml +35 -0
  105. package/engines/specs/crt_sh.yaml +38 -0
  106. package/engines/specs/ct24.yaml +43 -0
  107. package/engines/specs/datacite.yaml +27 -0
  108. package/engines/specs/datagov_uk.yaml +41 -0
  109. package/engines/specs/ddgs_images.yaml +45 -0
  110. package/engines/specs/deepseek_search.yaml +74 -0
  111. package/engines/specs/deezer.yaml +20 -0
  112. package/engines/specs/defillama.yaml +38 -0
  113. package/engines/specs/deps_dev.yaml +21 -0
  114. package/engines/specs/digup.yaml +36 -0
  115. package/engines/specs/doi.yaml +39 -0
  116. package/engines/specs/douban_movie.yaml +22 -0
  117. package/engines/specs/dw_news.yaml +47 -0
  118. package/engines/specs/egov_law.yaml +21 -0
  119. package/engines/specs/elpais.yaml +43 -0
  120. package/engines/specs/endoflife.yaml +21 -0
  121. package/engines/specs/energy_charts.yaml +21 -0
  122. package/engines/specs/factcheck_org.yaml +52 -0
  123. package/engines/specs/faz.yaml +43 -0
  124. package/engines/specs/federal_register.yaml +57 -0
  125. package/engines/specs/firecrawl.yaml +53 -0
  126. package/engines/specs/flk_law.yaml +24 -0
  127. package/engines/specs/folha.yaml +43 -0
  128. package/engines/specs/france24.yaml +44 -0
  129. package/engines/specs/full_fact.yaml +47 -0
  130. package/engines/specs/fxtwitter.yaml +36 -0
  131. package/engines/specs/gbfs_nyc.yaml +32 -0
  132. package/engines/specs/gdacs.yaml +21 -0
  133. package/engines/specs/gdelt.yaml +64 -0
  134. package/engines/specs/gleif.yaml +55 -0
  135. package/engines/specs/google_news.yaml +22 -0
  136. package/engines/specs/gov_regulations.yaml +38 -0
  137. package/engines/specs/guardian_rss.yaml +59 -0
  138. package/engines/specs/hkex.yaml +40 -0
  139. package/engines/specs/hurriyet.yaml +43 -0
  140. package/engines/specs/iplant.yaml +25 -0
  141. package/engines/specs/jikan.yaml +24 -0
  142. package/engines/specs/jolpica.yaml +20 -0
  143. package/engines/specs/k10plus.yaml +20 -0
  144. package/engines/specs/keenable.yaml +44 -0
  145. package/engines/specs/keenable_free.yaml +36 -0
  146. package/engines/specs/lefigaro.yaml +43 -0
  147. package/engines/specs/listenbrainz.yaml +19 -0
  148. package/engines/specs/matichon.yaml +43 -0
  149. package/engines/specs/met_museum.yaml +21 -0
  150. package/engines/specs/nasa_images.yaml +45 -0
  151. package/engines/specs/netease_music.yaml +38 -0
  152. package/engines/specs/nhk.yaml +43 -0
  153. package/engines/specs/nhtsa_vpic.yaml +20 -0
  154. package/engines/specs/noaa_swpc.yaml +20 -0
  155. package/engines/specs/nvd.yaml +38 -0
  156. package/engines/specs/obis.yaml +20 -0
  157. package/engines/specs/opencitations.yaml +52 -0
  158. package/engines/specs/openf1.yaml +21 -0
  159. package/engines/specs/openfoodfacts.yaml +45 -0
  160. package/engines/specs/openligadb.yaml +20 -0
  161. package/engines/specs/openreview.yaml +37 -0
  162. package/engines/specs/openstd.yaml +21 -0
  163. package/engines/specs/people_daily.yaml +22 -0
  164. package/engines/specs/realtime_index.yaml +34 -0
  165. package/engines/specs/ror.yaml +20 -0
  166. package/engines/specs/satnogs.yaml +20 -0
  167. package/engines/specs/sec_edgar.yaml +46 -0
  168. package/engines/specs/shfe.yaml +39 -0
  169. package/engines/specs/skillsmp.yaml +50 -0
  170. package/engines/specs/sogou_weixin_browser.yaml +30 -0
  171. package/engines/specs/soilgrids.yaml +25 -0
  172. package/engines/specs/sspai.yaml +36 -0
  173. package/engines/specs/stackexchange.yaml +46 -0
  174. package/engines/specs/std_samr.yaml +21 -0
  175. package/engines/specs/tass.yaml +43 -0
  176. package/engines/specs/tavily_free.yaml +56 -0
  177. package/engines/specs/tle_mirror.yaml +21 -0
  178. package/engines/specs/train.yaml +37 -0
  179. package/engines/specs/tvmaze.yaml +20 -0
  180. package/engines/specs/twitter_syndication.yaml +31 -0
  181. package/engines/specs/un_comtrade.yaml +23 -0
  182. package/engines/specs/unpaywall.yaml +54 -0
  183. package/engines/specs/vnpress.yaml +43 -0
  184. package/engines/specs/weather.yaml +32 -0
  185. package/engines/specs/who_don.yaml +21 -0
  186. package/engines/specs/who_gho.yaml +20 -0
  187. package/engines/specs/wikimedia_commons.yaml +34 -0
  188. package/engines/specs/wikisource.yaml +22 -0
  189. package/engines/specs/worms.yaml +19 -0
  190. package/engines/specs/x_trending.yaml +34 -0
  191. package/engines/specs/yna.yaml +43 -0
  192. package/engines/specs/ynet.yaml +43 -0
  193. package/engines/specs/yuanbao.yaml +93 -0
  194. package/engines/specs/zbmath.yaml +40 -0
  195. package/engines/specs/zdic.yaml +22 -0
  196. package/engines/specs/zenodo.yaml +27 -0
  197. package/engines/specs/zhihu_hot_app.yaml +35 -0
  198. package/mcp/clients.yaml +106 -0
  199. package/package.json +55 -12
  200. package/packages/dsh-plugin/README.md +152 -0
  201. package/packages/dsh-plugin/cordis.patch.yml +48 -0
  202. package/packages/dsh-plugin/dsh/client.js +1533 -0
  203. package/packages/dsh-plugin/dsh/diagnostics.js +54 -0
  204. package/packages/dsh-plugin/dsh/index.js +527 -0
  205. package/packages/dsh-plugin/dsh/native-tools.mjs +749 -0
  206. package/packages/dsh-plugin/dsh/runner.js +666 -0
  207. package/packages/dsh-plugin/dsh/wide-research.js +878 -0
  208. package/packages/dsh-plugin/package.json +38 -0
  209. package/packages/dsh-plugin/scripts/sync-local.sh +70 -0
  210. package/packages/dsh-plugin/test/client.test.js +406 -0
  211. package/packages/dsh-plugin/test/config.test.js +30 -0
  212. package/packages/dsh-plugin/test/diagnostics.test.js +28 -0
  213. package/packages/dsh-plugin/test/index.test.js +1382 -0
  214. package/references/query-templates.md +96 -0
  215. package/references/query-templates.yaml +118 -0
  216. package/scripts/ab_eval.py +219 -0
  217. package/scripts/ab_eval_p0p1.py +266 -0
  218. package/scripts/adaptive.py +294 -70
  219. package/scripts/answer.py +154 -0
  220. package/scripts/archive_run.py +591 -0
  221. package/scripts/argo_engine_registry.py +172 -0
  222. package/scripts/argo_paths.py +728 -0
  223. package/scripts/article.py +136 -0
  224. package/scripts/article_meta.py +131 -0
  225. package/scripts/arxiv_source.py +201 -0
  226. package/scripts/badcase_ledger.py +252 -0
  227. package/scripts/batch_probe.py +241 -0
  228. package/scripts/benchmark.py +19 -0
  229. package/scripts/bounded_run.py +144 -0
  230. package/scripts/browser_auth.py +323 -0
  231. package/scripts/budget.py +247 -0
  232. package/scripts/budget_cli.py +93 -0
  233. package/scripts/build_release_assets.sh +65 -0
  234. package/scripts/burstiness_detector.py +147 -0
  235. package/scripts/cache.py +1066 -67
  236. package/scripts/cache_guard.py +271 -0
  237. package/scripts/cache_key_vdom.py +56 -0
  238. package/scripts/cache_similarity.py +170 -0
  239. package/scripts/caliber_isolation.py +195 -0
  240. package/scripts/calibrate_lowquality.py +210 -0
  241. package/scripts/candidate_envelope.py +366 -0
  242. package/scripts/chrome_cdp.py +871 -0
  243. package/scripts/ci_drift_gate.py +90 -0
  244. package/scripts/circuit_breaker.py +389 -0
  245. package/scripts/citations.py +334 -0
  246. package/scripts/cite_cli.py +59 -0
  247. package/scripts/cjk_tokens.py +95 -0
  248. package/scripts/clarify.py +47 -24
  249. package/scripts/cli_io.py +240 -0
  250. package/scripts/config.py +683 -45
  251. package/scripts/config_cache.py +402 -0
  252. package/scripts/conn_pool.py +220 -0
  253. package/scripts/content_boundary.py +46 -0
  254. package/scripts/content_security.py +685 -0
  255. package/scripts/content_signals.py +751 -0
  256. package/scripts/crawl.py +74 -35
  257. package/scripts/cross_lingual_trace.py +293 -0
  258. package/scripts/daemon.py +866 -0
  259. package/scripts/digup_bridge.py +214 -0
  260. package/scripts/dispatch_result.py +98 -0
  261. package/scripts/engine_admission.py +366 -0
  262. package/scripts/engine_dispatch.py +982 -0
  263. package/scripts/engine_env.py +539 -0
  264. package/scripts/engine_failure.py +411 -0
  265. package/scripts/engine_families.py +738 -0
  266. package/scripts/engine_policy.py +218 -0
  267. package/scripts/engine_requires.py +190 -0
  268. package/scripts/engine_status.py +322 -0
  269. package/scripts/engine_validate.py +638 -0
  270. package/scripts/engines.py +799 -294
  271. package/scripts/engines_base.py +1521 -0
  272. package/scripts/engines_builders.py +310 -0
  273. package/scripts/engines_builders_batch10.py +204 -0
  274. package/scripts/engines_builders_batch11.py +174 -0
  275. package/scripts/engines_builders_batch12.py +103 -0
  276. package/scripts/engines_builders_batch13.py +340 -0
  277. package/scripts/engines_builders_batch14.py +656 -0
  278. package/scripts/engines_builders_batch15.py +249 -0
  279. package/scripts/engines_builders_batch9.py +1468 -0
  280. package/scripts/engines_builders_cn.py +2283 -0
  281. package/scripts/engines_builders_data.py +2923 -0
  282. package/scripts/engines_builders_data_macro.py +775 -0
  283. package/scripts/engines_builders_feeds.py +255 -0
  284. package/scripts/engines_builders_intl.py +1239 -0
  285. package/scripts/engines_builders_keyless.py +111 -0
  286. package/scripts/engines_builders_search.py +440 -0
  287. package/scripts/engines_builders_tech.py +1359 -0
  288. package/scripts/evidence.py +620 -166
  289. package/scripts/evidence_loop.py +624 -0
  290. package/scripts/evidence_tier.py +298 -0
  291. package/scripts/except_sets.py +25 -0
  292. package/scripts/extract.py +55 -16
  293. package/scripts/fact_align.py +207 -0
  294. package/scripts/fact_crosscheck.py +230 -0
  295. package/scripts/fetch.py +25 -12
  296. package/scripts/fetch_browser.py +87 -0
  297. package/scripts/fetch_jsrun.py +122 -0
  298. package/scripts/fetch_quality.py +225 -0
  299. package/scripts/fetch_render_tinyfish.py +117 -0
  300. package/scripts/fetch_v3.py +1804 -0
  301. package/scripts/focus_extract.py +350 -0
  302. package/scripts/fulltext_store.py +169 -0
  303. package/scripts/fxtwitter_api.py +325 -0
  304. package/scripts/gen_engine_catalog.py +364 -0
  305. package/scripts/gen_native_tools.py +91 -0
  306. package/scripts/gen_routing_snapshot.py +195 -0
  307. package/scripts/health_check.py +140 -402
  308. package/scripts/health_probe.py +23 -8
  309. package/scripts/hot_state.py +134 -0
  310. package/scripts/http_client.py +1053 -0
  311. package/scripts/image_ops.py +430 -0
  312. package/scripts/image_vision/vision_probe.swift +126 -0
  313. package/scripts/install.ps1 +166 -0
  314. package/scripts/install.sh +221 -0
  315. package/scripts/job.py +1186 -0
  316. package/scripts/jump_resolver.py +235 -0
  317. package/scripts/lang_capability.py +150 -0
  318. package/scripts/lang_detect.py +289 -0
  319. package/scripts/lang_matrix_probe.py +329 -0
  320. package/scripts/lang_pref.py +311 -0
  321. package/scripts/link_source.py +340 -0
  322. package/scripts/local_image.py +970 -0
  323. package/scripts/local_seek.py +402 -0
  324. package/scripts/macro_countries.py +97 -0
  325. package/scripts/matrix_search_eval.py +1187 -0
  326. package/scripts/mcp_compact.py +234 -0
  327. package/scripts/mcp_diag.py +8 -3
  328. package/scripts/mcp_handlers.py +492 -0
  329. package/scripts/mcp_handlers_surface.py +157 -0
  330. package/scripts/mcp_launch.sh +124 -0
  331. package/scripts/mcp_local.py +241 -0
  332. package/scripts/mcp_server.py +125 -419
  333. package/scripts/mcp_setup.py +431 -0
  334. package/scripts/mcp_tools.py +331 -0
  335. package/scripts/mcp_transport.py +191 -0
  336. package/scripts/mcp_warm.py +127 -0
  337. package/scripts/min_version_scan.py +335 -0
  338. package/scripts/net_proxy.py +258 -0
  339. package/scripts/network_aware.py +152 -0
  340. package/scripts/output_transparency.py +200 -0
  341. package/scripts/paid_policy.py +98 -0
  342. package/scripts/paper.py +274 -0
  343. package/scripts/pdf_extract.py +518 -0
  344. package/scripts/phrase_filter.py +66 -0
  345. package/scripts/plan.py +422 -0
  346. package/scripts/postprocess_signals.py +150 -0
  347. package/scripts/pre-commit +48 -0
  348. package/scripts/query_enhance.py +157 -0
  349. package/scripts/query_operators.py +196 -0
  350. package/scripts/query_rewriter.py +116 -7
  351. package/scripts/query_signals.py +300 -0
  352. package/scripts/query_templates.py +167 -0
  353. package/scripts/query_understanding.py +411 -0
  354. package/scripts/query_variants.py +298 -0
  355. package/scripts/quota.py +633 -76
  356. package/scripts/rank_signals.py +775 -0
  357. package/scripts/ranking_eval.py +319 -0
  358. package/scripts/readability_extract.py +433 -0
  359. package/scripts/recompute.py +415 -0
  360. package/scripts/recovery.py +616 -0
  361. package/scripts/recovery_l0.py +160 -0
  362. package/scripts/recovery_runner.py +150 -0
  363. package/scripts/redskill/redskill_engine.py +332 -0
  364. package/scripts/regression_p0p1.py +318 -0
  365. package/scripts/replay_eval.py +658 -0
  366. package/scripts/rerank_tfidf.py +225 -0
  367. package/scripts/research.py +607 -403
  368. package/scripts/research_cli.py +361 -0
  369. package/scripts/research_dossier.py +492 -0
  370. package/scripts/research_expand.py +169 -0
  371. package/scripts/research_gates.py +272 -0
  372. package/scripts/research_report.py +209 -0
  373. package/scripts/research_strategy.py +37 -0
  374. package/scripts/research_work_packages.py +195 -0
  375. package/scripts/result_lang.py +311 -0
  376. package/scripts/retry_policy.py +76 -0
  377. package/scripts/robots_guard.py +259 -0
  378. package/scripts/route.py +921 -254
  379. package/scripts/route_bangs.py +40 -0
  380. package/scripts/route_cache.py +243 -0
  381. package/scripts/route_combo.py +917 -0
  382. package/scripts/route_domains.py +341 -0
  383. package/scripts/route_lang.py +605 -0
  384. package/scripts/route_log.py +63 -0
  385. package/scripts/route_policy.py +250 -0
  386. package/scripts/rrf_classic.py +66 -0
  387. package/scripts/screenshot.py +73 -0
  388. package/scripts/search.py +886 -406
  389. package/scripts/search_attribution.py +185 -0
  390. package/scripts/search_benchmark.py +407 -0
  391. package/scripts/search_cli.py +640 -0
  392. package/scripts/search_entry.py +395 -0
  393. package/scripts/search_output.py +690 -0
  394. package/scripts/search_pipeline.py +926 -0
  395. package/scripts/search_rank.py +991 -0
  396. package/scripts/search_types.py +129 -16
  397. package/scripts/seek_locator.py +68 -0
  398. package/scripts/semantic_evidence.py +391 -0
  399. package/scripts/serp_guard.py +336 -0
  400. package/scripts/serp_kill_log.py +74 -0
  401. package/scripts/single_flight.py +120 -0
  402. package/scripts/social_engines/__init__.py +10 -0
  403. package/scripts/social_engines/bilibili_engine.py +131 -0
  404. package/scripts/social_engines/hackernews_engine.py +113 -0
  405. package/scripts/social_engines/reddit_engine.py +172 -0
  406. package/scripts/social_engines/twitter_engine.py +397 -0
  407. package/scripts/social_engines/v2ex_engine.py +101 -0
  408. package/scripts/social_engines/weibo_engine.py +128 -0
  409. package/scripts/social_engines/xiaohongshu_engine.py +137 -0
  410. package/scripts/social_engines/zhihu_engine.py +139 -0
  411. package/scripts/social_research.py +201 -0
  412. package/scripts/sogou_weixin_browser.py +318 -0
  413. package/scripts/source_ledger.py +249 -0
  414. package/scripts/stage_timing.py +58 -0
  415. package/scripts/stats_cli.py +107 -0
  416. package/scripts/straggler_policy.py +60 -0
  417. package/scripts/stylometry_detector.py +231 -0
  418. package/scripts/sync_backends.py +353 -0
  419. package/scripts/sync_installs.py +29 -0
  420. package/scripts/template_cli.py +127 -0
  421. package/scripts/text_lexicon.py +72 -0
  422. package/scripts/tfidf_router.py +109 -37
  423. package/scripts/time_utils.py +233 -0
  424. package/scripts/topic_research_profiles.py +643 -0
  425. package/scripts/train.py +737 -0
  426. package/scripts/tweet.py +596 -0
  427. package/scripts/url_canon.py +217 -0
  428. package/scripts/url_optimize.py +56 -0
  429. package/scripts/url_safety.py +236 -0
  430. package/scripts/usage_log.py +116 -0
  431. package/scripts/usage_log_clean.py +113 -0
  432. package/scripts/v2ex_nodes.py +311 -0
  433. package/scripts/variant_recall.py +188 -0
  434. package/scripts/watch.py +205 -0
  435. package/scripts/wechat_article.py +258 -0
  436. package/scripts/wide_research.py +447 -0
  437. package/scripts/wx.py +349 -0
  438. package/scripts/x_article_fetch.py +141 -0
  439. package/scripts/x_search.py +234 -0
  440. package/scripts/x_trending.py +189 -0
  441. package/scripts/yaml_load.py +67 -0
  442. package/scripts/zhihu_quota.py +139 -0
  443. package/sub-skills/ego-search/SKILL.md +253 -0
  444. package/sub-skills/ego-search/scripts/ego_search.py +800 -0
  445. package/sub-skills/ego-search/scripts/merge.py +226 -0
  446. package/sub-skills/ego-search/scripts/quality.py +64 -0
  447. package/sub-skills/ego-search/scripts/runtime.py +172 -0
  448. package/sub-skills/ego-search/scripts/safety.py +109 -0
  449. package/sub-skills/ego-search/scripts/serp_spec.py +109 -0
  450. package/sub-skills/ego-search/scripts/webbridge_adapter.py +374 -0
  451. package/sub-skills/js-run/SKILL.md +67 -0
  452. package/sub-skills/js-run/scripts/jsrun.py +112 -0
  453. package/sub-skills/js-run/scripts/shim.js +188 -0
  454. package/sub-skills/local-search/SKILL.md +50 -53
  455. package/sub-skills/local-search/bm25.py +186 -0
  456. package/sub-skills/local-search/cli_runner.py +331 -0
  457. package/sub-skills/local-search/config.yaml +152 -55
  458. package/sub-skills/local-search/engine_registry.py +91 -26
  459. package/sub-skills/local-search/{health_check.py → local_health_check.py} +140 -10
  460. package/sub-skills/local-search/local_search_adapter.py +13 -2
  461. package/sub-skills/local-search/parse_maps.yaml +40 -42
  462. package/sub-skills/local-search/parsers.py +328 -0
  463. package/sub-skills/local-search/search_v3.py +716 -242
  464. package/sub-skills/local-search/smart_router.py +47 -7
  465. package/sub-skills/local-seek/SKILL.md +110 -0
  466. package/sub-skills/local-seek/config/domains.yaml +20 -0
  467. package/sub-skills/local-seek/scripts/eval_rank.py +216 -0
  468. package/sub-skills/local-seek/scripts/eval_seek.py +224 -0
  469. package/sub-skills/local-seek/scripts/seek.py +1465 -0
  470. package/sub-skills/local-seek/scripts/seek_frecency.py +126 -0
  471. package/sub-skills/local-seek/scripts/seek_fts.py +430 -0
  472. package/sub-skills/local-seek/scripts/seek_rank.py +197 -0
@@ -0,0 +1,34 @@
1
+ # X (Twitter) Trending 热榜(ego-browser,免 Key,独家源)
2
+ # 定位:X 全球趋势榜是别处拿不到的独家热点源(科技/娱乐/全球趋势分类带排名)。
3
+ # 借 ego-browser 驱动用户默认浏览器抓取 x.com/explore/tabs/trending 渲染结果,
4
+ # 复用浏览器 profile 的 cookie 与指纹,避开匿名请求的 X 风控。
5
+ # 与 sogou_weixin_browser 同族但**零状态文件**:不持久化 task space、不加锁,
6
+ # 每次调用自建空间抓完即走(X 的登录态在 profile 层,冷空间实测同样可取数)。
7
+ # 路由:explicit_only —— 本引擎会在用户浏览器开标签页,不进自动路由,
8
+ # 只等显式调用(需要时 --engine x_trending)。
9
+ # 验证:
10
+ # python3 scripts/engine_validate.py --engine x_trending --stage all --admit
11
+ # python3 scripts/search.py "热榜" --engine x_trending --json
12
+
13
+ engine_id: x_trending
14
+ type: cli
15
+ enabled: true
16
+ cost_tier: free
17
+ explicit_only: true
18
+ cmd:
19
+ - python3
20
+ - scripts/x_trending.py
21
+ search_args:
22
+ - '{query}'
23
+ - --n
24
+ - '{n}'
25
+ output_format: yaml
26
+ timeout: 60
27
+ canary_query: "热榜"
28
+ desc: "X (Twitter) Trending 全球热榜(ego-browser 浏览器通道,带分类与排名;显式调用)"
29
+ coverage: [general, social, trending]
30
+ recommended: false
31
+ family: hot_trending
32
+ # 热榜是「固定榜单」而非「与查询词面匹配的文档集」:canary 与结果无词面交集,
33
+ # 相关性门不适用(同 weather 的数据型源口径)。
34
+ relevance_check: false
@@ -0,0 +1,43 @@
1
+ # 韩联社 RSS — 韩国国家通讯社(연합뉴스),韩半岛一手新闻
2
+ #
3
+ # 补的盲区:**ko 本地一手新闻**。接入前 argo 的新闻链路只有中英源
4
+ # (google_news/guardian_rss/dw_news/france24 都是英语视角),ko 查询
5
+ # 拿不到本地一手报道。
6
+ #
7
+ # 实测(2026-09-21):**120 条**,摘要中位 83 字、最长 93 字。
8
+ #
9
+ # 形态:feed_mode=hot(实时流语义,同 guardian_rss)。归 world_news 族——
10
+ # 与 hot_trending(热榜)分族,避免同族 max_per_family=2 把本地源互相挤掉。
11
+ # 语言由 langs 声明,路由按查询语言选源(见 route._lang_aware_combo_order)。
12
+ #
13
+ # 验证:
14
+ # python3 scripts/engine_validate.py --engine yna --stage all --admit
15
+ # python3 scripts/search.py "오늘 뉴스" --engine yna --json
16
+
17
+ engine_id: yna
18
+ type: rss_feed
19
+ enabled: true
20
+ cost_tier: free
21
+ label: 韩联社 RSS
22
+ family: world_news
23
+ feed_mode: hot
24
+ relevance_check: false
25
+ priority: 40
26
+ qps: 1
27
+ period: second
28
+ cost_per_call: 0.0
29
+ cost_unit: free
30
+ timeout: 12
31
+ feed_url: https://www.yna.co.kr/rss/news.xml
32
+ langs:
33
+ - ko
34
+ canary_query: "오늘 뉴스"
35
+ coverage:
36
+ - news
37
+ - korea
38
+ desc: "韩联社(韩国国家通讯社(연합뉴스),韩半岛一手新闻,免 key)"
39
+ recommended: false
40
+
41
+ quality_queries:
42
+ - query: "오늘 뉴스"
43
+ - query: "한국 정치"
@@ -0,0 +1,43 @@
1
+ # Ynet 新闻 RSS — 以色列最大新闻站,希伯来语一手源
2
+ #
3
+ # 补的盲区:**he 本地一手新闻**。接入前 argo 的新闻链路只有中英源
4
+ # (google_news/guardian_rss/dw_news/france24 都是英语视角),he 查询
5
+ # 拿不到本地一手报道。
6
+ #
7
+ # 实测(2026-09-21):**30 条**,摘要中位 267 字、最长 429 字。
8
+ #
9
+ # 形态:feed_mode=hot(实时流语义,同 guardian_rss)。归 world_news 族——
10
+ # 与 hot_trending(热榜)分族,避免同族 max_per_family=2 把本地源互相挤掉。
11
+ # 语言由 langs 声明,路由按查询语言选源(见 route._lang_aware_combo_order)。
12
+ #
13
+ # 验证:
14
+ # python3 scripts/engine_validate.py --engine ynet --stage all --admit
15
+ # python3 scripts/search.py "חדשות היום" --engine ynet --json
16
+
17
+ engine_id: ynet
18
+ type: rss_feed
19
+ enabled: true
20
+ cost_tier: free
21
+ label: Ynet 新闻 RSS
22
+ family: world_news
23
+ feed_mode: hot
24
+ relevance_check: false
25
+ priority: 52
26
+ qps: 1
27
+ period: second
28
+ cost_per_call: 0.0
29
+ cost_unit: free
30
+ timeout: 12
31
+ feed_url: https://www.ynet.co.il/Integration/StoryRss2.xml
32
+ langs:
33
+ - he
34
+ canary_query: "חדשות היום"
35
+ coverage:
36
+ - news
37
+ - israel
38
+ desc: "Ynet 新闻(以色列最大新闻站,希伯来语一手源,免 key)"
39
+ recommended: false
40
+
41
+ quality_queries:
42
+ - query: "חדשות היום"
43
+ - query: "פוליטיקה ישראל"
@@ -0,0 +1,93 @@
1
+ # 腾讯元宝搜索(Tencent WSA SearchPro,需 key)——默认开,无 key 时路由自动跳过
2
+ #
3
+ # 它是什么:腾讯云「联网搜索」的元宝口径(POST api.wsa.cloud.tencent.com/SearchPro)。
4
+ # 中文全网检索,返回**权威源占比很高**:实测「三星堆的由来」10 条里 8 条来自
5
+ # 人民日报 / 新华网 / 国家文物局 / 住建部 / 国家民委 / 中国日报 / 中新网 /
6
+ # 中国经济网,另 2 条为环球网与腾讯新闻。这与 bocha/byted 的「门户+自媒体」
7
+ # 构成互补——同一个查询上,它更偏一手/官方口径。
8
+ #
9
+ # 返回字段(实测):passage(摘要 ~800 字)、content(更长正文 ~2000 字)、
10
+ # score(相关度 0.55-0.65 区间)、date(`YYYY/MM/DD HH:MM:SS`,东八区)、
11
+ # title、url、site(站点中文名,如「人民日报」)、favicon、pics。
12
+ # 搜索层只取 passage 当摘要,正文按需走 fetch/verify 链(与 DeepSeek 引擎同口径)。
13
+ #
14
+ # 为什么是独立 builder 而不是 type: http(四条声明式表达不了的事实):
15
+ # 1. Pages 是 **JSON 字符串数组**,要二次解析
16
+ # 2. 错误全部走 HTTP 200 + Response.Error(鉴权/欠费/限流都是),
17
+ # 声明式会把它当「0 结果」
18
+ # 3. date 是斜杠格式,不是 argo 的 ISO 约定
19
+ # 4. Cnt 只接受 10/20/30/50,传别的值回 "illegal Cnt"
20
+ # 详见 scripts/engines_builders_batch15.py 的模块 docstring。
21
+ #
22
+ # 成本口径:**未知**。官方文档未公布单价,只有 ResourceUnavailable「请检查账号
23
+ # 是否欠费」这一条侧面说明它按量计费。故 cost_per_call 记 0.0(预算层因此不会
24
+ # 扣减),并用 explicit_only 把它挡在自动路由之外——在价格与额度未知之前,
25
+ # 不让它进任何域 combo,避免「自动花钱却算不出花了多少」。补齐价格后再按
26
+ # scripts/paid_policy.py 的既有做法决定是否放进白名单域的付费对冲位。
27
+ #
28
+ # 启用前提:
29
+ # 1. 配置 key(两个名字都认):
30
+ # ARGO_YUANBAO_API_KEY=<key> # argo 推荐名
31
+ # TENCENTCLOUD_WSA_APIKEY=<key> # 腾讯官方名(文档里的环境变量名)
32
+ # 写进 ~/.config/argo/env 即可,只进环境不落仓库。
33
+ # 2. 健康门:python3 scripts/engine_validate.py --engine yuanbao --stage all --admit
34
+ # 3. 显式调用:argo search "三星堆的由来" --engine yuanbao --json --fields agent
35
+ #
36
+ # 实测(2026-10-21 本机):单次 POST 0.44s,返回 10 条,响应体 ~90KB。
37
+ engine_id: yuanbao
38
+ type: yuanbao
39
+ enabled: true
40
+ # 额度是**按次**的(默认 2000/月),不是按钱的——用 limit + period 的计数档位,
41
+ # 不用 budget.py 的金额档(金额档要单价,计数档不要;单价官方也没公布)。
42
+ #
43
+ # 「次数」的口径:quota.record_many 的 used 计的是**发出过的调用数(含失败)**,
44
+ # 只有 cost_used 是成功才累加。对硬额度而言这是安全的一侧——本地宁可早停,
45
+ # 不让远端 2000 次的硬上限被撞穿;反过来说,本地显示「已用 100 次」时上游
46
+ # 可能只计了其中成功的那些。本轮不改这个口径(改它要动 record_many 的通用
47
+ # 语义,影响全部引擎)。
48
+ #
49
+ # 额度用完即 is_hard_down(全模式排除,不是仅仅排除路由),到 30 天周期边界
50
+ # 惰性自愈;想提前恢复用 `python3 scripts/quota.py reset yuanbao`。
51
+ #
52
+ # **进自动路由(无 explicit_only)**:2026-10-21 起作为 chinese_general 域的第
53
+ # 2 位对冲位(config.yaml 该域的注释里有实测依据)。之所以敢进,是因为额度是
54
+ # **硬上限 + 自动摘除**:耗尽后 is_hard_down 把它从 combo 里摘掉,组合回落到
55
+ # 此前的 anysearch/zhihu_global 形态——降级是明确的一步,不是静默变窄。
56
+ # 代价是额度按查询量线性消耗(中文通用查询每次 1 次调用),档位见下方 limit。
57
+ cost_tier: api
58
+ method: POST
59
+ url: https://api.wsa.cloud.tencent.com/SearchPro
60
+ timeout: 12
61
+ canary_query: 三星堆的由来
62
+ label: 腾讯元宝搜索
63
+ family: web_general
64
+ priority: 55
65
+ # 上游有 RequestLimitExceeded,但公开文档未给具体 QPS;保守取 2,避免撞限流。
66
+ # 限频与下面的 period 无关:qps 检查走硬编码 60 秒窗口(quota.py:585 的
67
+ # `now - t < 60`),全仓没有限频器读 period。
68
+ qps: 2
69
+ # period 是**额度语义**,今天只影响两处 + 一处展示:
70
+ # 1. 本地额度重置跨度:quota._period_elapsed(month → 30 天,否则 1 天)
71
+ # 2. 远端耗尽冷却窗:quota._PERIOD_SECONDS(month → 30 天;表里查不到的值
72
+ # ——含 second/minute——落 86400,且「过短一律按 24h 保守处理」)
73
+ # 3. ENGINE_CATALOG 的「频率上限」列展示
74
+ # 本引擎限额是月度,故两处都应为 30 天 = month。
75
+ period: month
76
+ # 月度调用额度。默认按体验额度 2000 次/月;开通更高套餐时改本行 limit
77
+ # (DSH 面板默认值也按 2000 显示,面板写入只覆盖当前环境,不改进本文件)。
78
+ limit: 2000
79
+ # 单价未知(官方未公布超额度后的计价),故不填金额,只由 limit 约束次数。
80
+ cost_per_call: 0.0
81
+ cost_unit: credit
82
+ recommended: false
83
+
84
+ # key 候选链:任一有值即视为就绪(解析见 engine_env.missing_env_for)
85
+ required_env:
86
+ - [ARGO_YUANBAO_API_KEY, TENCENTCLOUD_WSA_APIKEY, YUANBAO_API_KEY]
87
+
88
+ coverage: [web, chinese, news, official]
89
+
90
+ quality_queries:
91
+ - query: 三星堆的由来
92
+ - query: 央行 降准 最新
93
+ - query: 国家统计局 一季度 GDP
@@ -0,0 +1,40 @@
1
+ # zbMATH Open — 数学文献权威索引(免 key,EMS/FIZ Karlsruhe)
2
+ #
3
+ # 补的盲区:**数学**。argo 的学术域覆盖 CS/生物医学/综合,但没有数学专门源——
4
+ # arXiv 的 math.* 分类只是预印本,不含期刊评审后的索引与 MSC 分类号。
5
+ #
6
+ # 实测(2026-09-21):JSON 直出,免 key;「algebra」返回结构化条目,含
7
+ # title / contributors.authors / year / msc(数学分类)/ zbmath_url。
8
+ #
9
+ # 形态:检索式。summary 取 source.series.0.title(期刊/丛书名),取不到时留空
10
+ # ——zbMATH 不提供摘要字段,宁缺勿假。
11
+ #
12
+ # 验证:
13
+ # python3 scripts/engine_validate.py --engine zbmath --stage all --admit
14
+
15
+ engine_id: zbmath
16
+ type: http
17
+ enabled: true
18
+ cost_tier: free
19
+ method: GET
20
+ url: https://api.zbmath.org/v1/document/_search
21
+ timeout: 20
22
+ query_param: search_string
23
+ canary_query: "algebra"
24
+ family: academic
25
+ coverage: [academic, math, paper]
26
+ desc: "zbMATH Open 数学文献索引(含 MSC 分类号,免 key)"
27
+ recommended: false
28
+ explicit_only: true
29
+ extra_params:
30
+ results_per_page: "{n}"
31
+ output_map:
32
+ items: result
33
+ item_title: title.title
34
+ item_url: zbmath_url
35
+ item_summary: source.series.0.title
36
+ item_published_at: year
37
+
38
+ quality_queries:
39
+ - query: "algebra"
40
+ - query: "topology"
@@ -0,0 +1,22 @@
1
+ # 汉典 — 中文字词典(HTML 解析,免认证)
2
+ # dictionary_search 域的中文补位:该域此前只有英文 dictionaryapi.dev,
3
+ # 缺字义/音韵/字源。词条页为 /hans/{词} 直达,取「详细解释」前几条释义
4
+ # 拼摘要;查无此字返回 404 → 诚实空。
5
+ # 验证:
6
+ # python3 scripts/engine_validate.py --engine zdic --stage all --admit --write-doc
7
+
8
+ engine_id: zdic
9
+ type: zdic
10
+ enabled: true
11
+ cost_tier: free
12
+ timeout: 12
13
+ canary_query: "道"
14
+ desc: "汉典(中文字词典:字义/音韵/字源,HTML 解析,免认证)"
15
+ coverage: [dictionary, chinese, reference]
16
+ recommended: false
17
+ latency_ms: 1500
18
+
19
+ quality_queries:
20
+ - query: "道"
21
+ - query: "仁"
22
+ - query: "信"
@@ -0,0 +1,27 @@
1
+ # Zenodo 科研数据集搜索(免 Key)
2
+ # 文档: https://developers.zenodo.org/
3
+ # 验证:
4
+ # python3 scripts/engine_validate.py --engine zenodo --stage all --admit
5
+ # python3 scripts/search.py "climate" --engine zenodo --json
6
+
7
+ engine_id: zenodo
8
+ type: http
9
+ enabled: true
10
+ cost_tier: free
11
+ method: GET
12
+ url: https://zenodo.org/api/records
13
+ timeout: 15
14
+ query_param: q
15
+ canary_query: "climate change"
16
+ desc: "Zenodo 科研数据集搜索(CERN 托管,免认证,DOI 可引用)"
17
+ coverage: [dataset, academic, opendata, paper]
18
+ recommended: false
19
+
20
+ extra_params:
21
+ size: "{n}"
22
+
23
+ output_map:
24
+ items: hits.hits
25
+ item_title: metadata.title
26
+ item_url: links.self_html
27
+ item_summary: metadata.description
@@ -0,0 +1,35 @@
1
+ # 知乎热榜匿名通道 — App 端 JSON(免密钥)
2
+ # 与 zhihu_hot(开放平台 hot_list,100/天配额)同一热榜的免密钥通道:
3
+ # 命中后可把开放平台配额留给 zhihu 内容搜索。非公开承诺接口,失败诚实空。
4
+ # 查询与热榜内容无关(热榜是榜单型源,与 baidu_hot/toutiao_hot 同型)。
5
+ # 验证:
6
+ # python3 scripts/engine_validate.py --engine zhihu_hot_app --stage all --admit --write-doc
7
+
8
+ engine_id: zhihu_hot_app
9
+ type: http
10
+ enabled: true
11
+ cost_tier: free
12
+ method: GET
13
+ url: https://api.zhihu.com/topstory/hot-list
14
+ timeout: 10
15
+ query_param: ""
16
+ canary_query: "热榜"
17
+ desc: "知乎热榜匿名通道(App JSON,免密钥;开放平台 hot_list 的免费替代)"
18
+ coverage: [chinese, hot, trending, realtime]
19
+ recommended: false
20
+ latency_ms: 800
21
+
22
+ headers:
23
+ User-Agent: argo-search/1.0 (+zhihu_hot_app)
24
+
25
+ extra_params:
26
+ limit: "{n}"
27
+
28
+ output_map:
29
+ items: data
30
+ item_title: target.title
31
+ item_summary: detail_text
32
+ url_template: "https://www.zhihu.com/question/{target.id}"
33
+
34
+ quality_queries:
35
+ - query: "热榜"
@@ -0,0 +1,106 @@
1
+ # mcp/clients.yaml — 多客户端 MCP 注入的声明式真源(自研,零第三方依赖)
2
+ #
3
+ # 设计:加/改客户端只需编辑本文件(对齐 config.yaml / engines/specs/*.yaml 的
4
+ # "配置真源"哲学),无需改代码。mcp_setup.py 读取本文件做 探测/注入/诊断/还原。
5
+ #
6
+ # 字段说明:
7
+ # id 客户端标识(CLI --client 用)
8
+ # name 展示名
9
+ # config_path 配置文件路径(相对 home;用 {home} 占位可指绝对路径)
10
+ # servers_key MCP 服务器所在顶层键(mcpServers / servers / mcp_servers / mcp)
11
+ # format json | toml(toml 走"行级 append section",注释零破坏)
12
+ # detect 探测目录/文件(相对 home,逗号分隔;存在即"已安装")。
13
+ # 只写宿主自身的目录/文件——写别家客户端的配置文件路径会把
14
+ # 别家已配置误判成本家已安装(cline 曾挂 .cursor/mcp.json)
15
+ #
16
+ # 注入形态:当前全部为 stdio(command=mcp_launch.sh),由 mcp_setup._mcp_command
17
+ # 统一生成;HTTP/远程形态是未来能力,尚未实现——字段表里不设占位。
18
+ #
19
+ # 运行:
20
+ # python3 scripts/mcp_setup.py status # 诊断各客户端
21
+ # python3 scripts/mcp_setup.py inject --all # 注入所有已安装客户端
22
+ # python3 scripts/mcp_setup.py inject --cursor # 注入指定客户端
23
+ # python3 scripts/mcp_setup.py undo --all # 还原所有(含备份历史)
24
+ # python3 scripts/mcp_setup.py inject --all --dry-run
25
+
26
+ clients:
27
+ - id: claude-code
28
+ name: Claude Code
29
+ config_path: .claude.json
30
+ servers_key: mcpServers
31
+ format: json
32
+ detect: [.claude]
33
+
34
+ - id: cursor
35
+ name: Cursor
36
+ config_path: .cursor/mcp.json
37
+ servers_key: mcpServers
38
+ format: json
39
+ detect: [.cursor/mcp.json, .cursor]
40
+
41
+ - id: windsurf
42
+ name: Windsurf
43
+ config_path: .codeium/windsurf/mcp_config.json
44
+ servers_key: mcpServers
45
+ format: json
46
+ detect: [.codeium]
47
+
48
+ - id: codex
49
+ name: Codex
50
+ config_path: .codex/config.toml
51
+ servers_key: mcp_servers
52
+ format: toml
53
+ detect: [.codex]
54
+
55
+ - id: opencode
56
+ name: OpenCode
57
+ config_path: .config/opencode/opencode.json
58
+ servers_key: mcp
59
+ format: json
60
+ detect: [.config/opencode]
61
+
62
+ - id: cline
63
+ name: Cline
64
+ config_path: .cline/mcp_settings.json
65
+ servers_key: mcpServers
66
+ format: json
67
+ detect: [.cline]
68
+
69
+ - id: workbuddy
70
+ name: WorkBuddy
71
+ config_path: .workbuddy/mcp.json
72
+ servers_key: mcpServers
73
+ format: json
74
+ detect: [.workbuddy]
75
+
76
+ - id: claude-desktop
77
+ name: Claude Desktop
78
+ config_path: Library/Application Support/Claude/claude_desktop_config.json
79
+ config_path_darwin: Library/Application Support/Claude/claude_desktop_config.json
80
+ config_path_win32: AppData/Roaming/Claude/claude_desktop_config.json
81
+ config_path_linux: .config/Claude/claude_desktop_config.json
82
+ servers_key: mcpServers
83
+ format: json
84
+ detect_darwin: [Library/Application Support/Claude]
85
+ detect_win32: [AppData/Roaming/Claude]
86
+ detect_linux: [.config/Claude]
87
+
88
+ - id: zed
89
+ name: Zed
90
+ config_path: .config/zed/settings.json
91
+ servers_key: context_servers
92
+ format: json
93
+ detect: [.config/zed]
94
+
95
+ - id: roo-code
96
+ name: Roo Code
97
+ config_path: Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
98
+ config_path_darwin: Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
99
+ config_path_win32: AppData/Roaming/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
100
+ config_path_linux: .config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
101
+ servers_key: mcpServers
102
+ format: json
103
+ detect_darwin: [Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline]
104
+ detect_win32: [AppData/Roaming/Code/User/globalStorage/rooveterinaryinc.roo-cline]
105
+ detect_linux: [.config/Code/User/globalStorage/rooveterinaryinc.roo-cline]
106
+
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "argo-search",
3
- "version": "1.0.1",
4
- "description": "Argo — 47-engine unified search MCP server with TF-IDF routing, RRF fusion, and Bocha reranker. 6 tools: search, research, evidence, clarify, crawl, extract.",
3
+ "version": "2.9.8",
4
+ "description": "Argo 阿尔戈 — 统一搜索与证据核验。推荐 npx -y github:taxueseek/argo 或 install.sh 安装(不依赖 npm 发版)。多语言路由、272 个源(235 个免密钥开箱可用)、影视/体育/金融等垂直源、19 个 MCP 工具(与 CLI 能力面对齐)。",
5
5
  "keywords": [
6
6
  "mcp",
7
7
  "mcp-server",
@@ -13,31 +13,74 @@
13
13
  "grok",
14
14
  "kimi",
15
15
  "codex",
16
- "argo"
16
+ "argo",
17
+ "npx"
17
18
  ],
18
- "license": "MIT",
19
+ "license": "Apache-2.0",
19
20
  "author": "Argo Search",
20
21
  "repository": {
21
22
  "type": "git",
22
- "url": "https://github.com/taxueseek/argo"
23
+ "url": "git+https://github.com/taxueseek/argo.git"
23
24
  },
24
25
  "bin": {
25
- "argo-search": "./bin/argo.js"
26
+ "argo-search": "bin/argo.js"
26
27
  },
27
28
  "files": [
28
29
  "bin/",
29
30
  "scripts/",
30
31
  "config.yaml",
32
+ "engines/",
31
33
  "backends/",
32
- "sub-skills/"
34
+ "data/",
35
+ "sub-skills/",
36
+ "assets/",
37
+ "docs/ADDING_NEW_ENGINE.md",
38
+ "docs/ARGO_INTRO.md",
39
+ "docs/DATA_SOURCE_GAPS.md",
40
+ "docs/DESIGN_LOCAL_DATA_FUSION.md",
41
+ "docs/ENGINE_CATALOG.md",
42
+ "docs/MCP_SETUP.md",
43
+ "docs/PLATFORM_PATHS.md",
44
+ "docs/SEARCH_ARCHIVE.md",
45
+ "docs/为什么选择argo.md",
46
+ "docs/RELEASE_NOTES_v2.8.0.md",
47
+ "docs/RELEASE_NOTES_v2.8.2.md",
48
+ "docs/RELEASE_NOTES_v2.8.3.md",
49
+ "docs/RELEASE_NOTES_v2.8.4.md",
50
+ "docs/RELEASE_NOTES_v2.8.5.md",
51
+ "docs/RELEASE_NOTES_v2.8.6.md",
52
+ "docs/RELEASE_NOTES_v2.8.7.md",
53
+ "docs/RELEASE_NOTES_v2.8.8.md",
54
+ "docs/RELEASE_NOTES_v2.8.9.md",
55
+ "docs/RELEASE_NOTES_v2.9.0.md",
56
+ "docs/RELEASE_NOTES_v2.9.8.md",
57
+ "docs/assets/",
58
+ "docs/engines/",
59
+ "cordis.patch.yml",
60
+ "mcp/clients.yaml",
61
+ "packages/dsh-plugin/",
62
+ "README.md",
63
+ "SKILL.md",
64
+ "references/query-templates.yaml",
65
+ "references/query-templates.md",
66
+ "LICENSE",
67
+ "!**/__pycache__/**",
68
+ "!**/*.pyc",
69
+ "!sub-skills/**/__pycache__/**",
70
+ "!sub-skills/**/*.pyc",
71
+ "!sub-skills/**/tests/**",
72
+ "!sub-skills/**/references/**",
73
+ "!assets/readme/*.webp",
74
+ "!data/jobs"
33
75
  ],
76
+ "dsh": {
77
+ "bundle": {
78
+ "patch": "cordis.patch.yml"
79
+ }
80
+ },
34
81
  "engines": {
35
82
  "node": ">=18"
36
83
  },
37
- "os": [
38
- "darwin",
39
- "linux"
40
- ],
41
84
  "dependencies": {},
42
85
  "devDependencies": {}
43
- }
86
+ }