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.exe、dsh(harness 本体)、WebView2Loader.dll与dsh-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_HOME | exe 同级 dsh-home | harness 数据/配置目录 |
DSH_NPM_DIR | exe 同级 dsh | 已安装的 dsh 目录 |
NODE_BIN | node | node 可执行文件 |
DSH_PROFILE | web | 要启动的 profile |
DSH_SHELL_PORT | 0 | 端口,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 适配与打包说明
文档
- SELFCONTAINED.md — 自包含便携包的构建与验收
- docs/macos.md — macOS 适配与打包