ADR-0001:DSH 版本锁定与扩展面约束

August 23, 2026 · View on GitHub

  • 状态:accepted(2026-08)
  • 依据:PLAN_V2.md §4 / §14.2

决策

  1. 版本锁定:全部 @deepseek-ai/dsh-* 运行时与测试依赖锁定 0.1.1-rc.2(npm next dist-tag,与 DSH 参考基线 b150a551 同源发布);@deepseek-ai/cordis ^4.0.1@deepseek-ai/schemastery ^3.18.1。不使用浮动 latest
  2. 只使用公开契约:插件仅通过 npm 发布包的公开发布入口(@deepseek-ai/dsh-tools@deepseek-ai/dsh-fs@deepseek-ai/cordis@deepseek-ai/dsh-home-paths@deepseek-ai/schemastery)交互。禁止深层路径 import DSH 私有源码。
  3. 注册即效果:所有工具/监听器注册经 ctx.effect()/ctx.on()/register disposer 绑定 Fiber 生命周期,HMR 与卸载可完全清理。
  4. 配置即字段:任何部署可调值必须进入 Schemastery Config;不硬编码常量。
  5. 工具命名唯一:与 DSH 内置工具重名在启动期响亮失败,不采用后注册覆盖。

后果

  • 升级 DSH 需独立兼容 PR:先改版本锁定,跑全量测试与 profile 组合冒烟,再修适配层。
  • DSH 预发布包的 peer 范围不会让包管理器自动选择 next;本仓库关闭 peer 自动安装,并把实际开发宿主依赖显式锁定到同一基线。
  • 探针未覆盖的扩展点(agent 生命周期、请求构造层)一律先标 GAP 再设计,不得用 as any 或私有导入绕过。