🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

GoldenApplePie404/DSH_Desktop

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
需源码安装

DeepSeek Harness桌面端应用程序,从此告别CMD,支持一键启动 dsh…

暂不能直接安装(需源码编译或环境不满足):仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/9/20 · 已提供中文文档

DeepSeek Harness桌面端应用程序,从此告别CMD,支持一键启动 dsh web、原生窗口、托盘常驻、原生通知.

综合分
30.8
GitHub 分
30.8
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add GoldenApplePie404/DSH_Desktop
仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 2 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · desktop
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 5 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/23
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-desktop-electron(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

仓库 package.json 标记 private,未发布到 npm,需从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/20 20:43:57

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-desktop-electron
DeepSeek Harness 桌面壳(Electron):双击图标 → 自动启动 dsh --profile web 后台服务 → 原生窗口加载界面。托盘常驻,关窗不退出,会话在后台继续跑。

这是\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\壳\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\,不是重写。GUI 的 window.\\\\\\\\\\\\\\\_\\\\\\\\\\\\\\\_DSH\\\\\\\\\\\\\\\_BOOT\\\\\\\\\\\\\\\_\\\\\\\\\\\\\\\_ 只有真实的 dsh web 服务才会注入,壳永远只做"拉起服务 + 开窗口"。
数据零复制:直接复用 $DSH\\\\\\\\\\\\\\\_HOME(%USERPROFILE%\\\\\\\\\\\\\\\\.dsh),桌面版和网页版可随意切换。

功能

* 原生通知:模型响应完成时弹 Windows 通知(经 bridge-plugin/ 桌面桥插件,见下)
* 崩溃自愈:dsh 服务意外退出自动重启一次并重载窗口
* 开机自启:托盘菜单勾选(打包版生效)
* 托盘常驻 / 单实例 / 动态端口 / 干净退出 / 外部链接交给系统浏览器

运行

npm install        # 首次:下载 Electron(约 100MB)
npm start          # 启动桌面壳

首次启动会自动创建默认工作区 %USERPROFILE%\\\\\\\\\\\\\\\\DSHWorkspace。

配置

|方式|用途|默认值|
|-|-|-|
|--workspace |指定 agent 工作区(dsh 的 cwd)|%USERPROFILE%\\\\\\\\\\\\\\\\DSHWorkspace|
|DSH\\\\\\\\\\\\\\\_DESKTOP\\\\\\\\\\\\\\\_WORKSPACE|环境变量方式指定工作区|同上|
|DSH\\\\\\\\\\\\\\\_DESKTOP\\\\\\\\\\\\\\\_PORT|固定端口(默认自动选空闲端口)|自动|
|DSH\\\\\\\\\\\\\\\_DESKTOP\\\\\\\\\\\\\\\_DSH|显式指定 dsh 可执行文件(优先级最高)|PATH 中的 dsh(Windows 为 dsh.cmd)|
|DSH\\\\\\\\\\\\\\\_DESKTOP\\\\\\\\\\\\\\\_SMOKE=1|冒烟模式:就绪后输出 SMOKE\\\\\\\\\\\\\\\_OK 自动退出|关闭|

npx electron . --workspace "E:\\\\\\\\\\\\\\\\my-workspace"

冒烟验证

$env:DSH\\\\\\\\\\\\\\\_DESKTOP\\\\\\\\\\\\\\\_SMOKE = "1"
npm start
$env:DSH\\\\\\\\\\\\\\\_DESKTOP\\\\\\\\\\\\\\\_SMOKE = $null

看到日志输出 SMOKE\\\\\\\\\\\\\\\_OK 即通过(启动 dsh → 等服务就绪 → 页面加载完成 → 自动退出)。

图标

应用图标为女仆鲸鱼娘头像(从 maid-atelier 皮肤立绘裁剪的 Q 版头像,透明背景):

* assets/icon.png(256x256)—— 窗口 / 托盘运行时图标
* assets/icon.ico(16/24/32/48/64/128/256 多尺寸)—— exe / 安装包图标

更换图标:

node scripts/make-app-icon.cjs    # 重新生成 icon.png + icon.ico
npm run dist                                   # 重新打包

* exe 图标经 scripts/after-pack.cjs(electron-builder afterPack 钩子)用 rcedit 嵌入(带重试,绕开 winCodeSign 符号链接权限问题)
* NSIS 安装包/卸载器图标经 nsis.installerIcon / uninstallerIcon 配置
* 裁剪候选与预览页在 assets/candidates/(preview.html)

打包

npm run dist          # NSIS 安装包 + 便携版(release/)
npm run dist:portable # 只出便携版
npm run dist:dir      # 解包目录(本地调试)

已实测验证:win-unpacked 与便携版均可完整运行(启动 dsh web → 原生通知 → SMOKE\_OK → 干净退出)。

已知小问题:
- 国内网络先设置 ELECTRON\\\\\\\\\\\\\\\_BUILDER\\\\\\\\\\\\\\\_BINARIES\\\\\\\\\\\\\\\_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/(构建时需下载 nsis 等工具)
- 未开 Windows 开发者模式时 winCodeSign 解压会报符号链接错误 → 已在配置里设 signAndEditExecutable: false(跳过 exe 图标/签名编辑;代价是打包版 exe 不嵌入自定义图标)
- electron-builder 末尾偶发返回码 1(产物已生成且可用),以 release/ 产物为准

日志

* 壳与 dsh 服务日志:%APPDATA%\\\\\\\\\\\\\\\\DeepSeek Harness Desktop\\\\\\\\\\\\\\\\dsh-desktop.log
* 托盘右键 →「打开日志目录」直达

常见问题

* npm install 卡在 electron 下载:node\\\\\\\\\\\\\\\_modules/electron/dist 缺失时,设置镜像后重装:

$env:ELECTRON\\\\\\\\\\\\\\\_MIRROR = "https://npmmirror.com/mirrors/electron/"
npm install          # 或 node node\\\\\\\\\\\\\\\_modules/electron/install.js

项目里的 .npmrc 已配置 electron\\\\\\\\\\\\\\\_mirror(海外网络可删除该文件)。

* 启动后提示 DSH 服务超时:托盘菜单打开日志目录,看 dsh-desktop.log 中最近的报错。
* 关闭窗口后进程还在:预期行为(托盘常驻);托盘右键「退出」才会完全退出。

工作原理

启动应用
├→ 解析工作区 / 端口 / dsh 可执行文件
├→ 动态选空闲端口(或 DSH\\\\\\\\\\\\\\\_DESKTOP\\\\\\\\\\\\\\\_PORT)
├→ spawn dsh --profile web --port  --host 127.0.0.1
├→ 轮询 http://127.0.0.1: 等服务就绪(90s 超时)
├→ BrowserWindow(沙箱:contextIsolation + sandbox,禁 Node 集成)加载页面
├→ 关窗 = 隐藏到托盘(单实例锁,重复启动聚焦已有窗口)
└→ 退出 = taskkill /t /f 杀 dsh 进程树

外部 HTTP(S) 链接一律交给系统默认浏览器,绝不在应用窗口内打开。

壳与 DSH 版本说明

本项目的 Electron 壳不硬编码 dsh 版本号——spawn 时只传 --profile web --port --host 通用参数,不做版本检查。但实际运行时有以下已验证的事实:

* 打包版自带 dsh 运行时:发行包(安装版 / 便携版 / zip)内嵌 vendor/dsh/ 目录,其中包含 dsh v0.1.0-rc.6 及其全部依赖(含原生模块),无需目标机器安装 Node 或 dsh
* 原生模块 ABI 绑定 Node v24:dsh 依赖 sharp / koffi / node-pty 等原生 .node 模块,这些模块针对 Node v24.17.0 编译。Electron 33 内置 Node v20 ABI 不兼容,因此打包版必须随包携带独立的 node.exe(v24.17.0),不能复用 Electron 内置运行时
* dsh 可执行文件三级优先级:
1. DSH\\\\\\\_DESKTOP\\\\\\\_DSH 环境变量显式指定
2. 打包版的 resources/dsh/ 内置运行时
3. PATH 查找(开发模式下生效)
* CLI 参数依赖:壳固定以 dsh --profile web --port  --host 127.0.0.1 启动,依赖这套参数名与 web profile 存在
* 桌面桥插件依赖:bridge-plugin 注册 @deepseek-ai/cordis ^4.0.1 作为 peerDep,订阅 session/event / assistant/message 事件名

目录结构

dsh-desktop-electron/
├── main.js              # 主进程:启动/窗口/托盘/清理 + IPC 服务/通知/自愈/自启
├── preload.js           # contextBridge:给页面暴露 dshDesktop.\\\\\\\\\\\\\\\* 极小 API
├── bridge-plugin/       # 桌面桥插件(DSH host 插件,装在 web profile 里)
│   ├── lib/index.js     #   订阅 session/event → POST 到壳的 IPC → 原生通知
│   ├── cordis.patch.yml #   作为 bundle 插入组合树
│   └── package.json
├── scripts/make-icon.cjs# 纯 Node 图标生成(无依赖)
├── assets/icon.png      # 应用图标
└── package.json         # electron + electron-builder 打包配置

桌面桥(bridge-plugin)

把 DSH 会话事件桥到桌面能力,DSH 插件 + 桌面壳的架构样板:

dsh web 进程内                    Electron 主进程
ctx.on('session/event') ──POST──▶ 本地 IPC(127.0.0.1 随机端口+令牌)──▶ 原生通知

* 壳启动 dsh 时注入 DSH\\\\\\\\\\\\\\\_DESKTOP\\\\\\\\\\\\\\\_IPC\\\\\\\\\\\\\\\_URL / DSH\\\\\\\\\\\\\\\_DESKTOP\\\\\\\\\\\\\\\_IPC\\\\\\\\\\\\\\\_TOKEN;没有时插件静默,网页版不受影响
* 桥插件已装入你的 web profile(dsh plugin --profile web 可见),网页版和桌面版共用
* 自检:DSH\\\\\\\\\\\\\\\_DESKTOP\\\\\\\\\\\\\\\_BRIDGE\\\\\\\\\\\\\\\_SELF\\\\\\\\\\\\\\\_TEST=1 挂载即发一条测试通知

下一步(规划)

* \[x] 桌面桥插件:原生通知(assistant/message → 通知)
* \[x] 崩溃自愈(dsh 意外退出自动重启一次)
* \[x] 开机自启(托盘勾选,打包版生效)
* \[ ] 通知触发扩展:approval/asked(需要批准时)、tool/result 失败
* \[ ] 托盘动态菜单(经桥插件下发)
* \[ ] 原生文件对话框(经 IPC 暴露)
* \[ ] 文件面板 / 内置终端
* \[ ] 自动更新

参考

* kevenxz/dsh-desktop —— Windows Electron 封装(本项目的架构参考)
* xiincs/deepseek-harness-desktop —— Tauri 2 功能全量版
* DeepSeek Harness —— 本体

许可

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群