前言¶
在 Windows Subsystem for Linux (WSL) 環境中,cmd 和 PowerShell 的默認編碼往往與 Linux 內核期望的 UTF-8 不一致。這種差異會導致智能體在執行腳本時出現亂碼,或者在使用管道 (pipe) 操作時因爲編碼不匹配而中斷。dsh-wsl-encoding 插件旨在解決這個問題,通過診斷工具和 CRLF 樣本處理,確保環境配置的一致性。
插件定位¶
這是 DeepSeek Harness (DSH) 的一個客戶端插件,用於診斷和修復 WSL 環境下的編碼問題。該插件由用戶 173787247 維護,屬於 dsh-wsl-kit 套件的一部分,採用 MIT 許可證。
核心功能¶
該插件提供兩項主要能力:
- 編碼檢查:檢測當前的編碼環境,區分 UTF-8 和 Windows 默認代碼頁。
- CRLF 樣本處理:提供可選的 CRLF (回車換行符) 樣本生成。這主要用於修復在
/mnt/c路徑下運行 bash 腳本時可能遇到的pipefail中斷問題。
安裝與啓用¶
安裝前請確保滿足環境要求(見下文注意事項)。
在命令行中執行以下命令安裝插件:
dsh plugin --profile web add github:173787247/dsh-wsl-encoding
安裝完成後,插件將隨 DSH 進程啓動,提供相應的診斷工具。
使用示例¶
安裝完成後,可以通過以下方式使用:
- 運行測試:
在項目中執行測試命令以驗證環境配置:
npm test
- 診斷編碼:
使用內置的encoding_doctor工具來檢查當前環境的 UTF-8 與 Windows 代碼頁狀態。
注意事項¶
使用本插件前,請注意以下依賴和限制:
- 版本依賴:
- DeepSeek Harness (dsh) 版本需 >= 0.1.2。
- Node.js 版本需 >= 18。
- 套件歸屬:該插件是
dsh-wsl-kit套件的一部分。如果使用全套件,建議參考套件的版本兼容性說明。 - LLM 配置:插件本身不負責配置 Cloud Flash 模型 ID。若需使用 V4.1 Flash 模型,需在
~/.dsh/settings.yaml或llm-deepseek配置項中手動指定模型 ID 爲deepseek-flash。
總結¶
dsh-wsl-encoding 解決了 WSL 環境下 Windows 控制台編碼與 Unix 工具鏈之間的常見衝突。通過提供明確的診斷手段和 CRLF 修復方案,它有助於保持智能體開發環境的穩定性。更多細節及源碼,可參考插件目錄頁或 GitHub 倉庫。