DSH Plugins
返回列表
🧩

dsh-pwsh-quoting-guard

admin-security 更新于 2026.09.11

在终端中运行以下命令:

dsh plugin install fengbai2233/dsh-pwsh-quoting-guard

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install fengbai2233/dsh-pwsh-quoting-guard,源代码位于 https://github.com/fengbai2233/dsh-pwsh-quoting-guard ;安装后重启 dsh web 即可生效。

插件介绍

当你在 Windows 上通过 LLM 驱动 PowerShell 时,最难的部分往往不是脚本逻辑本身,而是嵌套引号。官方 pwsh 工具把整条命令塞进一个字符串经 pwsh -Command 执行,而 Windows PowerShell 5.1 在向原生程序转发参数时会悄悄吞掉内嵌双引号,结果是错了却毫无报错,token 指标也看不见。dsh-pwsh-quoting-guard 从结构层面消除这一类静默失败:它向模型暴露 pwsh_script 和 run_argv 两个工具,前者把脚本正文作为单个 argv 元素传入、数据参数以结构化数组绑定为 $DSH_ARGS(所有转义由插件代码完成,模型永远不碰引号),后者完全绕过 shell,参数向量直达子进程并支持显式工作目录。

两个工具与官方 pwsh 并存而非替换:单行短命令、后台任务、沙箱权限升级仍走官方通道。凡涉及带引号的参数、含空格或中文的路径、多行脚本,优先使用这两个工具即可在相同 token 成本下获得正确结果。插件零运行时依赖,固定开销约 313 token/请求,每避免一两次含引号的失败调用即可回本,特别适合以 Windows PowerShell 5.1 为执行器的 DSH 部署场景。

适合谁用?如果你正在 Windows 上跑 DSH 会话,模型频繁调用 PowerShell 脚本或外部程序,且已经被引号吞参数、CLIXML 噪音、重试爆炸消耗过 token,这个插件就是为这个痛点设计的。装上重启即可生效,无需改配置、无需额外依赖。

使用场景

  • 模型调用 PowerShell 时参数含引号、空格、中文路径或 $ 符号导致静默出错
  • 向原生可执行程序传递多词参数时 Windows PowerShell 5.1 悄悄吞掉内嵌双引号
  • LLM 生成多行 PowerShell 脚本并需要以结构化数组传参、避免二次字符串拼接

适合人员

  • 在 Windows 上以 PowerShell 5.1 为执行器运行 DSH 会话的团队
  • 曾因 Agent 调用 PowerShell 反复踩引号陷阱、消耗大量重试 token 的开发者
  • 需要为 LLM 安全注册自定义工具且要求零运行时依赖的 DSH 插件作者