ChatGPTClaudeGrok / X / CursorGemini

dsh-multi-shell:让 DeepSeek Harness 模型逐次挑选 shell 后端

deepseekv41flash/dsh-multi-shell

工具与能力已验证
收录时间 2026-10-30
页面最后更新 2026-11-05

DSH plugin 只注册一个 shell 工具,让模型每次调用时自行选择 Git Bash、PowerShell 或 WSL 后端执行命令。

dsh-multi-shell 是面向 DeepSeek Harness 的 shell 多后端 DSH plugin,只注册一个 shell 工具,却把后端选择权交给模型。它解决的是后端被用户设置固定、模型无法按命令语法切换的问题,让同一次会话里 POSIX 脚本、PowerShell 命令与 Linux 发行版命令都能跑。核心能力包括逐次指定 gitbash、powershell 或 wsl,用 distro 指定发行版,用 workdir 与 timeoutMs 控制执行环境,并通过后台任务管理长命令。

如何安装

install
npmdsh plugin --profile web add dsh-multi-shell
分类
工具与能力
平台
DSH Plugin
作者
deepseekv41flash
分发方式
插件

dsh-multi-shell 核心特性

单一 shell 工具,模型逐次选后端支持 Git Bash、PowerShell、WSLPowerShell 沙箱隔离与审批后台任务与超时控制跨 DSH 版本无版本门控
Listed on dsh-plugin.org

dsh-multi-shell 仓库简介

它是做什么的?

它是 DeepSeek Harness(DSH)的 shell 多后端插件,只注册一个 shell 工具,却让模型在每次调用时自己挑选执行后端:Git Bash(默认)、PowerShell 或 WSL。它解决的是「后端由用户预先设定、模型无法按命令语法切换」的麻烦,让同一次会话里既能跑 POSIX 脚本,也能跑 PowerShell 命令和 Linux 发行版命令。插件由 deepseekv41flash 维护,采用 MIT 协议,纯 ESM、零构建,最近更新于 2026-10-30。

核心功能

  • 逐次选择后端:shell 参数取 gitbash、powershell 或 wsl,不传时用配置里的默认后端,模型可按命令语法自行决定。
  • 参数完整可控:command 与 description 必填,另有 distro(仅 WSL 可用)、workdir(相对路径按会话目录展开,WSL 自动把 Windows 路径映射为 /mnt/...)、timeoutMs(默认 120000、上限 600000,到点杀进程树)。
  • 后台任务:run_in_background 返回 job id,配合 job_output / job_kill 管理无超时的长任务。
  • 沙箱语义清晰:PowerShell 在只读 / 工作区可写模式下经沙箱包装 argv 且 fail-closed,无可用 provider 时拒绝执行;Git Bash 与 WSL 不隔离,受限会话每次渲染都会追加一行模型可见的未隔离提示。
  • 输出可反解:非零退出以 [exit code: N] 标记返回,超时以 [timed out after Nms] 开头,超过 64 KiB 截尾并给出完整输出文件路径。
  • 版本门控宽松:只用 * 范围且模块内无版本判断,可选服务按调用时解析,缺一个只坏一次调用,不会整条 fiber 加载失败。

怎么使用这个插件?

在 DSH 中启用后,模型调用 shell 工具并传入 command、description,需要切换后端时补上 shell 参数即可,例如用 powershell 跑中文输出命令、用 wsl 加 distro 指定发行版。需要提权时,插件把 Sudo for Windows 内联模式的提示写进工具描述,可从 gitbash 后端发起提权,但每次调用弹一次 UAC、没有凭据缓存,脚本要自带超时与自清。默认后端、pwsh / gitbash / wsl 路径、超时与输出上限等都在 profile 配置里按需覆盖,启动时会校验数值配置,非法值直接给出字段名清楚的启动错误。

报错怎么排查?

受限只读会话下 PowerShell 后端若出现编码相关报错,是因为只读沙箱把 pwsh 跑在 ConstrainedLanguage 下,插件的前导守卫已避免每次调用往 stderr 打两条 InvalidOperation,代价是受限只读下非 ASCII 输出仍为代码页编码。若命令没跑却报沙箱不可用,说明 runner 自身失败被识别为 SANDBOX_UNAVAILABLE,按官方说明修复沙箱 provider 后重试。对 gitbash 或 wsl 传 sandbox_permissions 会报错,因为这两个后端不受沙箱约束,去掉该参数即可。

本页是基于该插件官方 README 独立重写的导读——权威文档和最新变更请以源头为准:deepseekv41flash/dsh-multi-shell。插件是安装时就在你机器上运行的第三方代码;收录不代表背书——安装前请自行审阅源码。

安装、更新、卸载这个插件,都在 DeepSeek Harness 的 DSH Plugin Hub 插件市场完成
ChatGPTClaudeGrok / X / CursorGemini

DSH Plugin 常见问题