labi43186-spec/dsh-client-fix
DSH Desktop客户端修复插件:修复pnpm shim编码 + fs.watch自动同步web向desktop对齐 + 预加minimumReleaseAgeExclude。使用DeepSeek-V4-Flash制作。
项目介绍Project Overview
这是 DSH Desktop 客户端修复插件。它自动修补 pnpm shim 的 UTF-8/GBK 编码问题,消除中文路径下"系统找不到指定的路径"报错;并监听 desktop profile,将 web 端插件自动同步为与桌面端一致,还预加 minimumReleaseAgeExclude 豁免新包拦截。适用于桌面端安装插件失败或需统一两端插件时。注意:用 npm 包名安装,勿写路径,源码目录避免空格。
This is a DSH Desktop client-fix plugin. It automatically patches the pnpm shim encoding bug (UTF-8 written but read as GBK), removing the "system cannot find the path" error for Chinese paths, and watches the desktop profile to sync the web profile's plugins to match desktop. It also pre-adds minimumReleaseAgeExclude to avoid pnpm blocking newly published packages. Use it when desktop plugin installs fail or to keep both profiles aligned. Install via npm package name, not a path; avoid spaces in source directories.
请帮我了解并安装插件:【dsh-client-fix】【https://github.com/labi43186-spec/dsh-client-fix】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add dsh-client-fix
把 labi43186-spec/dsh-client-fix 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
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
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS