DeepSeek Harness 原生插件:通过官方 tools/pre-execute 拦截点,在 pwsh 工具调用前拦下 PowerShell 常见坑,内置 powershell-check 技能
32.9/100
综合分
4
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add chaggle/dsh-powershell-check该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(node_version · 2026/10/28) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@chaggle/dsh-powershell-check(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 19:07:16
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 3 处,展示前 3 条)
- 写入本地文件lib/index.js:784
writeFileSync(file, BOM + command, "utf8"); - 删除本地文件lib/index.js:814
rmSync(file, { force: true }); - 读取本地文件lib/index.js:865
content: await readFile(SKILL_BODY_URL, "utf8")
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-shell@deepseek-ai/dsh-skill@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 拦截带坑位pwsh调用
- 给出修复指引
README
由 DeepSeek 最新模型翻译生成@chaggle/dsh-powershell-check
一个原生 DeepSeek Harness 插件:通过官方 tools/pre-execute 拦截点自动拦截带 PowerShell 坑位的 pwsh 工具调用,并内置 powershell-check 技能。坑位规则来自博客《PowerShell 实战踩坑大全》(GBK 乱码、$var: 解析、PS 5.1 三元运算符、双引号变量展开、JS 转义、Start-Process 引号与沙箱坑、-FeatureName 数组、DISM 动词、RestoreHealth 源版本、CDN 下载、npm.cmd 后缀、&&/|| 链式)。
可作 profile 插件安装:dsh plugin --profile <名称> add @chaggle/dsh-powershell-check(或直接挂行,见安装)。
展开完整文档(README 剩余 1 节)
@chaggle/dsh-powershell-check 一个原生 DeepSeek Harness 插件:通过官方 tools/pre-execute 拦截点自动拦截带 PowerShell 坑位的 pwsh 工具调用,并内置 powershell-check 技能。坑位规则来自博客《PowerShell 实战踩坑大全》(GBK 乱码、$var: 解析、PS 5.1 三元运算符、双引号变量展开、JS 转义、Start-Process 引号与沙箱坑、-FeatureName 数组、DISM 动词、RestoreHealth 源版本、CDN 下载、npm.cmd 后缀、&&/|| 链式)。 可作 profile 插件安装:dsh plugin --profile <名称> add @chaggle/dsh-powershell-check(或直接挂行,见安装)。 特性 - 自动门禁:订阅官方 tools/pre-execute 拦截点,每次 pwsh 调用前自动静态检查;命中阻断级坑位(R2–R11、R14、R20)→ 返回 deny(deny reason 即修复指引);建议级(R1、R12、R13、R15–R19、R21–R23)放行;warn 模式只记日志; - 内置技能:通过 ctx.skills.registerProvider(官方 dsh-skill-badge 同款写法)暴露 powershell-check,每个会话目录可见、可加载; - 中英双语:规则文本、CLI 输出(--lang en|zh)、deny reason 与文档均提供中英版本; - 单一规则源:规则引擎(src/checker.ts)被门禁与 CLI 共用,改一处全生效; - 自检:--selftest 内置 77 组正反例(R1–R23,聚焦 AI 生成脚本,含 R10 误报回归用例)。 - 真实组合验证:tests/plugin-load.spec.ts 在真实 Cordis 上下文 + 真实 @deepseek-ai/dsh-skill 注册表上挂载本插件,它依赖的 DSH 服务一旦破坏性变更,在测试阶段就失败,而不是等到 harness 启动。 兼容性 基于 dsh 0.2.1-rc.3 构建并验证。manifest 声明 engines.dsh: ">=0.2.1-rc.3 <0.3.0",并把插件 import 的 DSH 包固定在 ^0.2.1-rc.3(@deepseek-ai/dsh-shell、dsh-skill、dsh-tools;@deepseek-ai/cordis 为 ^4.0.5)。安装与 profile 启动时的兼容性预检先读 engines.dsh,运行时不满足即拒绝并提示升级,而不是等插件行加载时才报错。 门禁覆盖所有以 pwsh 注册的工具——前台/后台工具与持久 shell 变体同名。 开发依赖树里固定了 undici、zod 两条 overrides:已发布的 dsh 版本解析出的版本命中了安全公告。两者都停留在各自的大版本内,且只作用于本仓库的 typecheck 与测试树;发布产物的运行时依赖仍然只有 host 提供的 peers。 安装 作为 profile 插件(推荐) 包声明了 dsh.bundle(patch 为 ./cordis.patch.yml),可随 profile 安装: dsh plugin --profile <名称> add @chaggle/dsh-powershell-check 或在 profile 用户层 $DSH_HOME/profiles/<名称>/cordis.patch.yml 挂行: - insert: - id: dsh-powershell-check name: @chaggle/dsh-powershell-check config: mode: deny # deny | warn lang: zh # zh | en 从源码 checkout 启动的 harness,可发布包或将行指向本地克隆: git clone https://github.com/chaggle/dsh-powershell-check.git 再 junction/符号链接到 $DSH_HOME/profiles/node_modules/@chaggle/dsh-powershell-check 用户补丁层会被监听:对运行中的 dsh web 实例热生效(事务性 HMR),无需重启。 仅技能(不装门禁) 仓库根目录即技能包(SKILL.md + scripts/),克隆到任意技能根目录即可: git clone https://github.com/chaggle/dsh-powershell-check.git "$HOME/.dsh/skills/powershell-check" 配置 | 键 | 默认 | 说明 | | mode | deny | deny 命中阻断级坑位直接拒绝;warn 只记日志放行 | | lang | zh | deny reason 与日志语言:zh 或 en | | analyzer | builtin | builtin:仅内置 R1–R23;psscriptanalyzer:额外用官方 PSScriptAnalyzer 对每条 pwsh 命令深检(宿主机需安装模块,缺模块自动降级内置)。Error/ParseError 拦截,Warning 记日志放行 | CLI node scripts/check-pwsh.mjs -- "命令原文" [--lang en] Get-Content fix.ps1 -Raw | node scripts/check-pwsh.mjs - [--lang en] node scripts/check-pwsh.mjs --selftest 退出码:0 = PASS;1 = FAIL(输出清单含修复);2 = 用法错误。 规则 | 规则 | 级别 | 检测内容 | 博客章节 | | R1 | 建议 | 涉及 wsl/Windows 功能查询但未见 chcp 65001 | 2-3 | | R2 | 阻断 | $var: 被解析成驱动器限定语法 | 1-1 | | R3 | 阻断 | ) ? ... 三元形态(PS 5.1) | 1-2 | | R4 | 阻断 | 双引号内 $WORD 后跟 ./(路径陷阱) | 2-1 | | R5 | 阻断 | Start-Process 包装外部命令 | 3-1 | | R6 | 阻断 | -FeatureName A, B 数组形式 | 4-1 | | R7 | 阻断 | /Dismount-Image 动词 | 4-2 | | R8 | 阻断 | RestoreHealth 源版本比系统新 | 4-3 | | R9 | 阻断 | curl -L 与 -C - 组合 | 3-4 | | R10 | 阻断 | 裸 npm/npx/pnpm 不带 .cmd 后缀 | 3-2 | | R11 | 阻断 | && / || 链式(PS 5.1) | 1-3 | | R12 | 建议 | ConvertTo-Json 未指定 -Depth(默认 2 截断嵌套数据) | 5-1 | | R13 | 建议 | foreach 循环体内使用 $_ | 5-2 | | R14 | 阻断 | if/while 条件里用单等号 = 当比较 | 1-4 | | R15 | 建议 | PS 7+ 专属语法(-AsHashtable/-Parallel/-AsByteStream/??/?.) | 1-5 | | R16 | 建议 | cmd 风格命令 / %VAR% 环境变量语法 | 3-3 | | R17 | 建议 | Write-Host 输出不进管道 | 2-4 | | R18 | 建议 | 检查文本出现乱码特征(PS 5.1 把无 BOM 的 UTF-8 .ps1 按 ANSI/GBK 解析) | 2-5 | | R19 | 建议 | Remove-Item 位置参数传文件系统对象(无 -Path/-LiteralPath/.FullName) | 5-3 | | R20 | 阻断 | Invoke-RestMethod/-WebRequest 用字符串 -Body 发非 ASCII(PS 5.1 会变成 ?) | 6-1 | | R21 | 建议 | ConvertFrom-Json 解析 lockfile 类 JSON(空键名在 PS 5.1 抛错) | 6-2 | | R22 | 建议 | 管道喂原生程序 stdin 行协议(git credential/git apply/openssl/gpg) | 6-3 | | R23 | 建议 | 原生命令带 2>&1(PS 5.1 把 stderr 变成 ErrorRecord) | 6-4 | PSScriptAnalyzer 深度检查 配置 analyzer: psscriptanalyzer 可在内置规则之上叠加官方 PowerShell 静态分析器。插件把命令文本写入临时 .ps1,经 harness hooks 桥同款的 ctx.shell 通道执行 Invoke-ScriptAnalyzer;探针先提升进程级执行策略为 Bypass(harness 默认 Restricted 启动 pwsh)。命中 Error/ParseError 级别 → 拒绝并附分析器消息;Warning → 记日志放行。 宿主机一次性安装(PowerShell 5.1 或 7): Install-Module PSScriptAnalyzer -Scope CurrentUser -Force 权衡:每次深检都会起一个分析进程(模块加载约 1–3 秒),仅在需要更全覆盖时开启;模块缺失时插件记录一次日志并回落内置规则。实测备注:PSSA 在 5.1 宿主上不报 &&/||(由内置 R11 兜底),且 Severity 序列化为数字枚举(解析器两种形态都兼容)。 工作原理(官方扩展点) Harness 的扩展面是其类型化拦截点:所谓「原生钩子」只是一个订阅规范生命周期事件、返回类型化 Decision 的普通 Cordis 插件——无外部 hooks 桥、无 hook/* 日志、无子进程边界。本插件用到两个官方入口: 1. ctx.on(tools/pre-execute, (exec, next) => PreToolDecision) — 工具执行前的瀑布门禁; 2. ctx.skills.registerProvider(...) — 向技能注册表贡献 bundled 技能。 Model Experience Request context and condition What the model sees 本插件不向提示词注入任何文本。技能通过标准会话技能目录暴露(powershell-check,见上文描述),可用 skill 工具加载;门禁拒绝 pwsh 调用时,模型在工具报错结果中看到 deny reason——即 formatHits 生成的修复指引。 Token effect 除工具报错反馈外无直接 token 影响:不新增、不改写提示词。deny reason 以有界错误载荷替换一次本应执行的工具结果。 KV Cache effect 插件不发布自己的 system-reminder 或目录文本;技能描述随技能消费方生成的会话目录走,不影响提示词前缀复用。deny reason 是逐次调用的错误结果,不改变请求前缀。 已知限制与待办 - 静态启发式:规则基于模式匹配;R1 按设计为建议级,R4 可能标记有意的变量展开(修复文案注明了可忽略的情形); - 热载:代码变更需运行中的 harness 重新导入插件(用户补丁行可热载,替换行时模块缓存重载); - 规则扩充:新坑位先在 src/checker.ts 加规则(含 selftest 正反例),再同步进博客文章。 License MIT — 见 LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
chaggle/dsh-powershell-check
DeepSeek Harness 原生插件:通过官方 tools/pre-execute 拦截点,在 pwsh 工具调用前拦下 PowerShell 常见坑,内置 powershell-check 技能
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,288已汉化MCP
71.7
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9
原生编程智能体paean-ai/deeptide
由 DeepSeek 打造,为 DeepSeek 而生。
★ 1,107已汉化DSH
67.7
多引擎接力台emo-xiaoyu/harness-mix
macOS/Linux 已加入源码构建与启动适配;目标系统的完整桌面验收仍需在对应机器执行。安装方式、Linux…
★ 419已汉化DSH
66.8
这是你的仓库?认领条目