DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-win-multi-bash

Win Multi Bash

适用于 dsh 的 Windows 多 Bash 插件:提供 git_bash、wsl_bash 和可选择启用的 msys2_bash 模型工具;提供可选择启用的 ssh_bash 方言,通过 OpenSSH 客户端驱动远程 Shell;以及一个可保持持久 PTY 会话的终端工具。每种方言都有自己的 exec

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-win-multi-bash@0.7.7
README兼容性版本

兼容性与来源证明

Win Multi Bash 以 dsh-win-multi-bash 发布,当前版本为 0.7.7。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/11/5

版本

0.7.7stable
2026/11/2
0.7.6stable
2026/10/30
0.7.5stable
2026/10/29
查看其余 15 个版本收起版本
0.7.4stable
2026/10/27
0.7.3stable
2026/10/21
0.7.2stable
2026/10/17
0.7.1stable
2026/10/17
0.7.0stable
2026/10/16
0.6.0stable
2026/10/16
0.5.1stable
2026/10/14
0.5.0stable
2026/10/14
0.4.0stable
2026/10/5
0.3.1stable
2026/10/1
0.3.0stable
2026/9/27
0.2.0stable
2026/8/30
0.1.2stable
2026/8/21
0.1.1stable
2026/8/20
0.1.0stable
2026/8/18

相关插件

正在加载相关插件…

最新版
0.7.7
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
569 kB
文件数
30
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 2
周下载
688
安全扫描
✓ v0.7.7 扫描通过
最近提交
2026/11/3
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hub

README

English | 中文

dsh-win-multi-bash

A Windows multi-bash plugin for DeepSeek Harness. git_bash (Git for Windows / MSYS) is on by default. wsl_bash (WSL), msys2_bash (MSYS2 UCRT64) and ssh_bash (a remote shell over the OpenSSH client) are opt-in. terminal keeps a real PTY session alive between calls.

Every dialect owns its own executor, and no tool registers as ctx.shell — that seat stays with the base bundle's pwsh, so pwsh behaves exactly as it does without this plugin.

Tools

ToolBackendNotes
git_bashGit for Windows (MSYS)On by default; owns a GitBashExecutor
wsl_bashWSL LinuxOpt-in; owns a WslBashExecutor; its first load probes the distro
msys2_bashMSYS2 UCRT64Opt-in; owns a Msys2BashExecutor; MSYS2's own $MSYSTEM and pacman
ssh_bashRemote (SSH)Opt-in; owns a SshBashExecutor; one command per call; the target is deployment configuration
terminalany of the abovePersistent PTY sessions: open / send / read / signal / close / list
pwshdsh's ownUntouched; served by the base bundle's pwsh-sandbox row

Only git_bash and terminal are enabled by default. The other three rows are switched off because each mounts a toolchain (or a host) a machine may not have; enable them on the Plugins page. On many Git for Windows hosts the windows-acl runner cannot launch MSYS bash, so git_bash runs unconfined and says so — for confinement use wsl_bash (bwrap) or dsh's pwsh. See Sandbox behavior.

Requirements

  • dsh 0.1.7-rc.2 through 0.2.x — the window package.json's engines.dsh declares. A newer dsh refuses this plugin until a release is re-verified for that line.
  • Windows, and a dsh deployment that provides the published @deepseek-ai base packages.
  • Git Bash and/or WSL and/or MSYS2 only for the backends you enable; a missing backend never affects pwsh.
  • For ssh_bash: an OpenSSH client, a reachable host and a credential that needs no interactive prompt.
  • Node ^22.19.0 || >=24.0.0 (the range this package declares), and pnpm for installation.

Install

Install through dsh plugin, the pnpm forwarder: it applies this package's own cordis.patch.yml bundle layer, which inserts the rows.

dsh plugin --profile web add dsh-win-multi-bash                    # npm package (recommended)
dsh plugin --profile web add github:@Dinosaur-MC/dsh-win-multi-bash # GitHub source
dsh plugin --profile web remove dsh-win-multi-bash                 # remove

Requires pnpm. The bundle layer is assembled at boot, so restart dsh web for a change to take effect. Do not also hand-write the same rows into the profile's cordis.patch.yml: the loader rejects duplicate entry ids. Details and the manual equivalent are in Configuration.

