AythyaCrispus/dsh-minimal-msys2 ↗★ 1
dsh-minimal-msys2
Windows 极简模式 / Windows Minimal Mode: persistent bash + str_replace_editor dsh plugin — registers an agent preset, provides a working persistent-bash backend on Windows, and exposes a GUI-editable bash path in the plugin-settings section (persisted via the credentials domain).
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:AythyaCrispus/dsh-minimal-msys2说明文档
阅读完整 README ↗dsh-minimal-msys2
English | 中文
Windows 极简模式 dsh 插件:在 Windows 上提供与官方极简模式工具定义完全一致的持久 bash 工具(command 参数、持久 shell 语义),外加 str_replace_editor。
背景
官方 minimal(极简模式)preset 的持久 bash 在 Windows 上无法工作,有两层独立的平台限制:
dsh-subprocess-local的终端分配依赖 POSIX 进程检查(Linux /proc、macOS ps),win32 直接抛terminal inspection is unsupported on platform win32;- 即使绕过第一层,默认
workspace-write沙箱会把 bash 包进 Windows ACL 受限令牌 runner,而 MSYS2/Cygwin 运行时在受限令牌下无法创建信号管道(bash: *** fatal error - couldn't create signal pipe, Win32 error 5),bash 启动即崩溃。
本插件提供 win32 原生 PTY spawn(node-pty/ConPTY,无 POSIX 进程检查),并复用官方 BashTerminalBackend 的会话逻辑,因此模型看到的 bash 工具定义与官方极简模式完全一致。
安装
dsh plugin --profile web add github:AythyaCrispus/dsh-minimal-msys2
然后重启 dsh。插件启动时会自动把 agent preset 复制到 $DSH_HOME/.agent-presets/minimal-msys2(已存在则不覆盖,保留你的修改)。
使用
- 以 danger-full-access 模式启动/切换会话(MSYS2 bash 与 Windows 受限令牌不兼容,这是硬限制):
或在 Web UI 的会话设置中把沙箱模式切到 danger-full-access。$env:DSH_PERMISSION_MODE = 'danger-full-access' dsh web - 新建会话,Agent 选择 Windows Minimal Mode(选择器里显示英文名)。
- 工具列表应为
bash+str_replace_editor。
配置 bash 路径(GUI)
MSYS2 与 Git Bash 的安装路径不同,无需改配置文件:
- 打开 Web GUI 设置 → 插件配置 →「Windows 极简模式」(卡片标题跟随界面语言,中文界面显示「Windows 极简模式」,英文界面显示 "Windows Minimal Mode");
- 在 bash 路径 输入框填写你的
bash.exe绝对路径(如C:/msys64/usr/bin/bash.exe或C:/Program Files/Git/bin/bash.exe),点击 保存; - 该值写入
$DSH_HOME/.credentials.yaml的DSH_MSYS2_BASH条目(经凭据域持久化,绕开 rc.6 的 settings 白名单);后端启动 bash 时优先读取;点「清除」并保存可恢复默认值。
也可以直接设置环境变量 (优先级高于凭据文件),或编辑 里 行的 (优先级最低,作兜底默认)。