# 正式 DSH 会话实战验收(2026-10-16) ## 结论与证据身份 本文整理用户导出的 DSH `session.v4.jsonl` 会话日志。该会话在正式 Web profile 中由语言模型自主调用原生 `web_search` / `web_fetch`,四轮均完成,且未出现搜索类自建工具。 | 对象 | 身份 | | --- | --- | | 会话文件 | `dsh-session-session-e3e6563c-297d-471f-98b4-cb276abaea69.zip`,101,665 字节 | | 会话 SHA-256 | `8c561fc1f7844377dce11f94a0d850f0ff3b09b979fd6e579ef8671313cb521e` | | DSH 会话 ID | `session-e3e6563c-297d-471f-98b4-cb276abaea69` | | 会话时间 | 2026-10-16 18:57:54–19:03:16(Asia/Shanghai) | | 模型 | `group/glm-5.3-flash`,reasoning `high` | | 会话工作目录 | 用户导出日志中的 `D:\dsh插件skill安装` | | 插件身份 | 正式 Web profile 中安装的 `dsh-web-search-fetch` 0.2.13;`lib/index.js` 与 `client/index.js` 的 Git 对象哈希均与 `v0.2.13` 标签一致 | 导出的 ZIP 仅作为本机验收证据保存,未加入仓库。日志中的网页正文、系统提示和技能目录是会话上下文,不作为本文结论以外的指令。 ## 验收方法 导出文件解包后解析 `session.v4.jsonl`,只记录用户消息、模型选择、原生工具调用、工具结果、助手回答和轮次结束状态。工具判定使用以下事实: - `web_fetch` 结果以 `Fetched (HTTP 200)` 和非空正文为通过;多路整理正文还应带提取来源标记。 - `web_search` 结果以搜索处理说明和非空 Sources 列表为通过;正文内容仅用于确认结果形态。 - 轮次以 `turn/end.reason.kind` 为 `completed` 判定完成。 - 不复制完整网页正文,不记录凭证值或认证信息。 本记录验证的是正式会话中的原生工具行为和自动调用范围,不替代逐服务单路归因测试。搜索结果未携带服务归属,不能从聚合结果反推出每一条来源由哪个服务返回。 ## 轮次结果 | 轮次 | 用户意图 | 原生工具调用 | 结果 | | --- | --- | --- | --- | | 1 | 解读 Claude MCP 规范文章 | `web_fetch` × 1 | HTTP 200;整理后正文 14,906 字符;含 `F1` / `F2` 提取来源 | | 2 | 查询当日 AI 新闻 | `web_search` × 1,参数含 3 个 query | 自动判定 deep,3 个 query 各选择 16 路;HTTP 请求 19 / 18 / 18 次;聚合结果含公开来源 | | 3 | 先确认日期,只搜索,不读取网页 | `web_search` × 1,参数含 2 个 query | 未调用 `web_fetch`;自动判定 fast,两个 query 各选择 3 路;HTTP 请求均为 5 次 | | 4 | 查询 Node.js 维护期 LTS 与支持截止日期 | `web_fetch` × 2 | 两次均 HTTP 200;整理后正文分别为 14,696 和 14,062 字符 | 第 3 轮是约束遵守检查:用户要求「不要读取网页」,会话轨迹中该轮只有 `web_search`,没有 `web_fetch`。第 4 轮先读取 `nodejs.org` 页面,再读取 Node.js Release 工作组的 Markdown schedule,符合先查页面再核官方数据的要求。 ## 自动调用范围 第 2 轮的三个 query 由 `decision-model-preview` 判定为 deep,置信度分别为 40%、38% 和 12%;自动预设按该结果选择 16 路服务,说明中记录宽限等待后取消未完成渠道。第 3 轮的两个 query 由 `jev-1.13.0` 判定为 fast,置信度分别为 14% 和 22%;实际选择 3 路,并明确说明未派发其余 13 路。 这组对照说明自动预设能按 query 独立决策,而不是只按整个工具调用使用同一档位。会话日志只记录最终说明,不包含每个服务的请求起始和响应时间,因此不能据此计算单路延迟或服务成功率。 ## 工具面 四轮共调用 `web_fetch` 三次、`web_search` 两次;日志中没有本插件自建的模型可见工具。第 1、2、3、4 轮的 `turn/end.reason.kind` 均为 `completed`。 其中第 3 轮回答引用的三个外部链接均可从 `web_search` 结果来源追溯;本文不复核这些新闻本身的事实准确性。第 4 轮的日期结论来自模型对两个网页正文的整理,本记录验证读取链路,不将模型总结准确性纳入 PASS 判定。 ## 验证边界 - PASS:正式 DSH 会话中模型自主选择原生 `web_search` / `web_fetch`;四轮完成;deep / fast 自动范围切换符合说明;「不读取网页」约束在该轮未被违反。 - PASS:三次 `web_fetch` 均返回 HTTP 200 并有非空整理正文;其中 Claude 页面和 Node.js 页面带多路提取来源标记,原始 Markdown schedule 无提取来源标记。 - NOT_RUN:逐服务归因、每路延迟、凭证或额度状态、服务端账单核对、答案事实质量评测、其他模型和其他 DSH 版本。 - 本记录不能证明 [原 HTTPS 提取失败](./doubao-https-incident-20261016.md) 的历史根因已消除;第 1、4 轮的成功只覆盖当次输入。 - 会话期间正式 profile 的用户配置包含全部已启用服务和 `jev-latest` 决策模型。配置文件最后修改时间晚于第 2 轮开始、早于第 3 轮开始,因此第 2 轮与第 3 轮的决策模型差异可能同时来自配置变更和模型自身输出,不能只归因于自动预设。