Back to home

wenqweqwe

DSH-GUI

No description

Stars
0
Language
JavaScript
Created
Aug 14, 2026
Updated
Aug 14, 2026
Desktop
GitHub repo

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_URLhttp://127.0.0.1:3080DSH Web 地址
DSH_DESKTOP_HOST127.0.0.1探测主机
DSH_DESKTOP_PORT3080探测端口
DSH_DESKTOP_COMMANDdsh启动 DSH 的命令
DSH_DESKTOP_APP_DIR~/.local/lib/deepseek-harness-desktop应用目录

工作原理

  1. launch.sh 载入用户 shell 环境(确保 nvm/node 就绪),然后启动 Electron;
  2. Electron 主进程 main.js 启动时探测 127.0.0.1:3080
    • 已监听 → 直接加载该地址(复用已有服务,不重复启动);
    • 未监听 → 通过 $SHELL -lc 'dsh web' 拉起子进程,轮询等待端口就绪后加载;
  3. Electron 用 BrowserWindow.loadURL 加载 DSH 网页界面,呈现为独立窗口;
  4. 关闭窗口时,若服务由本应用拉起,弹出对话框询问是否一并停止。

打包为可分发的 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~/桌面,需在真实用户终端执行(沙箱环境下可能被拒)。