How k1-lihongrong/dsh-multiver works
dsh-multiver is a Windows desktop manager for installing, switching, isolating, and running multiple DeepSeek Harness versions. The main workflow is to check prerequisites, discover npm releases, install a selected version, then launch it in an embedded window or the system browser. Users can also configure storage paths, batch-uninstall versions, create desktop shortcuts, and maintain isolated data. The Vue UI invokes Tauri commands; Rust coordinates version, configuration, environment, launch, and maintenance services. Edges reflect excerpts or README statements; some detailed command-to-service wiring is unsampled.
Main entry points: lib.rs Tauri commands · launcher.rs DSH launcher · App.vue Manager UI · maintenance.rs Background maintenance
Components 18
Desktop interface
- Manager UI
src/App.vue
Version management
- Tauri commands
src-tauri/src/lib.rs - Version operations
src-tauri/src/versions.rs - Registry and actions
src-tauri/src/actions.rs
Launch and integration
- DSH launcher
src-tauri/src/launcher.rs - Process cleanup
src-tauri/src/jobobj.rs - Embedded WebView
- Terminal forwarding
src-tauri/src/actions.rs - Desktop shortcut
src-tauri/src/launcher.rs
Configuration and data
- Settings and paths
src-tauri/src/config.rs - Local data
Environment and maintenance
- Environment checks
src-tauri/src/envcheck.rs - Background maintenance
src-tauri/src/maintenance.rs
Other components
- User
- npm registry
- pnpm runtime
- Installed DSH
- System browser
Connections 26
- User → Manager UI: uses
README.md - Manager UI → Tauri commands: invokes commands
src/App.vue - Tauri commands → Version operations: manages versions
src-tauri/src/lib.rs - Tauri commands → Registry and actions: requests actions
src-tauri/src/lib.rs - Tauri commands → Settings and paths: loads settings
src-tauri/src/lib.rs - Tauri commands → Environment checks: checks environment
src-tauri/src/lib.rs - Tauri commands → DSH launcher: starts DSH
src-tauri/src/lib.rs - Tauri commands → Background maintenance: starts maintenance
src-tauri/src/lib.rs - Manager UI → Environment checks: requests checks
src/App.vue - Manager UI → Registry and actions: refreshes releases
src/App.vue - Registry and actions → pnpm runtime: queries releases
src-tauri/src/actions.rs - pnpm runtime → npm registry: reads package versions
- Version operations → pnpm runtime: installs packages
README.md - Version operations → Local data: reads and writes versions
src-tauri/src/versions.rs - Settings and paths → Local data: persists settings
src-tauri/src/config.rs - Tauri commands → Embedded WebView: opens window
src-tauri/src/lib.rs - DSH launcher → Installed DSH: spawns web process
src-tauri/src/launcher.rs - Installed DSH → Embedded WebView: serves web UI
README.md - DSH launcher → Process cleanup: assigns process
src-tauri/src/launcher.rs - Tauri commands → DSH launcher: opens browser mode
src-tauri/src/lib.rs - DSH launcher → System browser: opens URL
src-tauri/src/launcher.rs - Tauri commands → DSH launcher: creates shortcut
README.md - Tauri commands → Terminal forwarding: sets default version
README.md - Background maintenance → Local data: cleans webview data
src-tauri/src/maintenance.rs - Background maintenance → pnpm runtime: prunes store
src-tauri/src/maintenance.rs - Background maintenance → Process cleanup: assigns process
src-tauri/src/maintenance.rs