@lanbaolu/dsh-compat
v0.1.1
Published
COMPAT 版本兼容层:DSH 升级导致的 服务 key / 包名 改名 → 轻量别名托底(rename/alias,不做语义转译)。尽力而为,兜不住交给 fail-soft。
Maintainers
Readme
@lanbaolu/dsh-compat — COMPAT 版本兼容层
DSH 升级导致的 服务 key / 包名改名 → 轻量别名托底(rename,不做语义转译)。 尽力而为:兜不住交给 fail-soft 隔离,服务照常拉起(第一原则)。
做什么 / 不做什么
- ✅ 做:服务 key 别名(
httpServer → webServer、workspace → workspaceRegistry、compact → compaction)、包名重定向(@deepseek-ai/dsh-host-webserver → dsh-web-server,配合 npm alias) - ❌ 不做:语义转译、行为仿真、跨大版本特性回填(成本爆炸,违背最小运行面)
- ⚠️ 兜底关系:COMPAT 是"尽力而为",fail-soft 是"底线"
装配
dsh plugin --profile web add @lanbaolu/dsh-compat装配后:
- 为旧服务 key provide lazy Proxy(成员访问转发到新服务),旧插件的
inject: ['httpServer']/ctx.get('httpServer').register(...)可解析 - 暴露
compat_status工具(目标 DSH 版本、已应用别名、reshape 数)
合规 / 徽章
verify-plugin --compat <dir>静态识别判级:Compliant(原生)/COMPAT(可 shim,打徽章)/Not-Compliant(拒装或特殊通道)- 市场(dsh-plugin-hub)catalog 上架本插件 + mneme 作为 COMPAT 真实样本
开发
npm test # 6 用例(别名转发/幂等/未就绪降级/状态)
node ../dsh-plugin-standard/scripts/verify-plugin.mjs . # 合规