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 輸出的場景,這是一個輕量級的補充方案。

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

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

小夜