Replies: 1 comment
|
One additional release-boundary detail may help make the workaround reproducible:
That means I turned the evidence routing and acceptance gates into a source-linked runbook here: https://sandbaseai.github.io/deepseek-harness-handbook/missing-client-schema-form.html |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
摘要 / Summary
$(npm root -g)/@deepseek-ai/dsh/node_modules/@deepseek-ai/,共 195 个@deepseek-ai/*包)中没有dsh-client-schema-form;dsh-client-schema-form@0.1.0-rc.6;@deepseek-ai/*解析到同一闭包,profile 侧由healProfilesModuleFallback软链)import 该包时,npm 分发下启动即崩:排查与根因 / Root Cause
monorepo 中该包位于
packages/client/schema-form(HEAD 版本0.1.0-rc.7),但引用它的包(packages/client/ui-settings、ui-settings-models、ui-permission-presets、web等)全部以peerDependencies: "workspace:^"方式声明;而发布的apps/cli(即 npm 上的@deepseek-ai/dsh)自身 61 个dependencies也不含它。于是:apps/cli的依赖图安装 → peer 依赖无人提供 → 缺件。第三方插件无法通过在自己的
dependencies里声明来规避:插件契约要求所有@deepseek-ai/*解析到同一个闭包,自装会引入第二份实例。复现 / Reproduction(Ubuntu 22.04 容器)
macOS Homebrew 对照(同版本不崩):
$ ls /opt/homebrew/lib/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai | grep schema-form dsh-client-schema-form临时规避 / Workaround
向 profile 补装独立发布的包(注意其 npm
latestdist-tag 停在0.0.1-rc.1,新版本在next):建议 / Suggestion
apps/cli的dependencies增加@deepseek-ai/dsh-client-schema-form(或将ui-settings对它的 peer 声明提升为 dependency),保证 npm 分发闭包完整;peerDependencies: workspace:^声明"的包是否存在同样缺口;@deepseek-ai/dsh-client-schema-form的latestdist-tag 指向0.0.1-rc.1而最新发布为0.1.0-rc.7(在next),建议对齐,避免规避安装拿到旧版。受影响的真实消费者:
@aiwayds/dsh-tui-pi(自 0.7.2 起 settings 面板使用 schema-form,全新容器/DSH_HOME 必崩,补装后恢复正常)。All reactions