DSH-Virtual
Manage multiple isolated DeepSeek Harness (dsh) instances like virtual machines. Rust/egui native desktop app.
- Stars
- 1
- Language
- Rust
- Created
- Aug 24, 2026
- Updated
- Aug 24, 2026
Introduction
DSH Virtual — DeepSeek Harness 多实例虚拟环境管理器
像「虚拟机」一样创建 / 删除 / 启停多个相互隔离的
DeepSeek Harness(dsh)虚拟环境。
每个环境都是一个独立的 dsh web UI 网页,可同时打开多个,环境本身随时可变更。
本程序为 Rust 原生桌面应用(egui GUI),单文件夹自包含、不依赖系统 Node.js。
特性
- 多实例完全隔离:每个环境 = 独立进程 + 独立端口 + 独立工作区 + 独立
DSH_HOME。 插件、配置、密钥、profile 全部写在各自环境的envs/<名称>/home/下,互不影响。 - 原生图形界面:卡片式环境列表、明暗双主题(默认浅色)、启动/安装/复刻进度条、搜索过滤。
- 内置 Node 运行时:程序自带 Node(
runtime/node/),可在设置里一键检测/更新,不碰系统 Node。 - 内置 pnpm 安装器:dsh 版本通过内置 pnpm 安装到
runtime/versions/<版本>/, 带 900 秒超时与安装互斥,安装成败以bin.js可达性为准。 - dsh 版本管理:设置中可查看已装版本(按发布时间排序)、删除无用版本(被环境占用的版本受保护)、检测 npm 最新版。
- 环境管理:新建 / 编辑 / 复刻(完整复制工作区 + 会话记录,符号链接原样重建)/ 删除 / 启停 / 重启 / 开机自启,支持
cordis.patch.yml覆盖配置。
快速开始(使用者)
下载安装包 DSHVirtual-Setup.exe 安装,或直接运行绿色版文件夹中的 DSHVirtual.exe:
- 双击
DSHVirtual.exe(或start.bat)。 - 首次使用:顶栏/设置里点「下载/更新」获取内置 Node(一次性,需联网)。
- 点「+ 新建环境」,选择 dsh 版本(未安装的版本会自动安装),创建后点「启动」。
- 环境就绪后自动打开浏览器,进入该环境的 dsh web UI。
从源码构建(开发者)
依赖:Rust 工具链(MSVC 目标)。图标已含在 src-rs/assets/,无需额外步骤。
cd src-rs
cargo build --release
# 产物:src-rs/target/release/DSHVirtual.exe
把 DSHVirtual.exe 放到任意空文件夹运行即可,data/ envs/ runtime/ 等目录会自动生成。
生成应用图标(可选)
图标源图为 installer/icon-raw.jpg,处理后输出 src-rs/assets/app.ico(多尺寸)与
src-rs/assets/icon64.rgba(运行时顶栏 Logo):
cd installer
powershell -File make-icon.ps1
打安装包(可选)
NSIS 脚本(installer/dshvirtual.nsi)需要先准备 dist/pkg/:
dist/pkg/DSHVirtual.exe ← cargo 构建产物
dist/pkg/README.md
dist/pkg/runtime/node/ ← 内置 Node(可从已部署目录复制)
dist/pkg/runtime/pnpm/ ← 内置 pnpm
然后:
makensis installer/dshvirtual.nsi
# 产物:dist/DSHVirtual-Setup.exe(用户级安装,无需管理员)
目录结构(源码仓库)
├── src-rs/ # Rust 源码(cargo build --release 构建)
│ ├── src/ # app.rs(GUI) store.rs(环境) runtime.rs(Node/dsh) config.rs(配置)
│ ├── assets/ # 应用图标(嵌入 exe)
│ ├── build.rs # Windows 资源(图标/版本信息)嵌入
│ ├── Cargo.toml
│ └── Cargo.lock
├── installer/ # NSIS 安装脚本 + 图标生成脚本
├── start.bat # Windows 启动脚本(绿色版)
├── LICENSE # MIT
└── README.md
运行期目录(自动生成,不入库)
├── DSHVirtual.exe
├── data/
│ ├── settings.json # 端口范围、主题等设置
│ └── envs.json # 环境注册表
├── envs/<名称>/ # 每个虚拟环境:home(DSH_HOME)/workspace/logs/yaml
└── runtime/
├── node/<版本>/ # 内置 Node.js 运行时
├── pnpm/ # 内置 pnpm 安装器
├── versions/<版本>/ # 已安装的 dsh 运行时
└── .pnpm-store/ # pnpm 共享存储
常见问题
- 首次创建环境慢? 首次需要安装所选 dsh 版本(约 1~3 分钟,需联网);装好后创建环境秒级完成。
- 如何给环境配 API Key? 在环境自己的 dsh web UI 里设置;各环境
DSH_HOME独立,密钥互不共享。 - 改端口/权限后不生效? 对该环境点「重启」即可生效。
- 安装失败? 查看
runtime/install.log;确认网络可达 npm registry 后重试。