Electron + DeepSeek Harness:一键安装包构建与自动发布实录

Electronelectron-builderNSIS
于 2026-08-31 04:06:43 修改
·本内容遵循CC 4.0 BY-SA版权协议

前阵子一直在做自己的桌面端 deepseek harness 工具,功能迭代得差不多之后,我就开始琢磨分发问题。天天让朋友用 npm run dev 跑源码肯定不现实,干脆把它打包成 Windows 一键安装版,而且更进一步,让项目本身在自己的构建流程里“自己打包自己”。这篇文章把整个过程完整记录下来,包括 Electron 工程结构、electron-builder 配置、NSIS 一键安装脚本、GitHub Actions 自动构建,以及我在打包过程中踩过的各种坑。内容偏实操,代码都可以直接复制改着用。

1. 背景:为什么需要桌面端 deepseek harness

1.1 什么是 deepseek harness

DeepSeek 是当前很流行的国产大模型,API 调用成本相对实惠,效果也不错。而 harness 这个词在 AI 工程领域通常指“套件”或“工作台”,你可以把它理解为:围绕 DeepSeek API 构建的一层工具链,用来管理上下文、编排 Prompt、批量对话、处理工具调用(Function Calling)、保存会话记录等。

直白一点说,deepseek harness 解决的是这三类问题:

  • 管理多个 Prompt 模板和上下文策略;
  • 串联模型输出和外部工具/脚本;
  • 保存和复用历史会话,方便做效果对比。

这些东西如果只靠浏览器里的 DeepSeek 网页版,很难做到灵活。就算你已经会写 Python 脚本去调用 DeepSeek API,日常高频使用还是需要一个带 GUI 的客户端。

1.2 为什么要专门做桌面端

很多人会问:直接做个 Web 页面不就好了?我的答案是,桌面端有桌面端的价值。

桌面端可以读取本地文件,可以让模型直接读取某个项目目录下的代码,可以跨域请求多个 API 端点而不用处理 CORS 问题。最关键的,桌面端能像本地 IDE 一样工作,Prompt、上下文、会话记录全部存在本地,不用依赖浏览器登录态。而一键安装版的意义更简单:让不懂 Node.js、不懂 git、不碰命令行的朋友也能直接用。

1.3 自行打包的核心思路

所谓“自己打包自己”,本质就是让打包脚本成为项目的一部分,在 CI 或者本地执行一条 npm run build:win,就能完成前端编译、Electron 资源整理、NSIS 安装包生成。更进一步,把它挂到 GitHub Actions 上,每次打 tag 或发布 Release 时自动跑完整流程,然后把安装包上传到 Release 附件。整个过程不需要人工在本地重复执行,用户点开 Releases 页面就能下载。

接下来就从工程结构开始,完整走一遍。

2. 环境准备与项目初始化

2.1 开发环境说明

本文环境以 Windows 11 为主,macOS 和 Linux 下配置类似,命令稍有差异。

  • Node.js:建议使用 LTS 版本,比如常见的 18 或 20,我用的是 20 系列。
  • 包管理器:npm,也可以用 pnpm,但注意 electron-builder 的 lock 文件要一致。
  • 前端框架:Vite + React,你也可以换成 Vue,打包配置大同小异。
  • Electron:使用当前稳定版本,建议不要使用太老的版本,否则与 New 版本 Node API 有兼容问题。
  • 打包工具:electron-builder,它支持 Windows NSIS、macOS DMG、Linux AppImage 等多种目标。

版本需要根据你的项目实际情况调整,下面的配置以主流稳定版为例,重点演示配置思路,不要盲抄具体版本号。

2.2 初始化项目

执行下面命令创建一个基础工程:

BASH
mkdir deepseek-harness-desktop
cd deepseek-harness-desktop
npm init -y

然后安装核心依赖:

BASH
npm install electron react react-dom
npm install -D electron-builder concurrently wait-on cross-env
npm install -D vite @vitejs/plugin-react

