# 本地验收记录 ## 2026-10-30:0.2.4 后续 RC 自动兼容 - 允许加载范围为 `>=0.2.1-rc.5 <0.2.2-0`,开发依赖仍固定 rc.5。 官方兼容性检查器覆盖 engines 和 peer 回退:放行 rc.5、模拟 rc.6/rc.7、 `0.2.1` 正式版,拒绝 rc.3 及 `0.2.2` 系列(含预发布)。 - `npm run check:all`:类型、公开内容检查、44 项单元测试和构建通过。 覆盖缺失服务/方法、初始化失败后的作用域清理、RPC 单次注册、 只读状态接口的所有者限制,以及未知索引在写入/包装前被拒绝。 - 官方 rc.5 宿主/Chromium 集成 9 项通过,包含宿主和界面六项状态、 角色设置、并发队友、合成会话完整浏览器删除,以及工程开关两种状态下 与官方 Team 界面的共存。独立安装的 `.tgz` 也通过同一套 9 项检查。 - 原版 Windows Desktop rc.5 实机确认:宿主和界面六项状态可用, 工程角色显示 7 项。既有会话的删除菜单可打开预览并取消, 未确认删除既有会话;合成会话使用所有者 RPC 删除并回读确认不存在, 临时工作区注册与空测试目录随后移除。测试未调用模型。 - Desktop 已有官方团队界面时复用该界面,避免重复注册 `agent-team` 语言包;未配置时由插件在独立作用域中延迟挂载打包的官方工厂。 - 通过 Desktop 自带官方管理器替换插件;其他插件直接依赖、启用顺序、 用户 Cordis 配置及兼容性豁免回读一致。四项 DSH 运行依赖回读均为 rc.5。 模拟未来版本只证明版本门禁放行,不代表已在未来宿主上完成运行验证。 以下为此前固定 rc.5 适配及更早 rc.3 的历史记录。 ## 2026-10-30:rc.5 兼容修复 当前源码的 `engines.dsh`、DSH peer、运行及开发依赖均固定为 `0.2.1-rc.5`。旧版 `dsh-agent-preset` 会遮蔽宿主内置预设并被兼容性检查 拒绝,造成 `Unknown agent preset: standard` 和角色 RPC 定义撤回; 此次同步依赖消除了该启动失败,没有添加版本豁免。 - `npm run check:all`:Host/Client 类型、公开内容校验、39 项单元测试及构建通过。 - 未修改的官方 `dsh-v0.2.1-rc.5`,提交 `b830ec950faba0a46dda564be3e2d854afed94f1`:`npm run build:artifacts` 的 7 项门禁及 `npm run build:check` 的 2 项类型检查通过; `npm run test:stock` 的 8 项真实宿主/Chromium 集成用例通过。 - 最终 `.tgz` 使用 `npm install --ignore-scripts` 安装到独立目录后, 对该安装产物运行同一套 rc.5 集成用例,8 项通过。 直接把 Desktop profile 目录接入隔离宿主的尝试因缺少 Desktop 加载器提供的 Cordis peer 而失败,不能作为可移植安装环境;没有为此修改实际 profile。 - 集成用例使用官方兼容性检查器验证 rc.5 无豁免通过,其他未声明版本被拒绝; 测试入口也会在启动前拒绝版本不匹配的官方源码目录。 - Windows 原版 Desktop rc.5:通过安装自带的官方 CLI 卸载旧插件、安装本地新构建, 完整重启后主插件及团队界面组件均为 active,标准预设及工程预设均可读取。 “工程角色”页显示 7 项角色,无错误提示;四项 DSH 运行依赖回读均为 rc.5。 - 实机验证后恢复普通启动,临时调试端口已关闭,没有新增崩溃日志。 本次未调用付费模型或删除既有对话;删除验收使用隔离集成环境。 以下为历史 rc.3 验收记录,不代表当前源码仍支持 rc.3。 日期:2026-10-27。环境:Windows、Node.js 24.18.0。 本次使用独立克隆的官方 `dsh-v0.2.1-rc.3`,提交 `1f81c047fc48fa190a683e469daa699857e9afe8`,未应用 `compat/harness` 中的历史补丁。测试启动时额外断言宿主没有 `agents.disposeForDeletion`、 `sessions.reserveDeletion` 和 `sessionPersistence.deleteSessions`。 ## 已执行的检查 | 层次 | 检查 | 结果 | | --- | --- | --- | | 插件静态与构建 | `npm run check:all` | Host/Client 类型检查、七技能与公开内容校验、19 项单元测试、构建通过 | | 原版宿主产物 | `npm run build:artifacts` | 7 个产物门禁通过 | | 原版宿主类型 | `npm run build:check` | Client 与 Host 两个聚合检查通过 | | 原版隔离运行时与浏览器 | `node tools/harness-integration.mjs .harness/stock` | 6 项通过,使用真实官方 Agent、Team、持久化、Gateway 和 Chromium | | 无脚本安装产物 | `npm pack --ignore-scripts`,随后 `pnpm add --ignore-scripts --offline` | 安装通过;使用安装目录运行同一套 6 项用例,全部通过 | | Git 安装产物 | `pnpm add git+file:///#a1e421b --ignore-scripts --offline` | 安装通过,产物与提交一致;6 项集成用例全部通过 | | Windows 原版 Desktop | 官方 `0.2.1-rc.3` / `be72761ee1a6736ebcdf4f3739363b083ae53c98` | 插件管理器从 GitHub `#v0.2.0` 安装、启用及重启通过 | ## Windows Desktop 实机补充验收 已恢复替换前保留的原版程序,仅恢复安装文件,没有回滚现有配置及历史。 原版 `app.asar` 的 SHA-256 为 `04B32E3A872826BA15CFB2081C6A929A8D4ECAA65E09A2543E5A6B30E2EFF1F0`; 安装插件与测试后的回读校验值不变。 通过 Desktop 插件管理器卸载旧插件,再安装 `github:YaoGUanquan/ai-agent-engine-deepseek#v0.2.0`, 显示版本 `0.2.0`,启用后正常重启。没有替换或修改原版安装包。 新建有明确验收标题的测试会话,使用真实 `deepseek-account / deepseek-flash` 完成简单回复,并实际创建 `backend`、`frontend` 两个官方 Team 队友, 分别收到 `BACKEND_OK` 和 `FRONTEND_OK`。 团队面板显示工程负责人、后端工程师、前端工程师。 测试提示禁止读写工程文件;未要求或执行真实业务修改。 右键删除确认框识别出两个所属队友,取消后完整保留。 确认删除后,三份测试日志在磁盘上消失,公共会话列表移除, 页面刷新及 Desktop 完整重启后均不再出现;删除身份记录已完成。 删除对象仅为本次创建的测试树。 本机补丁构建、测试版及备份的清理命令被执行策略拒绝。 本记录不将磁盘清理标为完成,也不把它当作插件运行依赖。 ## 0.2.1 原版 Desktop 升级验证 通过同一 Windows 原版 Desktop 的插件管理器卸载 `0.2.0`, 从 `github:YaoGUanquan/ai-agent-engine-deepseek#v0.2.1` 安装并启用 `0.2.1`,完整重启后验证插件接口正常响应。 升级前后逐项核对,已有会话日志仍在,其他插件依赖及组合顺序保持不变, 用户配置文件和原版 `app.asar` 的校验值不变。 已安装的三个运行入口与发布产物逐字节一致。 本次升级验证没有重新调用付费模型或删除既有对话。 完整双队友和永久删除功能的实机证据沿用上文的 `0.2.0`, 两个版本的运行文件完全一致。测试后恢复正常启动方式,不保留调试端口。 ## 对话删除 浏览器覆盖当前打开、归档及包含两个运行中队友的主对话。右键不改变当前选择, 取消保留数据,确认停止任务并删除所属子会话。删除后投影缓存与搜索结果移除, 第二客户端同步更新,页面刷新后不再出现。独立分叉仍能读取继承的历史。 测试还把删除前的合成记录和未完成的已提交删除日志放入新的独立 Host 数据目录, 重新启用插件,验证初始化完成清理、日志文件消失、旧身份恢复被拒绝, 独立分叉仍被保留。只等待 Loader 并不足以证明子服务已初始化; 恢复测试额外等待删除服务实际可用。 接口验证所有者限制、明确确认、伪造范围拒绝、晚创建子会话导致确认过期、 并发确认、首次启用前已存在 Agent 的生命周期保护,以及删除中卸载时先排空操作再恢复接口。 首次安装后需要正常重启一次 Desktop,无需定制构建。 禁用搜索时的索引清理另有 SQLite 测试:只删除指定身份,保留无关记录; 不认识的数据库被拒绝且内容不变。 ## 工程协作 Standard 和可选工程 Preset 均能使用工程策略,默认 Preset 不变。 简单任务不会创建队友;两个真实 Team 成员同时运行;任务依赖未完成时不能认领。 既有官方 Team bundle 的人数限制被保留,工程模块可独立关闭。 另通过真正安装产物验证:官方 Team 服务仍在启动时,插件不会注册竞争服务。 该场景不能仅用源码直连证明,因为独立安装的模块类身份与宿主不同。 团队面板与任务负责人按职责显示,支持中英文切换,工具寻址标识不变。 桌面及 390px 窄屏的角色面板、删除确认框已截图检查, 截图在本地 `output/playwright/`,不包含于安装包。 ## 证据边界 自动化测试使用原版宿主源码构建及隔离浏览器运行时;上文另记录了 Windows 原版 Desktop 与真实 DeepSeek Flash 的实机补充验证。 未删除既有真实历史;仅按授权更新了插件安装来源和启用配置。 其他平台 Desktop 安装包及任意其他模型的角色选择仍未验收。 安装包随附 `lib/`,不包含宿主补丁及应用补丁工具。 Git 提交、标签、隔离安装及远端发布状态以本次交付结果为准。 正式标签 `v0.2.1` 指向 `e46128b`;当前 `main` tip 为 `2db8954`(相对该标签多 1 个文档提交:补齐最新版安装确认与 Desktop 升级验收)。正文中 `a1e421b` / `v0.2.0` 相关条目仍为当时验收证据,予以保留。 这份记录不代表官方全量回归或所有平台、所有模型均已验收。