dsh-tool-pwsh-safe
Manifest validRuns PowerShell scripts through base64 encoding, so quotes, $, backslashes and CJK survive as written. Same sandbox channel as the built-in pwsh tool.
🥊 dsh-tool-pwsh-safe
你是否见过 dsh 疯狂肘击 PowerShell?
单引号、双引号、反斜杠、$ 展开、反引号、换行、中文……
每个 AI agent 都曾在 PowerShell 转义地狱里被肘击到怀疑人生。
这是什么
dsh-tool-pwsh-safe 是一个 DSH 工具插件:模型要跑 PowerShell 时,把整个脚本原样交给我,剩下的转义问题我来扛。
你的脚本(多行随便写)
↓
base64 编码(纯 ASCII,引号/$/反斜杠全部变安全字符)
↓
走 DSH 沙箱化 pwsh 执行器(ctx.shell,和内置 pwsh 同一条通道)
↓
结果带沙箱标记 / 完整输出 spill 落盘路径 / 退出码
对比:肘击 vs 不肘击
| 场景 | 内置 pwsh 的日常 | pwsh_safe |
| --- | --- | --- |
| 想输出 他说:"你好" | 转义套转义,祈祷能跑 | 原样写,原样跑 |
| 多行脚本 | 每行拼接、层层转义 | 整段直接贴 |
| $env:PATH -replace ';',';' | 连环事故 | 没事发生 |
| 中文输出 | 乱码/编码错误 | UTF-8 编码,稳 |
特性
- 走 DSH 沙箱通道:和内置
pwsh工具同一执行器,沙箱策略 / ConstrainedLanguage / 权限升级全部生效 - 长输出自动 spill:超限不丢,完整输出落盘并报告路径
- 超时保护:默认 120s,可自定义
- 脚本长度守卫:脚本转 base64 后超过 24000 字符会直接报错提示拆分,避免撞上 Windows 命令行 32KB 上限
- 结果规范化:执行器返回形状异常时也会被归一化,不会因缺字段崩渲染
- 中文友好:UTF-8 全链路
- 零依赖:无 @deepseek-ai 依赖,纯 Node 内置
安装
cd $DSH_HOME/profiles/<你的profile>
pnpm add dsh-tool-pwsh-safe@github:sryimnoob123/dsh-tool-pwsh-safe
# 或本地开发:pnpm add link:/绝对路径/dsh-tool-pwsh-safe
然后把它加进 profile 的 package.json bundles 列表,重启 DSH。
使用
{
"script": "Write-Host \"这是中文 + 引号 + $env:USERNAME\"; Get-Location",
"description": "演示转义免疫"
}
配置
| 参数 | 默认 | 说明 |
| --- | --- | --- |
| script | (必填) | 完整 PowerShell 脚本,多行随便 |
| description | (必填) | 一句话说明(UI 显示用) |
| workdir | 会话工作目录 | 脚本工作目录 |
| timeoutMs | 120000 | 超时自动 kill |
License
MIT
Similar plugins
Reports PowerShell, cmd, and LANG encoding for UTF-8 versus code-page issues.
★ 0
dsh plugin --profile web add dsh-wsl-encodingby MAXeaglet
DSH plugin: one shell tool that runs commands through PowerShell, Git Bash, or WSL on Windows, with a user-chosen default terminal in the Web UI settings.
★ 20
MIT
JavaScript
Sep 11, 2026
dsh plugin --profile web add dsh-bash-terminalby Saikel-Orado-Liu
Windows-adapted DSH coding agent preset with persistent PowerShell 7 (pwsh) and str_replace_editor, mirroring the official minimal preset.
★ 3
MIT
JavaScript
Aug 21, 2026
dsh plugin --profile web add @gamegeek-saikel/dsh-coding-presetby chaggle
Native DeepSeek Harness plugin: gates pwsh tool calls against PowerShell pitfalls via the official tools/pre-execute interception point, bundles the powershell-check skill
★ 4
MIT
JavaScript
Sep 10, 2026
dsh plugin --profile web add @chaggle/dsh-powershell-checkString-matches tool-call input arguments, blocks dangerous tool calls (deny) or allows them with an injected warning (warn), and ships a full rules-management panel.
★ 0
dsh plugin --profile web add @jypjypjypjyp/dsh-guardrailStatic and runtime security guard for dsh: rule-based scans for malicious code, prompt injection and token waste, runtime interception of dangerous tool calls, /scan command, plugin_scan tool, web pan
★ 0
dsh plugin --profile web add dsh-security-guard