dsh-pwsh-encoding-fix
在终端中运行以下命令:
dsh plugin install hongweifei/dsh-pwsh-encoding-fix
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 终端中执行 dsh plugin install hongweifei/dsh-pwsh-encoding-fix 即可安装,完整源码地址为 https://github.com/hongweifei/dsh-pwsh-encoding-fix
插件介绍
在中文 Windows 上,原生程序输出编码并不统一:ipconfig、javac 等按 GBK 输出,而 node、Maven 3.9+、Gradle 9 等按 UTF-8 输出。DeepSeek Harness 的 pwsh 工具内部只按 UTF-8 解码,导致无论选择哪种固定编码,总有一类程序的输出变成乱码——GBK 出现锟斤拷,UTF-8 出现閿欒。dsh-pwsh-encoding-fix 正是为消除这组矛盾而生。
插件采用逐字节无损捕获策略:在 PowerShell 进程内将控制台编码切换为 Latin-1,确保原生程序写入的每个字节都原样保留;随后对捕获结果做启发式识别,先尝试严格 UTF-8 解码,失败则回退到系统 ANSI 代码页。同一命令中 GBK 与 UTF-8 输出混排也能逐段正确处理,最终以 UTF-8 重新输出,Node 侧即可统一解码。整个包装不改变 $LASTEXITCODE 语义,前台 run 与后台 start 均生效,且仅作用于 PowerShell 执行器,bash 与沙箱执行器不受影响。
如果你是在中文 Windows 环境下使用 DSH 的 pwsh 工具、经常调用 ipconfig、systeminfo、javac、node、Maven 或 Gradle 等混合编码程序的开发者,这个插件可以一劳永逸地解决输出乱码问题,无需再手动切换 chcp 或猜测程序输出编码。
使用场景
- 在中文 Windows 上用 DSH pwsh 工具执行 ipconfig、javac 等 GBK 输出程序时出现乱码
- 同一条命令混合调用 node(UTF-8)与 systeminfo(GBK)导致部分输出不可读
- Maven、Gradle 编译诊断信息在 pwsh 工具中显示为锟斤拷或错字
适合人员
- 在中文 Windows 环境下使用 DSH pwsh 工具的日常开发者
- 需要混合调用 GBK 与 UTF-8 输出程序的自动化脚本编写者
- 希望一劳永逸解决 DSH 输出编码问题而不想手动切换 chcp 的用户