这是踏雪寻仙 DeepSeek Harness 插件系列的一员(dsh-files 39★ · dsh-models 模型选择 + 子代理路由 + 推理层级)。同作者完整技能系列:session-digger 29★ · taxue-invest 21★ · taxueskills 23★ · taxue-creative-style 12★
它和「模型自带搜索 / AI 搜索 / 聚合搜索」比,强在哪
简单来说:前三种方案解决「人找信息」,Argo 解决「Agent 及搜索核查于一身,具备一条龙的搜索服务」。差别不在界面,在交付物,给人看的叫总结页或链接清单,给 Agent 的应是能排序、能复核、不撑爆上下文的优质内容,更可靠的搜索信息。 | 维度 | 模型自带搜索 | AI 搜索(总结型) | 聚合搜索 / 搜索引擎 | Argo | |------|------------|-------------------|---------------------|----------| | 结果形态 | 拼好的长文本 | 给人看的总结页 | SERP 链接清单 | 精简 JSON:证据候选 + 可信度分解 | | 垂直问题(行情 / 化学式) | 泛搜网页 | 泛搜再总结 | 泛搜网页 | 直连垂直源,直接给答案 | | 证据可信度 | 无评分 | 无结构化评分 | 无评分 | selection · absorption · freshness · 共识 | | 重复查询 | 每次都打网 | 每次都打网 | 靠页面缓存 | 双层缓存(内存 + SQLite),热查询约 10ms | | 成本控制 | 不可控 | 单次贵 | 免费但费事 | 预算模式,免费优先,Key 全可选 | | 多语言 | 随模型走 | 随模型走 | 随引擎走 | 语言检测 + 引擎语言参数 + 多国语言支持 |
机制上,Argo 把搜索当成一条证据管线:语言检测 → 领域路由 → 多引擎召回 → RRF 融合 → 证据快评,交付的是 Agent 可直接排序、可
fetch复核、不撑爆上下文的材料。工具链不用换,需要换的是「搜索结果应该长什么样」——再往下一层,还有和「再包一层搜索 API 的差别」,那是实现细节的对比。
2026,检索正在发生什么变化
Agent 干活的量级变了,检索的玩法跟着变了四件事,每一件 Argo 都已经落在代码里:
- 检索从「给链接」变成「给证据」。 Agent 不看网页排版,它要能排序、能复核、不撑爆上下文的结构化材料——所以 Argo 交付的是带可信度分解的 JSON,而不是 SERP 清单。
- 上下文成为第一成本。 一次网页抓取动辄上万 token,Agent 的窗口烧不起。Argo 的 Agent 档单次约 3.7KB,字段集合与字节预算都有检查卡着,升级不会悄悄变胖。
- 网站开始为 AI 备料。 llms.txt 标准与
.md直出在头部文档站快速铺开——Argo 抓取链第零级自动探测这些 AI 友好变体,命中即跳过整条反爬链;HTTP/TLS 都失败还有 r.jina.ai 阅读器级保底。 - 免费开放生态够用了。 政府、学术、标准、安全机构的开放 API + 免 key 引擎,已经能覆盖大多数领域(221 个免配置源);稀缺免费额度(firecrawl 1000 credits/月、stackexchange 300 次/天)做了「日常补位、关键顶上」的分层,订阅墙不是唯一解。
- 检索质量从「感觉」到「度量」。 排序有金标(MRR/nDCG 地板)、融合有增益消融检查、路由有负向控制矩阵——「这版比上版好吗」从此是数字问题,不是玄学。
v2.9.3 把以上全部落地:264 个源、94 个领域、229 个免配置开箱。逐项细节见 docs/为什么选择argo.md 与 发布说明。
这是什么
Argo 是给 AI Agent 用的多语言搜索基础设施。
真实检索从来不是「一种语言 + 一个搜索框」:有人问 A 股行情,有人问 World Cup,有人用日文找动画,有人要 IMDb 上的导演信息。Argo 的出发点很朴素——按领域、按语言、按需求选路,把问题送到合适的源,而不是一律扫网页标题。联网搜索与本机文件搜索一体可用。
产出不是「链接清单」,而是「证据候选 + 可信度分解」。路选对了,证据才站得住。
和「再包一层搜索 API」的差别
问啥像啥
它怎么工作
查询
├─ 意图消歧(可选)
├─ 查询改写(可选;路由仍看原始意图)
├─ 语言检测 + 语言偏好
├─ 路由(域规则 + TF-IDF + 预算 + 语言补充源 + 热路径缓存)
├─ 多引擎召回(熔断 / 负缓存 / 并行)
├─ 空结果分阶恢复(放宽 → 换同族/通用 → 跨语言;防污染)
├─ RRF 融合 + 可选精排
├─ 证据快评(权威 · 证据密度 · 时效 · 共识)
└─ 统一 JSON(含 engine_outcomes / recovery / route_reason)
证据评分(简版)
selection ≈ 域名权威,SERP/跳转链压到很低
absorption ≈ 数字 / 定义 / 对比 / 披露等证据密度
freshness ≈ 发布时间(会忽略「2015 年以来」这类历史对比年)
综合 ≈ 0.40·selection + 0.35·absorption + 0.15·freshness + 0.10·引擎分
结果字段含 selection、absorption、credibility_fast、evidence_flags 等,方便 Agent 直接排序。
Agent 使用纪律(建议)
- 高后果问题(持仓、安全、是否属实):search → 看快评分 → 对 top 结果
fetch→ 再下结论 - 数字:写清计算方式,冲突时并列,不要硬合并
- 搜索结果页 / 跳转链:不要当正文信源
- 社交帖:当舆情与叙事,不当事实真值
- 事实核查:宁可多一两条分层查询(来源 / 对比 / 主体)
快速开始
任选一种即可。以 GitHub 为唯一安装来源(npx github:taxueseek/argo 或 install.sh / install.ps1),当前推荐 v2.9.6。请勿用 npm install argo-search——npm registry 上那份是非官方陈旧版 v1.0.1(非本仓库维护,功能残缺、不随本项目更新)。本包 package.json 已设 private: true 防止误发布到 npm registry。
零配置就能跑:不配 API Key 时走免费引擎 + 本地 local_* 引擎;配了 Key 的源质量通常更好,没配则自动跳过。
方式一:一键脚本(推荐本机长期用)
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/taxueseek/argo/main/scripts/install.sh | bash
Windows(PowerShell):
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/taxueseek/argo/main/scripts/install.ps1 | iex"
# 或下载后执行:
# powershell -ExecutionPolicy Bypass -File scripts/install.ps1
装到指定目录、并挂 Skill 入口:
curl -fsSL https://raw.githubusercontent.com/taxueseek/argo/main/scripts/install.sh \
| bash -s -- --home "$HOME/.local/share/argo" --link "$HOME/.claude/skills/argo"
验证:
python3 ~/.local/share/argo/scripts/search.py "python asyncio error handling" --json
python3 ~/.local/share/argo/scripts/search.py --list-engines
方式二:MCP 不装包,直接用 GitHub(推荐 Agent 快速挂载)
需要 Node.js 18+ 和 Python 3.9+,首次执行一次:
pip3 install pyyaml
npx -y github:taxueseek/argo
客户端配置示例(Claude Code / Cursor / Kimi 等):
{
"mcpServers": {
"argo": {
"command": "npx",
"args": ["-y", "github:taxueseek/argo"]
}
}
}
DeepSeek Harness 一键插件(.dsh-plugin bundle)
在 DeepSeek Harness 里一行安装(两种装法):
# 装法 A:19 个 mcp__argo__* 工具(主包自带 bundle,与 MCP 全量相同)
dsh plugin --profile web add "github:taxueseek/argo"
# 装法 B:搜索工具 + wide_research 并行研究调度(子包)
dsh plugin --profile web add "github:taxueseek/argo#main&path:packages/dsh-plugin"
重启 dsh web 后生效。包结构见 packages/dsh-plugin/;同 id mcp-argo / wide-research 可在用户层 cordis.patch.yml 覆盖。装法 B 的 wide_research 模块只存在于子包依赖树,主包 patch 不引用它,避免只装主包时 Cordis 解析失败。DSH 0.2.1-alpha.1 与 0.2.1-rc.2 均已实测:rc.2 上 wide_research(2 worker,passed=true / 14 sources)与原生 argo_search(count=3)真跑通,dsh web 启动无 argo 报错;web seam 随启动注册通过(headless 无 web 服务,未做实际调用)。
依赖清单(通俗版)
安装脚本(install.sh)只自动装前两个;其余可选依赖按需 pip install 或 brew install 即可。
更稳、完全不依赖 Node 的写法:先装脚本(方式一),再指向本机 Python:
{
"mcpServers": {
"argo": {
"command": "python3",
"args": ["/path/to/argo/scripts/mcp_server.py"]
}
}
}
Python 路径特殊时:export ARGO_PYTHON=/path/to/python3(仅 npx 入口会读)。
方式三:git clone(开发 / 改源码)
git clone https://github.com/taxueseek/argo.git
cd argo
pip3 install pyyaml
bash scripts/install.sh --link ~/.claude/skills/argo # 可选
python3 scripts/search.py --list-engines
适用平台
安装后自检
python3 --version # 需要 3.9+(Windows 可用 py -3)
python3 -c "import yaml; print('PyYAML OK')"
python3 scripts/search.py --list-engines # 引擎面与状态总览
python3 scripts/search.py --list-engines --detail # 逐源状态:配了 key 却没结果,
# 先看 missing_env 给出的确切变量名
python3 scripts/health_check.py --all # 真联网探针:验证 key 对端真认(可选)
python3 bin/argo paths --check # 本机路径自检(可选)
python3 bin/argo mcp status # MCP 注入/连通诊断(可选)
python3 -m pytest tests/test_unit.py -q # 单测(可选)
MCP 起不来时:
python3 scripts/mcp_diag.py会把 stdin 往来记录到~/.kimi/argo_diag.log。health_check.py是给人用的联网探针,health_probe.py写健康库供路由消费——名字相近,职责不同。 CLI 退出码恒 0(含断网):成败判断走 JSON 的status/errors字段。
能做什么
五种能力,通俗说
1. 通用搜索 + 垂直搜索,双管齐下
日常问题走通用网页搜索;一问到行情、影视、体育、宏观这类「有标准答案」的问题,自动切到垂直源直接给答案,而不是扔给你一堆链接。目前 266 个源(229 个免密钥开箱可用)、94 个业务域,金融 / 宏观 / 影视 / 体育 / 地理 / 组织 / 媒体 / 化学 / 学术 / 代码等都有专门的路。
2. 缓存:不重复花冤枉钱
时效性没那么强的内容(百科类、历史数据这类),第一次查完会进缓存,之后同样的查询直接命中,不再每次都走一遍 API。双层缓存(内存 + SQLite),热查询约 10ms 级返回,既省钱也省时间。
3. 专为 Agent 设计,更省 Token
产出是「证据候选 + 可信度分解」的精简 JSON,不是长篇网页;MCP 响应可以按需裁剪,snippet 可控,不会撑爆 Agent 的上下文。比常规模型自带的搜索能力更专业、更省 Token。
4. 深度研究
把一个笼统的问题拆成多个子问题,多源并行采集,最后给出「还差什么证据」的缺口提示。适合综述、调研这类要全面、要扎实的场景。
5. 登录态专业搜索(专业模式,默认关闭)
知乎、小红书、公众号这类要登录才能看的内容,以及 JS 渲染页、反爬页,用真实浏览器配合登录态去搜。默认关闭,需要时开启,依赖 ego lite 和 WebBridge 两个东西,详见下节「登录态专业搜索」。
6. 时间能力(时间窗 + 方向排序)
要搜「最近几天刚发布的内容」,用 --since 7d 这类时间窗框住发布时间范围,判断新旧不再靠猜。支持引擎(如 realtime_index,免 Key 实时索引源、需自装 CLI,结果自带发布时间)把窗口下推给数据源;其余引擎的融合结果会按 published_at 最后再剔除明确超窗的条目(宽松策略,无时间字段的保留),返回包带 time_filtered 统计,CLI 与 MCP 均支持。--since 7d 与「7 天前的绝对日期」等价、共享缓存;--until 2026-08-01 含当天。配合 --sort newest|oldest 按发布时间重排——找最新动态用 newest,找最早出处用 oldest。
能力入口速查
预算模式
当前大致能力(v2.9.3)
-
DeepSeek Search 接入 + 查询操作符契约 + 传输层去重付费 + 路由快照门(v2.9.6 新增):官方
deepseek_search引擎默认启用(无DEEPSEEK_API_KEY时路由自动跳过,其余 265 源不受影响;延迟 445-510ms,authority 权威分级 / rerank_score / 发布时间三引擎中唯一全覆盖,ja/ko/es 多语言与 anysearch 持平,--since/--until时间窗唯一真生效;按次计费,不进域 combo,显式--engine deepseek_search为主路径;DSH 宿主经原生凭证 seam 共用同一把 key);site:/-site:/-词/lang:/after:/before:收敛为查询操作符契约层(query_operators.py,路由与缓存只认剥掉指令的 clean_query,site:从「只解析不执行」到真正后置过滤并并入缓存键);POST 走连接池复用(anysearch 省 320ms / octen 省 561ms 每次)+ MCP 预连接;octen 进通用兜底与对冲位(p90 3273→1614ms、max 6266→1928ms、错误 9→0,ARGO_GENERAL_FALLBACK_LEGACY=1可退回旧序);修复 RRF 口径隔离名次衰减(同引擎结果同分退化)与 Bing ck/a 跳转壳(此前 40.2% 空结果);新增 pre-commit 快门禁(~12s 六道)与路由决策快照门(治 90 天 13 次 fix(route) 慢性病);DSH 插件适配 0.2.1-rc.2 双栈(startActivation新入口 + tool guard 承接已移除的toolFilter),0.2.1-alpha.1 兼容分支单测覆盖 -
汇率查询专域 + 去重双轨判定 + 排序误杀修复(v2.9.5 新增):
fx_query域让汇率/中间价类查询 675ms 出「即期汇率 + 每日快讯」(改前 1411ms 百科词条);去重补站后缀归一(零依赖)+ rapidfuzz 模糊复核(可选依赖、ARGO_DEDUP_FUZZY可控、缺失自动回退);修复精排降级时标题分隔符 ×0.6 误杀(官方文档回到前排);否定理解补「不是X」;daemon 落盘名字按检出目录隔离,多 worktree 互抢/误杀/静默旧代码三类故障根除 -
显式引擎域归因 + 恢复链止损 + 门禁同步(v2.9.4 新增):
--engine X显式指定引擎时补match_domains域判定,修复缓存 TTL 一刀切 general;单引擎无备选时跳过 L1 同引擎空跑;config.yaml域规则增强(org_entity加 unless 股东尽调词、fund_query加 unless 政策法规词);mcp_launch.sh环境变量导出收窄;local-search 引擎注册表层收口与质量提升;门禁同步(module_size_gate / ENGINE_CATALOG) -
X 帖子完整打包
argo tweet(v2.9.3 新增):一条命令打包指定 X 帖子的正文、串/引用/转发与互动数据;默认纯文本,--out落四件套(post.md/raw.json/manifest.json/CHECKLIST.md),--media才下载图片/视频;主帖失败原因随产物可见 -
浏览器登录态车道
argo auth(v2.9.3 新增):argo auth login/status/logout自持站点持久浏览器 profile,扫码一次即可抓取需登录页面;cookie 只存 Chrome 自身加密存储,登录态结果标记login_state_used并拒绝入公共缓存(ARGO_AUTH_FETCH开启) -
本地中文链质速双修(v2.9.3 新增):搜狗/百度跳转壳无会话解析成真实直链,保留结果 1→5 条;共识宽限自适应(首引擎交足即放行),英文分发 ~3.0s→2.2-2.5s
-
火车票中转+经停(v2.9.3 新增):12306 查询扩展中转/经停方案,候补漏斗 10→1 压缩修为如实 10→10;学术搜索
--academic-deep一键多源深挖 -
路由扩容与意图门修复(v2.9.3 新增):43 个无域引用引擎接入对应领域,新增 3 个零 key 金融源;「教程」类查询不再被意图门误锁单引擎
引擎与路由
当前配置 266 个源(229 个免密钥开箱可用)、95 个业务域(以 config.yaml 与 --list-engines 为准)。
直连与垂类(节选)
本地零成本层(local_*)
不依赖独立的 SearXNG 服务。主路径用进程内 HTML / RSS / JSON 解析(如 local_bing、local_sogou、local_google、local_arxiv 等)。多语言查询时,路由会按语种动态改写引擎语言参数(例如 Bing setlang),并参与 RRF 融合。
登录态专业搜索(ego-search,默认关闭)
普通搜索拿不到知乎、小红书、微博、公众号等需要登录的内容,也常抓不回来 JS 渲染页 / 反爬页。ego-search 用真实浏览器去做这类搜索:继承登录态、抓登录墙后的正文、在已登录站点直接调接口取数据(如知乎搜索接口)。
默认关闭,需要时开启(在 argo 目录下运行):
python3 sub-skills/ego-search/scripts/ego_search.py enable
常用命令:python3 sub-skills/ego-search/scripts/ego_search.py status(查看状态)、... disable(关闭)、search / fetch / api(分别对应浏览器搜索、抓正文、调站点接口)。
依赖(装好其中一个就能用,两个都装更好):
登录态搜到的结果不写公共搜索缓存(避免污染共享缓存),需要融合时用 merge 命令把常规结果和登录态结果放一起分析。
使用示例
金融
python3 scripts/search.py "贵州茅台股价" --explain
# 典型:命中 stock_query → 行情快照源
学术
python3 scripts/search.py "transformer attention mechanism paper" --json
# domain 常为 academic,引擎组合含 arxiv 等
研究与核验
python3 scripts/research.py "2026 公募基金二季报 持仓结构" --depth deep --json
python3 scripts/search.py "同一查询" --json | \
python3 scripts/evidence.py "同一查询" --stdin --json
MCP 工具一览(19)
安装与配置
环境要求
API Key(全部可选)
不配置则跳过对应引擎,免费引擎自动保底。请用环境变量,不要把真实 Key 写进仓库或贴到 Issue。
# 推荐(提升搜索质量)
export TAVILY_API_KEY="你的密钥"
export BOCHA_API_KEY="你的密钥"
export METASO_API_KEY="你的密钥"
export ZHIHU_ACCESS_SECRET="你的密钥"
# 可选
export BRAVE_API_KEY="你的密钥"
export FELO_API_KEY="你的密钥"
export GITHUB_TOKEN="你的密钥"
export WEB_SEARCH_API_KEY="你的密钥"
export ANYSEARCH_API_KEY="你的密钥"
export OCTEN_API_KEY="你的密钥"
export ARGO_KEENABLE_API_KEY="你的密钥" # 可选;Keenable 免费体验期
config.yaml 里只写 {ENV_NAME} 占位,不会提交明文密钥。
缓存
默认 SQLite 路径见 config.yaml 的 cache.db_path(一般为 ~/.cache/unified-search/cache.db)。
常见问题
不配 API Key 能用吗?
能。内置大量本地零成本引擎和免费 API 源,不配 Key 时自动走免费路径。
安装脚本和 npx 有什么区别?
安装脚本适合固定装在本机、改配置、挂 Skill;npx 适合快速把 MCP 挂进 Agent。两者底层同一套 Python 代码。
如何确认引擎是否正常?
python3 scripts/search.py --list-engines,或加 --explain。
会不会在仓库里复制多份代码?
不会。推荐「一份源文件 + 符号链接」。用 link_source.py,不要 rsync 多副本。
CLI 常用参数
python3 scripts/search.py [选项] 查询词
--engine, -e 引擎,默认 auto
--max-results, -n 条数,默认 5
--depth, -d fast | balanced | deep
--mode fast | auto | deep | budget
--no-cache 跳过缓存
--explain 打印路由说明
--json JSON 输出
--timeout, -t 超时秒数
--list-engines 列出引擎
设计取舍
- 先服务 Agent 吸收,再谈链接数量。
- 免费与本地优先,付费可选增强。
- 失败要可观测:空结果、超时、熔断分开标,不静默吞掉。
- 配置驱动扩引擎,
config.yaml为唯一来源。 - 唯一来源安装:链接入口、不 rsync 多副本。
- 不把社交当真理库;社交内容适合扩维与舆情,不适合单独当真值。
适用场景
- Claude Code / Grok Build / Codex / Kimi 等 Agent 的搜索后端
- 多语言、多领域日常问答:中英日韩等 + 金融 / 影视 / 体育 / 学术 / 代码
- 脚本与流水线里需要 可复现、可缓存 的检索
- 事实核查、金融公开信息、实体与公开资料的 多源对照
不太适合单独承担:平台内高级互动定榜、需要长期养服务的最大召回聚合器(已用内嵌本地引擎替代外挂 SearXNG 主路径)。
目录结构(简)
argo/
├── README.md # 中文介绍(默认)
├── README.en.md # English
├── README.ja.md # 日本語
├── README.ko.md # 한국어
├── README.es.md # Español
├── SKILL.md
├── package.json # npx 入口
├── bin/argo.js # Node 启动 MCP
├── bin/argo # Python CLI
├── config.yaml # 引擎与域配置(来源)
├── assets/readme/ # README 视觉资源
├── backends/
├── mcp/ # 多客户端 MCP 注入配置(clients.yaml)
├── scripts/ # search / research / mcp / install …
├── sub-skills/local-search/
├── sub-skills/ego-search/ # 登录态专业搜索(默认关闭,开启命令见正文)
├── tests/
└── docs/ # 含 ENGINE_CATALOG.md(搜索源使用文档,生成)
最近更新
v2.9.6:DeepSeek Search 接入 + 查询操作符契约 + 传输层去重付费 + 路由快照门
- 新引擎
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 页轮换后下一跳生效,不落盘不打日志) - 修复
--since/--until对 deepseek_search 静默无效(入 TIME_CAPABLE_ENGINES) - 新增
query_operators.py查询操作符契约层:site:/-site:/-词/-"短语"/lang:/after:/before:从五种散落形态收敛为结构化 operators;路由、缓存、查询理解只认剥掉指令后的 clean_query;site:/-site:真正后置过滤执行(子域匹配、多站点 OR,过滤数进site_filtered),操作符并入结果缓存键避免互串 evidence.py:新增 Agent 档双层摘要summary字段(借鉴 DeepSeek Search 摘要语义)- 传输层去重付费:POST 走连接池复用(实测同连接第二次请求省 320ms(anysearch)/ 561ms(octen)),含失效重借与响应体读干才还池;MCP 预连接;配额耗尽与死负缓存收口
- 路由:octen 进通用兜底链第二位与 TF-IDF 对冲位(anysearch 抖动窗口 p90 3273→1614ms、max 6266→1928ms、错误 9→0;健康窗口中位无差,定位为尾部保险),
ARGO_GENERAL_FALLBACK_LEGACY=1逃生开关退回旧序 - 修复 RRF 口径隔离名次衰减:同引擎所有结果同分(实测 anysearch 5 条均 0.017213),输出退化为按引擎权重整段拼接;新增测试锁「同引擎内分数严格递减」
- 修复 Bing ck/a 跳转壳不还原导致聚合层整批滤掉结果(近 7 天 40.2% 空结果):离线 base64url 解码还原真链,零网络
- 修复 TF-IDF 领队组合拼出
['anysearch','anysearch']并发跑两遍(双倍配额且 wasted_ms 记 0):200 条真实查询重放,重复 combo 1→0 - 搜索改进:失败负缓存、Nitter 故障转移、口径隔离、X Article 提取、查询词回声守卫(早停拒收 + 恢复链换引擎)
- 工程化:新增
scripts/pre-commit快门禁(static_lint / module_size_gate / usage_doc / consistency / routing_snapshot / context_budget + engine_catalog,实测 ~12s);路由决策快照门把路由翻转变成可 diff 的 golden(三处标注集并集 115 条,只比对 domain 与 kind 不被环境噪声假红);口径注册表同步测试锁「表里的引擎名必须真实注册」 - 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 - DSH 环境版本:DSH 0.2.1-rc.2(当前运行中,端到端实测)+ DSH 0.2.1-alpha.1(兼容,start 旧分支单测覆盖);对照表见
packages/dsh-plugin/README.md的 Compatibility 小节
v2.9.5:汇率查询专域 + 去重双轨 + 排序误杀修复 + daemon 多检出隔离
config.yaml:新增fx_query域——「人民币/美元 汇率、中间价、离岸」类查询不再落进宏观域空转后兜底百科词条,改为即期汇率 + 每日中间价快讯(实测 675ms,改前 1411ms 且答非所问)search_rank.py:去重补两层判据——标题站后缀归一(零依赖)+ rapidfuzz 模糊近重复复核(仅近似命中带内启用;ARGO_DEDUP_FUZZY=0关闭,未安装则自动回退纯 minhash)- 修复:精排降级时的标题分隔符误杀——含
|/_/——的标题一律 ×0.6,官方文档被压 40%;无 Bocha Key 的用户每条 auto/deep 查询都在受益(判据收敛到 rank_signals 单一实现) query_understanding.py:否定理解补「不是X」(疑问句式「是不是」不误判为否定)daemon.py:socket/pid/指针等落盘名字按检出目录隔离——多 worktree/clone 互抢 daemon、互杀进程、「改了不生效」三类故障根除- 新增可选依赖 rapidfuzz(
pip install rapidfuzz;install.sh 自动安装,缺失不影响核心功能)
v2.9.4:显式引擎域归因 + 恢复链止损 + 门禁同步
route.py:显式--engine X时补match_domains域判定,修复缓存 TTL 一刀切 generalrecovery.py:显式单引擎无备选时跳过 L1 同引擎空跑,减少无意义 RTTconfig.yaml:org_entity加 unless 股东尽调词;fund_query加 unless 政策法规词mcp_launch.sh:set -a收窄到. "$ENV_FILE"单行sub-skills/local-search/:引擎注册表层收口与 search_v3 质量提升- 门禁同步:module_size_gate / ENGINE_CATALOG / domain_profiles.json 基准对齐
v2.9.3:X 帖子完整打包 + 浏览器登录态车道 + 本地链质速双修
- 新增:
argo tweet——一条命令打包 X 帖子正文、串/引用/转发与互动数据;默认纯文本不下载媒体,--out落四件套(post.md/raw.json/manifest.json/CHECKLIST.md),--media按需下载图片/视频;主帖失败原因随产物可见不静默 - 新增:
argo auth浏览器登录态车道——login/status/logout管理站点持久浏览器 profile,扫码一次即可抓取需登录页面;cookie 只存 Chrome 自身加密存储、argo 不读取不导出,登录态结果标记login_state_used并拒绝入公共缓存(ARGO_AUTH_FETCH开启) - 更准:本地中文链搜狗/百度跳转壳无会话解析成真实直链(保留结果 1→5 条);意图门误锁修复(「教程」类查询不再被锁死单引擎);火车票表格行身份 URL 治漏斗压缩(候补 10→1 修为如实 10→10)
- 更快:共识宽限自适应(首引擎交足即放行,英文分发 ~3.0s→2.2-2.5s);本地长尾够数早停;本地图片指纹 mmap 矩阵点积(77k 张 158ms→3.9ms,默认关
ARGO_LOCAL_IMAGE=1);agent 消费自动瘦身 + markdown 内容协商,MCP 每调用固定开销 −32% - 更多源:43 个无域引用引擎接入对应领域;route_lang 语言路由;3 个零 key 金融源;
--academic-deep一键学术多源深挖;火车票中转+经停查询 - 更稳:js-run 车道接入 fetch 链第一级(重试带 Chrome 指纹);jsrun Session 泄漏与退避预算修复;超时收紧(redskill 60→15s)与声明策略三分组收口
v2.9.2:DSH 0.2.1-alpha.1 适配验证 + 路由与守卫一批修复 + js-run 子技能
- 更兼容:DSH 插件已在最新版 DSH 0.2.1-alpha.1 实测启用,原生一等工具 / web_search seam / wide_research 三形态照常工作;
argo mcp inject新增 WorkBuddy,一键注入覆盖到第 7 宿主 - 更准:TF-IDF 弱证据辅源化(低分语义推荐不再抢占主路由);死源地板 + 熔断槽位回填;配额耗尽引擎与主路由 / 恢复链隔离;serp_guard 修复网盘分享链连坐误杀、主流门户权威分归位
- 更快:engines / evidence 全栈惰性导入(默认路径 import 量 −50%);准入存在集合短路(open 次数 261 → 99)
- 更稳:MCP 入口守卫与数值参数守卫收口(null arguments、TOML 多 env 键、timeout / max_chars 共 11 处裸
int()换类型守卫);local-seek 四类假阴性收口(v1.4.0) - 新增:
sub-skills/js-run子技能(v0 骨架)——不开浏览器跑「环境探测 + 纯计算」型网页 JS,单次上下文 P50 ≈ 1ms
v2.9.1:内容质量优化 + 对抗内容农场 + 适配最新版本
- 更干净:优化了内容质量评估,提升了对抗内容农场的能力——搜索结果里低质、批量生成的内容会被更有效地识别和过滤
- 更兼容:适配了最新版本,确保与当前环境无缝协作
- 更稳定:本地搜索新增自身安装树守卫,避免搜索结果被自身源码污染
v2.9.0:搜索源优化 + 插件与 CLI 持平 + 多语言小语种
- 更全:搜索源 237 → 253(免配置 198 → 219),新增 14 个小语种本地新闻源、CORE 开放获取全文源、TinEye 反搜图、Bing RSS 稳定出口等;百度与搜狗两个常青源修活
- 更对齐:CLI 18 个命令与 MCP 19 个工具一一对应,插件与 CLI 搜索能力首次完全持平
- 更多语言:新增 14 个小语种源(泰/阿拉伯/希伯来/希腊/印地/越南/土耳其/印尼等),按查询语言自动配源
- 更快:导入链 −79%,重排序 n=200 场景 33ms→1.5ms,缓存命中率从六成到基本不 miss
- 更可信:配额写路径跨进程安全修复,早停结果不再误标超时,
argo stats让搜索质量有了自己的账本
v2.8.9:输出减重 + 检索更全更快 + 外媒与核查源 5 个
- 更省:默认输出 −66%(同一段结果不再重复写三遍);重复查询 −30%(路由决策缓存);慢网轮等待 −36%(主源卡过 0.8 秒自动补发备选源)
- 更全:召回 +35%、抓取时延 −30%;正文结构保真 0/6 → 6/6(标题、列表、表格不再被压平);中文内容不再被系统性判为低质
- 新增:搜索源 232 → 237(免配置开箱 194 → 198,全部免密钥——卫报、France 24、德国之声,声明核查 FactCheck.org / Full Fact 美英两口径);死源 gdelt 下线
- 更可信:六处「数字互相矛盾」的记账缺陷修复;六格漏斗让「搜到 0 条」能定位塌在哪一层;离线重跑对比工具让改动效果当天可验证;详见 发布说明
v2.8.8:真实用户问题修复 + 全面提速 + 搜索源 232 个
- 修复:按推荐名配密钥后引擎静默失效(#12);抓取链不走代理,GitHub 等站点必然失败(#13)——现在
ARGO_PROXY、config 按域规则、标准代理环境变量都生效,NO_PROXY尊重 - 提速:命令冷启动 2.1s → 0.55s;配置跨进程缓存 50–82ms → 16–18ms;每次搜索自带各阶段耗时与预算账单,慢在哪不用猜(
--no-timing可关) - 新增:搜索源 218 → 232(免配置开箱 184 → 194,全部免密钥:国内热榜、安全漏洞、学术开放获取、技能目录、Agent 搜索)、
argo answer直答、argo watch网页观察、CLI 与 MCP 工具面对齐 - 更稳:三平台惯例路径(新增
argo paths自省)、支持 Python 3.9、静默故障如实记账;详见 发布说明
v2.8.7:数据源扩充到 218 个 + 一批修复
- 数据源扩充:168 → 218 个源、72 → 89 个领域(新增 StackExchange 问答、DOI 论文元数据、漏洞情报、产品生命周期等官方源),抓取链新增三条拿正文直出通道
- 一批修复:多引擎路由、零结果自动换源、中文重定向、本地搜索降级等;详见 发布说明
v2.8.6:检索提速 + 多源分工
- 引擎竞速、知乎三源分工、多语言与学术分发放宽、死源显形检查
v2.8.5:DSH 插件工具原生化 + MCP 默认关闭 + Windows 兼容
- DSH 插件工具原生化:
argo_search/argo_fetch以原生一等工具注册,默认可用,不依赖 MCP 连接;schema 从mcp_tools.py唯一来源自动生成,两侧零漂移;除argo_research外 13 个工具都可经nativeTools按需启用 - MCP 默认关闭:DSH 三形态接入(MCP 按需挂载 / 原生工具默认入口 / web_search seam),平时零常驻 token 开销,要完整 19 工具面时一条 profile patch 打开
- Windows 全平台兼容(社区贡献 PR #11):临时路径走系统 temp、GBK 编码修复、
python3/python运行时解析、symlink 无权限自动退化 junction、新增 PowerShell 一键安装install.ps1 - 配额自愈完整链路:远端配额耗尽(HTTP 200 藏错误)自动识别、路由排除该引擎切备用源,周期结束自动回归,无需人工改配置
- 抓取全局 deadline:
ARGO_FETCH_DEADLINE_S(默认 60s)封顶降级链总耗时;429/503 停止信号尊重服务器指示;tinyfish 免费渲染层 +.md变体探测命中即跳过反爬链
v2.8.4:本地数据融合 + 多客户端 MCP 一键接入
- 深度研究能吃你本地的数据了:以前
argo research只吃网页,现在工作包能带file_inputs(你的一手 CSV / XLSX / 文献,登记哈希、内容不入账)+recompute(可复算执行器,安全地重算数字并和检索对账,对不上就提示) - 挂 MCP 不再手改配置:
argo mcp inject一条命令把 argo 注入 Claude Code / Cursor / Windsurf / Codex / OpenCode / Cline(原子写 + 自动备份 + 可还原) - 简单问题不被拖成多轮:查询归一化(全角→半角、版本号拆斜杠)+ 复杂度门控(低复杂度查询不放行高价多源)+ 社交/平台检索语法优先 + 丢了一个中文引擎会继续看备选
- 多接一个免费搜索源 Keenable(免费体验期、量较大,到期出问题直接停用即可)
- 安全加固:recompute 封死外部进程出网、主机路径全部改为安装感知(不再写死
~/.agents这类)、修了一处会把用户引向陈旧 npm 包的安装提示
完整变更见下表与各版发布说明。
版本记录
更细说明见 docs/RELEASE_NOTES_v2.7.0.md 与 docs/OPTIMIZATION_ROADMAP_v2.4.md。
贡献
欢迎提 Issue 与 Pull Request。改路由或证据逻辑时,请尽量补对应测试:
python3 -m pytest tests/test_unit.py tests/test_multilingual.py -q
python3 scripts/regression_p0p1.py --offline
python3 scripts/matrix_search_eval.py --offline
python3 scripts/ab_eval_p0p1.py # 可选,含在线实测
提交前请确认:不含真实 API Key、本机绝对路径、账号 cookie 等敏感信息。本机 Skill 路径请写在 installs.local.yaml(已忽略)。
License
MIT License © 2026 taxueseek
好的搜索不是让你看得更多,是让你更敢下结论——以及知道什么时候还不该下结论。
生态联动:与 Invest 系列投资技能集成
本引擎的财经垂直源(eastmoney、nbs_stats、jin10、nbs、fred、eurostat、finviz 等)已接入 invest 系列投资技能。
invest-cli 通过 info(invest-cli info <词> --engine eastmoney)与 intent macro 直接复用 argo 的财经 / 宏观 / 资讯取数,用于环节配额、低成本、多源数据,与 invest-cli 的结构化数据层(Wind / 盈米 / 东财 / yfinance / 天天基金)协同。
最新版已完成 argo 数据与 invest 系列技能(v2.0.5)的集成。