← Back to home@baikangwang

dsh-desktop

No description

Stars
0
Language
Rust
Created
Aug 16, 2026
Updated
Aug 21, 2026

Introduction

DSH|dsh-desktop|Tauri 2 桌面壳:托管 dsh web,让 DeepSeek Harness 以原生应用形态运行

非官方项目,由社区成员独立开发和维护,与 DeepSeek 官方无关联。

Unofficial project, independently developed and maintained by a community member. Not affiliated with or endorsed by DeepSeek.

Project URL / 项目地址: https://github.com/baikangwang/dsh-desktop


简介 / Introduction

中文:dsh-desktop 是 DeepSeek Harness Web 界面的桌面壳(Tauri 2 + Rust + WebView2)。它是极薄的宿主包装器,不是 fork: 不打包 DSH,启动时通过 npx 解析并安装最新 dsh web,以受管子进程运行它,再把 WebView 导航到其服务的 URL。补上了浏览器给不了的体验:独立应用图标、单实例、 系统托盘、关窗驻留、崩溃自愈、优雅关停、本地插件安装。

English: dsh-desktop is a thin desktop shell for the DeepSeek Harness Web GUI, built with Tauri 2 (Rust + WebView2). It never bundles DSH: on startup it resolves the latest dsh web via npx, manages it as a child process, and loads its URL in a WebView2 window — adding what a browser cannot: an app icon, single instance, system tray, close-to-tray, crash auto-restart, graceful shutdown, and local plugin installation.

Screenshots / 截图

(占位:启动进度窗、主界面、托盘菜单 —— 后续补充) (Placeholder: splash/progress window, main UI, tray menu — to be added.)


与 DSH 的集成方式 / How it integrates with DSH

集成点机制
运行 DSH启动时经 npx @deepseek-ai/dsh@<latest>(专属缓存)运行 dsh web --port 0,解析 stdout 端口
WebView 加载导航到 dsh web 服务的 URL(window.__DSH_BOOT__ 由 dsh web 注入——本壳不注入、不打包任何前端)
会话 / 工作区 / 插件与浏览器版共享 DSH_HOME(~/.dsh):零迁移,web 与桌面双端一致
健康 / 优雅关停DSH 侧 ops overlay(dsd-side/)挂载 /api/health + /api/admin/shutdown(Bearer 每进程密钥)
插件托盘「安装插件…」:选择本地 .tgz → dsh plugin --profile web add → 重启 dsh 生效(与 web 版同 profile)

Requirements / 环境要求

  • Windows 10 1809+ / Windows 11(WebView2 Evergreen)
  • Rust stable (MSVC) + VS 2022 Build Tools(含 Windows SDK)+ Node.js ≥ 20(构建期)

Build & Run / 构建与运行

npm install
npm run tauri -- dev       # 开发运行
npm run tauri -- build     # 构建 NSIS 安装包(per-user)

Release / 发布

见 docs/cicd.md:node scripts/dsh-release.mjs --dry-run 预览, 确认后执行(自动打 v* tag → GitHub Actions 构建 → NSIS 产物挂到 GitHub Release)。


仓库结构 / Repo layout

ui/                        splash / 安装进度 / 离线页
scripts/
  dsh-release.mjs          发布执行层(幂等:读版本 → tag → 生成 release workflow)
  local-setup.ps1          一次性构建环境准备(Rust + MSVC + npm install)
src-tauri/                 Tauri 2 Rust 后端
  src/
    app.rs                 setup 装配(插件、托盘、单实例、生命周期)
    process_supervisor.rs  spawn dsh web、解析端口、监视退出
    dsh_manager.rs         npx 执行、版本决策/缓存、插件兼容门、插件安装
    health.rs              就绪/存活探针
    lifecycle.rs           状态机 + 重启/退避 + 优雅关停
    tray.rs                托盘图标/菜单/状态色
    plugins.rs             本地插件安装流程(选包 → dsh plugin → loader entry → 重启)
    commands.rs            WebView<->Rust IPC
    config.rs              config.json 与日志滚动
docs/
  ARCHITECTURE.md          架构设计
  DEPLOYMENT.md            安装/升级/目录布局
  INTERFACE_CONTRACT.md    DSH 侧 /api/health + /api/admin/shutdown 契约
  cicd.md                  打包/发布流程(对齐 DSH 插件生态多项目方案)
dsd-side/                  DSH 侧 ops overlay 插件(挂载两个路由)
skills/release/            DSH release skill(agent 发布操作层)

文档 / Docs

License

Apache-2.0(与 DSH 生态一致;dsh-desktop 本身非官方、与官方无关联)。