Skip to content

v1.1.8 — DSH 0.2.x 兼容与用量统计修复

Choose a tag to compare

@Max-Samson Max-Samson released this 22 Oct 03:38

更新重点

本次主要修复 DSH 升级到 0.2.x 后插件无法加载的问题,并补齐新版会话日志的用量、成本与时序统计。

兼容性修复

  • 将 DSH client peer 范围扩展为 >=0.1.0-rc.6 <0.3.0-0,覆盖 0.1.x / 0.2.x,并排除未来 0.3.0 预发布版本。
  • 移除已退役的 @deepseek-ai/dsh-client-runtime peer、inject 和类型导入;客户端 Context 改为自包含声明。
  • 助手节点新增读取 0.2.x 的 providerMetadata,保留 provenance → providerMetadata → requestConfig 的模型识别回退顺序。

用量与成本统计

  • 支持从 assistant/message.usage 读取用量,并在其缺席时回退到流内最后一条 usage 记录。
  • 将 assistant/attempt.stream 中失败请求的已报告用量计入会话总量与每轮成本,重试前后分别计费,避免漏算。
  • 修正 TTFT:取首个真正携带 token 的片段,跳过结构记录和空片段;带工具名的工具调用增量也计入。
  • 修正输出 TPS:按各次请求的流式生成时长之和计算,排除工具执行及步骤间等待;生成时长为零时不报告吞吐。
  • 适配对象形式的 user/message.source,正确区分人工输入、Agent/运行时注入与目标续跑;保留旧版字符串来源支持。

发布包与文档

  • 同步 npm lockfile 的 peer 范围与元数据,移除退役 runtime 条目,未升级已锁定的依赖版本。
  • 修正 README 截图与 npm 发布清单的文件名不一致问题。
  • 同步双语 README、CHANGELOG、架构、路线图及贡献/发布指南,明确验证范围与升级流程。
  • 新增 lockfile 根元数据一致性和 README 截图收录回归测试。

验证结果

  • npm run verify:57 项测试通过,0 跳过(Mac 本地验证)。
  • 最终提交 c1187a0 的 GitHub CI 已通过(Node.js 20 / 22)。
  • npm pack --dry-run、实际 tarball 生成及解包检查通过;已核实 Host/Client 入口、类型声明与截图文件。

兼容性验证说明:回归测试覆盖两代事件形状;兼容性 PR 作者报告了 DSH 0.2.1-rc.2 链接构建的浏览器冒烟测试。移除 runtime inject 后尚未重新完成 0.1.x 实机安装测试,不能将单测或链接构建冒烟视为双版本干净 profile 安装验收。

升级方式

npm 发布工作流完成后,显式安装目标版本:

dsh plugin --profile web add dsh-usage-chart@1.1.8

升级后请重启 dsh web,并刷新已打开的网页。

感谢 @ChthoIly 提供 DSH 0.2.x 兼容性适配。