innocence1110
DeepSeek-Harness
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
DeepSeek Harness — macOS / Windows 桌面应用
把 DeepSeek Harness(dsh web)封装成一个原生桌面 GUI 应用:
内置官方 Node 运行时启动本地 dsh web 服务,再用 Electron 原生窗口加载 UI,
双击即可使用,无需终端、无需浏览器标签页。
下载安装
前往 GitHub Releases 下载:
- macOS
DeepSeek.Harness-<版本>-arm64.dmg— 安装包,双击挂载后拖入 Applications; - macOS
DeepSeek.Harness-<版本>-arm64-mac.zip— 免安装版,解压即用; - Windows
DeepSeek.Harness-<版本>-win-x64.zip— 绿色版(推荐),解压后直接运行里面的DeepSeek Harness.exe,完整 dsh web 运行时已内置,全程离线; - Windows
DeepSeek.Harness.Setup-<版本>.exe— NSIS 安装程序(可选安装目录)。
注:GitHub Release 会把附件文件名中的空格规范为点号(
DeepSeek.Harness-…)。
macOS 支持 Apple Silicon (arm64);Windows 支持 x64。macOS 应用已做 ad-hoc 签名, 若首次打开被 Gatekeeper 拦截,右键 → 打开。
首次启动提示:Windows 首次启动会初始化 dsh 运行时(创建模块链接、冷启动数百个 模块),可能耗时 1-3 分钟,应用最多等待 5 分钟,进度会写入日志 (
%LOCALAPPDATA%\DeepSeek Harness\harness.log),请耐心等待,不要误判为卡死。
从源码构建
npm install # 安装依赖(electron / electron-builder / sharp / png2icons)
npm run build # macOS:bundle 资源 + 生成图标 + 打包 .app/.dmg
npm run build:win # Windows:bundle win 资源 + 打包 Setup.exe / 便携版
macOS 产物输出到 dist/,Windows 产物输出到 dist/win/。详见下方「构建」小节。
结构
Deepseek GUI/
├── main.js # Electron 主进程:拉起服务、开窗口、退出清理(macOS/Windows)
├── guard.js # 父进程死亡看门狗(防孤儿服务进程,打包时复制进 resources/)
├── package.json # electron / electron-builder / sharp / png2icons
├── scripts/
│ ├── bundle-resources.mjs # macOS:内置 node 二进制 + dsh 包 + guard.js → resources/
│ ├── bundle-win-resources.mjs# Windows:node.exe + dsh win32 原生依赖 + guard.js → winbuild/resources/
│ ├── collect-artifacts.mjs # 构建后把 .app 复制到 dist/ 根目录(与 .dmg 并列)
│ └── make-icon.mjs # 生成 build/icon.icns(mac)与 build/icon.ico(win)
├── resources/ # macOS 构建产物(gitignore)
│ ├── node/bin/node # 官方 Node v25.9.0 darwin-arm64
│ ├── dsh/ # @deepseek-ai/dsh 完整副本(含 node_modules)
│ └── guard.js # 由根目录 guard.js 复制而来(父进程死亡看门狗)
├── winbuild/ # Windows 构建产物(gitignore,除 .yml 配置外)
│ ├── electron-builder.win.yml# Windows 打包配置(nsis)
│ └── resources/ # node.exe + dsh(win32 原生模块)+ guard.js
└── dist/ # electron-builder 输出
├── DeepSeek Harness.app # macOS 可执行应用
├── DeepSeek Harness-0.1.1-arm64.dmg # macOS 安装包
└── win/ # Windows 输出:Setup.exe + 便携版目录(压缩为 zip)
构建
前置:npm install 一次即可。
macOS(在 mac 上执行)
# 1. 下载官方 node 二进制(仅首次)
curl -L -o resources/node-v25.9.0-darwin-arm64.tar.gz \
https://nodejs.org/dist/v25.9.0/node-v25.9.0-darwin-arm64.tar.gz
# 2. 一键构建(自动 bundle 资源 + 生成图标 + 打包 .app/.dmg)
npm run build
产物在 dist/ 根目录,直接可见:
dist/DeepSeek Harness.app— 可执行应用,把它拖进“应用程序”文件夹即完成安装;dist/DeepSeek Harness-0.1.1-arm64.dmg— 安装包,双击挂载后把应用拖入 Applications。
(electron-builder 的原始输出在 dist/mac-arm64/,构建脚本会自动把 .app 再复制一份到 dist/ 根目录。)
.app 已做 ad-hoc 签名;如首次打开被 Gatekeeper 拦截,右键 → 打开。
Windows(可在 mac 上交叉编译,无需 Wine)
npm run build:win
脚本会自动:下载 Node v25.9.0 win-x64 的 node.exe、复制 dsh 包并装入
win32 原生模块(sharp / koffi / node-pty / ripgrep / node-addon-require-builtin 的
Windows 预编译版本),然后由 electron-builder 打包 NSIS 安装程序。
产物在 dist/win/:
DeepSeek Harness Setup 0.1.1.exe— NSIS 安装程序(可选择安装目录);win-unpacked/— 未压缩的应用目录,压缩成DeepSeek Harness-<版本>-win-x64.zip即为绿色版:解压后直接双击DeepSeek Harness.exe运行,无需安装。
Windows 版内置运行时是
node.exe与完整 dsh web 前端(dsh-web-frontend), 启动全程离线、无下载步骤。日志写在%LOCALAPPDATA%\DeepSeek Harness\harness.log, 默认工作区为%USERPROFILE%,退出时用taskkill /T清理整个服务进程树。 首次启动最多等待 5 分钟(dsh 运行时初始化),进度见日志。
运行细节
- DSH_HOME:默认复用
~/.dsh(与命令行共享凭据 / 设置 / 会话), 可用环境变量DSH_HOME覆盖。 - 工作区:服务以
~/为 cwd 启动(可用DSH_WORKSPACE覆盖), 在 UI 内可另行切换工作区目录。 - 日志:macOS
~/Library/Logs/DeepSeek Harness/harness.log; Windows%LOCALAPPDATA%\DeepSeek Harness\harness.log。 - 自检:
DSH_APP_SELFTEST=1启动时自动加载页面、检查渲染结果并退出 (SELFTEST_PASS/ 退出码 0)。 - 退出清理:窗口关闭 / Cmd+Q 走
before-quit击杀服务进程组; 服务由guard.js看门狗包裹,即使 Electron 被kill -9强杀, 父进程死亡管道一断也会自动终止服务,不留孤儿进程。
说明
- 服务端始终用内置的官方 Node 运行时(与系统
node无关), DSH 依赖的 NAPI 原生模块(node-pty / sharp / koffi 等)无需重新编译。 - 窗口关闭即退出应用并终止服务进程树。