Back to home@lionheartjie

DSH_Shell

DeepSeek Harness 的 Rust/Tauri 套壳

Stars
0
Language
Rust
Created
Aug 23, 2026
Updated
Aug 23, 2026

Introduction

DSH_Shell — DeepSeek Harness 的 Rust/Tauri 套壳

用 Rust(+ Tauri 桌面窗口)启动并托管 DeepSeek Harness Web 服务,与 harness 只通过 4 个边界解耦,升级不影响壳。提供 自包含便携包,解压即用、无需安装 Node。

特性

  • 自包含:portable 包内含外壳、node.exedsh(harness 本体)、WebView2Loader.dlldsh-home 模板;解压即用。
  • 数据隔离:使用程序同目录的 .dsh 作为 DSH_HOME,不读取本机 ~/.dsh,不加载本机已装插件/预设。
  • 跨平台:核心为 Rust-only(std::process + ctrlc);Tauri 窗口层支持 Windows / Linux / macOS。
  • 解耦:仅通过 进程启停 / 配置注入 / HTTP 就绪探测 / 生命周期 4 个边界与 harness 交互。
  • 桌面窗口:Tauri 开窗加载 harness Web UI,关窗自动终止子进程。
  • 托盘常驻 + 后台通知:最小化/关窗后托盘常驻;窗口不在前台时,通过 notify-rust 发送「启动失败 / 已停止运行 / 任务完成」等桌面通知。

快速开始

便携包(推荐)

Releases 下载 DSH_Shell_0.1.0_x64-portable.zip,解压后运行 DSH_Shell.exe。首次启动选择数据存储位置(默认程序目录下 .dsh)。

源码运行

# 前置:Node + 已安装 dsh-npm;DSH_HOME 指向数据目录
cd dsh_shell
cargo build
$env:DSH_HOME='<your-dsh-home>'
$env:DSH_NPM_DIR='<dsh-npm>'
.\target\debug\harness-shell.exe
# 输出 READY: http://127.0.0.1:<port>,浏览器打开;Ctrl+C 停止

构建桌面安装包

$env:CARGO_TARGET_DIR='<build>'   # 无空格,避开 gnu windres 坑
pnpm exec tauri build              # 生成 NSIS 安装包

配置(环境变量)

变量默认说明
DSH_HOMEexe 同级 dsh-homeharness 数据/配置目录
DSH_NPM_DIRexe 同级 dsh已安装的 dsh 目录
NODE_BINnodenode 可执行文件
DSH_PROFILEweb要启动的 profile
DSH_SHELL_PORT0端口,0=OS 随机分配
DSH_SHELL_PATCH./patch.yml传给 harness 的 --patch 覆盖层

目录结构

src/                   CLI 入口(启动/监视/退出)
harness-shell-core/    共享 launcher 库(spawn/解析端口/健康/停止)
src-tauri/             Tauri 桌面窗口层(DSH_Shell)
docs/macos.md          macOS 适配与打包说明

文档