dsh-client-fix
作用是啥(大白话):装了它之后,DSH Desktop 桌面端用
dsh plugin命令安装插件时 老报的"系统找不到指定的路径"就没了——那是桌面端生成 pnpm 命令时把中文路径搞乱码导致的, 这个插件启动后会自动修好。同时它还会自动把 web 端的插件同步成和桌面端一模一样: 桌面装了什么 web 就跟着装什么,桌面卸载了 web 也跟着卸,不用你手动去同步。使用 DeepSeek-V4-Flash 制作 🤖
DSH Desktop 客户端修复插件(client-side fix plugin)。
功能
修复 pnpm shim 编码 bug DSH Desktop 启动时生成的
runtime-commands/bin/pnpm.cmd以 UTF-8 写入,但 cmd.exe 按 GBK(936) 读取, 导致含中文的路径(如D:\软件\...)解析乱码,报"系统找不到指定的路径"。 插件启动 3 秒后自动给 shim 第二行补chcp 65001 >nul(无 BOM),跨代码页通用。 桌面应用重启重新生成坏 shim 后,插件会自动再次修复。fs.watch 无延迟自动同步 web(向 desktop 对齐) 监听 desktop profile 的
package.json与pnpm-lock.yaml,变化后(防抖 800ms)自动把 web profile 同步成与 desktop 一致:- desktop 有、web 无 → 补装
- desktop 无、web 有 → 移除(尊重手动卸载)
- 版本不同 → 对齐 desktop 版本 市场(dshmarket)更新只操作 desktop,web 由本插件自动跟随,无需手动操作。
预加 minimumReleaseAgeExclude 豁免 安装前自动把
pkg@version写入pnpm-workspace.yaml的minimumReleaseAgeExclude, 避免 pnpm 拦截 24 小时内发布的新包(ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION)。
安装
包已发布到 npm,直接装 web profile(市场默认操作目标,装完会自动同步到 desktop):
dsh plugin --profile web add dsh-client-fix
或者直接装 desktop profile(桌面应用实际加载的 profile,装完后 fs.watch 会自动把 web 同步上):
dsh plugin --profile desktop add dsh-client-fix
注意:用 npm 包名安装,不要写路径。本地开发调试时可改用
link:指向源码目录:dsh plugin --profile desktop add link:C:/dshplugins/dsh-client-fix(源码目录建议放在无空格路径下,含空格路径会被 dsh→pnpm 转发截断)
接口
| 路由 | 说明 |
|---|---|
/dsh-client-fix/status |
查看 desktop/web 插件版本对比与同步状态 |
/dsh-client-fix/sync |
手动触发一次同步(向 desktop 对齐) |
/dsh-client-fix/repair-shims |
手动修复 pnpm/node shim 编码 |
许可证
MIT
No comments yet. Be the first to write one.