Back to home@shangshuo1

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 Harnessdsh虚拟环境。 每个环境都是一个独立的 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

  1. 双击 DSHVirtual.exe(或 start.bat)。
  2. 首次使用:顶栏/设置里点「下载/更新」获取内置 Node(一次性,需联网)。
  3. 点「+ 新建环境」,选择 dsh 版本(未安装的版本会自动安装),创建后点「启动」。
  4. 环境就绪后自动打开浏览器,进入该环境的 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 后重试。

License

MIT