sryimnoob123/dsh-tool-pwsh-safe

Elbow-proof PowerShell for DeepSeek Harness: pwsh_safe tool runs scripts via base64 -EncodedCommand, immune to quoting/escaping pain, sandbox-seam based

Project Overview项目介绍

This is a DSH plugin for safe PowerShell script execution. It resolves all escaping issues by base64 encoding the original script, runs via DSH's sandbox channel, supports dumping long output and handles UTF-8 Chinese correctly. Use it for PowerShell scripts with special characters or multi-line content. Overly long scripts need manual splitting.

这是一款DSH PowerShell执行工具插件,负责处理PowerShell脚本的转义问题,通过base64编码原脚本后走DSH沙箱通道执行,支持长输出落盘、UTF-8中文。需要执行含特殊字符或多行PowerShell脚本时使用。注意过长脚本需要手动拆分。

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

CLI Install命令行安装

dsh plugin --profile web add github:sryimnoob123/dsh-tool-pwsh-safe

sryimnoob123/dsh-tool-pwsh-safe 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

🥊 dsh-tool-pwsh-safe

你是否见过 dsh 疯狂肘击 PowerShell?

单引号、双引号、反斜杠、$ 展开、反引号、换行、中文…… 每个 AI agent 都曾在 PowerShell 转义地狱里被肘击到怀疑人生。

License: MIT

这是什么

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

上一个 Prev dsh-scnet 下一个 Next chiral-pulse