wenqweqwe
DSH-GUI
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
DeepSeek Harness 桌面版
将 DeepSeek Harness 的网页版界面封装为桌面一键启动应用:双击桌面图标即可自动启动
DSH Web 服务,并打开专属的应用窗口,免去每次到终端敲 dsh web 再开浏览器。
特性
- 🖱️ 一键启动:双击桌面「DeepSeek Harness」图标即可使用
- 🔌 智能服务管理:自动检测 3080 端口是否已有 DSH 服务,有则复用(秒开),无则自动拉起
- 🪟 独立应用窗口:Electron 专属窗口,脱离浏览器,体验接近原生软件
- 🛑 优雅退出:关闭窗口时询问是否同时停止后台服务(可选「保持运行」以加速下次启动)
- 📌 零侵入:不改动 DSH 本体,纯外挂封装;所有路径/端口均可环境变量覆盖
目录结构
dsh-desktop/
├── main.js # Electron 主进程(窗口 + 服务生命周期管理)
├── preload.js # 安全桥接(contextBridge 暴露 dshDesktop API)
├── launch.sh # 统一启动入口(载入 nvm 环境后拉起 Electron)
├── install.sh # 安装/迁移脚本(复制到系统目录 + 创建桌面图标)
├── gen-icon.sh # 生成应用图标(支持 blue/black 官方 logo)
├── deepseek-harness.desktop # .desktop 快捷方式模板
├── package.json # Electron 依赖与打包配置
└── assets/
├── icon.png # 应用主图标(官方蓝色鲸鱼 logo,256x256)
└── icons/ # 多尺寸(512~32)+ 黑色版图标
使用方法
1. 安装依赖 + 启动(开发模式)
cd dsh-desktop
npm install # 安装 Electron
bash gen-icon.sh # 生成图标
npm start # 直接启动(会同时管理 dsh web)
2. 一键安装为桌面应用
cd dsh-desktop
bash install.sh
安装完成后,桌面会出现「DeepSeek Harness」图标,双击即可。整个应用位于
~/.local/lib/deepseek-harness-desktop,迁移到新机器时:拷贝该目录 + 重跑 install.sh。
3. 可配置项(环境变量)
| 变量 | 默认值 | 说明 |
|---|---|---|
DSH_DESKTOP_URL | http://127.0.0.1:3080 | DSH Web 地址 |
DSH_DESKTOP_HOST | 127.0.0.1 | 探测主机 |
DSH_DESKTOP_PORT | 3080 | 探测端口 |
DSH_DESKTOP_COMMAND | dsh | 启动 DSH 的命令 |
DSH_DESKTOP_APP_DIR | ~/.local/lib/deepseek-harness-desktop | 应用目录 |
工作原理
launch.sh载入用户 shell 环境(确保 nvm/node 就绪),然后启动 Electron;- Electron 主进程
main.js启动时探测127.0.0.1:3080:- 已监听 → 直接加载该地址(复用已有服务,不重复启动);
- 未监听 → 通过
$SHELL -lc 'dsh web'拉起子进程,轮询等待端口就绪后加载;
- Electron 用
BrowserWindow.loadURL加载 DSH 网页界面,呈现为独立窗口; - 关闭窗口时,若服务由本应用拉起,弹出对话框询问是否一并停止。
打包为可分发的 AppImage
cd dsh-desktop
npm install
npx electron-builder --linux AppImage
# 产物在 dist/ 下
注:打包后的 AppImage 内置了 Electron 运行时,但 DSH Web 服务仍由本机
dsh命令拉起, 因此目标机器仍需安装 DSH(或通过DSH_DESKTOP_COMMAND指向其绝对路径)。
已知限制
- DSH 服务依赖本机的
dsh命令与~/.dsh凭据;应用本身不携带凭据。 install.sh需要写~/.local/lib与~/桌面,需在真实用户终端执行(沙箱环境下可能被拒)。