
RAFOLIE/dsh-desktop-windowos
dsh-desktop-plugin
DeepSeek Harness desktop shell — Tauri v2, tray + native webchat + task-done toasts, single portable exe
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-desktop-pluginRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-desktop-windowos)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from RAFOLIE/dsh-desktop-windowos, cleaned of badges and images.
DSH Desktop (dsh-desktop-windowos)
中文
DeepSeek Harness(DSH)的 Windows 桌面壳,基于 Tauri v2 + React 18 + TypeScript。 打开应用 → 自动拉起本机 DSH Web 服务 → 窗口内嵌原生 webchat(常驻壳) → 托盘常驻,任务完成弹系统通知。 交付物是单个免安装裸 exe(约 4.5 MB)。
推荐用法:在任意文件夹执行 pnpm add @deepseek-ai/dsh(或 npm i @deepseek-ai/dsh),把 exe 放进同一文件夹的根目录双击即可——应用自动发现旁边的 node_modules\.bin\dsh.cmd,启动零下载、零配置、不询问。
功能
- 开箱即用:双击 exe 自动启动 DSH(
dsh web),就绪后窗口内嵌http://127.0.0.1:3080/的原生 webchat 界面(iframe 常驻壳,不自创聊天 UI、不做反向代理) - 自绘标题栏:无边框窗口,鲸鱼标 + 「DeepSeek Harness」居中——点名字打开环境管理面板;拖拽区/最小化/最大化/关闭自绘,Win 贴靠与边缘缩放原生保留
- 环境管理面板:搜索栏(过滤字段名与值)+ 环境|日志 标签 + 四组信息卡(运行状态/DSH 内核/组件版本/位置与存储;主功能标题在卡片外,子功能共处一个大圆角卡)+ 底部 刷新检测/重启/更多;复制⧉、打开目录📁一键图标,聊天状态在面板期间保留(背后虚化)
- 日志体系(ComfyUI 式):dsh.log 只记壳自身事件(启动/监护/更新;DSH web 输出不入日志,不再膨胀),
[本地时间] [INFO/WARN/ERROR]格式逐行着色,每次启动轮转历史文件;启动页「查看日志」实时看终端在跑什么;日志页带等级筛选/自动跟随/清空显示 - 诊断包:面板「更多 → 导出诊断信息」一键把环境配置+本次日志组装成 markdown——复制到剪贴板可直接粘贴给 AI 排障,无需翻目录查全局安装
- 托盘常驻:关闭窗口(X)只是隐藏到托盘,DSH 后台继续运行;双击托盘图标或右键 → Open DSH 随时唤回窗口;右键还有「重启 dsh web(后端)」「前后端重启」「检查前端更新」「环境信息」
- 故障自愈与可见性:DSH 崩溃的真实原因(子进程输出尾部)以 ERROR 写入日志并直接显示在启动页错误视图,附手动修复命令——再无静默崩溃循环;缺 profile 包时自动带冷却期旁路补装并重试;
settings.yaml被 Web UI 写坏(如key:value缺空格)时自动备份+修复+round-trip 校验后才落盘;启动链用绝对路径解析 dsh/pnpm,不受 GUI 环境 PATH 影响 - DSH 监护自愈:DSH 意外退出(市场更新自重启/崩溃)时自动重拉并刷新界面,无需人工干预;连续快速崩溃自动熔断报错
- 自动更新带进度:更新时顶栏名字旁绿色圆环旋转 → 完成对勾 → 自动重启生效(无需手动重开;更新只在启动时发生,不打断对话);应用每次启动自检 GitHub 最新 Release
- 插件包自动同步(带验真):应用启动时自动把已安装的 dsh-desktop-plugin 对齐到 npm 最新版(只升不降,带 pnpm 新发布冷却期旁路);安装后回读 node_modules 验证真实落地,pnpm 冷却期静默保留旧版不再虚报成功
- 图片拖放/粘贴:与浏览器一致——可拖入或粘贴 png/jpg/webp/gif 作为对话附件(DSH v1 支持的四种格式)
- 一键重启 DSH:托盘「重启 dsh web(后端)」只重启 DSH 服务(会话数据在
~/.dsh持久化);「前后端重启」连壳带后端全新拉起(无论后端是谁启动的都会清干净),新装插件随之加载,插件卡死 webchat 时一键满血——面板「更多」里也有同款 - 托盘图标固定任务栏:启动时自动写入 Windows 通知区域设置(
IsPromoted),图标不再每次被收进任务栏角溢出 - 任务完成通知:会话从运行中转为空闲时弹 Windows 系统通知,带两个按钮——「打开窗口」(复现并聚焦窗口)和**「明白」**(收起通知);不点击则数秒后自动收起
- 链接右键菜单:在聊天里的链接上右键,显示简洁菜单「在浏览器中打开」/「复制链接」(替换误导性的 WebView2 默认菜单);左键点击外链仍由系统默认浏览器打开
- 附加模式:启动时若 3080 已有 DSH 在跑,直接连接不重复拉起;退出时也不会动别人(先于应用存在)的实例
- 干净退出:仅托盘右键 → 「退出(关闭 DSH)」才真正退出,自动
taskkill /T杀掉自己拉起的整棵进程树,零孤儿进程 - 防重复实例:exe 被再次双击只会唤回已有窗口,不会开第二个
- 便携小巧:单文件、无安装器、无 DLL 依赖,数据/日志写在
%LOCALAPPDATA%\dsh-desktop\ - 本地优先启动,npm 全局为主推荐:按候选链自动启动 DSH——
DSH_CMD环境变量(失败自动降级,不再卡死)→ 自定义路径(启动页可填,永久记住)→ PATH 全局安装的dsh web→ 项目本地node_modules\.bin\dsh.cmd(exe 同目录/工作目录/用户目录)→ 已确认过的 npx;全都找不到时启动页提供一键全局安装(应用直接执行npm install -g @deepseek-ai/dsh,约 1-3 分钟,装完永久走最快路径、终端获得dsh命令)、npx 下载(备选)、手动填路径、重新检测、退出——不会静默下载任何东西
前提条件
目标机器需已具备(exe 不携带):
| 项 | 要求 |
|---|---|
| Node.js | ^22.19 或 ≥ 24(必须;DSH 的 Node 版本要求) |
| DSH | 可选,三种方式任一:全局安装 npm i -g @deepseek-ai/dsh(最快,推荐);本地安装(在 exe 旁或任意被搜索目录执行 pnpm add @deepseek-ai/dsh);都没有则首次启动时点「下载并启动」走 npx |
| 从源码跑 DSH 的开发者 | 设 DSH_CMD(pnpm dsh web)与 DSH_CWD(DSH 仓库路径)环境变量 |
| WebView2 | Windows 11 自带 |
快速开始
方式一:装 DSH 插件(推荐给 DSH 用户)
dsh plugin --profile web add dsh-desktop-plugin
重启 DSH 后插件自动把 exe 装到 %LOCALAPPDATA%\Programs\dsh-desktop-windowos\,并在桌面生成两个快捷方式——「DeepSeek Harness」(桌面应用)和「DeepSeek Harness Web」(浏览器打开前端);之后每次激活还会自动升级 exe 到最新 Release(应用运行中也能安全替换)。对话里说“打开桌面应用”可通过 desktop_launch 工具直接拉起(exe 缺失时走后台任务安装,完成后自动启动,聊天里可轮询进度)。首次运行 exe 会弹 SmartScreen(未签名),点「更多信息 → 仍要运行」即可。
…

