DSH Plugin Store
Back to home

sjscy05

dsh-desktop

No description

Stars
0
Language
PowerShell
Created
Aug 14, 2026
Updated
Aug 14, 2026
Other
GitHub repo

Introduction

DSH Desktop — DeepSeek Harness 的 Windows 桌面应用

A real Windows desktop application for DeepSeek Harness. 单文件便携版 dsh.exe 引擎 + Electron 应用壳:自己的窗口、托盘常驻、首次运行 API Key 向导。 无需安装 Node.js,双击即用。

特性

  • 真正的应用:原生窗口(1280×860 可调)承载完整 Web GUI,任务栏/托盘图标,无控制台窗口
  • 免安装引擎:内嵌单文件 dsh.exe(Node 24 + 完整插件闭包,pkg SEA 打包),目标机器零依赖
  • 首次运行向导:无 API Key 时弹出设置窗(填 Key + 选默认模型),写入 ~/.dsh/.credentials.yaml + settings.yaml;托盘菜单随时可改
  • 零端口冲突--port 0 自动分配,与开发 GUI(3080)共存
  • 共享数据:使用真实 ~/.dsh home —— 凭据、会话、设置与 CLI/开发 GUI 通用
  • 干净退出:退出时整棵进程树清理,无孤儿服务器
  • 两种交付:便携版单 exe + NSIS 安装版(可选安装目录、开始菜单快捷方式)

快速开始

想要
便携版app/dist/DSH-Desktop-0.1.0.exe(或从 Releases 下载)
安装版app/dist/DSH-Desktop-Setup-0.1.0.exe
自己构建见下方 Build

首次启动会在几秒内解压内嵌引擎;若 ~/.dsh 无凭据则先弹初始化向导。

仓库结构

engine/    dsh.exe 引擎构建管线:npm 闭包 + pkg --sea + 7 个快照兼容补丁 + 图标嵌入
app/       Electron 应用壳:主进程、托盘、首启向导、electron-builder 打包

两者是同一个产品的两半:engine/ 产出 dist/dsh.exe(218 MB 单文件引擎), app/ 把它作为 extraResource 嵌进桌面应用。

Build(Windows)

# 1. 引擎
cd engine
npm ci                       # 530 个包,扁平闭包(必须 npm,pkg 不吃 pnpm 符号链接)
powershell -ExecutionPolicy Bypass -File build.ps1     # 自动打补丁 + pkg --sea → dist/dsh.exe
powershell -ExecutionPolicy Bypass -File smoke-test.ps1 # 冒烟:隔离 home 起 web profile 验证

# 2. 桌面应用
cd ../app
Copy-Item ..\engine\dist\dsh.exe resources\dsh.exe
$env:ELECTRON_MIRROR = "https://npmmirror.com/mirrors/electron/"   # 国内网络加速(可选)
$env:ELECTRON_BUILDER_BINARIES_MIRROR = "https://npmmirror.com/mirrors/electron-builder-binaries/"
$env:CSC_IDENTITY_AUTO_DISCOVERY = "false"
npm ci
npx electron-builder --win portable      # app/dist/DSH-Desktop-<ver>.exe
npx electron-builder --win nsis          # app/dist/DSH-Desktop-Setup-<ver>.exe

CI(.github/workflows/build.yml)在 tag 推送时自动产出三个产物并上传 Release。

构建注意事项(踩过的坑,都在文档里)

  • 重构建前关闭运行中的应用:Windows 锁定运行中的 exe,electron-builder 会无限等待 "output file is locked"
  • 引擎打包前必须跑 apply-patches.ps1(build.ps1 自动调用)—— 7 个 pkg 快照兼容补丁,缺一不可(详见 engine/README.md
  • -mx=9 压缩 400 MB 载荷要几分钟,是正常进度不是卡死
  • 换图标:powershell -File engine/embed-icon.ps1 <你的.png>

已知限制

  • 引擎内插件一律从快照解析;dsh plugin add 安装的第三方插件在桌面版下不可用(开发 CLI 不受影响)
  • 不要在两个进程里同时打开同一个会话(桌面版 + 开发 GUI):会话日志是追加式、无跨进程锁,双写会损坏 seq;同会话损坏可用 app/repair-session.js 无损修复
  • 真实终端(node-pty)场景未在快照下验证(win32 web/headless profile 不加载它)
  • 应用与 exe 图标为临时 AI 生成素材(app/assets/dsh.ico),正式发布前建议替换为原创图标

致谢

License

MIT