dsh-gitbash-preset 使用指南
为 DSH 极简模式提供 Windows 变体,bash 改走 Git for Windows 的 MSYS bash,修复 Windows 上无法使用的问题。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-gitbash-preset
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add @icelily/dsh-gitbash-preset
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- 幂等安装:插件启动时把打包的预设复制到用户预设根(
${DSH_HOME:-~/.dsh}/.agent-presets/minimal-gitbash/),已存在则跳过,force: true才覆盖; - 自动探测 bash:
GIT_BASH环境变量 → 常见安装目录(ProgramFiles / ProgramFiles(x86) / LOCALAPPDATA)→ PATH 中的bash.exe→ 兜底bash,无需硬编码路径; - 沙箱感知门控:MSYS 运行时无法在 Windows 受限令牌沙箱内启动(无法创建 signal pipe),因此命令仅在"完全访问"策略下执行——不绕过沙箱,受限时给出明确升级指引;
- 极简不变:固定 persona、
str_replace_editor、无上下文压缩,与原极简模式一致。 -
- 把会话沙箱切到完全访问,之后所有 bash 调用直接走 git bash;
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
这个插件是给谁用的?
主要是 Windows 上使用 DSH「极简模式」的普通用户。DSH 自带的极简模式在 Windows 上跑不起来,本插件提供了一个替代预设。
macOS 或 Linux 需要装吗?
不需要。该预设只在 Windows 上启用(agent.cordis.yml 用 process.platform !== 'win32' 直接禁用),其他系统继续用官方极简模式即可。
装完之后需要做什么?
重启 DSH 让预设写入到用户预设目录(约 ~/.dsh/.agent-presets/minimal-gitbash/),然后在 Web 界面新建会话选择「极简模式 (Git Bash)」即可。
会话沙箱是 workspace-write 时能用吗?
不能直接用。bash 工具会因为沙箱限制拒绝执行;要么把会话切到「完全访问」,要么让模型在首次失败时按提示用 sandbox_permissions: "danger-full-access" 加说明做单次升级。
它会改我电脑上已有的 bash 工具吗?
不会影响系统其他 bash 调用。它只在选用了「极简模式 (Git Bash)」的会话作用域内替换 shell 提供者,其他会话照旧。
如何强制覆盖已经装好的预设?
在安装命令中给插件配置 force: true,插件会用包内预设文件覆盖用户目录下已有版本。
怎么卸载?
用 dsh plugin --profile web remove 移除插件,然后手动删除用户目录下的 minimal-gitbash 文件夹即可。
它和官方极简模式有什么区别?
persona 和 str_replace_editor 工具表面完全一致;唯一区别是 bash 工具每次调用新启一个 shell(不保留 cd/export 状态),因为 Windows 上的持久 PTY 不可用。
— 源: plugin_wiki.faq_json
兼容性
- DSH: 未声明
- Node: >=20
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则