argo-search 2.9.7 → 2.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.en.md +73 -150
  2. package/README.es.md +73 -150
  3. package/README.ja.md +79 -156
  4. package/README.ko.md +78 -155
  5. package/README.md +80 -159
  6. package/SKILL.md +3 -3
  7. package/assets/readme/hero.svg +2 -2
  8. package/backends/domain_profiles.json +48 -0
  9. package/backends/engine_registry.yaml +118 -4
  10. package/backends/quota_profiles.json +92 -12
  11. package/backends/source_types_cn.json +27 -1
  12. package/bin/argo +78 -5
  13. package/bin/argo.js +33 -2
  14. package/config.yaml +269 -63
  15. package/docs/ARGO_INTRO.md +5 -3
  16. package/docs/ENGINE_CATALOG.md +50 -39
  17. package/docs/MCP_SETUP.md +3 -1
  18. package/docs/RELEASE_NOTES_v2.9.8.md +73 -0
  19. package/docs/RELEASE_NOTES_v2.9.9.md +78 -0
  20. package/engines/specs/cfets.yaml +41 -0
  21. package/engines/specs/defillama.yaml +38 -0
  22. package/engines/specs/firecrawl.yaml +1 -1
  23. package/engines/specs/fxtwitter.yaml +5 -0
  24. package/engines/specs/gleif.yaml +55 -0
  25. package/engines/specs/hkex.yaml +40 -0
  26. package/engines/specs/keenable_free.yaml +36 -0
  27. package/engines/specs/shfe.yaml +39 -0
  28. package/engines/specs/stackexchange.yaml +2 -2
  29. package/engines/specs/tavily_free.yaml +56 -0
  30. package/engines/specs/yuanbao.yaml +93 -0
  31. package/mcp/clients.yaml +32 -0
  32. package/package.json +7 -2
  33. package/packages/dsh-plugin/README.md +25 -6
  34. package/packages/dsh-plugin/dsh/client.js +402 -47
  35. package/packages/dsh-plugin/dsh/diagnostics.js +97 -0
  36. package/packages/dsh-plugin/dsh/index.js +135 -1876
  37. package/packages/dsh-plugin/dsh/native-tools.mjs +7 -1
  38. package/packages/dsh-plugin/dsh/runner.js +666 -0
  39. package/packages/dsh-plugin/dsh/wide-research.js +878 -0
  40. package/packages/dsh-plugin/package.json +3 -3
  41. package/packages/dsh-plugin/scripts/sync-local.sh +70 -0
  42. package/packages/dsh-plugin/test/client.test.js +177 -2
  43. package/packages/dsh-plugin/test/diagnostics.test.js +28 -0
  44. package/packages/dsh-plugin/test/index.test.js +44 -0
  45. package/scripts/adaptive.py +126 -43
  46. package/scripts/article_meta.py +131 -0
  47. package/scripts/bench_tail_ab.py +281 -0
  48. package/scripts/bounded_run.py +91 -49
  49. package/scripts/budget.py +247 -0
  50. package/scripts/budget_cli.py +93 -0
  51. package/scripts/build_release_assets.sh +65 -0
  52. package/scripts/cache.py +60 -72
  53. package/scripts/ci_drift_gate.py +90 -0
  54. package/scripts/clock_bridge.py +22 -0
  55. package/scripts/content_boundary.py +46 -0
  56. package/scripts/content_security.py +119 -4
  57. package/scripts/content_signals.py +26 -5
  58. package/scripts/cross_lingual_trace.py +293 -0
  59. package/scripts/dispatch_result.py +105 -0
  60. package/scripts/engine_add.py +602 -0
  61. package/scripts/engine_dispatch.py +58 -86
  62. package/scripts/engine_env.py +5 -0
  63. package/scripts/engine_families.py +6 -0
  64. package/scripts/engine_policy.py +7 -7
  65. package/scripts/engines.py +21 -0
  66. package/scripts/engines_base.py +3 -3
  67. package/scripts/engines_builders.py +12 -0
  68. package/scripts/engines_builders_batch10.py +48 -3
  69. package/scripts/engines_builders_batch14.py +656 -0
  70. package/scripts/engines_builders_batch15.py +249 -0
  71. package/scripts/engines_builders_keyless.py +111 -0
  72. package/scripts/engines_builders_tech.py +0 -1
  73. package/scripts/evidence.py +31 -3
  74. package/scripts/evidence_loop.py +58 -22
  75. package/scripts/fetch_quality.py +13 -0
  76. package/scripts/fetch_v3.py +28 -3
  77. package/scripts/gen_routing_snapshot.py +11 -0
  78. package/scripts/http_client.py +24 -38
  79. package/scripts/install.ps1 +18 -0
  80. package/scripts/install.sh +16 -1
  81. package/scripts/job.py +3 -3
  82. package/scripts/local_seek.py +41 -5
  83. package/scripts/macro_countries.py +15 -0
  84. package/scripts/matrix_search_eval.py +192 -0
  85. package/scripts/mcp_compact.py +234 -0
  86. package/scripts/mcp_handlers.py +60 -642
  87. package/scripts/mcp_launch.sh +10 -8
  88. package/scripts/mcp_local.py +241 -0
  89. package/scripts/mcp_server.py +19 -14
  90. package/scripts/mcp_setup.py +33 -9
  91. package/scripts/mcp_tools.py +1 -0
  92. package/scripts/mcp_transport.py +1 -1
  93. package/scripts/mcp_warm.py +127 -0
  94. package/scripts/net_proxy.py +27 -0
  95. package/scripts/output_transparency.py +200 -0
  96. package/scripts/paid_policy.py +98 -0
  97. package/scripts/quota.py +158 -13
  98. package/scripts/recovery.py +7 -3
  99. package/scripts/recovery_runner.py +150 -0
  100. package/scripts/replay_eval.py +18 -0
  101. package/scripts/research.py +37 -21
  102. package/scripts/research_expand.py +24 -1
  103. package/scripts/retry_policy.py +76 -0
  104. package/scripts/route.py +6 -6
  105. package/scripts/route_cache.py +18 -0
  106. package/scripts/route_combo.py +26 -5
  107. package/scripts/route_domains.py +170 -31
  108. package/scripts/safe_conn.py +52 -0
  109. package/scripts/search.py +15 -27
  110. package/scripts/search_attribution.py +100 -3
  111. package/scripts/search_cli.py +24 -11
  112. package/scripts/search_entry.py +8 -1
  113. package/scripts/search_output.py +99 -15
  114. package/scripts/search_pipeline.py +62 -195
  115. package/scripts/search_rank.py +6 -0
  116. package/scripts/search_types.py +107 -9
  117. package/scripts/semantic_evidence.py +179 -3
  118. package/scripts/serp_guard.py +138 -7
  119. package/scripts/serp_kill_log.py +25 -2
  120. package/scripts/stats_cli.py +13 -1
  121. package/scripts/tail_completion.py +212 -0
  122. package/scripts/url_safety.py +126 -3
  123. package/scripts/usage_log.py +45 -0
  124. package/scripts/wide_research.py +45 -0
  125. package/scripts/zhihu_quota.py +139 -0
  126. package/sub-skills/local-search/bm25.py +27 -3
  127. package/sub-skills/local-search/cli_runner.py +331 -0
  128. package/sub-skills/local-search/parsers.py +328 -0
  129. package/sub-skills/local-search/search_v3.py +31 -674
  130. package/sub-skills/local-seek/scripts/seek_rank.py +7 -3
  131. package/assets/readme/settings-keys.png +0 -0
  132. package/assets/readme/settings-tools.png +0 -0
  133. package/sub-skills/ego-search/references/browser-runtime.md +0 -43
  134. package/sub-skills/ego-search/references/install.md +0 -67
  135. package/sub-skills/ego-search/references/original-ego-upgrade.md +0 -51
  136. package/sub-skills/ego-search/tests/test_query_normalize.py +0 -68
  137. package/sub-skills/js-run/tests/fixtures/challenge_like.js +0 -27
  138. package/sub-skills/js-run/tests/test_jsrun.py +0 -165
  139. package/sub-skills/local-seek/references/auto-behaviors.md +0 -24
  140. package/sub-skills/local-seek/references/fd-mdfind-recipes.md +0 -62
  141. package/sub-skills/local-seek/references/git-integration.md +0 -54
  142. package/sub-skills/local-seek/references/remote-handoff.md +0 -46
  143. package/sub-skills/local-seek/references/rg-recipes.md +0 -96
  144. package/sub-skills/local-seek/references/strategies.md +0 -52
  145. package/sub-skills/local-seek/references/structural-search.md +0 -59
  146. package/sub-skills/local-seek/tests/test_content_rank.py +0 -222
  147. package/sub-skills/local-seek/tests/test_determinism_20261006.py +0 -145
  148. package/sub-skills/local-seek/tests/test_noise_tier.py +0 -101
  149. package/sub-skills/local-seek/tests/test_pcre2_probe.py +0 -136
  150. package/sub-skills/local-seek/tests/test_rank_pinyin.py +0 -77
  151. package/sub-skills/local-seek/tests/test_regression_20261003.py +0 -169
  152. package/sub-skills/local-seek/tests/test_regression_20261006.py +0 -146
  153. package/sub-skills/local-seek/tests/test_seek_degradation.py +0 -111
  154. package/sub-skills/local-seek/tests/test_seek_fts.py +0 -313
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <img src="assets/readme/hero.svg" width="100%" alt="Argo 阿尔戈:给 Agent 用的搜索与深度研究工具,264 个搜索源,按域按语言选路,输出可吸收的证据">
2
+ <img src="assets/readme/hero.svg" width="100%" alt="Argo 阿尔戈:给 Agent 用的搜索与深度研究工具,272 个搜索源,按域按语言选路,输出可吸收的证据">
3
3
  </p>
4
4
 
5
5
  <p align="center">
@@ -24,8 +24,8 @@
24
24
  <p align="center">
25
25
  <img alt="license" src="https://img.shields.io/badge/license-Apache_2.0-blue">
26
26
  <img alt="python" src="https://img.shields.io/badge/python-3.9+-green">
27
- <img alt="version" src="https://img.shields.io/badge/version-2.9.7-informational">
28
- <img alt="engines" src="https://img.shields.io/badge/engines-264-orange">
27
+ <img alt="version" src="https://img.shields.io/badge/version-2.9.9-informational">
28
+ <img alt="engines" src="https://img.shields.io/badge/engines-272-orange">
29
29
  <img alt="mcp" src="https://img.shields.io/badge/MCP-19%20tools-purple">
30
30
  </p>
31
31
 
@@ -35,7 +35,7 @@
35
35
 
36
36
  ## 这是什么
37
37
 
