deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
在 Windows 上为 DeepSeek Harness(DSH)提供 Git Bash 与 WSL2 两个 bash 工具的 Cordis 插件。
本插件通过 ctx.subprocess 直接 spawn bash.exe / wsl.exe,绕开受限令牌层,
把 Git Bash 或者 WSL2 带进 DSH,并自建有效沙箱(WSL 内 bwrap)与审批请求。
| 维度 | 机制 | 说明 |
|---|---|---|
| 默认执行 | 无沙箱,全权限 | git_bash / wsl_bash 默认直接跑,可读写任意路径(绕开沙箱的代价) |
| 沙箱 | WSL 内 bwrap(sandbox: true) |
系统目录只读、workspace 可写、/mnt/c 其余只读;越界写入被拒并报 [sandbox: file access denied under workspace-write mode] |
| 审批 | ctx.approval |
require_approval: true 执行前弹窗;升权请求(sandbox_permissions + justification)弹窗;ask 策略弹窗、never 自动拒绝 |
关键概念:
require_approval)和越界后的升权请求;workspace-write(bwrap 受限)→ danger-full-access(去掉 bwrap),
走官方 approveEscalation 流程,必须严格加宽且经用户批准。| 工具 | 后端 | UI 标题 | 能力 |
|---|---|---|---|
git_bash |
本地 Git Bash(MSYS2) | Git Bash | 批准模式(require_approval)、官方沙箱接入(sandbox,Windows 受限模式报 Cygwin 限制)、后台任务 |
wsl_bash |
WSL2(Linux) | WSL Bash | bwrap 真沙箱(sandbox: true)、升权审批(sandbox_permissions + justification)、后台任务 |
共性能力:
timeoutMs 超时终止整个进程树、调用取消run_in_background: true 返回 job id,配合 job_output / job_kill
(非零退出码如实上报,kill 分类为 killed)git_bash)C:\Program Files\Git\bin\bash.exe、
C:\Program Files\Git\usr\bin\bash.exe、C:\Program Files (x86)\Git\bin\bash.exesandbox: true 会尝试走 windows-acl 沙箱,受限模式下如实报告 runner 失败
(这是平台限制,不是绕过)wsl_bash)C:\Windows\System32\wsl.exe;发行版默认 Ubuntu(可指定)--cd 自动转换 Windows 路径(C:\Users\... → /mnt/c/Users/...),也可直接传 Linux 路径timeoutMs 控制等待)sandbox: true 时在 WSL 内用 bwrap 包装命令:系统目录(/usr /lib
/bin /etc 等)只读、/tmp 临时可写、workspace 可写、/mnt/c 其余只读;
要求发行版已安装 bubblewrap(apt install bubblewrap)定位优先级:插件 config > 环境变量 > 自动探测。
# cordis.patch.yml
- insert:
- id: tool-bashx
name: '@zimzaza4/dsh-bash-win'
config:
bashPath: 'D:\tools\Git\bin\bash.exe' # 自定义 Git Bash
wslPath: 'C:\Windows\System32\wsl.exe' # 自定义 WSL
wslDistro: 'Debian' # 默认发行版
环境变量:DSH_BASHX_BASH_PATH / DSH_BASHX_WSL_PATH / DSH_BASHX_WSL_DISTRO。
插件已发布到 npm。通过 DSH 官方 dsh plugin 命令安装进 profile(dsh web
对应 web profile)。
dsh plugin --profile web add @zimzaza4/dsh-bash-win
装完重启 dsh web 生效。包内 cordis.patch.yml(经 dsh.bundle.patch
声明)自动挂载插件行,重启后即可在对话中使用 git_bash / wsl_bash。
git_bash / wsl_bash 两个工具;dsh --profile web --dump-config 确认插件配置层已挂载;dsh web。dsh plugin --profile web remove @zimzaza4/dsh-bash-win
然后重启 dsh web。
cordis.patch.yml;重新安装时重建该文件即可@deepseek-ai/dsh-tools、@deepseek-ai/dsh-sandbox(peer,宿主提供)tools(硬依赖);subprocess / fs / timer / jobs /
approval / sandbox / sandboxPolicy(可选 ctx.get)bubblewrapMIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。