Files
Reasonix deba852624 feat: 启动进度提示、开机自启选项、应用内升级引导
- 启动等待时显示进度条+百分比+后端最新输出(等待上限 240s)
- 托盘菜单新增"开机自启服务"勾选项(注册表 Run + vbs 隐藏启动器)
- 启动后后台检查 DSH 最新版本,有新版弹窗引导升级(npm 后台完成,自动重启服务)
- StartDshService 禁用 DSH_TELEMETRY_DISABLED 遥测(可能小幅加速)
- 新增 start-dsh-service.vbs,更新 README
2026-08-14 15:30:19 +08:00

92 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DeepSeek Harness 桌面客户端
一个把 DeepSeek Harness(dsh)Web UI 包装成**独立桌面应用**的本地客户端。
使用系统 **WebView2** 渲染,不依赖 Vivaldi / Edge 等完整浏览器,双击即用。
## 功能
- **独立窗口**:WebView2 渲染 `http://127.0.0.1:3080`,无浏览器地址栏/标签栏
- **自动拉起后端**:打开应用时若 dsh 服务未运行,自动静默启动(node 进程,无 CMD 窗口)
- **启动进度提示**:等待后端就绪时显示进度条 + 百分比 + 后端最新输出(首次冷启动较慢)
- **系统托盘**:
- 点窗口 `X` → 直接最小化到托盘(后端保持运行)
- 托盘双击 / 右键「打开」→ 恢复窗口
- 右键「**开机自启服务**」→ 勾选后开机自动后台启动后端(打开应用秒开)
- 右键「退出」→ 完全退出(**同时关闭后端服务**)
- **应用内升级引导**:启动时后台检查 DSH 最新版本,有新版本弹窗引导升级
(npm 后台完成,无需打开浏览器/终端;升级后自动重启服务)
- **DPI 感知**:PerMonitorV2,高分屏(250% 缩放)下界面清晰不模糊
- **DeepSeek 官方图标**:窗口、任务栏、快捷方式均为官方鲸鱼 logo
## 目录结构
```
DeepSeekHarness\
├── README.md 本文件
├── dsh.ico DeepSeek 图标(多尺寸,快捷方式/窗口使用)
├── logo-512.png 图标 512px 源图(由官方 favicon.svg 生成)
├── .gitignore 排除运行时数据
└── app\
├── dsh-app.exe 主程序(C# / WinForms / WebView2)
├── start-dsh-service.vbs 开机自启用的隐藏启动器(wscript 调用)
├── Microsoft.Web.WebView2.Core.dll WebView2 托管组件 1.0.3719.77
├── Microsoft.Web.WebView2.WinForms.dll 同上
├── WebView2Loader.dll 原生加载器(x64)
├── src\
│ ├── dsh-app.cs 全部源码
│ └── app.manifest DPI manifest(PerMonitorV2)
├── web.log dsh 服务日志(运行时生成)
├── upgrade.log 升级日志(运行时生成)
└── dsh-app.exe.WebView2\ WebView2 用户数据(运行时生成)
```
## 环境依赖
| 依赖 | 说明 |
|---|---|
| Node.js ≥ 22.19 | dsh 运行环境(当前机器:v24.19.0,winget 安装) |
| `@deepseek-ai/dsh` | 全局安装:`npm i -g @deepseek-ai/dsh`(镜像源:registry.npmmirror.com) |
| WebView2 Runtime | Windows 11 自带;旧系统需安装 |
| .NET Framework 4.8 | Windows 10/11 自带(构建时才需要) |
## 使用
1. 双击桌面(或 `C:\Users\VanuSystems-Mu\DeskBox\AI\`)的 **DeepSeek Harness** 快捷方式
2. 首次打开需等待后端冷启动(**2~3 分钟**,窗口有进度提示);之后秒开
3. 用完点 `X` 即最小化到托盘;彻底退出用托盘右键 → **退出**
> **关于启动速度**:慢的根源是 dsh 自身(启动需加载 194 个插件包)。
> 推荐在托盘菜单勾选「**开机自启服务**」——开机后台预热,之后任何时间打开应用都是秒开。
## 从源码构建
```sh
cd app\src
csc /target:winexe /nologo \
/win32manifest:app.manifest \
/win32icon:..\..\dsh.ico \
/out:..\dsh-app.exe \
/r:..\Microsoft.Web.WebView2.Core.dll \
/r:..\Microsoft.Web.WebView2.WinForms.dll \
/r:System.Windows.Forms.dll /r:System.Drawing.dll \
dsh-app.cs
```
csc 位于 `C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe`。
## 排障
| 现象 | 处理 |
|---|---|
| 界面模糊 | 确认 exe 已带 manifest(PerMonitorV2);重新构建 |
| 弹 CMD 窗口 | 旧版本用 `cmd /c` 启动后端所致;当前版本直接启动 `node.exe`,无窗口 |
| 打开后一直"正在启动服务" | dsh 冷启动需 2~3 分钟,进度条会显示;若超 4 分钟查看 `web.log` |
| 升级失败 | 查看 `app\upgrade.log`;确认 npm 镜像源可用 |
| 托盘图标消失 | 进程异常退出;重新双击快捷方式即可(会自动拉起后端) |
## 许可
- 本包装代码:MIT(可自行修改 `app\src\dsh-app.cs` 后重新构建)
- DeepSeek Harness:由 [deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) 提供,MIT
- WebView2 组件:Microsoft 分发,MIT