# 解析器解耦验证报告 > 本文保留更名前的验证事实与包名;当前名称为“插件桥 / Plugin Bridge”,npm 包名为 `@rvaim/dsh-plugin-bridge`。包身份调整及其实际验证单独见[包更名说明](<包更名说明.md>),不以更名重写本文的 226 项历史结果。 ## 现状 本轮基于 `@rvaim/dsh-compat` 工作区版本 `0.4.4`,未发布。Plugin/Source 缓存版本为 `5.0.0`,内置解析器实现版本各为 `1.1.0`。协议版本及上游基线保持之前单独记录,不把实现版本当成标准版本。本轮明确不保留旧 API、转发文件或旧运行 IR 兼容分支。 ## 目录收敛复验 2026-10-21,源码一级目录已从 13 个收敛为 10 个。加载器移入 `manager`,能力适配器移入 `runtime/adapters`,Host 与浏览器分别归 `web/host`、`web/client`,协议共享描述类型归 `types/protocol.ts`。旧目录删除,没有保留转发壳。 迁移了 12 个文件,43 个文件中的 63 处模块导入按绝对目标重新计算相对路径;非导入业务文本保持一致。浏览器构建入口、Host Typert 分析排除、Client 类型导出及测试文件路径同步更新。模型版本仍为 `5.0.0`,协议实现版本仍为 `1.1.0`。 本次重新执行 `npm run verify`:**226/226 自动化测试通过,八种物理移除组合全部编译和加载成功,505 个发布文件检查通过**。结构守卫固定十个一级目录、Web 前后端边界、扁平的三种运行适配器及中立类型归属。发布检查要求新路径产物,并拒绝旧 `core`、顶层 `adapters`、顶层 `client`、协议 `shared` 和旧 Web gateway 的残留编译文件。本次未安装或改动当前 profile。 ## 验证目标 - CC、传统 Codex、Agent Plugins 解析器可独立取消注册并移除实现目录。 - 核心和运行层不导入具体实现,协议模块不互相导入。 - 剩余解析器输出保持一致,缺失格式明确诊断且不被其他默认规则接管。 - 旧缓存、解析器集合/版本变化使 Source/Plugin 重扫;用户数据和 enabled 意愿保留,丢失关键语义的已运行父实例停止。 - 更新事务及回滚、凭据延迟读取、脱敏、Hook 阻断和 Web 生命周期仍按原行为验证。 ## 验证结果 验证日期:2026-10-21(Asia/Shanghai)。本轮按新 API 重新运行 `npm run verify`,**226/226 自动化测试通过,0 失败、0 跳过、0 取消;八种物理源码组合编译及公共入口加载全部通过;DSH bundle、包结构与 505 个发布文件检查通过**。清理构建后不再分发上轮旧门面产物(上轮为 637 个文件)。 本轮强化了验收条件:公共 `parser` 目录必须恰好是八个中立文件;旧兼容目录及 `composition/api.ts`、运行门面必须不存在;公共解析、共享、核心、管理与执行源码禁止厂商命名、旧 API 路由和默认环境模式;中立出口与包根不得重新暴露协议旧函数。测试全部迁至显式引擎和所属协议模块,并保留认证、权限、事务、安全等行为断言。 | 新增覆盖 | 测试数 | 结果 | |---|---:|---| | 解析器组合、版本快照、缺失目录策略和依赖边界 | 5 | 通过;组合用例内部遍历全部 8 个子集 | | Manager 缓存、active 父实例、用户意愿与更新拒绝 | 10 | 全部通过 | | 中立 runtime loader 与旧缓存迁移 | 5 | 全部通过 | | 运行模型与来源标签独立、共享叶子依赖图 | 5 | 全部通过 | | 之前的协议、安全、事务、安装与 Web 回归 | 201 | 全部通过 | 物理移除脚本从工程副本中直接省略未选实现目录,仅重写装配 import/列表,执行严格 TypeScript 编译,再加载整个公开入口并检查保留和缺失格式行为。未启用 Agent Plugins 的副本还阻止其 schema 依赖从本项目执行图加载: | 保留实现 | 编译与公共入口 | 剩余/缺失格式行为 | |---|---|---| | 无 | 通过 | 所有已知格式明确不可用 | | CC | 通过 | 通过 | | Codex | 通过 | 通过 | | Agent Plugins | 通过 | 通过 | | CC + Codex | 通过 | 通过 | | CC + Agent Plugins | 通过 | 通过 | | Codex + Agent Plugins | 通过 | 通过 | | 全部三种 | 通过 | 通过 | 所有 Manager 调用已改为显式三参数构造,运行加载只使用核心的显式 engine 入口;协议测试直接引用自己的实现,不经过任何公共转发层。测试中的源码格式覆盖保持原意;用户要求删除的是本项目旧 API,传统上游插件协议仍按各自规则处理。首轮完整新接口回归唯一失败是路径 helper 的旧厂商错误文案断言,改成新的中立错误文案后通过;越界、悬挂及循环链接拒绝条件没有放宽。 原事务的旧提交/实例恢复及停止失败保留恢复材料等断言仍通过。共享模板在无显式绑定时不识别任何厂商路径别名;精确替换不查询凭据,运行模型不按来源标识推断。 `git diff --check` 和中文文档本地链接检查通过。`npm run verify:dsh` 通过,实际解析工作区 rc.6 依赖,仍仅为关键导出探针。源码 vendor schema 的官方 hash、发布 JSON 语义及 Apache 许可检查均通过,资源现在只归属于独立 Agent Plugins 模块。 ## 限制 本轮验证使用临时来源与受控 DSH 运行接口,未安装或修改当前 profile,未执行第三方插件程序。单包内的源码模块隔离已经纳入验收,独立 npm 发布/卸载解析器包尚未实施。当前 Desktop Typert/Web 的完整迁移和公网 MCP 握手不属于此次结构重构验证。 物理移除需要同时取消装配文件中的对应 import/注册;残留静态 import 指向已删除文件属于错误装配。未移除协议的原始规则和未知字段处理仍以各自兼容文档为准。