38
- **Argo 是一个装在 Agent 里的搜索与深度研究工具,也可以获取相关网页的信息。背后连着 264 个搜索源,覆盖 95 个业务领域,同时支持本地文件的基础搜索能力。在开源搜索项目里,具备非常强大的搜索能力。**
38
+ **Argo 是一个装在 Agent 里的搜索与深度研究工具,也可以获取相关网页的信息。背后连着 272 个搜索源,覆盖 97 个业务领域,同时支持本地文件的基础搜索能力。在开源搜索项目里,具备非常强大的搜索能力。**
39
39
 
40
40
  支持配置 API Key 提升搜索质量(配了 Key 的源质量通常更好,没配则自动跳过),也支持免费引擎和本地引擎自动保底。覆盖中英日韩等 18 种语言,支持金融、学术、影视、体育、代码、宏观等垂直场景。
41
41
 
@@ -57,7 +57,8 @@ Argo 的能力通过四个子技能(sub-skills)组织,每个子技能是
57
57
  Argo 同时是 DeepSeek Harness 的插件,一行命令装好:
58
58
 
59
59
  ```bash
60
- dsh plugin --profile web add "github:taxueseek/argo"
60
+ dsh plugin --profile web add argo-search # npm 发布版
61
+ dsh plugin --profile web add "github:taxueseek/argo" # GitHub main
61
62
  ```
62
63
 
63
64
  装完重启 `dsh web` 即生效。搜索和抓取成为原生一等工具,不依赖 MCP 连接,不占常驻上下文开销。另有 1 个 `wide_research` 并行研究和 19 个 MCP 工具按需开启。完整接入形态见下文。
@@ -81,11 +82,15 @@ dsh plugin --profile web add "github:taxueseek/argo"
81
82
  插件自带浏览器端设置页,两个入口:设置弹窗(`Cmd+,`)左侧一级菜单「Argo」,或 设置 > 插件 > Argo(同一面板的摘要卡片,点开即用)。
82
83
 
83
84
  <p align="center">
84
- <img src="assets/readme/settings-tools.png" width="100%" alt="Argo 设置页「工具」分区:高频路径默认开 argo_search / argo_fetch,长尾取证 16 个按需勾选,下方是单次调用超时与返回文本上限">
85
+ <img src="assets/readme/settings-tools.webp" width="100%" alt="Argo 设置页「工具」:18 个原生工具的勾选——高频路径默认开 argo_search / argo_fetch,长尾 16 个按需,下方是单次调用超时与返回文本上限">
85
86
  </p>
86
87
 
87
88
  <p align="center">
88
- <img src="assets/readme/settings-keys.png" width="100%" alt="Argo 设置页「密钥」分区:常用引擎 key 的填写、更新、清除,显示已配置/未配置与来源层,明文不回显,每行可勾选「转发」">
89
+ <img src="assets/readme/settings-engines.webp" width="100%" alt="Argo 设置页「引擎」:argo 本体 28 个行为开关移进面板——缓存 / TF-IDF 重排 / 数值交叉校验 / MinHash 去重 / SERP 守卫与去重阈值,未配置行显示默认态,改完即时生效">
90
+ </p>
91
+
92
+ <p align="center">
93
+ <img src="assets/readme/settings-keys.webp" width="100%" alt="Argo 设置页「密钥」:DeepSeek 官方搜索显示「已配置 · 凭证库」并与宿主 web_search 共用同一把 key;腾讯元宝 / Tavily 等常用引擎 key 可填写、更新、清除,明文不回显">
89
94
  </p>
90
95
 
91
96
  | 分区 | 管什么 |
@@ -101,7 +106,7 @@ dsh plugin --profile web add "github:taxueseek/argo"
101
106
 
102
107
  **密钥安全**:写入 DSH 凭证库(与 Models 页同一处),不写进插件配置、不打日志、不回显明文。凭证服务优先级为**存储文件层 > 启动环境 > 项目 .env > 家目录 .env**:在面板(或 Models 页)保存即覆盖启动环境里的旧值,argo 子进程下一跳新连接用新 key;「清除」只删凭证库里的值,环境变量或 `.env` 提供的 key 会重新露出。设置页只是凭证域的写入口,读取仍由宿主在每次调用时完成。
103
108
 
104
- **DeepSeek 官方 key 原生供给**:argo 的 `deepseek_search` 引擎(官方 `api.deepseek.com/v1/tools/search`,结果自带 authority 权威分级 / rerank_score 排序分 / 发布时间)与 DSH 官方搜索后端**共用同一把 key**。插件经 DSH 原生凭证 seam 取用,不需要任何手工配置:解析路径 `ctx.get('credentials').resolve('DEEPSEEK_API_KEY')`,逐次解析——在 web Models 页轮换 key 后,下一跳新连接即生效,无需重启插件。插件不读 key 文件、不落盘、不打日志;key 值只经内存进入 argo 子进程 env,任何输出与错误信息都不含它。旧宿主无 credentials 服务时静默跳过:argo 侧该引擎按缺 key 停用,其余 263 个源不受影响。
109
+ **DeepSeek 官方 key 原生供给**:argo 的 `deepseek_search` 引擎(官方 `api.deepseek.com/v1/tools/search`,结果自带 authority 权威分级 / rerank_score 排序分 / 发布时间)与 DSH 官方搜索后端**共用同一把 key**。插件经 DSH 原生凭证 seam 取用,不需要任何手工配置:解析路径 `ctx.get('credentials').resolve('DEEPSEEK_API_KEY')`,逐次解析——在 web Models 页轮换 key 后,下一跳新连接即生效,无需重启插件。插件不读 key 文件、不落盘、不打日志;key 值只经内存进入 argo 子进程 env,任何输出与错误信息都不含它。旧宿主无 credentials 服务时静默跳过:argo 侧该引擎按缺 key 停用,其余 271 个源不受影响。
105
110
 
106
111
  **web seam 的 pin 必读**(漏配会打挂 `web_fetch`):宿主 `dsh-web` 的 provider 选择规则是「配置 id 优先;都没有且恰好一个可用则选它;**多个可用直接报 `WEB_PROVIDER_AMBIGUOUS`**」。web profile 默认挂着官方 http fetch provider(免 key、永远可用),本 bundle 再注册一个就是两个可用——**不 pin 的话 `web_fetch` 整个挂掉**(`web_search` 同理,若 profile 里另有搜索 provider)。故启用 web seam 的 profile 必须在 web 服务行显式指定:
107
112
 
@@ -118,7 +123,7 @@ dsh plugin --profile web add "github:taxueseek/argo"
118
123
 
119
124
  ## 核心优势
120
125
 
121
- **264 个源,227 个免密钥开箱可用。** 不配任何 API Key 就能跑,免费引擎和本地引擎自动保底。配了 Key 的源质量通常更好,没配则自动跳过。一次安装,全场景可用。
126
+ **272 个源,235 个免密钥开箱可用。** 不配任何 API Key 就能跑,免费引擎和本地引擎自动保底。配了 Key 的源质量通常更好,没配则自动跳过。一次安装,全场景可用。
122
127
 
123
128
  **本地搜索 + 联网搜索一体。** 这是 Argo 独一份的能力。本机文件搜索底层是 rg、mdfind 那套开发者日常工具,搜代码符号、文件名、文档全文、文件结构。加一个开关,本机命中会并进同一次网络搜索结果里,结果上标着来源是本机文件。写东西时记得自己半年前记过一段话但忘了在哪,用这个搜比翻文件夹快。
124
129
 
@@ -140,8 +145,10 @@ dsh plugin --profile web add "github:taxueseek/argo"
140
145
  # 方式一:一键脚本(推荐本机长期用)
141
146
  curl -fsSL https://raw.githubusercontent.com/taxueseek/argo/main/scripts/install.sh | bash
142
147
 
143
- # 方式二:npx 即用即走(推荐 Agent 快速挂载)
144
- npx -y github:taxueseek/argo
148
+ # 方式二:npm / npx(已支持,当前 2.9.9;按 tag 发布,版本固定)
149
+ npm install -g argo-search # 全局安装 CLI
150
+ npx -y argo-search # 或即用即走,不装
151
+ npx -y github:taxueseek/argo # 要跟 main 最新提交时用这条
145
152
 
146
153
  # 方式三:git clone(开发 / 改源码)
147
154
  git clone https://github.com/taxueseek/argo.git
@@ -170,7 +177,7 @@ Argo 支持四种接入方式,按你的场景挑:
170
177
  | **MCP Server** | Agent 常驻挂载 | 19 个检索工具随时可用,一条命令注入 Claude Code / Cursor / Windsurf / Codex / OpenCode / Cline,写配置前自动备份 |
171
178
  | **DSH 插件** | DeepSeek Harness 用户 | 一行 `dsh plugin add` 装好,搜索和抓取成为原生一等工具,不依赖 MCP 连接,不占常驻上下文开销;自带六分区设置页,改完即生效 |
172
179
  | **Skill 文件** | Claude Code / Grok Build / Kimi 等 | 技能包装进 Agent 的技能目录,你说「帮我查一下」「核实一下」,它自己去查 |
173
- | **npx 即用即走** | 快速试一下 | `npx -y github:taxueseek/argo`,不用装,适合临时把 MCP 挂进任意客户端 |
180
+ | **npx 即用即走** | 快速试一下 | `npx -y argo-search`(npm 发布版)或 `npx -y github:taxueseek/argo`(main),不用装,适合临时把 MCP 挂进任意客户端 |
174
181
 
175
182
  四种形态底层是同一套 Python 代码,CLI 与 MCP 工具一一对应,装哪种都不缺能力。
176
183
 
@@ -202,10 +209,10 @@ Agent 干活的量级变了,检索的玩法跟着变了五件事,每一件 A
202
209
  1. **检索从「给链接」变成「给证据」。** Agent 不看网页排版,它要能排序、能复核、不撑爆上下文的结构化材料——所以 Argo 交付的是带可信度分解的 JSON,而不是 SERP 清单。
203
210
  2. **上下文成为第一成本。** 一次网页抓取动辄上万 token,Agent 的窗口烧不起。Argo 的 Agent 档单次约 3.7KB,字段集合与字节预算都有检查卡着,升级不会悄悄变胖。
204
211
  3. **网站开始为 AI 备料。** llms.txt 标准与 `.md` 直出在头部文档站快速铺开——Argo 抓取链第零级自动探测这些 AI 友好变体,命中即跳过整条反爬链;HTTP/TLS 都失败还有 r.jina.ai 阅读器级保底。
205
- 4. **免费开放生态够用了。** 政府、学术、标准、安全机构的开放 API + 免 key 引擎,已经能覆盖大多数领域(227 个免配置源);稀缺免费额度(firecrawl 1000 credits/月、stackexchange 300 次/天)做了「日常补位、关键顶上」的分层,订阅墙不是唯一解。
212
+ 4. **免费开放生态够用了。** 政府、学术、标准、安全机构的开放 API + 免 key 引擎,已经能覆盖大多数领域(235 个免配置源);稀缺免费额度(firecrawl 1000 credits/月、stackexchange 300 次/天)做了「日常补位、关键顶上」的分层,订阅墙不是唯一解。
206
213
  5. **检索质量从「感觉」到「度量」。** 排序有金标(MRR/nDCG 地板)、融合有增益消融检查、路由有负向控制矩阵——「这版比上版好吗」从此是数字问题,不是玄学。
