DSH Plugins Marketplace

DSH Plugins

Plugins

/

Terminal & Clients

/

dsh-gitbash

y

dsh-gitbash

Manifest valid★ 8

DeepSeek Harness (DSH) bundle plugin: makes the existing bash tool run Git Bash on Windows and disables pwsh.

hasBundlePatch

dsh-gitbash

English · 中文

DeepSeek Harness(DSH)bundle 插件:不新增模式、不新增工具,在 Windows 上把 DSH 现有的 bash 工具直接指向 Git for Windows Bash,并隐藏/禁用 pwsh,让模型自然使用 Git Bash。

参考了 Reasonix 的做法。

设计目标

  • 不是 preset 模式:不需要选择新模式,原有模式名不变。
  • 不是额外工具:不注册 gitbash 工具,模型看到的还是 DSH 原生的 bash 工具。
  • 默认 Git Bash:Windows 上 bash 工具通过 Git\bin\bash.exe -lc <command> 执行。
  • 隐藏 PowerShell:Windows 上 pwsh 从 prompt 中隐藏,并且即使旧缓存尝试调用也会被 guard 拒绝。
  • 动态描述:bash 工具描述被改写为 Git Bash/MSYS2 规则,模型按 bash 语法写命令。
  • Windows 专用:非 Windows 上插件 no-op,不影响原生 bash。

目录结构

dsh-gitbash/
├── package.json
├── cordis.patch.yml        # 插入 dsh-gitbash,禁用 pwsh,启用 bash
├── lib/
│   ├── index.js            # shell provider + prompt 改写 + guard
│   └── gitbash-core.mjs    # 纯函数:路径探测/argv/渲染/校验
└── test/
    └── gitbash-core.test.mjs

安装(web profile)

在插件仓库根目录执行。如果你是从 GitHub clone 的,先进入 clone 出来的目录:

cd dsh-gitbash

新版 DSH 的 dsh plugin 命令会把参数转发给 pnpm。安装前请先确认本机已有 pnpm(例如执行 pnpm --version);没有的话先运行 npm install -g pnpm。

方式 A:dsh 已经在 PATH 里

直接执行:

dsh plugin --profile web add .

方式 B:平时用 npx @deepseek-ai/dsh web 启动 DSH

很多人的 DSH 不是全局安装的,dsh 命令并不在 PATH 里。如果你平时是这样启动的:

npx @deepseek-ai/dsh web

那么安装插件也要通过 npx 调用:

npx @deepseek-ai/dsh plugin --profile web add .

注意:这条命令要在插件仓库根目录下执行,因为 add . 的 . 指向当前目录。

如果你希望以后能直接使用 dsh 命令,可以先把 DSH 装到全局:

npm install -g @deepseek-ai/dsh

之后就能直接:

dsh plugin --profile web add .

安装后

安装会:

  1. 把 dsh-gitbash 作为 bundle 加入 ~/.dsh/profiles/web;
  2. 在 Windows 上提供一个 Git Bash shell executor;
  3. 重新启用 host 层 tool-bash;
  4. 禁用 pwsh-sandbox / tool-pwsh。

然后完整重启 DSH。之后新建会话和旧对话都会使用同一个 bash 工具,但它实际执行 Git Bash。

GitHub 安装(推荐)

如果你不想依赖本地源码目录,可以直接从 GitHub 安装:

dsh plugin --profile web add github:yunuo110/dsh-gitbash

如果你之前装过本地版本,先移除再安装:

dsh plugin --profile web remove dsh-gitbash
dsh plugin --profile web add github:yunuo110/dsh-gitbash

建议锁定版本,避免以后仓库变更悄悄影响你(当前最新 tag:v0.1.1):

dsh plugin --profile web add github:yunuo110/dsh-gitbash#v0.1.1

这样 profile 里保存的是 GitHub 依赖,而不是本地 link 依赖,DSH 更新不会把它刷掉。

使用

  • 新会话或旧对话里让模型执行 shell/git 命令,例如“查看 git 状态”“运行 npm test”。
  • 模型看到的是 bash 工具,描述会说明它运行 Git Bash。
  • Windows 上模型看不到 pwsh,即使旧缓存尝试 pwsh 也会被拒绝并提示改用 bash。
  • 如果当前会话沙箱不是完全访问,第一次调用可能失败并提示升级。按提示让模型用:
    {
      "command": "git status",
      "description": "查看 git 状态",
      "sandbox_permissions": "danger-full-access",
      "justification": "Git Bash 无法在受限沙箱中启动,需要完全访问以执行 git 状态检查。"
    }
    
    或直接在设置里把会话权限切到完全访问。

