DeepSeek Harness 插件

dsh-git-bash

Use Git for Windows Bash as the default DSH shell with restricted-mode support(英文原文)

跳到安装方式

来源信息

GitHub 仓库
inmny/dsh-git-bash
最近更新
2026年8月18日
分类
工具与能力
GitHub stars
7
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/inmny/dsh-git-bash
插件名:dsh-git-bash
作者:inmny

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-plugin-git-bash

DeepSeek Harness 在 Windows 上默认使用 Git for Windows Bash,并保留 DSH 的 read-onlyworkspace-writedanger-full-access 权限语义。

![Git Bash 在 DeepSeek Harness 中运行](assets/teaser.png)

使用方法

插件安装到 profile 后,standardcodecordisminimal preset 会使用 Git Bash 代替 PowerShell。前台命令、后台命令和 Web Agent preset 共用同一个 executor。

新建会话后可以运行以下命令确认 shell:

printf 'shell=%s\nversion=%s\nmsystem=%s\n' "$BASH" "$BASH_VERSION" "$MSYSTEM"

MSYSTEM 应为 MINGW64MINGW32

Web 界面中的 Bash 工具行可以展开查看 command、cwd、stdout/stderr 和 exit status。run_code 内的 nested Bash 调用使用同一套 terminal 详情;过长的 command 会自动换行,output 则保留终端横向滚动,以维持日志和表格的列对齐。

插件只作为 bundle layer 安装到目标 profile,不修改 DSH 安装目录。

安装或更新

从 npm 安装固定版本到 Web profile:

dsh plugin --profile web add dsh-plugin-git-bash@0.3.1

更新现有安装时使用同一条命令。安装完成后重启 dsh web,让 Host 和浏览器 client 同时加载新版本,然后新建会话。

安装最新版时可以省略版本号:

dsh plugin --profile web add dsh-plugin-git-bash

开发本地版本时传入 checkout 路径:

dsh plugin --profile web add C:\path\to\dsh-git-bash

权限模式

read-onlyworkspace-write

受限命令仍由 DSH Windows ACL sandbox 创建 WRITE_RESTRICTED token。插件在 sandbox 内先运行 native guard,再由 guard 启动 Git Bash:

DSH ACL runner -> msys-token-guard.exe -> bash.exe -> child processes
  • read-only 可以启动 Git Bash,但不能写 workspace。
  • workspace-write 只能写 DSH 授权的 workspace 和 private temp。

danger-full-access

该模式不经过 native guard,直接运行 Git Bash,与插件 0.1.x 的执行方式一致。

配置 Git Bash 路径

插件会自动探测 Program Files、用户安装目录和 Scoop 中的 Git Bash。Web GUI 中打开 设置 -> 插件 -> 插件配置,展开 Git Bash 卡片后可以直接输入 bash.exe 路径,或通过 选择 Git 安装目录 调用系统路径选择窗口。保存后,后续 Bash 命令会立即使用新路径;恢复默认值会回到 profile 配置或自动探测结果。

无 GUI 场景可以在启动 DSH 前设置 DSH_GIT_BASH_PATH

$env:DSH_GIT_BASH_PATH = 'D:\Apps\Git\bin\bash.exe'
dsh web

也可以直接在 profile 的 cordis.patch.yml 中为 provider 配置 executable

- id: git-bash-shell
  name: dsh-plugin-git-bash
  config:
    executable: D:\Apps\Git\bin\bash.exe

平台支持

运行时要求:

  • Windows x64
  • Node.js 24 或更高版本
  • DSH 0.1.0-rc.7
  • Git for Windows x64

npm 包包含预编译的 msys-token-guard.exemsys-token-guard-hook.dll,普通安装不需要 Visual Studio 或 CMake。当前 native guard 仅支持 win32-x64;其他架构在受限模式下返回 SANDBOX_UNAVAILABLE,不会降级到未隔离执行。

Microsoft Detours 4.0.1 源码按 MIT 许可存放在 native/vendor/detours,许可文本随 npm 包分发。Detours 的 DLL path 参数使用 Windows ANSI API,因此插件安装路径必须能由当前系统代码页无损表示,并且不能超过 MAX_PATH;不满足条件时 guard 会 fail closed。

开发

安装依赖并运行完整验证:

pnpm install
pnpm test
pnpm run pack:check

在 Windows 上重建 native artifact 还需要 Visual Studio C++ Build Tools 和 CMake 3.25 或更高版本。pnpm test 会以 C++20、静态 MSVC runtime、CFG、CET、ASLR 和 NX 构建 native guard,然后运行 Windows ACL permission matrix、fail-closed、Web client 和 package metadata 测试。

非 Windows 主机不会交叉编译 native guard,只会检查预编译 artifact 是否存在。

License

MIT