跳到主内容

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

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则