xiangshangya/deepseek-harness-desktop ↗★ 0
dsh-desktop
Electron desktop app for the DeepSeek Harness — bundles the dsh web server and its web frontend.
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗DeepSeek Harness Desktop(dsh-desktop)
⚠️ 非官方项目声明 / Disclaimer
本项目为个人开发的 DeepSeek Harness 桌面封装应用,与 DeepSeek(深度求索)官方无任何关联, 非官方发布,未获得官方授权、认可或支持。
DeepSeek Harness 官方项目地址:https://github.com/deepseek-ai/deepseek-harness
上游项目基于 MIT License,本应用仅在其基础上做桌面化封装;使用中出现问题请优先查阅 官方文档,本项目不提供官方技术支持。
把 DeepSeek Harness 的 服务器(dsh web) 和 网页前端 打包进一个 Electron 桌面应用。 启动应用 = 自动拉起服务器 + 打开前端窗口,关闭应用 = 自动停掉服务器。
工作原理
┌─────────────────────────── Electron 应用 ───────────────────────────┐
│ 主进程 (main.js) │
│ ├─ 解析 Node 运行时(见下) │
│ ├─ spawn 子进程:node /lib/bin.js web --port 0 │
│ │ └─ @deepseek-ai/dsh 服务器(含 @deepseek-ai/dsh-web-frontend │
│ │ 构建好的前端 dist,一并作为依赖打包) │
│ ├─ 等待就绪行 "dsh web: http://127.0.0.1:
" │
│ ├─ HTTP 探测 200 后 → BrowserWindow 加载该 URL │
│ └─ 退出时 taskkill /T 清理服务器进程树 │
└──────────────────────────────────────────────────────────────────────┘
- 服务器就是官方 dsh CLI:同一个 npm 包、同一套 profile/数据目录(默认 ~/.dsh), 不是重写或简化版。
- 端口:默认 --port 0,由操作系统自动分配空闲端口,避免 3080 被占用时冲突; 也可用环境变量 DSH_DESKTOP_PORT 固定端口。
- 前端:@deepseek-ai/dsh 的依赖 @deepseek-ai/dsh-web-app 会在运行时通过 require.resolve('@deepseek-ai/dsh-web-frontend/dist/index.html') 找到已构建的前端 dist 并托管,因此应用内自带完整网页 UI,无需另外构建前端。
快速开始(开发模式)
要求:Node.js ≥ 22.19(或 ≥ 24)。本机已验证 Node v24.17.0。
cd dsh-desktop
npm install # 安装 electron + @deepseek-ai/dsh(含全部运行时依赖)
npm start # 启动应用
国内网络若 Electron 二进制下载慢/失败:已内置 .npmrc 指向 npmmirror 镜像,无需处理。
冒烟测试(无窗口,自动退出)
npm run start:smoke
# 输出 DSH_DESKTOP_SMOKE_OK http://127.0.0.1:
即通过
打包成安装程序(Windows)
npm run dist # 先构建 resources/server.zip,再产出 dist/DeepSeek Harness Desktop-0.1.0-setup.exe
产物为 NSIS 安装包,安装后可独立运行。安装包内已包含 DSH 服务与前端,目标机器 无需安装 Node(服务器可用系统 Node,或兜底用 Electron 内置 Node 24)。
两段式部署(安装快 + 插件系统兼容)
- 安装包只包含:应用外壳(main.js 等 3 个文件)+ Electron 运行时 + 一个
resources/server.zip(76MB,由 把 @deepseek-ai/dsh 全依赖树打成单文件归档)。安装时只需写少量文件,。