🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

WSL 沙箱模式 Zhuchen00123/dsh-wsl-modes

DeepSeek Harness
Zhuchen0012380 天前有提交已提供中文文档扫描:含敏感能力

让 Agent 在 WSL 里跑 bash 并启用四套预设

28.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Zhuchen00123/dsh-wsl-modes
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · skill
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 80 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令
查看扫描证据(共 2 处,展示前 2 条)
  • 执行外部命令来自配置/变量
    host/dsh-wsl-bash/lib/index.js:96
    const out = execFileSync(this.wslPath, [...(this.distro ? ['-d', this.distro] : []), '--exec', 'wslpath', '-a', winPath], { encoding: 'utf8' }).trim()
  • 执行外部命令来自配置/变量
    host/dsh-wsl-bash/src/index.ts:103
    const out = execFileSync(this.wslPath, [...(this.distro ? ['-d', this.distro] : []), '--exec', 'wslpath', '-a', winPath], { encoding: 'utf8' }).trim()
扫描于 2026/11/5(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 在WSL中执行bash
  • 启用四套预设

README

由 DeepSeek 最新模型翻译生成
DSH WSL 模式 让 DeepSeek Harness 在 Windows 上使用 WSL Linux bash + bubblewrap 沙箱,并提供四个可直接使用的 Agent preset: | Preset | 名称 | 说明 | | minimal-wsl | 极简模式 (WSL) | 极简双工具:bash + str_replace_editor,另加 read/write/edit、glob/grep、plan、compact | | code-wsl | Code Mode (WSL) | 完整 Code Mode:PTC run_code + delegation/workflow + skills + plan/compact + 全量工具 | | router-flash-godmode-wsl | Router Flash Godmode (WSL) | Flash 神模式(opencode-go):w7 引导 + build/fix 路由 + 首轮核心工具后放开全量 + WSL bash/bwrap |
展开完整文档(README 剩余 1 节)
DSH WSL 模式

让 DeepSeek Harness 在 Windows 上使用 WSL Linux bash + bubblewrap 沙箱,并提供四个可直接使用的 Agent preset:

| Preset | 名称 | 说明 |
| minimal-wsl | 极简模式 (WSL) | 极简双工具:bash + str_replace_editor,另加 read/write/edit、glob/grep、plan、compact |
| code-wsl | Code Mode (WSL) | 完整 Code Mode:PTC run_code + delegation/workflow + skills + plan/compact + 全量工具 |
| router-flash-godmode-wsl | Router Flash Godmode (WSL) | Flash 神模式(opencode-go):w7 引导 + build/fix 路由 + 首轮核心工具后放开全量 + WSL bash/bwrap |
| router-standard-wsl | Router Standard (WSL) | 原版 standard(WSL):RL 接口还原 + shell/str_replace_editor 首轮,think-act 循环,首次 tool call 后放开全量 |

前两个 preset(minimal-wsl / code-wsl)内置 两阶段锚定(anchored bootstrap):

- 第一轮模型请求只暴露 [bash, read],并把 maxTokens 压到 16384,锚定 Minimal 的推理轨迹;
- 第一次持久 tool/call 或 assistant/message 后自动晋升;
- 晋升后恢复该 preset 的完整工具目录;
- 状态从持久 session events 推导,resume 不丢。

第三个 preset(router-flash-godmode-wsl)使用 Router 首轮核心工具引导:

- Flash 模型固定走 w7 神模式 persona;
- 首轮只暴露 read + write + edit + bash;
- 第一次 tool/call 后放开全量工具。

第四个 preset(router-standard-wsl)使用 原版 standard 的 RL 接口还原:

- 首轮 persona 只有 RL 训练句 You are a helpful software engineer assistant.;
- 首轮工具 shell + str_replace_editor;
- 第一次 tool/call 后放开全量工具。

Router Flash Godmode (WSL) 来源

本 preset 是以下项目的 WSL 适配版:

- 上游适配版:SheberDavid/v4-flash-godmode-opencode-go
- “V4 Flash 神模式 (opencode-go)”,针对 opencode-go 的 deepseek-v4-flash
- 注意:上游仓库没有 LICENSE 文件
- 原版路由:yjh051108/dsh-router-standard
- MIT License,Task-aware reasoning-mode router

本仓库的改动:

1. Windows 下也使用 WSL bash + bwrap(禁用 pwsh),而不是上游默认的 PowerShell
2. compaction 换成 dsh-compaction-cacheaware(Reasonix 风格),不用官方 compaction-basic
3. 重命名为 Router Flash Godmode (WSL)

完整来源与改动记录见 presets/router-flash-godmode-wsl/NOTICE.md。

原版论文研究笔记见 docs/router-standard-paper-notes.md。

Router Standard (WSL) 来源

本 preset 是以下项目的 WSL 适配版:

- 原版:yjh051108/dsh-router-standard
- MIT License,Task-aware reasoning-mode router

本仓库的改动:

1. Windows 下也使用 WSL bash + bwrap(禁用 pwsh)
2. 强制 Flash-only(isFlashModel 恒为 true,weak 一律 WEAK_FLASH)
3. 修复首轮动态注入:agent/inbox/claimed + agent/inbox/inserted
4. 首轮剥离 skill-catalog / agent-instructions
5. 晋升后保留 runtime contexts
6. 路径规范只在晋升后注入
7. 修复 dev_mode_subagent 在 opencode-go flash 上丢正文
8. 修复 router 测试(14/14 通过)

完整来源与改动记录见 presets/router-standard-wsl/NOTICE.md。

🐋 收录于 DSH 创意工坊

本仓库已打上 dsh-plugin topic,会被 DSH 创意工坊 每日自动扫描收录。

- 创意工坊在线地址:https://JxaMe.github.io/dsh-workshop/
- 收录方式:GitHub topic dsh-plugin 自动发现

目录结构

dsh-wsl-modes/
├── README.md
├── docs/
│ └── router-standard-paper-notes.md # 原版论文研究笔记 ├── presets/ │ ├── minimal-wsl/ │ │ ├── agent.cordis.yml # preset 组合:bootstrap + persona + 工具 │ │ ├── preset.yml # 下拉菜单显示信息 │ │ └── tool-bootstrap.mjs # 两阶段锚定插件(MIT) │ ├── code-wsl/ │ │ ├── agent.cordis.yml │ │ ├── preset.yml │ │ └── tool-bootstrap.mjs │ ├── router-flash-godmode-wsl/ │ │ ├── agent.cordis.yml │ │ ├── preset.yml │ │ ├── router-bootstrap.mjs │ │ ├── router-core.mjs │ │ └── NOTICE.md # 来源与改动说明 │ └── router-standard-wsl/ │ ├── agent.cordis.yml │ ├── preset.yml │ ├── router-bootstrap-v1.mjs │ ├── router-core.mjs │ ├── router.test.mjs │ └── NOTICE.md # 来源与改动说明 └── host/ └── dsh-wsl-bash/ # ctx.shell 执行器:wsl.exe + bwrap ├── cordis.patch.yml # 挂载补丁:禁 pwsh-sandbox,挂 wsl-bash ├── src/index.ts ├── lib/index.js └── package.json

工作原理

- 终端:tool-bash 通过 ctx.shell 执行器运行 wsl.exe -d --exec bwrap ... -- bash -c 。
- 沙箱:在 WSL 内用 bwrap 表达三档策略:
- read-only:--ro-bind / /
- workspace-write:额外 --tmpfs /tmp --bind
- danger-full-access:不加 bwrap,直接 wsl.exe bash
- 路径:工作区 Windows 路径会通过 wslpath -a 转成 WSL 路径用于 bwrap bind;bash 内看到的是 Linux 路径(如 /codexprojects/...)。
- PTC(仅 code-wsl):tool-presentation mode: code,模型通过 run_code 写 TypeScript 程序,一次组合多步操作。

环境要求

- Windows 10/11 + WSL2
- WSL 发行版(默认 Debian,可用 DSH_WSL_DISTRO 指定)
- WSL 内已安装 bwrap(sudo apt install bubblewrap)
- Node.js ≥ 22(node:sqlite / node:zstd)
- DeepSeek Harness 0.1.0-rc.6 或兼容版本

安装

1. 克隆本仓库

git clone https://github.com//dsh-wsl-modes.git
cd dsh-wsl-modes

2. 安装 preset 到 DSH

把 presets/minimal-wsl、presets/code-wsl、presets/router-flash-godmode-wsl 和 presets/router-standard-wsl 复制到:

%USERPROFILE%\.dsh\.agent-presets\

PowerShell:

$dest = "$env:USERPROFILE\.dsh\.agent-presets"
Copy-Item -Recurse -Force .\presets\minimal-wsl $dest
Copy-Item -Recurse -Force .\presets\code-wsl $dest
Copy-Item -Recurse -Force .\presets\router-flash-godmode-wsl $dest
Copy-Item -Recurse -Force .\presets\router-standard-wsl $dest

3. 安装 compaction 插件

code-wsl / minimal-wsl 使用 dsh-compaction-cacheaware 作为 compaction 后端(Reasonix 风格)。需要在 DSH profile 中安装该包:

cd "$env:USERPROFILE\.dsh\profiles\web"
pnpm add dsh-compaction-cacheaware

如果暂时不想用 npm registry,也可以从 GitHub 安装:
pnpm add dsh-compaction-cacheaware@github:Zhuchen00123/dsh-compaction-cacheaware

4. 挂载 WSL bash 执行器

启动 DSH Web 时带上本仓库的 host patch:

dsh --profile web --patch F:\path\to\dsh-wsl-modes\host\dsh-wsl-bash\cordis.patch.yml --port 3xxx

也可以把 cordis.patch.yml 的内容合并进你的 profile cordis.patch.yml,这样不用每次带 --patch。

5. 使用

在 Web UI 里点“新建会话”,选择:

- 极简模式 (WSL) 或
- 代码模式(WSL)

已验证

在 opencode-go / deepseek-v4-flash + WSL2 Debian 上实测通过:

| 项目 | 结果 |
| minimal-wsl 加载 | ✅ 双工具 + 锚定 |
| code-wsl 加载 | ✅ PTC run_code 可用 |
| WSL Linux bash | ✅ uname -a → Linux ... WSL2 ... GNU/Linux |
| pwd | ✅ /codexprojects/deepseek-harnes |
| bwrap workspace-write | ✅ /tmp 可写,/etc 被拦 |
| 沙箱 denial 上报 | ✅ [sandbox: file access denied under workspace-write mode] |
| escalation 审批流 | ✅ danger-full-access 可审批 |

配置项(环境变量)

| 变量 | 默认值 | 说明 |
| DSH_WSL_DISTRO | WSL 默认发行版 | 指定 WSL 发行版 |
| DSH_WSL_EXE | wsl.exe | wsl.exe 路径 |
| DSH_WSL_BWRAP | bwrap | WSL 内 bwrap 路径 |
| DSH_WSL_ENV | 空 | 额外透传到 WSL 的环境变量,逗号分隔 |

注意事项

- 路径问题:bash 内看到的是 WSL 路径(/mnt/f/...),而 read/write/edit/str_replace_editor 运行在 Windows 主机,需要 Windows 路径(F:\...)。模型调用文件工具前应使用 wslpath -w /mnt/f/... 转换,或直接使用 Windows 路径。
- 不要多进程写同一 session:DSH 的 session 日志是 append-only,多个 dsh 进程同时写同一会话会损坏日志。测试不同模式请用不同会话,或先退出旧进程。
- Windows PTY 限制:官方 minimal 的持久 bash 依赖 PTY seam,在 Windows 上不可用;本方案使用一次性 tool-bash,每条命令独立运行。
- code-wsl 输出截断:code-wsl 的 bootstrapMaxTokens 已设为 16384,避免首轮 PTC 因 1024 上限被截断。若仍遇到 invalid pi-ai replay state: block count does not match assistant content,通常是 DSH 在“继续”截断回复时的 pi-ai replay 状态同步问题;可先发一条新消息代替“继续”,或把 bootstrapMaxTokens 再调大。

致谢 / License

- tool-bootstrap.mjs 来自 xiaobright/dsh-anchored-standard,MIT License。
- 本仓库代码采用 MIT License,见 LICENSE。
预览分享卡片长什么样 ↓Zhuchen00123/dsh-wsl-modes
分享 · DeepSeek Harness Hub
Zhuchen00123/dsh-wsl-modes

让 Agent 在 WSL 里跑 bash 并启用四套预设

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部