Repository navigation
v1.1.8 — DSH 0.2.x 兼容与用量统计修复
更新重点
本次主要修复 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-runtimepeer、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 兼容性适配。
- 兼容性 PR:#19
- 完整变更:v1.1.7...v1.1.8