跳到正文
dsh-market 浏览插件 GitHub EN

sryimnoob123/dsh-tool-pwsh-safe

把 PowerShell 脚本 base64 编码后执行,引号、$、反斜杠、中文全部原样传递,免去转义地狱。走与内置 pwsh 工具相同的沙箱通道。

Star 数 ★ 2 分类 工具与能力 收录于 2026-09-13 npm dsh-tool-pwsh-safe

安装

在 DeepSeek Harness 里通过 dsh-market 安装

dsh plugin --profile web add dshmarket

或使用命令行

dsh plugin --profile web add dsh-tool-pwsh-safe

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。

README

你是否见过 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

内容来自项目 README(GitHub)↗

评论

评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。