dsh-encoding:DeepSeek Harness 的编码纠错与乱码恢复工具

DeepSeek Harness (DSH) 在 Windows 环境下运行时,经常遇到命令行输出乱码的问题。传统的内置 bash/pwsh 工具会将 GBK 或 UTF-16LE 字节流强制按 UTF-8 解码,导致中文显示为乱码。dsh-encoding 插件通过提供独立的命令运行和乱码解码工具,解决了这一痛点。

这是什么

这是一个由 Lostforest7 维护的客户端插件,定位为 DSH 的编码纠错命令运行器和乱码恢复工具。它是一个零依赖、纯 ESM JavaScript 插件,无需构建步骤即可运行。

核心功能

插件提供两个主要工具:

  • encoding_run:启动子进程捕获标准输出和标准错误的原始字节,自动检测 UTF-8、UTF-16LE 或 GBK 编码并正确解码。
  • encoding_decode:恢复已经乱码的文本。例如,当 GBK 字节被误读为 Latin1 时,它可以将乱码还原为正确的中文。

安装与启用

在终端中执行以下命令安装插件:

dsh plugin --profile <name> add dsh-encoding

安装完成后,插件配置层会出现在 DSH 的配置输出中。

典型用法

1. 使用 encoding_run 执行命令

该工具用于执行命令并正确处理输出编码。如果输出包含 U+FFFD(�),系统会追加警告行。

encoding_run with command: "chcp 936 >nul & echo 中文"

输出示例:

中文
[encoding: gbk (auto-detected)]
[exit code: 0]

参数说明:
* command:要执行的命令行。
* encoding:指定编码模式(auto 为自动检测,或强制指定 utf-8 / utf-16le / gbk)。

2. 使用 encoding_decode 恢复乱码

该工具用于修复已存在的乱码文本。

encoding_decode with text: "ÖÐÎÄ"

参数说明:
* text:待恢复的乱码文本。
* from:乱码的原始编码(默认 auto,支持 latin1 / utf-16le)。注意:不支持 from=gbk。
* to:目标解码编码(默认 auto,支持 gbk / utf-16le)。

适用场景与注意

  • 适用场景:在 Windows 上使用旧版 CLI 工具、Git Bash/MSYS2 或 PowerShell 5.1,且这些工具输出 GBK 编码文本时。
  • 依赖关系:插件不替换或修复内置的 bash/pwsh 工具,仅作为补充方案。
  • 权限限制:encoding_run 没有沙箱、批准或后台任务集成,以与 Harness 进程相同的权限运行。
  • 检测限制:编码检测基于启发式算法。在编码歧义(如无 BOM 的纯中文 UTF-16LE 与 GBK)时,建议强制指定 encoding 参数。
  • 数据限制:输出流限制为 8 MiB。

结语

dsh-encoding 解决了 DSH 在 Windows 环境下处理特定编码输出时的乱码问题,提供了 encoding_run 和 encoding_decode 两个实用工具。对于需要处理 GBK 或 UTF-16LE 输出的场景,这是一个轻量级的补充方案。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