dsh-tool-pwsh-safe
Manifest valid★ 4Runs 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
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.1.1 | — | — |
Comments
Loading…
Similar plugins
by 173787247
Reports PowerShell, cmd, and LANG encoding for UTF-8 versus code-page issues.
★ 1
MIT
JavaScript
Oct 30, 2026
dsh plugin --profile web add dsh-wsl-encodingDSH plugin: one shell tool that runs commands through PowerShell, Git Bash, MSYS2, or WSL on Windows, with a user-chosen default terminal in the Web UI settings. TypeScript rewrite of MAXeaglet/dsh-bash-terminal with working MSYS2/MINGW64 support.
★ 0
dsh plugin --profile web add dsh-bash-terminal-tsby lone-wolf-akela
DSH bundle: a copy-on-write permission preset that runs shell commands in a per-workspace Sandboxie box
★ 0
MIT
JavaScript
Oct 12, 2026
dsh plugin --profile web add @lone-wolf-akela/dsh-sandboxie-redirectby Edge-Echo
Windows-native tools for DSH agents: clipboard read and write, system notifications, hosts file inspection and network diagnostics, each returning structured data with UI cards from injection-safe Pow
★ 4
↓ 165/wk
MIT
JavaScript
Oct 20, 2026
dsh plugin --profile web add dsh-win-toolkitby 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.
★ 23
↓ 138/wk
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-preset