Quick start

  • git_bash is ready after install. It runs a fresh MSYS bash per call; workdir accepts native, MSYS (/c/...) and WSL automount (/mnt/c/...) forms.
  • wsl_bash / msys2_bash: enable win-mb-tool-wsl / win-mb-tool-msys2 on the Plugins page. Pin wslBash.wslDistro or msys2Bash.bashPath only when discovery is not enough.
  • ssh_bash: enable win-mb-tool-ssh and pin sshBash.sshHost (a host or a ~/.ssh/config alias), plus sshUser / sshPort when needed. The target is never a tool argument; a row with no host refuses every call. A one-shot call uses BatchMode=yes, so authenticate with a key; a terminal session with shell: "ssh_bash" is the form that can answer a first-connect prompt.
  • terminal: open a session, send commands with submit: true, read the reply, then close. The working directory, exported variables and aliases survive between calls. Sessions are process-local, capped, idle-reclaimed and not jobs; the Session header lists running and finished sessions and can stop one.
  • Every row has a Configure page on the Plugins page: paths, timeouts, sandbox stance, session limits and the deployment-wide self-heal switch. Changes are live unless a knob shapes the tool schema.

Design at a glance

  • Honest facts, not guesses. A successful confined run says denied: false; a failed one matching the backend's denial dialect says denied: true; a failed one matching nothing says no denied at all. An unwrapped run says unconfined: true. A remote SSH run reports sandbox: { mode, remote: true } and never borrows a local verdict.
  • Platform-native calls. Our tool calls render as the platform's own shell card, with the full terminal label set, the seat's useDisclosure, a header-only background card, and the platform's exit capsule. See Conversation rows.
  • One declaration per dialect. A dialect is one executor file plus one registry declaration; the tool modules, prompt membership, patch rows, config partition, package exports and client rows are derived from it. A declaration that does not hold together throws at load. See Architecture and Principles.
  • One shared prompt section. The core row owns a single tool:win-mb-bash section whose text follows the mounted tools; each tool description keeps only its own dialect facts.
  • Live configuration, user input wins. Knobs are .volatile() where they can be live; the page never rewrites or deletes a value, and a save is revision-fenced. See Configuration.

Documentation

DocumentWhat it covers
ArchitectureRows, executors, the dialect registry, the prompt section, the client half and the call flow
Design principlesThe rules the implementation is held to: honest facts, derived surfaces, parity, live vs schema knobs
Sandbox behaviorPer-backend capabilities, Windows caveats, bwrap, self-heal, SSH's remote scope
Terminal sessionsPTY lifecycle, signals, limits, SSH sessions, measured defaults
Conversation rowsHow a call becomes the platform shell card
ConfigurationThe Plugins page, every row's knobs, live semantics, staged saves
VerificationDev runtime, both test entries, the live SSH round trip
TroubleshootingSymptom → fix

The detailed documents are maintained in English; this README is the bilingual entry point and release summary.

Verification

npm ci                  # once: the pinned 0.2.1-rc.2 dev runtime
pnpm test               # boot a composition; run real commands; a verdict
pnpm run test:audit     # the full audit suite
DSH_AUDIT_SSH_HOST=ubuntu_tx node smoke/prepare.mjs audit   # optional live SSH

Both entries are development tools: the published tarball ships no smoke/. pnpm test fails on a missing tool, a wrong description, a lost ctx.shell seat or a failed command; the audit announces and counts its skips. Details in Verification.

Layout

dsh-win-multi-bash/
├── package.json            # dsh.bundle + dsh.client + engines.dsh; exports for every tool subpath
├── cordis.patch.yml        # the composition wiring (documented inline)
├── lib/                    # plain ESM implementation (no build step)
├── smoke/                  # development verification (not published)
├── docs/                   # architecture, principles, sandbox, terminal, rows, config, verification, troubleshooting
└── LICENSE / THIRD_PARTY_NOTICES

docs/ and smoke/ are repository-only; npm pack ships only the files listed in package.json.

License

MIT. See LICENSE; upstream notices are in THIRD_PARTY_NOTICES.