前言¶
DeepSeek Harness (DSH) 采用插件化架构。在 Windows 环境下开发或运维时,编码错乱、路径解析、进程端口占用等问题高频出现。dsh-plugin-windows-guard 旨在解决这些问题。
该插件由 Pasumao 维护,定位为 Windows 环境防坑工具。它通过「守则层」+「主动防护层」两层机制,提供预防性规则和运行时拦截能力,帮助开发者避免常见的编码和系统操作错误。
核心功能¶
插件主要包含以下能力:
守则层:自动加载¶
默认自动加载两个自包含 skill,按场景触发:
- windows-enc:处理编码、转义、乱码问题,涵盖环境事实卡、编码三铁律、引号转义速查、乱码三不原则。
- windows-sys:处理路径、进程、端口、跨平台杂项(如 CRLF、ExecutionPolicy)。
主动防护层¶
插件提供三层运行时防护:
-
L2 乱码检测
监听pwsh工具结果,检测 GBK 误解码、FFFD 字符、中文变问号等乱码特征。检测到后,在结果末尾自动附加[windows-guard]修复提示,不中断执行。 -
L3 危险写拦截
监听tools/pre-execute事件。拦截不带-Encoding的Set-Content、Add-Content、Out-File写结构化文件命令,以及直接使用>重定向写结构化文件。拦截后会提示使用[System.IO.File]::WriteAllText(...)的正确写法。 -
L4 编码工具
提供windows_encode_detect(诊断文件编码置信度)和windows_encode_fix(修复为 UTF-8 无 BOM,自动备份)两个工具。
安装与启用¶
安装命令如下:
dsh plugin --profile web add dsh-plugin-windows-guard
安装完成后,需要重启 dsh web 才能生效。插件自带 cordis.patch.yml 配置,会自动挂载相关规则,无需手动修改配置文件。
配置¶
默认配置为全开状态,所有功能均启用:
- insert:
- id: dsh-plugin-windows-guard
name: dsh-plugin-windows-guard
config:
enabled: true # 总开关
postCheck: true # L2 乱码检测
preCheck: true # L3 危险写拦截
detectTools: true # L4 编码诊断/修复工具
使用方式¶
安装后无需额外配置即可使用:
- 自动守则加载:当模型遇到 Windows 命令、编码、乱码、路径或进程任务时,会自动尝试加载
windows-enc或windows-sys技能。 - 乱码提示:执行
pwsh命令产生乱码时,结果末尾会附带修复提示。 - 命令拦截:若模型尝试使用不带
-Encoding的命令写入 JSON 等结构化文件,命令会被拦截,并返回正确的 API 调用示例。 - 手动工具调用:可直接调用
windows_encode_detect查看文件编码,或使用windows_encode_fix进行修复。
依赖与要求¶
该插件依赖以下环境:
- Node.js:版本需 >= 22.5(需 full-icu 支持)。
- DSH 核心:依赖
@deepseek-ai/cordis版本 ^4.0.1。 - 运行时依赖:零运行时依赖、零构建。