Repository navigation
安装后启动发生崩溃 #89
Copy link
Copy link
Open
Description
问题简述
系统:windows11
dsh安装:通过pnpm add -g @deepseek-ai/dsh安装,0.1.1-rc.2
安装 dsh-routing-suite 后 dsh web 启动发生崩溃
PS C:\Users\Administrator.dsh\profiles\web> dsh web
file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+dsh-app-boot@0_e13ce0a2d71be6eac59c7077b70c18f7/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js:1187
throw new Error(${binName}: ${stage}: ${detail}${stack}, { cause });
^
Error: dsh: plugin tree failed to load: failed to apply loader entry include (cordis:include): failed to import loader entry dsh-super-injector (@dsh-external/dsh-super-injector): Cannot find module '../package.json'
Require stack:
- C:\Users\Administrator.dsh\profiles\web\node_modules@dsh-external\dsh-super-injector\injector\lib\index.js
Error: Cannot find module '../package.json'
Require stack: - C:\Users\Administrator.dsh\profiles\web\node_modules@dsh-external\dsh-super-injector\injector\lib\index.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1405:15)
at defaultResolveImpl (node:internal/modules/cjs/loader:1061:19)
at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1066:22)
at Module._load (node:internal/modules/cjs/loader:1215:37)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
at Module.require (node:internal/modules/cjs/loader:1491:12)
at require (node:internal/modules/helpers:135:16)
at file:///C:/Users/Administrator/.dsh/profiles/web/node_modules/@dsh-external/dsh-super-injector/injector/lib/index.js:3084:51
at ModuleJob.run (node:internal/modules/esm/module_job:303:25)
at boot (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+dsh-app-boot@0_e13ce0a2d71be6eac59c7077b70c18f7/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js:1187:9)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async runProfile (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+dsh@0.1.1-rc.2_58ea75a4bf14a8e29ee6caf72d4d9144/node_modules/@deepseek-ai/dsh/lib/profile-boot-DG5t9aNs.js:247:14)
at async file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+dsh@0.1.1-rc.2_58ea75a4bf14a8e29ee6caf72d4d9144/node_modules/@deepseek-ai/dsh/lib/bin.js:133:3 {
[cause]: Error: failed to apply loader entry include (cordis:include): failed to import loader entry dsh-super-injector (@dsh-external/dsh-super-injector): Cannot find module '../package.json'
Require stack:- C:\Users\Administrator.dsh\profiles\web\node_modules@dsh-external\dsh-super-injector\injector\lib\index.js
at updateError (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+cordis-plugin-_5c5aabefe36113032067cc5ad5d058bf/node_modules/@deepseek-ai/cordis-plugin-loader/lib/index.js:309:9)
at Entry._init (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+cordis-plugin-_5c5aabefe36113032067cc5ad5d058bf/node_modules/@deepseek-ai/cordis-plugin-loader/lib/index.js:529:10)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
[cause]: Error: failed to import loader entry dsh-super-injector (@dsh-external/dsh-super-injector): Cannot find module '../package.json'
Require stack:- C:\Users\Administrator.dsh\profiles\web\node_modules@dsh-external\dsh-super-injector\injector\lib\index.js
at updateError (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+cordis-plugin-_5c5aabefe36113032067cc5ad5d058bf/node_modules/@deepseek-ai/cordis-plugin-loader/lib/index.js:309:9)
at Entry._init (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+cordis-plugin-_5c5aabefe36113032067cc5ad5d058bf/node_modules/@deepseek-ai/cordis-plugin-loader/lib/index.js:524:10)
at async Entry.init (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+cordis-plugin-_5c5aabefe36113032067cc5ad5d058bf/node_modules/@deepseek-ai/cordis-plugin-loader/lib/index.js:505:4)
at async Entry.update (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+cordis-plugin-_5c5aabefe36113032067cc5ad5d058bf/node_modules/@deepseek-ai/cordis-plugin-loader/lib/index.js:426:37)
at async EntryGroup.create (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+cordis-plugin-_5c5aabefe36113032067cc5ad5d058bf/node_modules/@deepseek-ai/cordis-plugin-loader/lib/index.js:65:4)
at async Promise.allSettled (index 137)
at async EntryGroup.update (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+cordis-plugin-_5c5aabefe36113032067cc5ad5d058bf/node_modules/@deepseek-ai/cordis-plugin-loader/lib/index.js:97:21)
at async Include._apply (file:///C:/Users/Administrator/AppData/Local/pnpm/global/5/.pnpm/@deepseek-ai+dsh-app-boot@0_e13ce0a2d71be6eac59c7077b70c18f7/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js:238:3) {
[cause]: Error: Cannot find module '../package.json'
Require stack:- C:\Users\Administrator.dsh\profiles\web\node_modules@dsh-external\dsh-super-injector\injector\lib\index.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1405:15)
at defaultResolveImpl (node:internal/modules/cjs/loader:1061:19)
at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1066:22)
at Module._load (node:internal/modules/cjs/loader:1215:37)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
at Module.require (node:internal/modules/cjs/loader:1491:12)
at require (node:internal/modules/helpers:135:16)
at file:///C:/Users/Administrator/.dsh/profiles/web/node_modules/@dsh-external/dsh-super-injector/injector/lib/index.js:3084:51
at ModuleJob.run (node:internal/modules/esm/module_job:303:25) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'C:\Users\Administrator\.dsh\profiles\web\node_modules\@dsh-external\dsh-super-injector\injector\lib\index.js'
]
}
}
}
}
- C:\Users\Administrator.dsh\profiles\web\node_modules@dsh-external\dsh-super-injector\injector\lib\index.js
- C:\Users\Administrator.dsh\profiles\web\node_modules@dsh-external\dsh-super-injector\injector\lib\index.js
- C:\Users\Administrator.dsh\profiles\web\node_modules@dsh-external\dsh-super-injector\injector\lib\index.js
Node.js v24.0.2
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
YesSanSan commentedon Sep 5, 2026
问题确认与根因排查
我也遇到了完全相同的问题。在执行
dsh web时,Cordis 插件加载器在导入@dsh-external/dsh-super-injector插件入口时崩溃,报错堆栈如下:一、 错误根因分析 (Root Cause)
入口路径与相对路径偏差:
package.json声明的入口是"main": "./injector/lib/index.js"。injector/lib/index.js(约第 3084 行)执行了以下代码:import.meta.url对应目录为<pkg-root>/injector/lib/。使用相对路径"../package.json"时,Node.js 向上找一层,解析到的目标是:<pkg-root>/injector/package.jsonpackage.json位于仓库根目录<pkg-root>/package.json(即相对当前文件的两级上层目录../../package.json),injector/目录下并不存在package.json,因此直接触发MODULE_NOT_FOUND。为什么产物中会有这行代码:
@deepseek-ai/dsh-llm/attribution模块(用于设置请求头中的 User-Agent 版本号)。injector/lib/index.js时,打包工具(如 tsdown/esbuild)虽对未使用的函数进行了 tree-shaking,但createRequire(...)("../package.json")被识别为具有潜在副作用的顶层调用而残留在了产物中。injector/lib/index.js中,该处解构出来的version变量后续没有任何地方被引用,属于无用死代码。二、 用户端临时解决方案 (Workaround for Users)
在维护者发布新版本之前,遇到此问题的用户可通过以下任一方法就地修复:
方法 A:修改产物中的相对路径(推荐,已实测生效)
找到文件:
~/.dsh/profiles/web/node_modules/@dsh-external/dsh-super-injector/injector/lib/index.js将约第 3084 行从:
改为(指向两级上层目录):
(或者直接注释/删除该行也可以,因为
version变量后续并未被使用)。Windows PowerShell 一键修复命令(注意使用无 BOM 保存):
方法 B:在
injector目录补充package.json软链接或副本在命令行中进入包目录,为
injector目录下放一个package.json:三、 给仓库维护者的修复指引 (Guidance for Maintainers)
建议维护者在源码及构建流程中从以下角度彻底修复:
消除运行时的
package.json动态读取:package.json极易受打包目录层级影响。tsdown.config.ts)中使用define注入版本号常量,例如:createRequire引起的路径解析风险,还能在构建期直接将版本号内联进代码。清理无用的 attribution 顶层调用:
@deepseek-ai/dsh-llm/attribution未被使用,应确保其不在 bundle 中残留顶层副作用语句,或通过rollupOptions.treeshake/sideEffects: false确保无引用的顶层 require 能够被正常剔除。若必须保留相对路径引用:
injector/lib/index.js,相对包根目录必须向上回退两层(即../../package.json);files分发列表中同时将package.json复制/包含至injector/package.json。