Replies: 4 comments
|
All four are accurate, and #1 is the most damaging because it's silently destructive. Mapping each to the concrete fix surface: 1.
|
|
Delivered the tooling + docs half; the two CLI patches are next. Now available:
Still on my list: the two upstream CLI patches — a friendly single-instance message on |
|
One of the two CLI patches is down:
Remaining: the friendly |
|
Both CLI patches are now down. All four issues have a concrete answer:
Thanks for the thorough report - the repro detail (especially the prune mechanics and the exact npm-11 behavior) made the fixes land clean. |
Uh oh!
There was an error while loading. Please reload this page.
环境:Windows 11, Node.js v24.19.0(便携版,npmmirror 源), dsh @deepseek-ai/dsh 0.1.0-rc.6(开发者预览版) 日期:2026-08-15 ~ 08-16
一句话说明:在无 package.json/lockfile 的 profiles 依赖树里执行 npm install ,npm 会把全部运行时依赖视为 extraneous 并删除(实测 510+ 包),服务重启报 ERR_MODULE_NOT_FOUND 且不自愈。
复现、预期与验收
复现步骤:正常部署 dsh(npm 全局安装 + dsh web 启动一次,使 $DSH_HOME/profiles/node_modules 具备完整运行时依赖:express、koffi、node-pty 等);
在 $DSH_HOME/profiles/node_modules 目录直接执行 npm install @some/plugin(该目录无 package.json / package-lock.json);
观察 npm 输出:把整棵依赖树视为 extraneous 并 prune;
重新执行 dsh web。
实际结果:
profiles/node_modules 下 510+ 个运行时包被删除(express、koffi、node-pty、dsh-update-checker 等);
启动失败:Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'dsh-update-checker' imported from C:\Users\Administrator.dsh\profiles\web\;
服务不会自动从部署侧重新同步缺失包,只能手动 robocopy 恢复。
预期结果:
提供官方安全安装入口(如 dsh plugin add ),内部以安全方式安装,不触碰既有依赖;
或启动时检测 profile 依赖树不完整,自动从部署侧(/node_modules)恢复;
或至少在文档中明确警告:禁止在 $DSH_HOME/profiles/node_modules 直接执行 npm install。
验收条件:在无 package.json 的 profiles 目录执行安装命令不会删除既有包;或服务能自动恢复。
复现、预期与验收
复现步骤:启动 dsh web(HTTP 200,监听 127.0.0.1:3080);
不退出,再次执行 dsh web。
实际结果:进程崩溃,输出裸 Node 堆栈:
复制
Error: ... listen EADDRINUSE: address already in use 127.0.0.1:3080
预期结果:检测到端口被本程序占用时输出友好提示(如 "dsh 已在运行,访问 http://127.0.0.1:3080")并正常退出;或支持单实例锁(pid/lock 文件),第二次启动自动打开已有实例界面。
验收条件:重复启动不抛裸堆栈,给出可读提示;或自动复用已有实例。
复现、预期与验收
复现步骤:使用 npm 11.x;
执行官方安装命令 npm install -g @deepseek-ai/dsh;
启动 dsh web。
实际结果:koffi / node-pty / dsh-subprocess-local 的原生组件未构建(npm 11 默认 allow-scripts=false),运行异常;必须显式补装:
sh
复制
npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs @deepseek-ai/dsh
预期结果:官方 README/安装文档补充 npm 11 的 allow-scripts 说明;或发布包配置 trustedDependencies 减少手工步骤。
验收条件:按官方命令安装后可直接运行;或文档明确给出 npm 11 的完整安装命令。
复现、预期与验收
复现步骤:在仅有 bun(1.3.x)的环境执行 bun x @deepseek-ai/dsh web。实际结果:Export named 'stripTypeScriptTypes' not found in module 'node:module'——dsh 依赖 Node.js ≥ 22.6 的 node:module.stripTypeScriptTypes,bun 不兼容。
预期结果:启动时检测 Node 版本,明确提示需要 Node ≥ 22.6(而不是裸的模块导出报错)。
验收条件:不支持的运行时下给出可读版本提示。
All reactions