## 现象 B196 裸名 peer 修复系列(d2ac231 → 1952733,9-18/19)把 `injector/package.json` 与 `injector/src/index.ts` 的 import 都改成了 scoped `@deepseek-ai/cordis` / `@deepseek-ai/schemastery`,但按同一诊断(「裸名 → 装了不激活」)还有 **三处漏网**,基于 HEAD 1952733 核实: ## 1. 根 `package.json:66-67` —— git/market 分发清单本身仍是裸名 ```json "peerDependencies": { "@deepseek-ai/dsh-tools": ">=0.0.1-rc <2", "cordis": ">=4.0.0-rc <5", "schemastery": "^3.18.0" } ``` 根清单是 `@dsh-external/dsh-super-injector` 的分发入口(`prepare` 构建、`main` 指向 injector/lib),且 `files` 只打包 `injector/lib`、`injector/scripts` 等——**`injector/package.json` 根本不在打包清单里**,宿主/市场在 git 安装路径上读到的 peer 声明只有这份根清单。也就是说 npm 发布面(injector/package.json)修好了,但 **git/market 安装面(根清单)还带着 B196 原样**。 ## 2. `injector/src/index.ts:444` —— 脚手架模板给所有生成插件写裸名 `cordis` peer ```ts const peerDeps: Record<string, string> = { '@deepseek-ai/dsh-llm': '>=0.0.1-rc <2', '@deepseek-ai/dsh-tools': '>=0.0.1-rc <2', 'cordis': '>=4.0.0-rc <5', // ← 裸名 '@deepseek-ai/schemastery': '^3.18.2', // ← 同一对象里这行已经 scoped } ``` 同文件所有形态的 src 模板(156/213/320/3049 行)import 的都是 `@deepseek-ai/cordis`,peer 却声明裸 `cordis`——**脚手架生成的每一个插件都自带「import scoped、peer 裸名」的矛盾**,在宿主上复刻 B196「装了不激活」。`schemastery` 键在同一对象里已被 B196 系列改成 scoped,唯独 `cordis` 漏了这一处(e1e710c 改的 5 处不含这行)。 ## 3. `injector/src/index.ts:3044` —— 自测插件模板同样裸名 ```ts peerDependencies: { '@deepseek-ai/dsh-tools': '>=0.0.1-rc <2', 'cordis': '>=4.0.0-rc <5' }, ``` 自测 src(3049 行)import 的也是 `@deepseek-ai/cordis`。自测在合成 checkout 里只跑 tsc 所以不炸,但模板与真实宿主行为不一致。 ## 修复 四处一行改动:根清单两键改 `@deepseek-ai/cordis` / `@deepseek-ai/schemastery`(范围对齐 injector/package.json 的 `>=4.0.0-rc <5` / `^3.18.2`),模板 444 与 3044 两处 `'cordis'` 改 `'@deepseek-ai/cordis'`。全仓库已无其他裸名引用(grep 核实仅此四处)。我可以直接提 PR。
Activity