chaggle/dsh-powershell-check

原生DeepSeek Harness插件:通过官方工具/pre-execute拦截点对pwsh工具调用进行PowerShell陷阱防护,并捆绑powershell-check技能

Project Overview项目介绍

This is a native plugin built exclusively for DeepSeek Harness (DSH) that checks every pwsh tool call before execution to catch documented PowerShell pitfalls. It ships with 19 built-in rules that cover common encoding issues, syntax traps, command pitfalls, and best practice suggestions. It can be installed as a profile plugin using the DSH CLI command dsh plugin --profile <name> add @chaggle/dsh-powershell-check, or you can clone the repository directly and link it to your DSH profile directory. It also supports installing just the skill bundle without the automatic gate.

After installation, the plugin automatically subscribes to DSH’s pre-execution interception point, so every pwsh call is checked before it runs. Blocking rule violations will stop the call and return clear fix guidance to the model, while advisory issues are just logged and let the call proceed. The plugin supports both English and Simplified Chinese for all output, rules, and error messages, so you can set your preferred language in the configuration. It includes a 60-case self-test battery that you can run with the --selftest CLI flag to verify all rules work correctly after installation.

The plugin is released under the open source MIT license, so it is free to use, modify, and redistribute. It supports hot module replacement for user patch layers, so any changes you make to the plugin will update automatically in a running DSH web instance without requiring a full restart. You can optionally enable extra deep checking via the official PSScriptAnalyzer PowerShell module, which requires a one-time install on your host machine. If the module is missing, the plugin gracefully falls back to only its built-in rules and logs a one-time notice. Rules are pattern-based, so there is a small chance of false positives for some edge cases.

这是一个专为 DeepSeek Harness (DSH) 开发的原生插件,核心功能是在每次调用 pwsh 工具前对命令做静态检查,拦截已知的 PowerShell 常见陷阱。它支持中英双语输出,可作为配置文件插件安装,也可单独只安装技能,违规调用会被拦截并返回修复指引,同时内置了 powershell-check 技能,可被所有 DSH 会话目录加载。

插件会在 DSH 工具执行前自动拦截 pwsh 调用,运行预设规则的静态检查,符合规则的命令正常放行,存在违规问题的命令则直接被拦截,并向大模型返回清晰的修复方案。它适合使用 DSH 编写、调用 PowerShell 命令的开发者,帮助提前避开常见踩坑,减少无效命令执行带来的问题和不必要的调试时间。

插件采用 MIT 许可证免费开源,支持热更新,修改配置和代码后无需重启正在运行的 DSH web 实例即可生效。可选集成官方 PSScriptAnalyzer 做额外深度检查,需要用户手动在主机安装该 PowerShell 模块。当前规则基于模式匹配,存在少量误报可能,部分低风险规则设计为仅提示不拦截。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add @chaggle/dsh-powershell-check

把 chaggle/dsh-powershell-check 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

@chaggle/dsh-powershell-check

A native DeepSeek Harness plugin that gates every pwsh tool call against the PowerShell pitfalls documented in the blog post PowerShell 实战踩坑大全 (GBK console mojibake, $var: parsing, PS 5.1 ternary, double-quoted variable expansion, JS escaping, Start-Process quoting and sandbox traps, -FeatureName arrays, DISM verbs, RestoreHealth source versions, CDN downloads, npm.cmd suffix, &&/|| chains), and bundles the powershell-check skill.

Installable as a profile plugin: dsh plugin --profile <name> add @chaggle/dsh-powershell-check (or mount the row directly — see Install).

Features

  • Automatic gate — subscribes to the official tools/pre-execute interception point; every pwsh call is statically checked before execution. Blocking violations (R2–R11) return a deny whose reason IS the fix guidance; the advisory R1 passes through. warn mode only logs.
  • Bundled skill — exposes powershell-check through ctx.skills.registerProvider (the dsh-skill-badge pattern), visible and loadable in every session catalog.
  • Bilingual — rule text, CLI output (--lang en|zh), deny reasons, and docs ship in English and Simplified Chinese.
  • Single rule source — the rules engine (src/checker.ts) is shared by the gate and the CLI; update once, both follow.
  • Self-test — --selftest runs a 60-case positive/negative battery (R1–R19, AI-generated-script focused).

Install

As a profile plugin (recommended)

The package declares dsh.bundle.patch and ships its own cordis.patch.yml, so it is installable per profile:

dsh plugin --profile <name> add @chaggle/dsh-powershell-check

or add the row to your profile layer $DSH_HOME/profiles/<name>/cordis.patch.yml:

- insert:
    - id: dsh-powershell-check
      name: @chaggle/dsh-powershell-check
      config:
        mode: deny   # deny | warn
        lang: zh     # zh | en

If the harness was launched from a checkout, either publish the package or point the row at a local clone:

git clone https://github.com/chaggle/dsh-powershell-check.git
# then junction/symlink it into $DSH_HOME/profiles/node_modules/@chaggle/dsh-powershell-check

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-plugin-conflict-guard 下一个 Next dsh-enter-lock →