dsh-plugin-windows-guard

前言

DeepSeek Harness (DSH) 采用插件化架构。在 Windows 环境下开发或运维时,编码错乱、路径解析、进程端口占用等问题高频出现。dsh-plugin-windows-guard 旨在解决这些问题。

该插件由 Pasumao 维护,定位为 Windows 环境防坑工具。它通过「守则层」+「主动防护层」两层机制,提供预防性规则和运行时拦截能力,帮助开发者避免常见的编码和系统操作错误。

核心功能

插件主要包含以下能力:

守则层:自动加载

默认自动加载两个自包含 skill,按场景触发:
- windows-enc:处理编码、转义、乱码问题,涵盖环境事实卡、编码三铁律、引号转义速查、乱码三不原则。
- windows-sys:处理路径、进程、端口、跨平台杂项(如 CRLF、ExecutionPolicy)。

主动防护层

插件提供三层运行时防护:

  1. L2 乱码检测
    监听 pwsh 工具结果,检测 GBK 误解码、FFFD 字符、中文变问号等乱码特征。检测到后,在结果末尾自动附加 [windows-guard] 修复提示,不中断执行。

  2. L3 危险写拦截
    监听 tools/pre-execute 事件。拦截不带 -Encoding 的 Set-Content、Add-Content、Out-File 写结构化文件命令,以及直接使用 > 重定向写结构化文件。拦截后会提示使用 [System.IO.File]::WriteAllText(...) 的正确写法。

  3. 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 编码诊断/修复工具

使用方式

安装后无需额外配置即可使用:

  1. 自动守则加载:当模型遇到 Windows 命令、编码、乱码、路径或进程任务时,会自动尝试加载 windows-enc 或 windows-sys 技能。
  2. 乱码提示:执行 pwsh 命令产生乱码时,结果末尾会附带修复提示。
  3. 命令拦截:若模型尝试使用不带 -Encoding 的命令写入 JSON 等结构化文件,命令会被拦截,并返回正确的 API 调用示例。
  4. 手动工具调用:可直接调用 windows_encode_detect 查看文件编码,或使用 windows_encode_fix 进行修复。

依赖与要求

该插件依赖以下环境:

  • Node.js:版本需 >= 22.5(需 full-icu 支持)。
  • DSH 核心:依赖 @deepseek-ai/cordis 版本 ^4.0.1。
  • 运行时依赖:零运行时依赖、零构建。
羽毛球分组比赛记分
小程序二维码

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

小夜