@terricsh/dsh-desktop
Desktop shell for the DeepSeek Harness Web GUI: own window + tray, manages the local dsh web server (attach or spawn).
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗@terricsh/dsh-desktop
DeepSeek Harness Web GUI 的桌面壳(Electron):把 dsh web 装进独立窗口 +
系统托盘。打包后完全自包含——harness 代码(含 dsh CLI 与 Web 前端)内置
在应用里,机器上不需要任何 dsh / node 安装,双击即用。
上游项目
本应用内置的 harness 来自
DeepSeek Harness——
DeepSeek 官方的插件式 Agent 执行环境(Cordis 组合,dsh web 即其 Web GUI)。
dsh-desktop 是它的桌面壳:不改动 harness 任何代码,只负责窗口、托盘、
服务生命周期与打包分发。harness 升级后执行 npm run package -- -RefreshBundle
即可把新版本重新打进应用。
┌──────────────────────────┐
│ Electron 窗口(独立应用) │
│ ← 加载 http://127.0.0.1:
│
└──────────────────────────┘
│ spawn(默认,自己起内置 harness);attach 仅在 --attach 时
▼
┌──────────────────────────┐
│ dsh web(Node 宿主进程) │ ← 关闭窗口=最小化到托盘,退出=杀进程
└──────────────────────────┘
运行方式:应用是独立的一套体系
| 场景 | 行为 |
|---|---|
| 默认 | spawn:从内置 harness 起自己的服务(--expose-internals 走 Electron 自带 Node 运行时),端口被占用时自动顺延到下一个空闲端口;退出时杀掉整个进程树,服务随之停止 |
--attach | 显式挂接端口上已有的 DSH 服务(测试/临时复用用),退出不影响它 |
内置服务使用应用自己的 DSH home(默认 /dsh-home),与浏览器 GUI
的 $DSH_HOME 相互独立——应用不共用、不依赖任何外部 dsh web(“网页的
node”)进程。首次运行会自动播种:profile 配置拷入 home,内置插件
(@terricsh/dsh-notify、@terricsh/dsh-app-launcher)从 bundled 安装树链
进 profile 的 node_modules。
应用注册 dsh:// URL scheme:通知点击等深链
(dsh://open-session?session=)会聚焦应用窗口并跳转到对应会话,
而不会在浏览器里打开网页。
开发态运行
cd E:\dsh\dsh-desktop
npm install
npm run bundle # 把当前部署的 harness 复制进 resources/harness(255MB,一次性)
npm start # 启动桌面应用
打包成独立 exe
一键打包(推荐):
npm run package # 复用现有 resources/harness,产出安装包 + 便携版
npm run package -- -RefreshBundle # 先从当前部署重新同步 harness 再打包
产物(dist/):
| 文件 | 说明 |
|---|---|
DSH Desktop Setup 0.1.0.exe | NSIS 安装版(推荐):安装有进度条,装完后启动无解压、秒开 |
DSH Desktop 0.1.0.exe | 便携版:单文件拷走即用;首次双击会静默解压数分钟(33000 个文件,期间无任何窗口),之后启动复用缓存 |