dsh-desktop
其他 活跃维护

dsh-desktop

baikangwang/dsh-desktop

Tauri 2框架打造的原生桌面应用壳,可托管dsh web服务,让对应网页服务以原生桌面应用形态运行,界面轻量无冗余组件,启动响应速度快。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
Rust
主要语言
Apache-2.0
开源协议
199 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:baikangwang/dsh-desktop
git clone https://github.com/baikangwang/dsh-desktop.git
git clone git@github.com:baikangwang/dsh-desktop.git
README.md master

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 本身非官方、与官方无关联)。