配置

默认自动探测 Git Bash:GIT_BASH 环境变量 → Program Files / Program Files (x86) / ProgramW6432 / LocalAppData / Scoop → PATH(排除 System32 的 WSL bash)。

要固定路径,在 profile 自己的 cordis.patch.yml(~/.dsh/profiles/web/cordis.patch.yml)中覆盖插件行:

- id: dsh-gitbash
  config:
    shellPath: 'C:\Program Files\Git\bin\bash.exe'
    timeoutMs: 120000
    maxTimeoutMs: 600000
    maxOutputBytes: 64000
    maxSpillBytes: 67108864
    graceMs: 3000
字段默认说明
shellPath自动探测固定 Git Bash 路径
timeoutMs120000单条命令默认超时
maxTimeoutMs600000超时上限
maxOutputBytes64000stdout 内存保留字节数,溢出写入 spill
maxSpillBytes67108864spill 文件上限
graceMs3000SIGTERM → SIGKILL 宽限

工具行为

  • 每次调用都是新的非交互式 bash.exe -lc:不保留 cd / export / alias 状态。
  • 使用 POSIX/bash 语法:$VAR、export、ls、grep、find、sed、awk、管道、&&/||、命令替换。
  • 路径建议:/d/WorkSpace 或 C:/WorkSpace;避免未加引号的反斜杠。
  • 环境变量:$VAR / ${VAR},不要用 PowerShell 的 $env:VAR。
  • 支持 DSH 原 bash 工具的 workdir、timeoutMs、run_in_background、sandbox_permissions + justification。

Token 对比

只对比原版 DSH 配置与本插件的差异:

配置可见 shell 工具额外系统提示每轮 token 影响
原版 DSH(Windows)pwsh无基准
本插件bash(实际执行 Git Bash)无基本持平(只是用 bash schema 替换 pwsh schema,没有新增额外工具)

测试

npm run check

当前测试覆盖:Git Bash 路径探测、argv 构造、环境变量合并、参数校验、超时钳制、workdir 解析、结果渲染、配置校验、shell 工具过滤。

兼容性

  • DeepSeek Harness 0.1.2-rc.1(兼容 0.1.0-rc.6 起的同一套 shell/工具 seam)
  • Windows + Git for Windows(MSYS2)
  • Node.js 22.19+

说明

本工具完全由 DSH 制作而成。

Comments

Loading…

Similar plugins

dsh-gitbash-shell

by KannaKuron

DSH plugin: Git Bash shell for all agent modes on Windows (replaces pwsh executor)

Terminal & ClientsManifest valid

★ 41

MIT

JavaScript

Oct 28, 2026

dsh plugin --profile web add dsh-gitbash-shell

by Dinosaur-MC

Multi-bash plugin for dsh. Add Git Bash / WSL Bash support for Windows.

Tools & CapabilitiesTerminal & ClientsManifest valid

★ 0

MIT

JavaScript

Aug 30, 2026

dsh plugin --profile web add dsh-win-multi-bash

by inmny

DeepSeek Harness 插件:让DSH使用Git Bash,能够保持read-only, workspace-write, full-access权限控制依旧可用

Terminal & ClientsManifest valid

★ 8

↓ 84/wk

MIT

JavaScript

Aug 18, 2026

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

by buhuikongpan

Git Bash tool plugin for Windows (replaces pwsh and WSL-only bash)

Tools & CapabilitiesManifest valid

★ 8

MIT

JavaScript

Aug 21, 2026

dsh plugin --profile web add dsh-tool-gitbash

by Very12345

Git-for-Windows bash executor for DeepSeek Harness: a ctx.shell provider that runs commands through the installed Git Bash, so an agent preset can offer a bash tool on Windows without WSL.

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Oct 4, 2026

dsh plugin --profile web add @very12345/dsh-bash-windows

by VviLliAm-qwq

Make a Git for Windows installation resolvable as bash inside the dsh host process, so the official bash shell stack can run on Windows

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 16, 2026

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