dsh-desktop-windowos:为 DSH 提供 Windows 桌面壳

前言

用 DeepSeek Harness(DSH)做智能体开发,常见做法是终端里跑 dsh web,再在浏览器里打开 http://127.0.0.1:3080/。这条路径能用,但有几个实际摩擦:浏览器标签容易被关掉,后台服务还在跑却不容易感知;任务跑完没有桌面级提醒,得切回页面看状态;想常驻后台又得自己管进程和托盘。

下面介绍社区插件 dsh-desktop-windowos(维护者 RAFOLIE,GitHub 仓库 RAFOLIE/dsh-desktop-windowos)。它把 DSH 的 webchat 包进一个 Windows 原生窗口,托盘常驻,任务完成时弹系统通知,交付物是单个约 4.5 MB 的免安装 exe。

这是什么

dsh-desktop-windowos 是 DSH 的 Windows 桌面壳,技术栈为 Tauri v2 + React 18 + TypeScript。应用启动后自动拉起本机 DSH Web 服务,窗口内通过 iframe 嵌入 http://127.0.0.1:3080/ 的原生 webchat 界面——不自创聊天 UI,也不做反向代理。

在 SkillHub 社区目录中归类为客户端插件;截至撰写时,GitHub 上约 11 stars、2 forks。插件 npm 包名为 dsh-desktop-plugin,许可证 MIT;应用本体与 npm 插件是两条独立版本线(npm 现 1.5.10,应用现 v1.6.31,不一致是有意设计)。

核心功能

开箱即用与 DSH 发现

双击 exe 后,壳按候选链自动启动 DSH:环境变量 DSH_CMD → 自定义路径 → PATH 全局 dsh web → 项目本地 node_modules\.bin\dsh.cmd → 已确认过的 npx。全都找不到时,启动页提供一键全局安装、npx 下载、手动填路径等选项,不会未经同意静默下载。

DSH rc.8+ 本地运行会自动开浏览器,壳会按版本探测并追加 --no-open 抑制。若 3080 端口已有 DSH 在跑,应用直接附加连接,退出时也不会动别人先启动的实例。

窗口、托盘与通知

  • 自绘标题栏:无边框窗口,居中胶囊控件点击可打开环境管理面板;拖拽、最小化、最大化、关闭自绘,Win 贴靠与边缘缩放保留。
  • 托盘常驻:点 X 只是隐藏到托盘,DSH 后台继续运行;双击托盘或右键「Open DSH」唤回窗口。
  • 任务完成通知:监听 ws://127.0.0.1:3080/api/events.host,会话从运行中转为空闲且主窗口隐藏时,弹 Windows 系统通知,带「打开窗口」和「明白」两个按钮。

环境管理与运维

环境管理面板提供搜索、环境 / 日志 / 更新三标签,展示运行状态、DSH 内核与组件版本、位置与存储等信息。日志体系只记壳自身事件(dsh.log),ComfyUI 式逐行着色;「更多 → 导出诊断信息」可一键组装 markdown 诊断包。

更新中心分两张卡:一张管全局 @deepseek-ai/dsh 包升级,一张管壳自身(稳定版 / 预发布通道、自动更新开关)。应用启动时还会把已安装的 dsh-desktop-plugin 对齐到 npm 最新版(只升不降)。

故障处理

DSH 意外退出时自动重拉并刷新界面,连续快速崩溃会熔断报错。缺 profile 包时自动带冷却期旁路补装;settings.yaml 被写坏时自动备份修复。托盘提供「重启 dsh web(后端)」「前后端重启」;仅托盘「退出(关闭 DSH)」才真正退出并清理进程树。

安装与启用

前提条件

目标机器需已具备(exe 不携带):

要求
Node.js ^22.19 或 ≥ 24(必须)
DSH 可选:全局 npm i -g @deepseek-ai/dsh(推荐)、本地 pnpm add @deepseek-ai/dsh、或首次启动走 npx
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 可能触发 Windows SmartScreen(未签名),点「更多信息 → 仍要运行」即可。

方式二:直接下载 exe

  1. GitHub Releases 下载 dsh-desktop-windowos-v<版本>.exe,双击运行。
  2. 若本机已有全局或本地 DSH,或 3080 已有服务在跑,会自动发现或附加。
  3. 若本地没有任何 DSH,启动页可选「一键全局安装并启动(推荐)」或「下载并启动(npx,备选)」。

典型用法

便携模式:exe 与本地 DSH 同目录

在任意文件夹安装 DSH,把 exe 放进该文件夹根目录,双击即可——应用自动发现旁边的 node_modules\.bin\dsh.cmd,零下载、零配置:

pnpm add @deepseek-ai/dsh
# 或将 exe 放到已执行 npm i @deepseek-ai/dsh 的目录根下

日常操作

  • 关闭窗口:DSH 继续在托盘运行,双击托盘图标唤回。
  • 任务跑完:收到系统通知后点「打开窗口」聚焦,或点「明白」收起。
  • 需要排障:打开环境管理面板 → 日志标签查看壳事件,或「更多 → 导出诊断信息」复制给 AI。
  • 更新 DSH 或壳:环境面板「更新」标签,选通道后点「立即更新」。

从源码构建(Windows 开发者)

需 Rust msvc 工具链 + VS 2022 生成工具:

pnpm install
pnpm tauri dev      # 开发模式
pnpm tauri build    # 产物: src-tauri\target\release\dsh-desktop-windowos.exe

适用场景与注意

适合谁

  • 主要在 Windows 上用 DSH,希望 webchat 像桌面应用一样常驻、有托盘和任务完成提醒。
  • 不想每次手动开浏览器标签,又需要环境面板统一管理 DSH 版本、日志和自更新。
  • 接受单文件便携 exe,数据与日志写在 %LOCALAPPDATA%\dsh-desktop\

使用前注意

  • 插件以当前 dsh 进程权限运行;安装前应自行检查 源码仓库 与 MIT 许可证,确认符合你的安全策略。
  • 仅支持 Windows;Node.js 版本必须满足 DSH 要求(^22.19 或 ≥ 24)。
  • SkillHub 是社区插件目录,与 DeepSeek / 幻方无官方从属关系;本插件亦非官方出品。
  • 应用自动更新默认只追 GitHub releases/latest 稳定版;尝鲜预发布需手动下载或在更新中心切换通道。

结尾

dsh-desktop-windowos 把 DSH 的 webchat 装进 Tauri 桌面壳:自动发现或拉起本机 DSH、托盘常驻、任务完成系统通知、环境面板管版本与日志,单个 exe 约 4.5 MB 免安装。若你已在用 DSH 的 web profile,一条插件命令即可接入桌面体验。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