Ackow
dsh-desktop
Lightweight DeepSeek Harness desktop client - ~0.9MB native shell (WebView2 window + dsh web lifecycle manager) with auto dependency install
- Stars
- 1
- Language
- C#
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
DSH Desktop
轻量级 DeepSeek Harness 桌面客户端 · A lightweight desktop client for DeepSeek Harness
一个把 DeepSeek Harness Web GUI 装进原生窗口的小壳:总体积 ≈ 0.9 MB,零捆绑运行时,免安装,双击即用。
A ~0.9 MB native shell that puts the DeepSeek Harness web GUI into a desktop window. No bundled runtimes, portable, double-click to run.
✨ 特性 Features
- 超小体积 ≈0.9MB —— WinForms(.NET Framework 4.8, Windows 自带) + WebView2(系统预装) + dsh(本机), 不打包任何重型运行时
- 单文件发布 —— WebView2 组件与图标全部内嵌进 exe,Release 只含一个文件;首次运行自动解出到
%LOCALAPPDATA%\DSHDesktop\lib - 智能服务管理 —— 端口上已有
dsh web就复用(退出不杀);没有就自动拉起(退出自动停服);端口被占自动改用随机端口 - 缺啥自动装 —— 缺 WebView2 运行时 → 一键下载微软官方安装包;缺 Node.js → 一键 winget 安装;缺 dsh → npx 自动下载
- 桌面体验 —— 关窗驻留托盘、单实例激活(二次启动唤起窗口)、断线检测气泡提醒、窗口位置记忆、崩溃弹窗可见
- 安全边界与 dsh web 一致 —— 仅访问
127.0.0.1本地服务
📥 快速开始 Quick start
在 Release 中直接下载 DSHDesktop.exe(单文件,约 900KB),双击运行即可,无需安装。
要求 Windows 10/11。首次启动若缺少组件,应用会引导自动安装(WebView2 运行时 / Node.js / dsh)。
🔧 命令行参数 CLI
--selfcheck [path] 环境自检,写出 JSON 报告;exit 0 = 环境就绪
--port N 本次启动使用指定端口(一次性,不写回设置)
--close-exits 点关闭按钮直接退出(默认隐藏到托盘)
--no-tray 不显示托盘图标
数据目录:%LOCALAPPDATA%\DSHDesktop\(可用环境变量 DSH_DESKTOP_DATA 改为便携目录)。
dsh 定位环境变量:DSH_DESKTOP_DSH_BIN、DSH_DESKTOP_NODE。
🏗️ 架构 Architecture
DSHDesktop.exe (托盘/窗口壳, ~900KB 单文件)
├─ WebView2 内嵌窗口 ──▶ http://127.0.0.1:3080 (DeepSeek Harness Web GUI)
├─ 内嵌资源: Microsoft.Web.WebView2.Core/WinForms.dll + WebView2Loader.dll + app.ico
│ (首次运行解出到 %LOCALAPPDATA%\DSHDesktop\lib,由 AssemblyResolve/LoadLibrary 加载)
└─ DshServer 服务管理
├─ 端口探测:已是 dsh web → 附着复用(不拥有,退出不杀)
├─ 端口空闲 → 定位本机 dsh 并拉起 `dsh web`(拥有,退出时停服)
├─ 端口被其他程序占用 → 自动改用 `--port 0` 随机端口
└─ dsh 定位顺序:DSH_DESKTOP_DSH_BIN → PATH 的 dsh.cmd →
npm npx 缓存中的 @deepseek-ai/dsh(取最新版)→ npx 在线下载(需确认)
📦 体积对比 Why so small
| 方案 | 体积 |
|---|---|
| Electron 打包 web UI | ≥100 MB |
| Tauri(Rust) | ~3-10 MB |
| 打包整个 dsh node_modules | 数百 MB |
| 本方案(复用系统/本机组件) | ≈0.9 MB |
🛠️ 构建 Build
前置:Windows 10/11 + .NET SDK(仅用 Roslyn 编译器)+ Node.js(生成图标)+ .NET Framework 4.8 引用程序集(系统自带)。
.\build.ps1
产物输出到 bin\。构建完全离线,无 NuGet 依赖。CI 见 .github/workflows/build.yml。
📁 目录结构
bin\DSHDesktop.exe # 发布产物:单文件 exe(内嵌 WebView2 组件 + 图标,≈900KB)
src\ # C# 源码(net48):服务管理 / WebView2 窗口 / 内嵌资源加载 / 自动修复 / 自检
lib\ # WebView2 组件(构建时嵌入 exe 的原料)
tools\make-icon.js # 图标生成器(渲染官方鲸鱼路径 → 多尺寸 ICO/PNG)
assets\app.ico # 蓝色鲸鱼图标(另有 app-black.ico 黑色款)
build.ps1 # 一键构建脚本
🐳 图标与商标

蓝盘白鲸(默认)与黑盘白鲸两款图标,实底圆角底板保证在任务栏/托盘任何配色下清晰可见, 含 16/32/48/256 四档尺寸。鲸鱼路径取自 DeepSeek Harness 官方 favicon。 DeepSeek 名称与标志的权利归 DeepSeek 所有。
⚖️ 许可 License
MIT。Microsoft.Web.WebView2.* 与 WebView2Loader.dll 版权归 Microsoft
(WebView2 SDK 组件,按 SDK 条款随应用再分发)。