其中 concurrently 用来同时启动 Vite 开发服务器和 Electron,wait-on 等待开发服务器就绪,cross-env 解决 Windows 下环境变量写法不一致的问题。

2.3 项目目录结构

我采用的是 Electron + Vite 最常见的目录划分方式:

TEXT
deepseek-harness-desktop/
├── build/
│ ├── icon.ico
│ ├── icon.icns
│ └── nsis/
│ └── installer.nsh
├── electron/
│ ├── main.ts
│ ├── preload.ts
│ └── ipc.ts
├── src/
│ ├── App.tsx
│ ├── main.tsx
│ ├── api/
│ │ └── deepseek.ts
│ └── stores/
├── package.json
├── vite.config.ts
├── tsconfig.json
├── electron-builder.yml
└── .github/
└── workflows/
└── build-release.yml

electron 目录放主进程代码,src 目录放渲染进程代码,build 目录放图标和 NSIS 脚本,.github 目录放自动化构建工作流。

2.4 package.json scripts 设计

先规划好 scripts,后续“自己打包自己”全靠这几行命令串联:

JSON
{
"name": "deepseek-harness-desktop",
"version": "0.1.0",
"description": "DeepSeek Harness Desktop",
"main": "dist-electron/main.js",
"scripts": {
"dev": "concurrently -k \"npm:dev:vite\" \"npm:dev:electron\"",
"dev:vite": "vite",
"dev:electron": "wait-on tcp:5173 && cross-env VITE_DEV_SERVER_URL=http://localhost:5173 electron .",
"build": "npm run build:renderer && npm run build:electron",
"build:renderer": "vite build",
"build:electron": "tsc -p electron/tsconfig.json",
"build:win": "npm run build && electron-builder --win nsis",
"build:mac": "npm run build && electron-builder --mac",
"build:linux": "npm run build && electron-builder --linux AppImage"
}
}

注意 main 字段指向的是打包后的主进程文件,而不是源码 TS 文件。很多新手卡在这里,Electron 直接运行 main.ts 是跑不起来的,必须先编译成 JS。

3. Electron 核心进程与 DeepSeek Harness 的接入

3.1 主进程代码

主进程负责创建窗口、管理生命周期、处理与操作系统的交互。下面是简化版主进程示例,文件路径 electron/main.ts