207
214
 
208
- > v2.9.3 把以上全部落地:264 个源、95 个领域、227 个免配置开箱。逐项细节见 [docs/为什么选择argo.md](docs/为什么选择argo.md) 与 [发布说明](docs/RELEASE_NOTES_v2.9.0.md)。
215
+ > 以上五项已经在 v2.9.x 系列里全部落地:272 个源、97 个领域、235 个免配置开箱。逐项细节见 [docs/为什么选择argo.md](docs/为什么选择argo.md) 与 [发布说明](docs/RELEASE_NOTES_v2.9.0.md)。
209
216
 
210
217
  ---
211
218
 
@@ -275,7 +282,7 @@ freshness ≈ 发布时间(会忽略「2015 年以来」这类历史对比年
275
282
 
276
283
  ## 快速开始
277
284
 
278
- 任选一种即可。**以 GitHub 为唯一安装来源**(`npx github:taxueseek/argo` 或 `install.sh` / `install.ps1`),当前推荐 **v2.9.7**。**请勿用 `npm install argo-search`**——npm registry 上那份是**非官方陈旧版 v1.0.1**(非本仓库维护,功能残缺、不随本项目更新)。本包 `package.json` 已设 `private: true` 防止误发布到 npm registry。
285
+ 任选一种即可。**npm 安装已支持,当前版本 2.9.9**,与 GitHub 同为本仓库发布。npm 路线用 `npm install -g argo-search` 或 `npx -y argo-search`,按 tag 发布、版本固定、下载体积更小;GitHub 路线用 `install.sh` / `install.ps1` 或 `npx github:taxueseek/argo`,跟 main 走。之后每次打 tag,CI 会把两个 npm 包和 GitHub Release 一起发出;registry 上更早的 v1.0.1 是历史版本,不要锁定到它。
279
286
 
280
287
  **零配置就能跑**:不配 API Key 时走免费引擎 + 本地 `local_*` 引擎;配了 Key 的源质量通常更好,没配则自动跳过。
281
288
 
@@ -340,9 +347,11 @@ npx -y github:taxueseek/argo
340
347
 
341
348
  ```bash
342
349
  # 装法 A:19 个 mcp__argo__* 工具(主包自带 bundle,与 MCP 全量相同)
343
- dsh plugin --profile web add "github:taxueseek/argo"
350
+ dsh plugin --profile web add argo-search # npm 发布版
351
+ dsh plugin --profile web add "github:taxueseek/argo" # GitHub main
344
352
 
345
353
  # 装法 B:搜索工具 + wide_research 并行研究调度(子包)
354
+ dsh plugin --profile web add @taxueseek/argo-dsh # npm 发布版
346
355
  dsh plugin --profile web add "github:taxueseek/argo#main&path:packages/dsh-plugin"
347
356
  ```
348
357
 
@@ -426,7 +435,7 @@ python3 -m pytest tests/test_unit.py -q # 单测(可选)
426
435
 
427
436
  **1. 通用搜索 + 垂直搜索,双管齐下**
428
437
 
429
- 日常问题走通用网页搜索;一问到行情、影视、体育、宏观这类「有标准答案」的问题,自动切到垂直源直接给答案,而不是扔给你一堆链接。目前 264 个源(227 个免密钥开箱可用)、94 个业务域,金融 / 宏观 / 影视 / 体育 / 地理 / 组织 / 媒体 / 化学 / 学术 / 代码等都有专门的路。
438
+ 日常问题走通用网页搜索;一问到行情、影视、体育、宏观这类「有标准答案」的问题,自动切到垂直源直接给答案,而不是扔给你一堆链接。目前 272 个源(235 个免密钥开箱可用)、97 个业务域,金融 / 宏观 / 影视 / 体育 / 地理 / 组织 / 媒体 / 化学 / 学术 / 代码等都有专门的路。
430
439
 
431
440
  **2. 缓存:不重复花冤枉钱**
432
441
 
@@ -487,7 +496,7 @@ python3 -m pytest tests/test_unit.py -q # 单测(可选)
487
496
  | `deep` | 调研、综述 | 质量优先,可多用引擎 |
488
497
  | `budget` | 额度紧 | 配额控制,用完降级 |
489
498
 
490
- ### 当前大致能力(v2.9.7)
499
+ ### 当前大致能力(v2.9.9)
491
500
 
492
501
  Argo 干的事,一句话能说完:把一个问题按领域和语言分给合适的源,取回结果后按可信度排个序,交回给 Agent 的是能排序、能复核的材料。搜索、抓取、核验、本机文件检索走同一条管线,19 个 MCP 工具和 CLI 命令一一对应,装哪种形态都不缺能力。另有几个单点命令随用随取:argo tweet 打包 X 帖子,argo auth 管登录态,argo job 聚合招聘信息。
493
502
 
@@ -495,6 +504,10 @@ Argo 干的事,一句话能说完:把一个问题按领域和语言分给合
495
504
 
496
505
  最近几个版本各修了一类问题。
497
506
 
507
+ v2.9.9 做的是安全与交付质量。内容安全引擎原先只评分不拦截,高风险注入页照样进上下文;现在评分过阈值就隔离,用清洗后的正文替换原文,也不再进核验证据。网络出口补了两道纵深:重定向逐跳校验,DNS 解析结果钉死在当次连接上。调度侧,早停弃置的慢源交付不再丢弃:转后台收割,三秒内完成的照常交付并记进学习器。路由上,六族真实场景扫描收了五类误路由,A 股财务查询、企业尽调/开票/人查公司、民事实务、药品说明书、论文写作 howto 各归其位。另有 argo engine add 一键接入新引擎,DSH 设置页新增路由观测卡片与工具推荐组合。
508
+
509
+ v2.9.8 做的是路由精度与反馈闭环。issue #18 报告的三件事——「latest」被误判进实时新闻、人民网匹配不到时回默认 feed、local_bing 只命中「2026」——都已复现并修掉;顺着这条线回放真实查询,又把 16 类同类误触发收窄:品牌名里的「雪」、产品名里的「火山引擎」、UI 排障里的「图标」、工商与金融字段里的「代码」、代码语境里的「汇率」等。SERP 覆盖率门与 CJK 交叉验证同时落地,避免「有结果就算相关」。感谢 @wpp666 提供的复现与定位。
510
+
498
511
  v2.9.7 修的是三个老毛病。DSH 宿主里的 AI 要读一个网址时,走的是宿主自带的抓取,短链跳转和 JS 挑战页经常直接失败,argo 的抓取链根本用不上;这版把宿主的读网址接到 argo 上,这类页面从失败变成成功,普通页面没有变化。路由候选池里原先混着 18 个「只能显式指定」的引擎,万一被自动选中,唯一的付费引擎就会悄悄扣费;如今候选池里没有它们,要用必须写明白。引擎每成功一次,熔断器都要加锁重写一次磁盘;健康状态下这版已经零文件开销,多个引擎的记账也合并成一笔事务。开源协议同时从 MIT 换成了 Apache-2.0,公司商用更放心。
499
512
 
500
513
  这之后 DSH 插件又补了一层:设置页从五个分区扩到六个,「引擎」分区把 argo 本体的行为开关收进面板(原先只能改环境变量),密钥页能看出每个 key 来自凭证库、启动环境还是 .env,工具勾选、超时、并发、研究上限全部改完即生效。取消信号也贯通到了连接建立阶段——AI 中途喊停,正在拉起的 argo 子进程会被立刻杀掉,不再空等超时。
@@ -510,7 +523,7 @@ v2.9.4 修的是显式选引擎的场景。用 --engine X 指定引擎时,缓
510
523
 
511
524
  ## 引擎与路由
512
525
 
513
- 当前配置 **264** 个源(**227** 个免密钥开箱可用)、**95** 个业务域(以 `config.yaml` 与 `--list-engines` 为准)。
526
+ 当前配置 **272** 个源(**235** 个免密钥开箱可用)、**97** 个业务域(以 `config.yaml` 与 `--list-engines` 为准)。
514
527
 
515
528
  ### 直连与垂类(节选)
516
529
 
@@ -524,7 +537,8 @@ v2.9.4 修的是显式选引擎的场景。用 --engine X 指定引擎时,缓
524
537
  | arxiv / semantic_scholar / openalex | 学术 | 免费为主 |
525
538
  | pubchem / gbif / rfc_editor | 化学 / 物种 / 标准 | 免费 |
526
539
  | github / stackoverflow / pypi / npm | 代码与包 | 视配置 |
527
- | byted / bocha / octen | 中文网页 / AI 搜索 | API / 低成本 |
540
+ | byted / bocha / octen / yuanbao | 中文网页 / AI 搜索 | API / 低成本 |
541
+ | hkex / shfe / cfets / defillama / gleif | 港股公告 / 上期所 / 人民币中间价 / DeFi / 法人标识 | 免费 |
528
542
  | zhihu / wechat_sogou | 中文观点 / 公众号 | API / 免费 |
529
543
  | tavily / exa | 国际 / 语义 | 付费或额度 |
530
544
  | stackexchange / doi / endoflife / nvd / flk_law | 问答官方 API / 论文元数据 / 生命周期 / 漏洞 / 法规原文 | 免费 |
@@ -757,128 +771,33 @@ argo/
757
771
 
758
772
  ## 最近更新
759
773
 
760
- ### 未发布(DSH 插件):设置页补「引擎」分区 + 取消信号贯通连接建立
761
-
762
- - **设置页第六个分区「引擎」**:argo 本体的 28 个行为开关从环境变量搬进面板(缓存 / TF-IDF 重排 / 数值交叉校验 / MinHash 去重 / SERP 守卫、Jina / 移动端 UA / Parallel 抓取层、语义证据层、对冲宽限与尾宽、引擎启停名单、代理、本机检索根与读取白名单、预热 / 使用日志 / 连接池 / 各类 TTL)。经新 volatile 配置 `argoEnv`(一行一个 `KEY=VALUE`)随 argo 子进程 env 生效;名字走 `ARGO_ENV_SPECS` 白名单,白名单外 apply 期 loud fail,防拼写静默失效。开关类即时生效,数字 / 文本 / 名单类分组保存;未配置行显示 argo 默认态并标注「默认」。授权类开关(可复算执行、内网 URL)刻意不进面板
763
- - **密钥页来源层可见**:显示「已配置 / 未配置 + 来源层(凭证库 / 启动环境 / 项目 .env / 家目录 .env)+ 只读态」,非 file 层提示保存后将覆盖;`DEEPSEEK_API_KEY` 标注与宿主 `web_search` 共用;`fetchMaxChars` 保存时截断到 argo 工具 schema 上限 50000,消除「显示值与实效不符」
764
- - **取消信号贯通连接建立**:`acquireMcp` 在连接建立阶段认取消——abort 即杀子进程并以 `WEB_ABORTED` 收摊,不再空等超时;取消信号同时贯通单发兜底
765
- - **修复**:证据去重不再吞大小写;旧宿主缺 `effect` 不再炸激活;`saveKey` / `setForward` / `toggleTool` 改读实时快照,修连续操作的竞态丢更新;`describe` 响应乱序防护,只认最新一次请求的响应
766
-
767
- ### v2.9.7:架构收口——DSH web_fetch 占位 + explicit_only 契约 + 状态态统一(License 转 Apache-2.0)
768
-
769
- - **License 变更**:MIT → Apache License 2.0(专利授权明示、商用更安心;其余不变)
770
- - **DSH 插件 web_fetch 占位**:宿主 web_fetch 此前作为「读这个 URL」的默认路径完全绕开 argo,现注册 fetch provider 走 argo_fetch 链(HTTP 优先,遇 Cloudflare / JS 渲染自动升级反检测浏览器);与 search provider 同构的双路执行——常驻 MCP 池优先、传输层故障才回退 CLI 单发,工具级错误与超时不重发(那两类表示调用已跑完,重发只会双倍引擎调用与配额);失败分五类(超时 / 被挡 / 空结果 / 通用 / 取消)各带可行动文案;新增配置 `fetchProviderEnabled` / `fetchProviderId` / `fetchTimeoutMs`(默认 25000)/ `fetchMaxChars`(默认 50000),默认全开、留逃生口;实测跨源跳转(短链、协议升级、跳转壳)与 JS 挑战页从宿主结构性失败变为 argo 成功,普通静态页质量不降
771
- - **explicit_only 契约收口**:`config._routable_filter` 此前只过滤黑白名单 / 密钥 / 拉黑,不过滤 explicit_only,18 个显式专用引擎(含唯一 `cost_tier=paid` 的 deepseek_search)躺在 enabled 候选池里,TF-IDF 注入、catch-all、backfill、兜底等六条路径全能选中——此前没爆只因语料没词条,补一条 auto 档就会并行调起付费引擎扣费;现在候选池唯一生产者处过滤,`tests/test_explicit_only_gate.py` 锁死三契约(注入不带入 / 候选池排除 / 显式 `--engine` 照常单发)
772
- - **状态态契约统一**:熔断器在健康 closed 态且计数为 0 时内存短路(零文件锁零重写磁盘),基于 `(st_mtime_ns, st_size)` 感知跨进程变更;adaptive 记账 `MAX(created_at)` 合入单条聚合 SQL,新增 `batch()` 上下文管理器把多引擎记账并为单次事务;配额耗尽记录生效凭证指纹、换新 key 自动解锁;route 缓存遇 combo 引擎耗尽或旧耗尽引擎恢复时自动失效重算;`is_engine_routable` 单一准入谓词收口 backfill / tfidf / breaker_filter 的五层过滤
773
- - **调度与传输**:auto / deep 档也剔除配额硬耗尽引擎(fail-open 兜底);对冲等待窗收窄、早停判据放宽(Wave-1 跨引擎累计达标即停,不启 Wave-2);POST 连接池打通(anysearch 省 ~320ms / octen 省 ~561ms 每次)+ MCP 预连接;天气域补 `early_stop_min_results: 1`
774
- - **子技能热路径减法**:js-run 用 MiniRacer 原生 timeout 替 SIGALRM,根治 crawl / research / mcp 工作线程调用必抛 `ValueError: signal only works in main thread` 的崩溃;local-seek 重排免每次 O(N) 读盘与 JSON 解析;local-search 复用 registry 免双份 YAML 解析;ego-search auto 下按需短路探测
775
- - **验证**:插件单测 71 passed;argo 全量回归 4264 passed / 28 skipped;pre-commit 七道 123 passed;fetch 链对普通页不回归、跨源跳转与 JS 挑战由失败转成功
776
-
777
- ### v2.9.6:DeepSeek Search 接入 + 查询操作符契约 + 传输层去重付费 + 路由快照门
778
-
779
- - 新引擎 `deepseek_search`(官方 `api.deepseek.com/v1/tools/search`)默认启用:无 `DEEPSEEK_API_KEY` 时路由自动跳过、其余 265 源不受影响;实测延迟 445-510ms(anysearch 1.7-4.5s / exa 3.7s),authority 权威分级 / rerank_score / 发布时间为三引擎中唯一全覆盖,ja/ko/es 多语言与 anysearch 持平;按次计费,不进域 combo,显式 `--engine deepseek_search` 为主路径;DSH 宿主经原生凭证 seam 与官方后端共用同一把 key(web Models 页轮换后下一跳生效,不落盘不打日志)
780
- - 修复 `--since/--until` 对 deepseek_search 静默无效(入 TIME_CAPABLE_ENGINES)
781
- - 新增 `query_operators.py` 查询操作符契约层:`site:` / `-site:` / `-词` / `-"短语"` / `lang:` / `after:` / `before:` 从五种散落形态收敛为结构化 operators;路由、缓存、查询理解只认剥掉指令后的 clean_query;`site:` / `-site:` 真正后置过滤执行(子域匹配、多站点 OR,过滤数进 `site_filtered`),操作符并入结果缓存键避免互串
782
- - `evidence.py`:新增 Agent 档双层摘要 `summary` 字段(借鉴 DeepSeek Search 摘要语义)
783
- - 传输层去重付费:POST 走连接池复用(实测同连接第二次请求省 320ms(anysearch)/ 561ms(octen)),含失效重借与响应体读干才还池;MCP 预连接;配额耗尽与死负缓存收口
784
- - 路由:octen 进通用兜底链第二位与 TF-IDF 对冲位(anysearch 抖动窗口 p90 3273→1614ms、max 6266→1928ms、错误 9→0;健康窗口中位无差,定位为尾部保险),`ARGO_GENERAL_FALLBACK_LEGACY=1` 逃生开关退回旧序
785
- - 修复 RRF 口径隔离名次衰减:同引擎所有结果同分(实测 anysearch 5 条均 0.017213),输出退化为按引擎权重整段拼接;新增测试锁「同引擎内分数严格递减」
786
- - 修复 Bing ck/a 跳转壳不还原导致聚合层整批滤掉结果(近 7 天 40.2% 空结果):离线 base64url 解码还原真链,零网络
787
- - 修复 TF-IDF 领队组合拼出 `['anysearch','anysearch']` 并发跑两遍(双倍配额且 wasted_ms 记 0):200 条真实查询重放,重复 combo 1→0
788
- - 搜索改进:失败负缓存、Nitter 故障转移、口径隔离、X Article 提取、查询词回声守卫(早停拒收 + 恢复链换引擎)
789
- - 工程化:新增 `scripts/pre-commit` 快门禁(static_lint / module_size_gate / usage_doc / consistency / routing_snapshot / context_budget + engine_catalog,实测 ~12s);路由决策快照门把路由翻转变成可 diff 的 golden(三处标注集并集 115 条,只比对 domain 与 kind 不被环境噪声假红);口径注册表同步测试锁「表里的引擎名必须真实注册」
790
- - DSH 插件适配 DSH 0.2.1-rc.2:运行时入口双栈(`startActivation({provider, label, request, signal, delivery})` 新 / `start(provider, request)` 旧),rc.2 移除 `toolFilter` 后由插件内 tool guard 阻止 worker 嵌套调用 `wide_research`;rc.2 上 `wide_research`(planner → 2 worker → synthesis,passed=true / 14 sources)与原生 `argo_search`(count=3)端到端实测通过;0.2.1-alpha.1 兼容分支由单测覆盖;插件单测 46→50
791
- - DSH 环境版本:**DSH 0.2.1-rc.2(当前运行中,端到端实测)+ DSH 0.2.1-alpha.1(兼容,start 旧分支单测覆盖)**;对照表见 `packages/dsh-plugin/README.md` 的 Compatibility 小节
792
-
793
- ### v2.9.5:汇率查询专域 + 去重双轨 + 排序误杀修复 + daemon 多检出隔离
794
-
795
- - `config.yaml`:新增 `fx_query` 域——「人民币/美元 汇率、中间价、离岸」类查询不再落进宏观域空转后兜底百科词条,改为即期汇率 + 每日中间价快讯(实测 675ms,改前 1411ms 且答非所问)
796
- - `search_rank.py`:去重补两层判据——标题站后缀归一(零依赖)+ rapidfuzz 模糊近重复复核(仅近似命中带内启用;`ARGO_DEDUP_FUZZY=0` 关闭,未安装则自动回退纯 minhash)
797
- - 修复:精排降级时的标题分隔符误杀——含 `|` / `_` / `——` 的标题一律 ×0.6,官方文档被压 40%;无 Bocha Key 的用户每条 auto/deep 查询都在受益(判据收敛到 rank_signals 单一实现)
798
- - `query_understanding.py`:否定理解补「不是X」(疑问句式「是不是」不误判为否定)
799
- - `daemon.py`:socket/pid/指针等落盘名字按检出目录隔离——多 worktree/clone 互抢 daemon、互杀进程、「改了不生效」三类故障根除
800
- - 新增可选依赖 rapidfuzz(`pip install rapidfuzz`;install.sh 自动安装,缺失不影响核心功能)
801
-
802
- ### v2.9.4:显式引擎域归因 + 恢复链止损 + 门禁同步
803
-
804
- - `route.py`:显式 `--engine X` 时补 `match_domains` 域判定,修复缓存 TTL 一刀切 general
805
- - `recovery.py`:显式单引擎无备选时跳过 L1 同引擎空跑,减少无意义 RTT
806
- - `config.yaml`:`org_entity` 加 unless 股东尽调词;`fund_query` 加 unless 政策法规词
807
- - `mcp_launch.sh`:`set -a` 收窄到 `. "$ENV_FILE"` 单行
808
- - `sub-skills/local-search/`:引擎注册表层收口与 search_v3 质量提升
809
- - 门禁同步:module_size_gate / ENGINE_CATALOG / domain_profiles.json 基准对齐
810
-
811
- ### v2.9.3:X 帖子完整打包 + 浏览器登录态车道 + 本地链质速双修
812
-
813
- - **新增**:`argo tweet`——一条命令打包 X 帖子正文、串/引用/转发与互动数据;默认纯文本不下载媒体,`--out` 落四件套(post.md/raw.json/manifest.json/CHECKLIST.md),`--media` 按需下载图片/视频;主帖失败原因随产物可见不静默
814
- - **新增**:`argo auth` 浏览器登录态车道——`login/status/logout` 管理站点持久浏览器 profile,扫码一次即可抓取需登录页面;cookie 只存 Chrome 自身加密存储、argo 不读取不导出,登录态结果标记 `login_state_used` 并拒绝入公共缓存(`ARGO_AUTH_FETCH` 开启)
815
- - **更准**:本地中文链搜狗/百度跳转壳无会话解析成真实直链(保留结果 1→5 条);意图门误锁修复(「教程」类查询不再被锁死单引擎);火车票表格行身份 URL 治漏斗压缩(候补 10→1 修为如实 10→10)
816
- - **更快**:共识宽限自适应(首引擎交足即放行,英文分发 ~3.0s→2.2-2.5s);本地长尾够数早停;本地图片指纹 mmap 矩阵点积(77k 张 158ms→3.9ms,默认关 `ARGO_LOCAL_IMAGE=1`);agent 消费自动瘦身 + markdown 内容协商,MCP 每调用固定开销 −32%
817
- - **更多源**:43 个无域引用引擎接入对应领域;route_lang 语言路由;3 个零 key 金融源;`--academic-deep` 一键学术多源深挖;火车票中转+经停查询
818
- - **更稳**:js-run 车道接入 fetch 链第一级(重试带 Chrome 指纹);jsrun Session 泄漏与退避预算修复;超时收紧(redskill 60→15s)与声明策略三分组收口
819
-
820
- ### v2.9.2:DSH 0.2.1-alpha.1 适配验证 + 路由与守卫一批修复 + js-run 子技能
821
-
822
- - **更兼容**:DSH 插件已在最新版 DSH 0.2.1-alpha.1 实测启用,原生一等工具 / web_search seam / wide_research 三形态照常工作;`argo mcp inject` 新增 WorkBuddy,一键注入覆盖到第 7 宿主
823
- - **更准**:TF-IDF 弱证据辅源化(低分语义推荐不再抢占主路由);死源地板 + 熔断槽位回填;配额耗尽引擎与主路由 / 恢复链隔离;serp_guard 修复网盘分享链连坐误杀、主流门户权威分归位
824
- - **更快**:engines / evidence 全栈惰性导入(默认路径 import 量 −50%);准入存在集合短路(open 次数 261 → 99)
825
- - **更稳**:MCP 入口守卫与数值参数守卫收口(null arguments、TOML 多 env 键、timeout / max_chars 共 11 处裸 `int()` 换类型守卫);local-seek 四类假阴性收口(v1.4.0)
826
- - **新增**:`sub-skills/js-run` 子技能(v0 骨架)——不开浏览器跑「环境探测 + 纯计算」型网页 JS,单次上下文 P50 ≈ 1ms
827
-
828
- ### v2.9.1:内容质量优化 + 对抗内容农场 + 适配最新版本
829
-
830
- - **更干净**:优化了内容质量评估,提升了对抗内容农场的能力——搜索结果里低质、批量生成的内容会被更有效地识别和过滤
831
- - **更兼容**:适配了最新版本,确保与当前环境无缝协作
832
- - **更稳定**:本地搜索新增自身安装树守卫,避免搜索结果被自身源码污染
833
-
834
- ### v2.9.0:搜索源优化 + 插件与 CLI 持平 + 多语言小语种
835
-
836
- - **更全**:搜索源 237 → 253(免配置 198 → 219),新增 14 个小语种本地新闻源、CORE 开放获取全文源、TinEye 反搜图、Bing RSS 稳定出口等;百度与搜狗两个常青源修活
837
- - **更对齐**:CLI 18 个命令与 MCP 19 个工具一一对应,插件与 CLI 搜索能力首次完全持平
838
- - **更多语言**:新增 14 个小语种源(泰/阿拉伯/希伯来/希腊/印地/越南/土耳其/印尼等),按查询语言自动配源
839
- - **更快**:导入链 −79%,重排序 n=200 场景 33ms→1.5ms,缓存命中率从六成到基本不 miss
840
- - **更可信**:配额写路径跨进程安全修复,早停结果不再误标超时,`argo stats` 让搜索质量有了自己的账本
841
-
842
- ### v2.8.9:输出减重 + 检索更全更快 + 外媒与核查源 5 个
843
-
844
- - **更省**:默认输出 −66%(同一段结果不再重复写三遍);重复查询 −30%(路由决策缓存);慢网轮等待 −36%(主源卡过 0.8 秒自动补发备选源)
845
- - **更全**:召回 +35%、抓取时延 −30%;正文结构保真 0/6 → 6/6(标题、列表、表格不再被压平);中文内容不再被系统性判为低质
846
- - **新增**:搜索源 232 → 237(免配置开箱 194 → 198,全部免密钥——卫报、France 24、德国之声,声明核查 FactCheck.org / Full Fact 美英两口径);死源 gdelt 下线
847
- - **更可信**:六处「数字互相矛盾」的记账缺陷修复;六格漏斗让「搜到 0 条」能定位塌在哪一层;离线重跑对比工具让改动效果当天可验证;详见 [发布说明](docs/RELEASE_NOTES_v2.8.9.md)
848
-
849
- ### v2.8.8:真实用户问题修复 + 全面提速 + 搜索源 232 个
850
-
851
- - **修复**:按推荐名配密钥后引擎静默失效(#12);抓取链不走代理,GitHub 等站点必然失败(#13)——现在 `ARGO_PROXY`、config 按域规则、标准代理环境变量都生效,`NO_PROXY` 尊重
852
- - **提速**:命令冷启动 2.1s → 0.55s;配置跨进程缓存 50–82ms → 16–18ms;每次搜索自带各阶段耗时与预算账单,慢在哪不用猜(`--no-timing` 可关)
853
- - **新增**:搜索源 218 → 232(免配置开箱 184 → 194,全部免密钥:国内热榜、安全漏洞、学术开放获取、技能目录、Agent 搜索)、`argo answer` 直答、`argo watch` 网页观察、CLI 与 MCP 工具面对齐
854
- - **更稳**:三平台惯例路径(新增 `argo paths` 自省)、支持 Python 3.9、静默故障如实记账;详见 [发布说明](docs/RELEASE_NOTES_v2.8.8.md)
855
-
856
- ### v2.8.7:数据源扩充到 218 个 + 一批修复
857
-
858
- - **数据源扩充**:168 → 218 个源、72 → 89 个领域(新增 StackExchange 问答、DOI 论文元数据、漏洞情报、产品生命周期等官方源),抓取链新增三条拿正文直出通道
859
- - **一批修复**:多引擎路由、零结果自动换源、中文重定向、本地搜索降级等;详见 [发布说明](docs/RELEASE_NOTES_v2.8.7.md)
860
-
861
- ### v2.8.6:检索提速 + 多源分工
774
+ 只列最近三个版本。完整历史见[版本记录](#版本记录),逐版详情见 [Releases](https://github.com/taxueseek/argo/releases)。
862
775
 
863
- - 引擎竞速、知乎三源分工、多语言与学术分发放宽、死源显形检查
776
+ ### v2.9.9:安全纵深 + 慢源交付不丢 + 五类误路由收口
864
777
 
865
- ### v2.8.5:DSH 插件工具原生化 + MCP 默认关闭 + Windows 兼容
778
+ - **高风险正文进不了上下文**:内容安全引擎从「只评分」升级为「隔离+清洗替换」,`risk_score ≥ 0.5` 的正文被清洗后正文替换、不进证据分;默认开,`ARGO_CONTENT_RISK_GATE=0` 应急放行
779
+ - **网络出口纵深防御**:重定向逐跳校验(`ARGO_MAX_REDIRECTS`,默认 5)+ 解析即锁定,封堵 DNS 重绑定窗口
780
+ - **早停弃置的慢源交付不再丢**:弃置引擎转后台收割,`ARGO_TAIL_COMPLETE_S`(默认 3s,0=关)内完成即照常交付并记真实成绩,交付去重合并回缓存
781
+ - **五类误路由收口**:A 股财务查询进 `stock_query`、企业尽调/开票/人查公司进 `company_search`、民事实务进 `flk_law`、药品说明书不再被「用法」抢走、论文写作 howto 不再落学术域
782
+ - **`argo engine add`**:新引擎一键接入,spec/env/验证/同步/combo/白名单的人工多步链编排成一步
783
+ - **场景分桶学习 + ZCode 插件包**:路由能区分「引擎在 A 域强、B 域弱」;skill+CLI 直连与零 token 面板进 zcode-plugins
866
784
 
867
- - **DSH 插件工具原生化**:`argo_search` / `argo_fetch` 以原生一等工具注册,默认可用,不依赖 MCP 连接;schema 从 `mcp_tools.py` 唯一来源自动生成,两侧零漂移;除 `argo_research` 外 13 个工具都可经 `nativeTools` 按需启用
868
- - **MCP 默认关闭**:DSH 三形态接入(MCP 按需挂载 / 原生工具默认入口 / web_search seam),平时零常驻 token 开销,要完整 19 工具面时一条 profile patch 打开
869
- - **Windows 全平台兼容**(社区贡献 PR #11):临时路径走系统 temp、GBK 编码修复、`python3`/`python` 运行时解析、symlink 无权限自动退化 junction、新增 PowerShell 一键安装 `install.ps1`
870
- - **配额自愈完整链路**:远端配额耗尽(HTTP 200 藏错误)自动识别、路由排除该引擎切备用源,周期结束自动回归,无需人工改配置
871
- - **抓取全局 deadline**:`ARGO_FETCH_DEADLINE_S`(默认 60s)封顶降级链总耗时;429/503 停止信号尊重服务器指示;tinyfish 免费渲染层 + `.md` 变体探测命中即跳过反爬链
785
+ ### v2.9.8:路由精度审计 + 腾讯元宝搜索 + 免 key 三源 + 结构化失败清单
872
786
 
873
- ### v2.8.4:本地数据融合 + 多客户端 MCP 一键接入
787
+ - **issue #18/#19 全修**:`latest` 误判实时新闻、人民网默认 feed、local_bing 只命中「2026」、中文交叉验证恒 0、nightly 空日志崩溃;顺线收窄 16 类同构误触发
788
+ - **新增元宝搜索**:中文一手/官方口径源,进中文通用域第 2 位做权威源对冲;key 用 `ARGO_YUANBAO_API_KEY`
789
+ - **免 key 可用面扩三源**:`tavily_free`、`keenable_free`、`exa` 匿名回退,不配 key 也能用
790
+ - **失败能照着处置**:失败按来源与类别给出「可重试/换源/去配 key」,结果带 `meta.uncertainty` 综合可信度
791
+ - **本机配置覆盖层 `config.local.yaml`**:本机调优不再写进公共配置
792
+ - **DSH 设置页新增「引擎」分区**:28 个行为开关从环境变量搬进面板
874
793
 
875
- - **深度研究能吃你本地的数据了**:以前 `argo research` 只吃网页,现在工作包能带 `file_inputs`(你的一手 CSV / XLSX / 文献,登记哈希、内容不入账)+ `recompute`(可复算执行器,安全地重算数字并和检索对账,对不上就提示)
876
- - **挂 MCP 不再手改配置**:`argo mcp inject` 一条命令把 argo 注入 Claude Code / Cursor / Windsurf / Codex / OpenCode / Cline(原子写 + 自动备份 + 可还原)
877
- - **简单问题不被拖成多轮**:查询归一化(全角→半角、版本号拆斜杠)+ 复杂度门控(低复杂度查询不放行高价多源)+ 社交/平台检索语法优先 + 丢了一个中文引擎会继续看备选
878
- - **多接一个免费搜索源 Keenable**(免费体验期、量较大,到期出问题直接停用即可)
879
- - **安全加固**:recompute 封死外部进程出网、主机路径全部改为安装感知(不再写死 `~/.agents` 这类)、修了一处会把用户引向陈旧 npm 包的安装提示
794
+ ### v2.9.7:架构收口 + 宿主网页抓取交给 argo + License 转 Apache-2.0
880
795
 
881
- > 完整变更见下表与各版[发布说明](docs/)。
796
+ - **License 变更**:MIT → Apache License 2.0,专利授权明示,使用方式不变
797
+ - **宿主抓不到的网页现在能抓到**:短链跳转、协议升级、跳转壳与 Cloudflare / JS 挑战页交给 argo 的抓取链(HTTP 优先,遇反爬自动升级浏览器);默认开启,`fetchProviderEnabled` 可关
798
+ - **auto 档不会再误调付费引擎**:18 个「只接受显式指定」的引擎从路由候选池剔除,只有 `--engine` 点名才走
799
+ - **换新 key 下一跳就恢复**:配额耗尽的引擎不再等恢复窗口到点,路由缓存同步重算
800
+ - **crawl / research / MCP 里跑 JS 不再崩**
882
801
 
883
802
  ---
884
803
 
@@ -886,30 +805,32 @@ argo/
886
805
 
887
806
  | 版本 | 说明 |
888
807
  |------|------|
889
- | **v2.9.7** | **架构收口 + DSH web_fetch 占位 + License 转 Apache-2.0**:MIT → Apache License 2.0;DSH 宿主 web_fetch 占位走 argo_fetch 链(HTTP 优先、JS 挑战升级浏览器,双路执行、错误不重发、失败五分类);18 个 explicit_only 引擎从路由候选池剔除(堵住 auto 档误调付费引擎的扣费口子);熔断健康短路、adaptive 单事务记账、配额换 key 自动解锁、route 缓存耗尽失效;auto/deep 剔除硬耗尽引擎 + 早停放宽 + POST 连接池打通;js-run 修非主线程崩溃。 |
890
- | **v2.9.6** | **DeepSeek Search 接入 + 查询操作符契约 + 传输层去重付费 + 路由快照门**:新引擎 `deepseek_search` 默认启用(无 key 自动跳过;445-510ms,authority/rerank_score/发布时间唯一全覆盖,时间窗真生效;DSH 经原生凭证 seam 共用 key);`site:`/`-site:`/`-词`/`lang:`/`after:`/`before:` 收敛为操作符契约层并真正后置过滤 + 入缓存键;POST 连接池复用(省 320-561ms/次)+ MCP 预连接;octen 进兜底与对冲位(p90 3273→1614ms,`ARGO_GENERAL_FALLBACK_LEGACY=1` 逃生);修复 RRF 名次衰减与 Bing 跳转壳(40.2% 空结果);新增 pre-commit 快门禁与路由决策快照门;DSH 插件适配 0.2.1-rc.2 双栈 + alpha.1 兼容单测。 |
891
- | **v2.9.5** | **汇率查询专域 + 去重双轨 + 排序误杀修复 + daemon 多检出隔离**:新增 `fx_query` 域(汇率/中间价 675ms 出即期+快讯,改前百科词条);去重补站后缀归一(零依赖)+ rapidfuzz 模糊复核(可选、`ARGO_DEDUP_FUZZY` 可控、缺失回退);修复标题分隔符 ×0.6 误杀(官方文档回前排);否定补「不是X」;daemon 落盘名字按检出目录隔离。 |
892
- | **v2.9.4** | **显式引擎域归因 + 恢复链止损 + 门禁同步**:`--engine X` 补 `match_domains` 域判定修复缓存 TTL 一刀切;单引擎无备选跳过 L1 空跑;`config.yaml` 域规则增强(org_entity/fund_query unless 词);`mcp_launch.sh` 环境变量导出收窄;local-search 引擎注册表层收口与质量提升;门禁同步。 |
893
- | **v2.9.3** | **X 帖子完整打包 + 浏览器登录态车道 + 本地链质速双修**:新增 `argo tweet`(正文/串/引用/转发/媒体按需打包,`--out` 四件套);新增 `argo auth` 浏览器登录态车道(站点持久 profile,cookie 只存 Chrome 加密存储,登录态结果不入公共缓存);本地中文链搜狗/百度跳转壳无会话解析(保留 1→5 条)+ 共识宽限自适应(英文分发 ~3.0s→2.2-2.5s);js-run 接入 fetch 链第一级(Chrome 指纹重试);火车票中转+经停(漏斗 10→1 修为如实 10→10);`--academic-deep` 一键学术深挖;43 引擎领域接线 + 3 零 key 金融源 + 意图门误锁修复;本地图片指纹 158ms→3.9ms;agent 消费瘦身(MCP 固定开销 −32%)。 |
894
- | **v2.9.2** | **DSH 0.2.1-alpha.1 适配验证 + 路由/守卫一批修复 + js-run 子技能**:DSH 插件三形态在最新版 DSH 0.2.1-alpha.1 实测启用;`argo mcp inject` 补 WorkBuddy 覆盖到第 7 宿主;TF-IDF 弱证据辅源化、死源地板 + 熔断槽位回填、配额耗尽引擎路由隔离、serp_guard 连坐误杀修复;engines/evidence 惰性导入(import −50%)与准入存在集合短路(open 261→99);MCP 入口与数值参数守卫收口;新增 js-run 子技能(无浏览器跑网页 JS,P50 ≈1ms)。 |
895
- | **v2.9.1** | **内容质量优化 + 对抗内容农场 + 适配最新版本**:优化内容质量评估,提升对低质批量生成内容的识别与过滤能力;适配最新版本确保无缝协作;本地搜索新增自身安装树守卫,避免结果被自身源码污染。 |
896
- | **v2.9.0** | **搜索源优化 + 插件与 CLI 持平 + 多语言小语种**:搜索源 237→253(免配置 198→219),新增 14 个小语种新闻源、CORE 全文源、TinEye 反搜图、Bing RSS 等;百度与搜狗修活;CLI 18 命令与 MCP 19 工具一一对应;导入链 −79%、重排序 33ms→1.5ms、缓存命中率大幅提升;配额写路径跨进程安全修复;新增 `argo stats` 本地使用日志。详见 [发布说明](docs/RELEASE_NOTES_v2.9.0.md) |
897
- | **v2.8.9** | **输出减重 + 检索更全更快 + 5 个外媒与核查源**:默认输出 15.5KB→5.2KB(−66%,同一份结果不再写三遍,`--envelope` 可开完整版);路由决策缓存让重复查询 −30%;慢网轮 dispatch −36%(串行域主源超 0.8s 自动补发备选源);取数链路五轮优化(召回 +35%、抓取时延 −30%、长尾 P90 −8%)+ 正文结构还原(标题/列表/表格保真 0/6→6/6)+ 中文质量分偏差修复;新增卫报 / France 24 / 德国之声 / FactCheck.org / Full Fact 五个免密钥源(232→237、开箱 194→198、域 90→92),gdelt 死源下线;六处「看起来对、量起来错」的自洽缺陷修复 + 六格漏斗归因 + 离线重跑对比工具(`scripts/replay_eval.py`)+ 部署形态门禁与场景阈值契约。详见 [发布说明](docs/RELEASE_NOTES_v2.8.9.md) |
898
- | **v2.8.8** | **真实用户报障修复(#12 密钥别名静默失效、#13 抓取链不走代理)+ 全面提速 + 搜索源 218 → 232**:统一出口调度(`ARGO_PROXY` / 按域规则 / 标准代理变量,全程尊重 `NO_PROXY`);16 处密钥读取统一走别名链;命令冷启动 2.1s→0.55s、配置跨进程缓存 50–82ms→16–18ms、QPP 平坦分早停、`--list-engines --detail` 瘦身 152KB→51KB;新增直答 `argo answer` 与网页观察 `argo watch`,14 个免密钥源(国内热榜与生活 / 安全漏洞 / 学术开放获取 / 技能目录 / Agent 搜索),69 引擎补归类(`web_general` 兜底 41%→20%,新增 security 领域);三平台惯例路径(`argo paths` 自省)+ Python 3.9 + 有界并发让超时真正生效;search.py 拆模块 3351→2526 行、相关性回归金标 22 引擎、静态缺陷与输出契约门禁。详见 [发布说明](docs/RELEASE_NOTES_v2.8.8.md) |
899
- | **v2.8.7** | **218 源 / 89 域 + 取信技巧三通道 + 路由触发纪律 + macro 零结果修复**:批次七/八/九累计 50 个新源(法条/标准/安全情报/学术/新闻/文娱/能源交通/法律政务),stackexchange 与 doi 引擎;抓取链第零级 llms.txt 与 `.md` 直出探测、新增 r.jina.ai 阅读器级;`--engine` 逗号多引擎修复、tfidf 计算方式与 route_reason、负向路由控制矩阵、排序金标与融合增益消融检查;中国宏观查询国家统计局前置、全域零结果恢复链放行 L3、救援引擎如实记账。详见 [发布说明](docs/RELEASE_NOTES_v2.8.7.md) |
900
- | **v2.8.6** | **hedged 竞速 + 知乎三源分工 + 声明式语言分发 + 可达性门 + 学术检索协议**:首引擎宽限窗竞速(快引擎只付 1 次调用)、zhihu 全网搜/个人数据接入与防饿死、子查询语言/学术分发(英文源与 17 学术源接入研究采集)、引擎语言元数据与可达性检查(死源显形)、geo 尾链 −56%、学术检索查询构造协议。详见 [发布说明](docs/RELEASE_NOTES_v2.8.6.md) |
901
- | **v2.8.5** | **DSH 插件工具原生化 + MCP 默认关闭 + Windows 兼容 + 配额自愈 + 抓取 deadline**:`argo_search`/`argo_fetch` 原生一等工具默认可用(CLI 单发与 MCP 同引擎同守卫,schema 唯一来源生成 + 漂移检查);DSH 三形态接入、MCP 按需挂载默认关;Windows 全平台兼容(临时路径 / GBK / 解释器解析 / junction / `install.ps1`,PR #11);配额自愈完整链路(200 业务错误封套识别 + 路由排除 + 周期自愈);抓取降级链全局 deadline(`ARGO_FETCH_DEADLINE_S`)+ tinyfish 渲染层 + `.md` 变体探测;密钥热读与状态目录唯一来源。详见 [发布说明](docs/RELEASE_NOTES_v2.8.5.md) |
902
- | **v2.8.4** | **本地数据融合 + 多客户端 MCP 接入 + 结构化搜索增强 + Keenable**:深度研究 L1 本地一手数据入账(`file_inputs` 白名单 + `recompute` 可复算执行器 + `local_sources`,`no_primary_sources` 计入本地一手);`argo mcp inject` 多客户端 MCP 一键注入/诊断/还原(`mcp/clients.yaml` 声明式来源);结构化搜索增强(查询归一化 + 检索变体 + 复杂度门控 + social 域优先 + TF-IDF 检索修复 + `--include-local`);接入 Keenable 通用网页搜索(L1 声明式 HTTP,免费体验期);安全加固(recompute 封死 `subprocess`/`os.system` 出网通道 + 主机路径单来源化)。详见 [发布说明](docs/RELEASE_NOTES_v2.8.4.md) |
903
- | **v2.8.3** | **多语言路由修复 + anysearch 进程化 + weighted RRF**:anysearch 从 subprocess 改为进程内 builder(省 python 启动开销 + `HttpClient.post` UA 轮换/重试/退避);weighted RRF 新增动态可靠性因子(weakest-link 弱源降权,论文 2508.01405);多语言路由修复——ja/ko 查询返回目标语言(韩语/日语),欧语言(德法西意)走 anysearch 返回目标语言,中文内容/金融/技术引擎双层过滤(域命中 + TF-IDF),Bing `mkt` 市场码 + 语言偏好软排序。详见 [发布说明](docs/RELEASE_NOTES_v2.8.3.md) |
904
- | **v2.8.2** | **Windows 全平台 + 证据语义统一**:移除 npm `os` 限制;全链路 UTF-8 防线(`PYTHONUTF8` + `-X utf8` + JSON `read_bytes`)根治 GBK 崩溃;工具探测改 `shutil.which`;Chrome/Edge 自动发现;Ctrl+C 干净退出。主包新增 `dsh.bundle` 声明(`dsh plugin add github:taxueseek/argo` 即得 MCP 工具);npm 包补 `engines/`、`data/`。`wide_research` 输出新增 `quality_gate_results` 检查 + `depends_on` 分阶段 + SSRF 防线 + 研究递归硬保护;深度研究协议化(机器产 dossier、Agent 写判断稿,`--work-packages` 分阶段取证)。详见 [发布说明](docs/RELEASE_NOTES_v2.8.2.md) |
905
- | **v2.8.0** | **证据完整链路 + 求职 v3 + 天气双源**:搜索输出自带证据门控(高后果问题标 `fetch_required`、每条结果标 `fetch_suggested`、`--verify` 一键核验回填「核实后证据分」、核实过的链接自动记住下次搜索直接显示已核实);`argo job` 求职搜索 v3(结构化字段 + 增量监控 + 指纹去重 + Ashby ATS / 北京高校源);天气双源并行(wttr.in + Open-Meteo,地理编码 + 空气质量);新增 Parallel / You.com 通用引擎;health_check 崩溃修复 + 日韩股票查询错配修复。详见 [发布说明](docs/RELEASE_NOTES_v2.8.0.md) |
906
- | **v2.7.3** | **本轮修复 + 引擎激活**:引擎层 HttpClient 接入(UA 轮换 / 重试 / 重定向跟随,arxiv 从 5s 超时空返回变为 2s 内 10 条有效结果);TF-IDF 强语义注入激活 25 个垂直引擎(marginalia / open_meteo / usda / gov_policy / cnii 等,此前有 profile 但永远选不中);env 占位缺失过滤(github 无 token 从 401 恢复匿名 API);70 域 TTL 全覆盖(金价/快讯/行情缓存从 1 小时缩短到 5-15 分钟);垂直源中英双语覆盖(worldbank / eurostat 英文国家与指标名,实测 China GDP / US inflation / Japan population 全部命中);快讯类引擎触发词放行(「快讯」不再被当关键词滤空);百科条目页直接命中保底(moegirl 等搜索跳转条目页不再空结果);熔断 empty 语义修复(查询无结果不误判引擎故障);国际引擎中文查询 URL 编码修复(18 处);唯一来源文档修正(engines/specs/ 外置目录)。详见 [发布说明](docs/RELEASE_NOTES_v2.7.3.md) |
907
- | **v2.7.2** | **登录态专业搜索**:新增 ego-search 子技能(默认关闭,开启方法与依赖见上「登录态专业搜索」节);搜索保底 / 多意图路由 / 统一健康视图;日韩文查询不再混入中文引擎、显式语言指定生效;MCP 服务拆三模块;具备安全防护(登录态结果与公共缓存隔离、URL 安全检查)。详见 [发布说明](docs/RELEASE_NOTES_v2.7.2.md) |
908
- | **v2.7.1** | **安全加固 + 路由修复**:SSRF 防护(URL 白名单 + IP 段检查);路由健康状态语义漂移根因修复(只对 `local_*` 做健康判定);深度研究 local_first 浪费修复;配置清理(唯一来源)。详见 [发布说明](docs/RELEASE_NOTES_v2.7.1.md) |
909
- | **v2.7.0** | **垂直结构化模态卡**:内建 `bocha` / `bocha_ai` 原生引擎,`modal_card` 域统一识别火车票 / 油价 / 贵金属 / 万年历 / 星座 / 手机 / 汽车 / 挂号等实时卡片;`bocha` web 解析缺陷修复。详见 [发布说明](docs/RELEASE_NOTES_v2.7.0.md) |
910
- | **v2.6.2** | 合并独立改进线:网络环境感知 / 加权 RRF + 语义缓存 / 自适应引擎禁用 / 内容安全 + 查询变体 / 三大垂直引擎 / 日韩域路由补全;含 v2.6.1 路由修复。详见 [发布说明](docs/RELEASE_NOTES_v2.6.2.md) |
808
+ | **v2.9.9** | **安全纵深 + 慢源交付不丢 + 五类误路由收口**:高风险正文隔离+清洗替换(不进证据分)、逐跳重定向校验与 DNS 重绑定封堵;早停弃置的慢源转后台收割(`ARGO_TAIL_COMPLETE_S`),学习器记真实成绩;六族真实场景扫描收口学术/财务/企业/法律/医药误路由;`argo engine add` 一键接引擎、场景分桶学习、ZCode 插件包。详见 [发布说明](docs/RELEASE_NOTES_v2.9.9.md) |
809
+ | **v2.9.8** | **路由精度审计 + issue #18/#19 修复 + 测试态隔离**:回放真实查询收窄 16 类误触发(品牌名/产品名/字段名/ASCII 子串),SERP 覆盖率门与 CJK 交叉验证落地;nightly 空日志、people_daily 默认 feed、缓存命中守卫一并收口;全量测试按用例隔离 adaptive/熔断状态。感谢 @wpp666 的复现与定位。详见 [发布说明](docs/RELEASE_NOTES_v2.9.8.md) |
810
+ | **v2.9.7** | **架构收口 + DSH web_fetch 占位 + License 转 Apache-2.0**:宿主 web_fetch 改走 argo 抓取链,JS 挑战页与跨源跳转从失败变成功;18 个 explicit_only 引擎从路由候选池剔除,堵住 auto 档误调付费引擎扣费;熔断、记账、配额恢复与路由缓存一批状态契约收口。 |
811
+ | **v2.9.6** | **DeepSeek Search 接入 + 查询操作符契约 + 传输层去重付费 + 路由快照门**:新引擎 `deepseek_search` 默认启用(445-510ms,权威分级 / rerank_score / 时间窗唯一全覆盖);查询操作符收敛为契约层;POST 连接池复用省 320-561ms/次;路由决策变成可 diff 的 golden。 |
812
+ | **v2.9.5** | **汇率查询专域 + 去重双轨 + 排序误杀修复 + daemon 多检出隔离**:新增 `fx_query` 域,汇率与中间价直接出即期与快讯,不再落进百科词条;去重补站后缀归一与模糊复核;daemon 落盘名字按检出目录隔离,多 worktree 不再互抢。 |
813
+ | **v2.9.4** | **显式引擎域归因 + 恢复链止损 + 门禁同步**:`--engine X` 补域判定,修复缓存 TTL 一刀切 general;显式单引擎无备选时不再空跑恢复链;`org_entity` / `fund_query` 域规则补限定词。 |
814
+ | **v2.9.3** | **X 帖子完整打包 + 浏览器登录态车道 + 本地链质速双修**:新增 `argo tweet`(正文 / 串 / 引用 / 转发与互动数据一次打包)与 `argo auth`(站点持久登录态,cookie 只存 Chrome 加密存储);本地中文链跳转壳无会话解析,保留结果 1→5 条;共识宽限自适应提速。 |
815
+ | **v2.9.2** | **DSH 0.2.1-alpha.1 适配验证 + 路由/守卫一批修复 + js-run 子技能**:DSH 三形态在新版实测启用,`argo mcp inject` 覆盖到第 7 宿主;TF-IDF 弱证据辅源化、死源与熔断槽位回填、配额耗尽引擎隔离;新增 js-run 子技能,不开浏览器跑网页 JS。 |
816
+ | **v2.9.1** | **内容质量优化 + 对抗内容农场 + 适配最新版本**:提升低质批量生成内容的识别与过滤;本地搜索新增自身安装树守卫,避免结果被自身源码污染。 |
817
+ | **v2.9.0** | **搜索源优化 + 插件与 CLI 持平 + 多语言小语种**:搜索源 237→253(免配置 198→219),新增 14 个小语种源与 CORE 全文源,百度与搜狗修活;导入链 −79%,重排序 33ms→1.5ms;新增 `argo stats` 本地使用日志。详见 [发布说明](docs/RELEASE_NOTES_v2.9.0.md) |
818
+ | **v2.8.9** | **输出减重 + 检索更全更快 + 5 个外媒与核查源**:默认输出 15.5KB→5.2KB(−66%,同一份结果不再写三遍);召回 +35%、抓取时延 −30%、正文结构保真 0/6→6/6;新增卫报 / France 24 / 德国之声 / FactCheck.org / Full Fact 五个免密钥源,gdelt 死源下线。详见 [发布说明](docs/RELEASE_NOTES_v2.8.9.md) |
819
+ | **v2.8.8** | **真实用户报障修复(#12 密钥别名静默失效、#13 抓取链不走代理)+ 全面提速 + 搜索源 218 → 235**:出口调度统一走 `ARGO_PROXY` / 按域规则并尊重 `NO_PROXY`;命令冷启动 2.1s→0.55s;新增 `argo answer` 直答与 `argo watch` 网页观察,14 个免密钥源。详见 [发布说明](docs/RELEASE_NOTES_v2.8.8.md) |
820
+ | **v2.8.7** | **218 源 / 89 域 + 取信技巧三通道 + 路由触发纪律 + macro 零结果修复**:批次七 / 八 / 九累计 50 个新源;抓取链新增 llms.txt 与 `.md` 直出探测;`--engine` 逗号多引擎修复,中国宏观查询国家统计局前置。详见 [发布说明](docs/RELEASE_NOTES_v2.8.7.md) |
821
+ | **v2.8.6** | **hedged 竞速 + 知乎三源分工 + 声明式语言分发 + 可达性门 + 学术检索协议**:首引擎宽限窗竞速,快引擎只付 1 次调用;zhihu 全网搜接入并防饿死;子查询语言与学术分发;死源显形检查。详见 [发布说明](docs/RELEASE_NOTES_v2.8.6.md) |
822
+ | **v2.8.5** | **DSH 插件工具原生化 + MCP 默认关闭 + Windows 兼容 + 配额自愈 + 抓取 deadline**:`argo_search` / `argo_fetch` 以原生一等工具注册,默认可用;Windows 全平台兼容;配额耗尽自动识别、切备用源、周期结束自愈,无需人工改配置。详见 [发布说明](docs/RELEASE_NOTES_v2.8.5.md) |
823
+ | **v2.8.4** | **本地数据融合 + 多客户端 MCP 接入 + 结构化搜索增强 + Keenable**:深度研究可吃本地一手数据(`file_inputs` + `recompute` 可复算执行器);`argo mcp inject` 一条命令注入 6 个客户端;查询归一化与复杂度门控。详见 [发布说明](docs/RELEASE_NOTES_v2.8.4.md) |
824
+ | **v2.8.3** | **多语言路由修复 + anysearch 进程化 + weighted RRF**:anysearch 从子进程改为进程内调用,省 Python 启动开销;weighted RRF 新增动态可靠性因子,弱源降权;ja/ko 与欧语言查询返回目标语言。详见 [发布说明](docs/RELEASE_NOTES_v2.8.3.md) |
825
+ | **v2.8.2** | **Windows 全平台 + 证据语义统一**:全链路 UTF-8 防线根治 GBK 崩溃,Chrome / Edge 自动发现;npm 包补 `dsh.bundle` 声明,一行命令即得 MCP 工具;`wide_research` 新增质量门与递归硬保护。详见 [发布说明](docs/RELEASE_NOTES_v2.8.2.md) |
826
+ | **v2.8.0** | **证据完整链路 + 求职 v3 + 天气双源**:搜索输出自带证据门控,`--verify` 一键核验并记住已核实链接;`argo job` 求职搜索 v3(结构化字段 + 增量监控);天气双源并行。详见 [发布说明](docs/RELEASE_NOTES_v2.8.0.md) |
827
+ | **v2.7.3** | **本轮修复 + 引擎激活**:引擎层接入 HTTP 客户端(UA 轮换 / 重试 / 重定向跟随,arxiv 从 5s 超时变 2s 内 10 条);TF-IDF 强语义注入激活 25 个此前永远选不中的垂直引擎;70 域缓存 TTL 全覆盖;国际引擎中文查询 URL 编码修复。详见 [发布说明](docs/RELEASE_NOTES_v2.7.3.md) |
828
+ | **v2.7.2** | **登录态专业搜索**:新增 ego-search 子技能(默认关闭,开启方法与依赖见上方「登录态专业搜索」节);搜索保底与多意图路由;日韩文查询不再混入中文引擎。详见 [发布说明](docs/RELEASE_NOTES_v2.7.2.md) |
829
+ | **v2.7.1** | **安全加固 + 路由修复**:SSRF 防护(URL 白名单 + IP 段检查);路由健康状态语义漂移根因修复,只对 `local_*` 做健康判定;深度研究 local_first 浪费修复。详见 [发布说明](docs/RELEASE_NOTES_v2.7.1.md) |
830
+ | **v2.7.0** | **垂直结构化模态卡**:内建 `bocha` / `bocha_ai` 原生引擎,`modal_card` 域统一识别火车票 / 油价 / 贵金属 / 万年历 / 星座等实时卡片;修复 `bocha` web 解析缺陷。详见 [发布说明](docs/RELEASE_NOTES_v2.7.0.md) |
831
+ | **v2.6.2** | 合并独立改进线:网络环境感知 / 加权 RRF 与语义缓存 / 自适应引擎禁用 / 内容安全与查询变体 / 三大垂直引擎;含 v2.6.1 路由修复。详见 [发布说明](docs/RELEASE_NOTES_v2.6.2.md) |
911
832
  | **v2.6.1** | v2.6.0 修复版:路由误伤修复(`capital of` 不再抢 fact_check);版本同步。详见 [发布说明](docs/RELEASE_NOTES_v2.6.1.md) |
912
- | **v2.6.0** | **多语言搜索**(检测 / 引擎参数 / 跨语言回退);影视·体育·地理·组织·媒体等垂直补全;recovery 防污染;能力族与矩阵回归;约 120+ 源。详见 [发布说明](docs/RELEASE_NOTES_v2.6.0.md) |
833
+ | **v2.6.0** | **多语言搜索**(检测 / 引擎参数 / 跨语言回退);影视·体育·地理·组织·媒体等垂直补全;约 120+ 源。详见 [发布说明](docs/RELEASE_NOTES_v2.6.0.md) |
913
834
  | **v2.5.1** | 金融/宏观/化学等垂直答案源加厚;引擎分层 + combo 预算;[v2.5.1 说明](docs/RELEASE_NOTES_v2.5.1.md) |
914
835
  | **v2.5.0** | 安装脚本 + npx;查询改写与路由拆开;路由热路径缓存;MCP 紧凑响应 |
915
836
  | **v2.4.0** | 路由低分回退与社交误吸过滤;缓存 depth / 柔性命中;熔断与负缓存;`engine_outcomes` |
package/SKILL.md CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: argo
3
3
  description: Argo 阿尔戈 — 统一搜索、网页抓取与证据核验。当需要搜索/查一下/核实/抓取网页/爬取/深度研究/论文检索/新闻/舆情/公众号文章/招聘聚合时使用;支持影视/体育/金融/宏观/学术等垂直域与多语言查询。
4
- version: 2.9.7
4
+ version: 2.9.9
5
5
  triggers:
6
6
  - 搜索
7
7
  - 查一下
@@ -26,7 +26,7 @@ triggers:
26
26
 
27
27
  # Argo — 统一搜索与证据核验
28
28
 
29
- > 不止搜到,还要核到:高后果问题标 `fetch_required`、结果标 `fetch_suggested`,`--verify` 核验正文并回填证据分。收录 264 个源、227 个免密钥可用;digup 默认关;deepseek_search 默认开、需 DEEPSEEK_API_KEY(按次计费,无 key 自动跳过)。
29
+ > 不止搜到,还要核到:高后果问题标 `fetch_required`、结果标 `fetch_suggested`,`--verify` 核验正文并回填证据分。收录 272 个源、235 个免密钥可用;digup 默认关;deepseek_search 默认开、需 DEEPSEEK_API_KEY(按次计费,无 key 自动跳过)。
30
30
 
31
31
  ## 快速上手
32
32
 
@@ -110,7 +110,7 @@ argo watch add|check|list|remove # 观察模式(--json 供 cron)
110
110
 
111
111
  - **`--envelope` 与 `--fields agent` 别同给**:后者把 envelope 增量剥成 0 字节;要 provenance 就去掉 `--fields agent`。
112
112
  - **结果异常少**:看 `funnel` 六格阶段计数,哪格归零即塌陷点。
113
- - **慢查询**:看 `timing.dispatch` 的 `useful_ms`/`wasted_ms`,区分「等答案」与「白等」。
113
+ - **慢查询**:看 `timing.dispatch` 的 `tail_wait_ms`(就绪后还在等)/`abandoned_engine_ms`。
114
114
  - **`--list-engines` 别直接 `--all`**:全量 ~54 KB 灌爆版面,默认摘要够用。
115
115
  - **`-n` 超 10 无收益**。
116
116
 
@@ -43,10 +43,10 @@
43
43
  <!-- meta chips -->
44
44
  <g transform="translate(0 188)">
45
45
  <rect width="118" height="32" rx="8" fill="#121A2B" stroke="#1E2A3F"/>
46
- <text x="59" y="21" text-anchor="middle" font-family="ui-monospace, Menlo, monospace" font-size="12" fill="#94A3B8">v2.9.7</text>
46
+ <text x="59" y="21" text-anchor="middle" font-family="ui-monospace, Menlo, monospace" font-size="12" fill="#94A3B8">v2.9.8</text>
47
47
 
48
48
  <rect x="130" width="132" height="32" rx="8" fill="#121A2B" stroke="#1E2A3F"/>
49
- <text x="196" y="21" text-anchor="middle" font-family="ui-monospace, Menlo, monospace" font-size="12" fill="#38BDF8">264 engines</text>
49
+ <text x="196" y="21" text-anchor="middle" font-family="ui-monospace, Menlo, monospace" font-size="12" fill="#38BDF8">272 engines</text>
50
50
 
51
51
  <rect x="274" width="118" height="32" rx="8" fill="#121A2B" stroke="#1E2A3F"/>
52
52
  <text x="333" y="21" text-anchor="middle" font-family="ui-monospace, Menlo, monospace" font-size="12" fill="#A78BFA">19 MCP</text>
@@ -2572,5 +2572,53 @@
2572
2572
  "documents": [],
2573
2573
  "boost_keywords": {},
2574
2574
  "boost_combos": {}
2575
+ },
2576
+ "cfets": {
2577
+ "label": "人民币中间价",
2578
+ "documents": [],
2579
+ "boost_keywords": {},
2580
+ "boost_combos": {}
2581
+ },
2582
+ "defillama": {
2583
+ "label": "DeFiLlama",
2584
+ "documents": [],
2585
+ "boost_keywords": {},
2586
+ "boost_combos": {}
2587
+ },
2588
+ "gleif": {
2589
+ "label": "GLEIF 法人标识",
2590
+ "documents": [],
2591
+ "boost_keywords": {},
2592
+ "boost_combos": {}
2593
+ },
2594
+ "hkex": {
2595
+ "label": "港交所披露易",
2596
+ "documents": [],
2597
+ "boost_keywords": {},
2598
+ "boost_combos": {}
2599
+ },
2600
+ "shfe": {
2601
+ "label": "上期所行情",
2602
+ "documents": [],
2603
+ "boost_keywords": {},
2604
+ "boost_combos": {}
2605
+ },
2606
+ "keenable_free": {
2607
+ "label": "Keenable (keyless)",
2608
+ "documents": [],
2609
+ "boost_keywords": {},
2610
+ "boost_combos": {}
2611
+ },
2612
+ "tavily_free": {
2613
+ "label": "Tavily (keyless)",
2614
+ "documents": [],
2615
+ "boost_keywords": {},
2616
+ "boost_combos": {}
2617
+ },
2618
+ "yuanbao": {
2619
+ "label": "腾讯元宝搜索",
2620
+ "documents": [],
2621
+ "boost_keywords": {},
2622
+ "boost_combos": {}
2575
2623
  }
2576
2624
  }