# 验证与回归 在源码目录中运行(不需要安装额外 npm 依赖): ```powershell npm.cmd run check npm.cmd test ``` `check` 检查 JavaScript 语法,在 Windows 上同时解析原生 PowerShell 脚本。 `test` 使用 Node 内置测试框架,覆盖媒体 Range、真实媒体接口、上传历史回收、共享媒体引用保护以及会话配置失败和重试。 Windows 进程测试会启动一个临时 PowerShell 测试进程,确认错误的脚本路径或状态文件路径不能触发结束操作,然后结束身份匹配的测试进程。它不操作真实的 DSH 进程。受限沙箱如果禁止 CIM 查询或进程信息读取,该测试会明确失败;请在正常 Windows 用户环境中运行,不要把访问拒绝当作通过。 GitHub Actions 配置在 Windows runner 上运行以上检查。非 Windows 系统跳过原生进程测试。 ## 修复后的行为 - 视频 Range 正确支持尾部范围、开放终点、越界终点截断和 416 响应;不支持的多范围请求回退为完整响应。 - 保存外观后清理未被当前设置或两类历史引用的插件生成媒体;不会删除任意命名文件、目录或符号链接。占用文件清理失败会记入 Host 日志,下次保存时重试。 - 上传文件名加入随机后缀,避免同毫秒上传覆盖。 - 旧助手进程必须匹配 PowerShell 可执行路径、`-File` 脚本路径和 `-StatePath` 状态路径才允许结束。无法查询身份时不执行结束操作;不同插件目录启动的旧实例应先正常退出。 - 新会话发送前等待权限和模型设置生效;失败会保留输入并显示错误,后续发送会重试配置。 ## 发布前仍需实机检查 自动化测试不替代完整 DSH 体验验证:检查悬浮球打开/隐藏、流式回复与停止、附件、审批与提问卡片、模型与权限切换、WebView2 缺失回退、多屏 DPI,以及隐藏十分钟后的窗口回收。