# 验证记录 日期:2026-09-30。插件版本:0.2.0。环境:Windows、Node.js 24.19.0、npm 11.17.0。真实宿主与 SDK:DSH `0.2.0-rc.2`。 以下为拆分前两个插件的联合验证记录(共 50 项)。本仓库保留对应测试及共享逻辑测试,拆分后的检查由独立 CI 运行。 ## 自动检查 | 检查 | 结果与范围 | | --- | --- | | TypeScript | `npm run typecheck` 通过 | | 核心与失败路径 | `npm test`,50 项通过,包含真实文件、锁与子进程操作;npm 网络异常和部分管理状态使用替身 | | 构建 | 两个包生成 Host、CLI、core、Typert 与 Web client 入口 | | 真实工具管线 | `test:host`:DSH 加载两个插件,本地模型通过真实工具管线调用 plan/check | | 真实 SDK | `test:host`:独立环境执行、运行中取消、关闭子进程及清理临时目录 | | 真实插件冲突 | `test:conflicts`:五个故障与对照包,经官方 CLI 安装;服务冲突、旧接口、加载抛错和依赖等待均实际发生 | | 真实处理与恢复 | 实际 Plugin Manager 隔离故障包,保留正常服务提供者,拒绝冲突恢复,故障修复后恢复主插件与依赖插件 | | 真实卸载 | 隔离旧接口包后实际调用 `removeBundle`,确认其已不在已安装 bundle 列表中 | | 启动故障 | `test:startup`:缺失导出与配置错误在此版本降级启动;`process.exit(73)` 导致退出;永不返回的 async apply 导致启动超时 | | 离线救援 | 四种启动故障分别备份并停用目标包,随后启动均恢复正常 | | 本地损坏安装 | 缺失/损坏 manifest、patch、前端产物,越界路径、错误包身份和失效 link 均通过真实临时文件测试 | | 状态变化 | 检查后插件已变更、外部重新启用、外部升级、旧失败次数、重启遗留任务、其他进程运行中均有断言 | 真实冲突报告写入 `.test-output/conflict-report.json`,启动报告写入 `.test-output/startup-fault-report.json`;访问令牌从报告日志中移除。它们是本次本地证据,不随 npm 包发布。 ## Web 交互 在真实 DSH Web 中验证:两个侧边栏入口、任务示例与规划、预设保存、运行确认、跨页面后台执行、历史结果及清理状态、冲突隔离确认、拒绝带冲突恢复、升级预检。界面取消任务后显示“已取消 / 临时环境已清理”。使用原生主题与组件,页面错误保留到下一次明确操作。 在 1200 × 900 和 480 × 900 窗口检查布局,两种宽度均未发生横向溢出;窄窗口的表单改为单列。实际切换原生浅色与深色主题,检查文字、卡片、按钮及状态标签。浏览器尺寸覆盖在检查后恢复。 界面截图保存于 `docs/images/`,其中插件名与运行内容来自临时测试环境。该环境的模型回复由本地替身生成。 - [兼容守护:浅色主题](images/guardian-light.jpg) - [自组装:深色主题](images/autocompose-dark.jpg) - [自组装:窄窗口](images/autocompose-narrow.jpg) 两个 Web client 构建产物均约 99 KiB,低于 256 KiB;组件通过官方运行时共享。 ## 本轮测试促成的修正 1. 两个插件并行争用服务时,改为优先保留实际已运行的一方,避免按声明优先级先后停用双方。 2. 升级预检将官方基础组件按随 DSH 升级处理,避免其精确版本依赖产生基础组件误报。 3. 修正 Typert RemoteResult 解包、远程服务注入作用域和严格编解码工厂;增加界面渲染错误边界。 4. 恢复失败提示不再被自动刷新清掉;旧检查结果不能操作已变化的插件。 5. 复用预设重新计算能力;其他进程的活动任务不再误报中断;外部升级会结束旧隔离记录。 ## 验证边界 - 集成模型使用本地 HTTP 替身,验证执行流程,不评价真实模型任务质量。未消耗付费模型额度。 - 历史在线发现曾实际读取 npm 候选;本轮网络错误用受控替身注入。未执行第三方 PDF 插件的实际内容处理,也不把包说明当成功能验证。 - 真实卸载在临时 Web profile 中完成;Desktop、Linux、macOS 与未来 DSH 版本未运行验证。以下为拆分前记录;发布时的独立 CI 结果见文末。 - 前端缺失文件、RPC 描述及本插件界面有检查;第三方旧图标、浏览器业务错误、会话格式迁移、原生模块崩溃不能通用自动修复。对应范围见[故障覆盖表](failure-matrix.md)。 - 当前版本以两个独立仓库和 npm 包发布。用户现有 DSH profile、凭据与其他项目未修改。 集成脚本使用各自新建的临时目录并在结束时清理。预览关闭时清理自身临时环境。 ## 独立仓库 本仓库为 dsh-compat-guardian。另一插件及对应测试见 [dsh-autocompose](https://github.com/Han-1413141/dsh-autocompose);两个仓库的共享检查测试有重叠,不将测试总数简单相加作为新增覆盖。 ## 0.2.0 发布验证 独立仓库的 35 项测试通过;[Windows/Linux CI](https://github.com/Han-1413141/dsh-compat-guardian/actions/runs/36690598207) 均通过,验证提交为 `a731a03d9239537b29d8302d3427bb28bb46a84f`。 最终 npm 安装包已通过官方 CLI 安装并在真实 DSH Web 中加载,线上完整性值与本地测试文件一致。GitHub Release 附件与 npm 使用同一安装包。 ## 0.2.1 安装修复验证 2026-09-30,提交 `33aa4132801a43b4d39102e831f8847265716497`。 - 仓库包含编译文件并移除 `prepack`,修复 Git 安装需要构建授权的问题。 - pnpm 11.21.0、全新独立 store、空 `allowBuilds`,不传 `--ignore-scripts`:直接从公开 GitHub 地址安装通过,入口文件与本地编译结果一致,CLI 帮助正常。 - 最终 npm 安装包在真实 DSH Web 中加载为 `active`。 - [本次 Windows/Linux CI](https://github.com/Han-1413141/dsh-compat-guardian/actions/runs/36693742679) 全部通过,包括 35 项测试、Git 安装、真实冲突处理与启动故障救援。