TYPESCRIPT
import { app, BrowserWindow, ipcMain, dialog } from 'electron';
import * as
最低 0.47元/天 开通会员,解锁全文
left
成为会员后, 你将解锁
right
benefits 下载资源随意下
benefits 优质VIP博文免费学
benefits 优质文库回答免费看
benefits 付费资源9折优惠
DeepSeek-Harness桌面版一键安装包DeepSeek-Harness-2.0.5.exe
DeepSeek-Harness桌面版一键安装包,无需安装node.js下载安装后打开输入deepseek密钥即可使用。亲测好用。注意只支持windows10及其以上系统
FL1623863129
1376
deepseek-harness桌面端
deepseek-harness桌面端插件化 Agent 框架的二次开发在插件化 Harness 之上加一层 Electron 桌面壳 + sidecar 子进程,把 CLI/Web 的同一套能力
番茄不是西红柿kk
92
DeepSeek Harness 一键启动器双击即用,只装官方包
双击即用的 DeepSeek Harness 启动器放到桌面当快捷方式,浏览器打开网页版,自动装好 Node 和官方包。
JettWu
1
DeepSeek Harness 从零到实战
本专栏从零开始,系统讲解 DeepSeek Harness 开源 AI Agent 框架。从安装配置、插件架构、四种模式对比,到自定义工具开发、子代理编排、国内模型接入,每篇都有完整代码和踩坑记录。 适合人群有 Python 基础的开发者 | 想上手 Agent 框架的程序员 | 想定制 AI
DeepSeek Harness 实战指南
DeepSeek Harness 实战指南是一本面向普通用户技术爱好者的系统性实践手册,全面覆盖从零开始部署、使用、定制、扩展到深入理解 DeepSeek Harness(简称 dsh)的完整知识链条
老余说AI
39
deepseek-harness-离线安装包(windwos系统,安装直接使用,不需要配置node.js环境)
deepseek-harness-离线安装包(windwos系统,安装直接使用,不需要配置node.js环境)
珍珠先生
295
DeepSeek Harness 桌面端 把复杂的 Agent 调度变成开箱即用的软件,为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案
DeepSeek Harness 桌面端 把复杂的 Agent 调度变成开箱即用的软件,为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。DeepSeek Harn
一叶知秋yyds
191
DeepSeek Harness(dsh)是由 DeepSeek AI 开发的开源 agent harness(智能体框架)
DeepSeek Harness(dsh)是由 DeepSeek AI 开发的开源 agent harness(智能体框架)。它采用一切皆插件的架构,并由 Cordis 驱动
zhaodiandiandian
88
DeepSeek Harness桌面端开发技术选型与自动化打包实践
boss he
DeepSeek桌面端harness一键安装打包全流程指南
京一不二
DeepSeek Harness桌面端electron-builder实现自举一键打包
本文详解如何基于Electron与electron-builder实现DeepSeek Harness桌面端的自举构建与一键安装包生成。涵盖工程骨架搭建、主/渲染进程隔离设计、安全可控的‘应用内打包’模块实现、NSIS安装配置、产物验证清单及常见问题排查(如白屏、杀软拦截、API密钥安全)。重点突出electron-builder在Windows/macOS跨平台分发中的核心作用及生产级发布规范。
weixin_34037515
478
anywhere-labs/deepseek-harness-desktop 发布工程解析从源码到可运行安装包
本文深入解析anywhere-labs/deepseek-harness-desktop桌面应用的跨平台发布工程体系,聚焦Electron构建中Runtime Closure、ASAR物理依赖双树验证、Headless自动化检查、Windows x64未签名包约束、macOS签名环境隔离及更新交付分层验证等关键技术环节。强调安装包作为独立可验证运行时闭包的本质,提出从源码所有权、依赖声明、平台构建到身份信任的全链路发布保障方法。
云边有个稻草人
10281
深入 anywhere-labs/deepseek-harness-desktopDeepSeek Harness 装进桌面
本文深入分析anywhere-labs/deepseek-harness-desktop项目,聚焦其“薄Electron宿主”架构设计以只读方式集成官方DeepSeek Harness,通过Cordis Host启动本地Web界面,严格隔离renderer安全边界,采用generation机制管理Profile生命周期,并用Yarnpnpm分离实现工程化边界。项目强调插件生态稳定性、启动可靠性与发布可验证性,为Web-to-Desktop迁移提供可复用的AI工具封装范式。
Halcyon.平安
11587
DeepSeek Harness:从聊天工具到一键安装的桌面应用实践
本文介绍基于Electron构建DeepSeek Harness桌面应用的完整实践,涵盖环境准备、AI辅助生成electron-builder配置、一键安装包制作、功能性能验证等关键环节。项目采用API调用模式,不依赖本地大模型,聚焦可交付性易分发性,解决网页版提示词管理难、批量任务不便、历史不可沉淀等痛点,并强调合规安全边界资源占用优化。
weixin_33859231
364
DeepSeek API打造桌面工作台:Electron一键打包全流程解析
本文详解如何基于ElectronDeepSeek API封装为本地桌面工作台,并实现一键安装包自动构建。涵盖环境配置、API密钥安全管理、开发启动、功能验证(对话/批量任务)、electron-builder打包全流程、产物校验及分发注意事项。强调本地无模型推理、纯API调用架构,适用于开发者快速构建大模型API桌面壳。
axfcjwkbi259888707
421
Electron应用极致瘦身deepseek-harness打包成最小体积本地AI助手
本文详解如何通过electron-packager工具、依赖修剪、资源压缩与构建优化,将deepseek-harness这一基于Electron的本地AI助手应用极致瘦身。涵盖环境配置、package.json精简、打包脚本定制、体积分析及高级压缩技巧,目标是在保障核心GUI模型交互功能前提下,显著降低Chromium+Node.js运行时及第三方依赖所占体积,适用于本地AI工具轻量化部署快速分发。
weixin_33843947
319
DeepSeek Harness 桌面版,安装即可使用
DeepSeek Harness Desktop是一款基于Electron封装的非官方桌面应用,支持macOS、Windows和Linux系统,内置Node.js与Harness运行时,实现开箱即用。它直接调用官方本地Web UI,采用本地优先架构,监听127.0.0.1,支持运行时自动更新回退,并通过子模块同步官方源码。安全机制包括上下文隔离、沙箱渲染、禁用Node集成及仅信任npm官方包。
sky__18
6290
DeepSeek Harness 打包成类似 Codex 的 Windows 桌面应用:Electron一键启动、插件管理和动态壁纸
本文介绍将DeepSeek Harness封装为Windows桌面应用的完整方案基于Electron构建独立窗口,通过VBS脚本统一管理DSH_HOME、pnpm store和user-data-dir,实现一键启动、开机自启、插件隔离(web-desktop profile)、动态壁纸集成及D盘数据持久化。涵盖打包流程、代理配置、pnpm store冲突解决、目录结构设计及常见问题排查。
clorinda
611
DSH Desktop完全指南DeepSeek Harness变成一键安装、开箱即用的桌面AI智能体客户端
DSH Desktop 是一个开源免费的 DeepSeek Harness 桌面客户端,支持 Windows 和 macOS 一键安装、开箱即用,无需配置 Node.js 或命令行环境。它集成 Host 服务、Web UI 插件系统,提供原生向导、插件市场、局域网访问控制、安全升级机制及本地数据管理能力,面向普通用户开发者统一支持 AI 智能体交互插件扩展。
金畏战Goddard
933
anywhere-labs_deepseek-harness-desktop 的 Windows 原生适配终端、Sandbox NSIS
本文深入解析anywhere-labs/deepseek-harness-desktop在Windows平台的原生适配方案,涵盖终端启动(PowerShell 7/Windows Terminal/私有CMD Shim)、ACL沙箱精确隔离、node-pty与Electron ABI兼容性、NSIS安装包构建边界及签名流程。重点解决路径特殊字符、环境变量大小写敏感、console可见性控制、Profile隔离、native预编译和真实Windows测试矩阵等易被忽视但导致用户故障的关键问题。
进哥聊编程
10155
DeepSeek Harness 变成真正的桌面应用开箱即用的 DSH Desktop
DSH Desktop 是基于 Electron 封装的 DeepSeek Harness 桌面应用,集成运行时依赖、自动启动后端服务、原生窗口系统托盘管理,无需 Node.js 环境即可双击运行。它保留 Harness 的插件化 Agent 架构、多模型支持项目级工作流能力,专为降低 AI Agent 工具使用门槛而设计,适用于开发者、技术团队及插件研究者。
软件玩家
1615
什么是DSH Desktop?基于DeepSeek Harness的本地AI桌面工作台完整指南
DSH Desktop 是基于 DeepSeek Harness 构建Electron 桌面应用,提供开箱即用的本地 AI 工作环境。它集成官方 Web 界面、Session 会话、Agent 智能体、插件市场、Git Worktree 和 Office 产物工具,支持任务看板、插件管理、文件附件数据本地化存储。所有运行数据默认保留在本地,不上传敏感信息,插件状态统一由 Profile 管理,确保安全可控可复现性。
华坦璞Teresa
524
DeepSeek Harness 桌面端
本文详述DeepSeek Harness从pkg单文件打包转向分发真实Node.js运行时的桌面端工程化过程。重点解决pkg虚拟文件系统(VFS)导致的原生模块加载失败、子进程worker无法访问、Agent预设目录遍历异常及Windows原生文件选择器失效等问题。最终采用Electron封装+内置官方Node.js运行时方案,实现免Node安装、独立窗口、系统级集成的稳定桌面体验。
小木苓
405
DeepSeek Harness桌面版安装教程
本教程介绍DeepSeek Harness桌面版的安装使用,该版本基于Electron构建,提供NSIS/MSI安装包及单文件便携版,支持本地后端服务图形界面,无需Node.js或命令行配置,数据存储于本地,适用于不熟悉前端开发环境的Windows用户。
锋锋183
329
DSH Desktop打包与发布全解析macOS UniversalWindows NSIS安装包是怎么构建出来的
本文深入解析DSH Desktop基于Electron的跨平台打包流程macOS侧通过electron-builder构建签名并公证的Universal双架构DMG,涵盖原生模块多架构适配、代码签名Apple公证验证;Windows侧采用NSIS构建安装包,支持智能进程协调式升级用户数据保留,并严格分离本地构建与Authenticode签名门禁。同时提供便携ZIP方案及完整验证机制。
计煦能Leanne
190
DSH Desktop 下载安装教程 2026年DeepSeek Harness 跨平台桌面客户端,一键运行本地 Agent
DSH Desktop 是 DeepSeek Harness 的跨平台桌面客户端,基于 Electron 构建,支持 Windows x64 和 macOS(Apple Silicon/Intel),提供自动启动 Runtime、项目工作区管理、多模型提供方配置、Agent Preset 导入导出、手机局域网/临时远程连接、安全模式及数据隔离保存等核心能力。其设计强调本地优先、安全性易用性,适用于不熟悉命令行的开发者及需跨设备协同的 Agent 用户。
代码简单说
1141
DSHDockDeepSeek Harness 配一个专属的桌面「浏览器」
DSHDock是一款基于Electron构建的跨平台桌面壳,专为DeepSeek Harness(DSH)设计,提供开箱即用的独立入口。它自动探测、启动和连接DSH服务,支持未安装时一键安装、端口冲突自动规避、进程生命周期管理,并严格遵循DSH外部契约实现零代码耦合,确保兼容所有官方版本。
十里春风_jzh
251
anywhere-labs/deepseek-harness-desktop 使用实战安装、Profile、插件排障
本文详解anywhere-labs/deepseek-harness-desktop桌面版的安装、Profile管理、插件配置故障排查。重点说明其免Node环境安装特性、托盘型生命周期、Profile作为核心运行单元的作用机制、插件需重启生效的原理,以及Open DSH Terminal的隔离PATH机制。强调兼容模式高级模式差异、更新交接流程,并提供窗口隐藏误判、插件未加载、终端命令缺失等常见问题的分层定位方法。
羑悻的小杀马特.
10772
Mac本地AI部署革命:DeepSeek Harness一键部署实战避坑指南
本文详细介绍了在Apple Silicon Mac上使用DeepSeek Harness实现本地大模型一键部署的完整流程,涵盖前期准备、安装启动、模型下载加载配置、对话验证及API集成等关键环节,并分析了其环境隔离、图形界面和OpenAI兼容API等核心优势,同时指出网络依赖、内存限制、灵活性不足等现实局限,为Mac用户提供了可落地的避坑策略长期维护建议。
weixin_30291791
276
DeepSeek Harness 滑动变阻器皮肤极客桌面美化主题开发实践
本文详解为DeepSeek Harness桌面客户端开发的滑动变阻器风格视觉主题,涵盖安装部署、兼容性验证、CSS/资源定制及交互功能测试。重点说明其作为纯前端主题插件的实现机制通过替换CSS样式、图标纹理,将温度/Top P等参数调节控件映射为物理旋钮隐喻,不改变AI核心功能,不影响性能,适用于Electron架构的主题开发实践。
weixin_34218579
377