czzzlq/deepseek-harness-desktop
一个基于 Tauri 2 的桌面应用源码工程,把本机的 DeepSeek Harness Web UI (http://127.0.0.1:3080)装进一个独立的桌面窗口(1280×800,可缩放)。
catalog 简介 / catalog descriptioncatalog description:deepseek-harness-desktop / deepseek-harness桌面端
项目介绍Project Overview
这是基于 Tauri 2 的 DeepSeek Harness 桌面客户端源码,把本机 Web UI(127.0.0.1:3080)装进独立窗口。启动时探测端口,服务未运行则按 exe 旁 harness.json 配置的命令、目录、超时自动拉起,退出时仅停掉自己启动的实例;配置缺失时用内置默认值。适合想脱离浏览器使用 DSH 的场景。注意需自行用 Rust 与 Node 构建,服务拉不起时先手动运行排查报错。
This is a Tauri 2–based desktop client for DeepSeek Harness, wrapping the local Web UI at 127.0.0.1:3080 in a standalone window. On launch it probes the port; if the service is down, it starts it using the command, working directory, URL, and timeout defined in harness.json beside the exe, and stops only that instance on exit. Built-in defaults apply if the config is missing. Use it to run DSH outside a browser. Note: you must build it yourself with Rust and Node.
请帮我了解并安装插件:【deepseek-harness-desktop】【https://github.com/czzzlq/deepseek-harness-desktop】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:czzzlq/deepseek-harness-desktop
把 czzzlq/deepseek-harness-desktop 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DeepSeek Harness 桌面客户端(Tauri 2)
一个基于 Tauri 2 的桌面应用源码工程,把本机的 DeepSeek Harness Web UI
(http://127.0.0.1:3080)装进一个独立的桌面窗口(1280×800,可缩放)。
自动启动 harness 服务
应用启动时会先探测 127.0.0.1:3080 是否已通:
- 服务已运行:直接加载 Web UI,不干预,退出时也不影响它。
- 服务未运行:自动在后台拉起服务,等它就绪后加载 Web UI;退出时自动停掉由它启动的服务(不误伤你手动已开的服务)。
启动服务用哪个命令、工作目录、网址、超时等,全部由 exe 同目录的 harness.json 决定,
程序本身不再写死源码路径:
{
"url": "http://127.0.0.1:3080",
"probeAddr": "127.0.0.1:3080",
"workingDir": "D:/deepseek_harness/deepseek-harness-master/deepseek-harness-master",
"command": "node",
"args": ["--import", "tsx/esm", "apps/cli/src/bin.ts", "web"],
"startupTimeoutSecs": 60
}
- 找不到
harness.json时,程序用内置默认值(与上面一致),保证开箱可用。 - 打包时
harness.json会随安装包一起放到 exe 旁边(bundle.resources); 装好后直接改安装目录里的这份文件即可生效,无需重新编译。 - 项目根目录这份
harness.json是「源文件」,改了它要重新tauri build才会进安装包。 - 路径用
/或\\(JSON 里反斜杠需转义)都可以。
目录结构
deepseek-harness-desktop/
├── package.json # Node 侧(@tauri-apps/cli)
├── harness.json # 启动配置(随安装包分发)
├── dist/index.html # 前端占位(实际加载外部 URL)
└── src-tauri/
├── Cargo.toml # Rust 依赖
├── build.rs
├── tauri.conf.json # 应用/打包配置(含 resources 打包 harness.json)
├── capabilities/default.json
├── icons/ # 图标集(png + ico)
└── src/
├── main.rs
└── lib.rs # 读配置 → 自动拉起服务 → 创建窗口加载 Web UI
环境要求
- Rust stable(MSVC 工具链)+ VS Build Tools 2022
- Node.js(用于
@tauri-apps/cli与拉起服务) - cargo 已配 USTC 镜像、npm 已配 npmmirror 镜像(依赖下载快)
构建
cd D:\deepseek-harness-desktop
npm install # 安装 @tauri-apps/cli(走 npmmirror)
npm run tauri build # 编译并打包(走 USTC 镜像)
产物在 src-tauri\target\release\bundle\ 下:
nsis\DeepSeek Harness_0.1.0_x64-setup.exe—— 安装版(推荐)msi\*.msi
首次构建需下载 Rust 依赖并编译,约 5–15 分钟。
自定义
| 想改什么 | 改哪里 |
|---|---|
| 启动命令 / 工作目录 / 网址 / 超时 | 安装目录里的 harness.json(源文件在项目根 harness.json) |
| 窗口尺寸 | src-tauri/src/lib.rs 里的 inner_size / min_inner_size |
| 应用名 / 版本 / 包名 | src-tauri/tauri.conf.json 的 productName / version / identifier |
| 图标 | 替换 src-tauri/icons/,或用 npm run tauri icon 图标.png 重新生成全套 |
| 打包目标(只要 exe) | tauri.conf.json 的 bundle.targets 改为 ["nsis"] |
说明
npm run tauri dev会以调试模式运行(开发期默认用内置配置,可在调试 exe 旁放harness.json覆盖)。- 若服务始终拉不起来(窗口显示无法连接),先在终端手动跑
pnpm dsh web看报错。 - 打包 macOS(.dmg)需在 macOS 上执行,并补
src-tauri/icons/icon.icns。 - 想用 git 管理:仓库已含
.gitignore(忽略node_modules/与target/)。
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS