DeepSeek Harness Hub
← 返回列表

桌面启动器MoRiv447/deepseek-HARNESS-GUI

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

双击即启本地 Web UI,免命令行操作

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/15 · 已提供中文文档

DeepSeek Harness (dsh) 的 Tauri 2 桌面封装 — 双击即可启动本地 Web UI,无需 CLI

综合分
27.6
GitHub 分
27.6
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add MoRiv447/deepseek-HARNESS-GUI
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DeepSeek Harness GUI

基于 Tauri 2 的 DeepSeek Harness(dsh)桌面封装 —— 双击启动,自动打开本地 Web UI,无需命令行。

功能特性

- 一键启动 — 双击 exe,自动拉起 dsh web,就绪后窗口内加载界面
- 无黑框 — 所有子进程以 CREATE_NO_WINDOW 方式运行
- 自带 dsh — 本地打包 @deepseek-ai/dsh;缺失时首次运行自动 npm install 到 /runtime/
- 数据隔离 — DSH_HOME 指向 %LOCALAPPDATA%\com.moriv.dsh-gui\dsh-home\,不污染默认 ~/.dsh/
- 智能就绪探测 — HTTP GET / 返回真实 HTTP/ 响应后才跳转(TCP 能连不算数)
- 可操作的错误诊断 — 启动失败会直接告诉你原因(端口占用/权限/缺依赖/网络)
- 干净退出 — 关窗口自动 taskkill /T /F 杀进程树,不留孤儿端口

使用

双击 DeepSeek Harness.exe:

1. 首次启动 → 若本地找不到 dsh 包,自动 npm install 到 /runtime/(约 10-30 秒,一次性)
2. 服务就绪 → 窗口自动加载 dsh Web UI(http://127.0.0.1:3080)
3. 关闭窗口 → 自动杀掉进程树,端口释放

全程无命令行窗口,无需手动开浏览器。

前置条件

- Node.js 18+(运行 dsh 需要)
- WebView2 Runtime(Windows 10 1803+ / Windows 11 一般已自带)

架构

DeepSeek Harness.exe
├── 前端启动页(Vite + TypeScript,内嵌于 exe)
│   ├── 三步状态:检查环境 → 启动服务 → 等待就绪
│   ├── 日志区实时显示 dsh stdout/stderr
│   └── 就绪后 fetch 探测确认 → 跳转 http://127.0.0.1:3080
└── Rust 后端(Tauri 2)
├── spawn node /lib/bin.js web
│   ├── DSH_HOME 隔离到 %LOCALAPPDATA%\com.moriv.dsh-gui\dsh-home\
│   └── CREATE_NO_WINDOW(无黑框)
├── 轮询 3080:TCP 可连 → HTTP GET → 响应头 "HTTP/" 才算就绪
├── 日志经 dsh://log 事件转发给前端
└── 窗口关闭 → taskkill /T /F 杀进程树

数据目录

| 内容 | 位置 |
|---|---|
| dsh 状态/配置 | %LOCALAPPDATA%\com.moriv.dsh-gui\dsh-home\ |
| 调试日志 | %LOCALAPPDATA%\com.moriv.dsh-gui\debug.log |
| 本地 dsh 包 | /runtime/node_modules/(未内置时) |

改 dsh 配置:编辑 dsh-home\profiles\web\cordis.patch.yml。

项目结构

dsh-gui/
├── src/                       # 启动页(Vite + TS)
│   ├── main.ts                # invoke/listen、状态机、fetch 探测后跳转
│   └── styles.css
├── src-tauri/
│   ├── capabilities/          # Tauri 2 IPC 权限(必须!缺了前端 IPC 全死)
│   ├── src/lib.rs             # 进程管理:spawn/轮询/taskkill/诊断
│   └── tauri.conf.json
├── index.html
└── package.json

构建

开发模式(热重载)
npm run tauri dev

构建裸 exe(产物:src-tauri/target/release/dsh-gui.exe)
npx tauri build --no-bundle

构建 Windows 安装器(需 NSIS,可选)
npx tauri build

注意:必须用 npx tauri build,不要用裸 cargo build(会跳过前端资源嵌入)。

故障排查

启动页日志区会显示 dsh 的 stdout/stderr;详细记录在 debug.log。

- 端口 3080 被占用 → 关闭占用程序,或清理残留 dsh 进程
- dsh 数据目录写入失败 → 用管理员身份运行
- 缺少依赖文件 → 删除 %LOCALAPPDATA%\com.moriv.dsh-gui 后重试(会自动重装)
- 网络/证书错误 → 检查代理或防火墙,重启应用
- 窗口空白 → 服务已就绪但跳转失败,点「打开界面」重试

常见坑(开发备忘)

1. Tauri 2 必须配 capabilities,否则前端 invoke/listen 全部被拒
2. 就绪探测要发 HTTP GET 验证响应头,不能只看 TCP 端口
3. Windows spawn 子进程加 CREATE_NO_WINDOW 避免黑框
4. 子进程用 taskkill /T /F 杀进程树,child.kill() 杀不干净

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群