# 质量评测 ## 执行方式 ```sh pnpm run benchmark:quality --output quality-offline.json pnpm run benchmark:quality --live --output quality-live.json ``` 默认离线执行,无需密钥,也不访问外部接口。脚本通过真实搜索融合、正文整理、预算和取消逻辑重放合成输入。`--live` 另外调用 AnySearch、Firecrawl、Tavily 的官方匿名接口,消耗公共额度;不读取本机凭证,不挂载正式 DSH profile,不调用决策模型或付费增强服务。 JSON 报告记录执行时间、Node.js 版本、Git 基线、工作树是否有改动、场景结果和请求计数。有失败时命令返回非零退出码。各场景顺序执行,每次只测一个操作,不把并行场景的请求混在一起。 ## 场景与指标 | 场景 | 输入与指标 | 结论范围 | | --- | --- | --- | | 中文问题 | 中文安全出行问题;冻结的 URL 相关性分级;Precision@5、nDCG@5 | 检查融合顺序对已知相关结果的保留,不代表搜索引擎的中文能力排名 | | 新闻 | 合成带日期的通报、新旧内容混合;相关性分级、带日期来源数、时间窗口内来源数 | 未提供日期的来源不计作新鲜结果;不以“出现日期”代替相关性 | | 中文长文 | 每份超过 3 万字符、60 节手册与三份互补附录;12 个独有段落、表格、代码和链接标记的保留率、章节保留数 | 比较单份、完整整理和 1,000 字符预算截断;正文字符数单独记录,不充当内容保留率 | | 挑战页 | HTTP 200 的人机验证页面与正常正文混合,以及全部为挑战页 | 检查挑战内容排除、正常正文保留和全部拒绝;不尝试绕过挑战 | | 慢搜索/提取 | 三路立即返回、一路延迟 2.2 秒;固定自定义与自动均衡档 | 记录墙钟耗时、取消请求数、慢路独有内容和输出不完整标记;决策响应为合成输入 | | 真实匿名调用 | 中文技术问题、历史新闻核验、执行当日 AI 新闻与中文长文 | 记录可用性、主题词命中、日期覆盖和长文关键词命中;不直接报告人工相关性分数 | Precision@5 使用固定分母 5,缺失排名按不相关处理。nDCG@5 使用 `2^grade - 1` 的增益和对数位置折扣;重复 URL 与未标注 URL 不得分。相关性标签与合成正文位于 `scripts/quality-cases.mjs`,与执行器分开,便于检查评分依据。 真实行的 `status: PASS` 仅表示返回了可用结果;`qualityStatus: PROXY_ONLY` 表示没有独立人工相关性标签。`topicMatchAt5` 是标题或摘要的任一预设主题词命中率,无法判断回答是否正确、新闻是否可信或来源是否权威。真实新闻另记录 `datedSources` 和当日北京时间窗口内的 `inWindowSources`,无日期时 `freshnessStatus: UNKNOWN`,不能按当日新闻通过。历史新闻与实时新闻分别记录。长文关键词命中不等于逐字保留率;完整段落、表格与代码保留由离线场景检查。 ## 请求成本 每行的 `cost.requests` 统计客户端实际派发的 fetch 调用,`byKind` 区分决策、搜索、提取等请求。离线传输为合成响应,真实调用使用相同预算边界;包含补充检索以及已经发出后被取消的请求。透明网络层重试、供应商内部抓取与计费单位不可见。 `monetaryCost: null` 表示没有供应商账单证据,不能从请求次数推算金额。匿名调用也会消耗共享额度。取消慢渠道只能证明减少等待,不能认定免计费;自动档本身还有决策请求成本。 ## 本次结果 2026-10-16,Windows / Node.js 24.20.0,本地工作树基于 `f867924`:11 个离线场景通过。中文问题 Precision@5 为 0.8,新闻为 0.6,两者 nDCG@5 均为 1;这反映合成标签,不是实际渠道评分。中文长文单份模式保留 4/12 个独有标记,整理模式保留 12/12,均保留 60 节;1,000 字符预算下保留 11 节、0/12 个独有标记,并明确标记截断。混合挑战页被排除,全部挑战页明确拒绝。 慢渠道固定档约 2.2 秒、自动档约 1.2 秒;固定档派发 4 次请求,自动档派发 5 次(1 次合成决策、4 次渠道请求),其中 1 次被取消。自动提取因此遗漏了慢路独有内容,结果标为不完整。 首次真实匿名测量中,中文技术查询、历史新闻和中文长文均返回可用结果,分别派发 5、3、3 次请求;技术查询包含限定域名补充检索。中文长文输出 49,919 字符,命中 5/5 个关键词,触发输出截断。上述单次结果只证明对应时刻和样本,不支持稳定性或渠道排名结论。 扩展的执行当日 AI 新闻样本返回 5 个来源、派发 3 次请求,但这些来源均未提供结构化发布日期。虽然主题词命中为 5/5,新鲜度仍为未知,不能声称获得 5 条当日新闻。当前待补充的是独立相关性标注与日期证据,而不是继续重复成功调用。 脱敏测量记录见 [本次数据](./verification/quality-20261016.json)。无凭证隔离 DSH 的设置控制器已完成两条入口、保存读回和原生搜索/提取验证;随后补齐了真实页面的[视觉、键盘与窄屏验收](./verification/first-use-gui-20261016.md),修复入口焦点与手机宽度布局。原始质量报告保留首次执行时的 GUI NOT_RUN,补验结果单独记录,避免改写旧证据。 后续还补充了两类正式环境证据:[正式 DSH 会话实战验收](./verification/live-session-20261016.md) 记录模型自主调用、deep / fast 自动切换和「不读取网页」约束;[0.2.14 正式 profile 安装验证](./verification/formal-profile-v0.2.14-20261016.md) 记录正式升级、重启与三路提取。它们验证部署路径和工具行为,不替代本页的检索质量、相关性标签或新闻新鲜度评测。