deepseek-harness-app (ipfred)¶
⭐ 29 · ✅ active · client · ⬆️ +1 recently
| Type | client | Category | Desktop |
| Stars | ⭐ 29 | Status | ✅ active |
| Author | ipfred | Updated | 2026-08-15 |
One-liner¶
Desktop app for DeepSeek Harness.
About¶
把 DeepSeek Harness 网页端 dsh web,http://127.0.0.1:3080 用 Pake(Rust/Tauri)打包成 Windows / macOS / Linux 三平台桌面 App,并用 GitHub Actions 自动构建、发布到 GitHub Releases,方便任何人直接下载安装包。
✨ Key Features¶
- 自己的电脑用:先
dsh web,再打开 App(对应下面的"本地打包")。 - 分发给别人用:别人的电脑也要装 dsh 并启动它 —— 如果希望"装完即用",见文末【进阶:把 dsh 服务打进安装包】。
📦 Install¶
# 方式一:不安装,直接跑(官方推荐;npx 会自动拉取最新版)
npx @deepseek-ai/dsh web
# 方式二:全局安装后运行(适合经常用)
npm install -g @deepseek-ai/dsh # 或 pnpm add -g @deepseek-ai/dsh
dsh web
# 方式三:从源码跑
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness && pnpm install && pnpm run build
pnpm dsh web
🚀 Quick Start¶
# 1. 安装 Pake(npm/pnpm 均可)
pnpm install -g pake-cli
# 2. 启动 dsh web
dsh web
# 3. 一键打包(内含启动检查,也可直接手动跑 pake 命令)
./scripts/build-locally.sh 0.1.0
# 4. 安装:产物在当前目录
# macOS 双击 DeepSeekHarness_*.dmg
# Windows 双击 DeepSeekHarness_x64.msi(AMD/Intel)或 DeepSeekHarness_arm64.msi(骁龙等 ARM)
# Linux sudo dpkg -i deepseek-harness_*.deb 或 运行 *.AppImage
📚 Learn more¶
⚠️ 先理解原理(重要)
这个 App 是"网页外壳":它把 http://127.0.0.1:3080 这个地址包装成原生窗口。 dsh 的网页端不是静态网站(需要 dsh 服务注入启动数据),所以运行时本机必须先启动 dsh web,再打开这个 App。
使用流程(给别人下载)
- 把这个目录推成一个 GitHub 仓库:
git init && git add . && git commit -m init && git push2. 打 tag 触发自动构建 + 发布:bash git tag v1.0.0 git push origin v1.0.03. 等约 10~25 分钟(首次编译较久,后续有缓存会快很多)。 构建完成自动出现在仓库 Releases 页面,三平台安装包直接可下载: -DeepSeekHarness.dmg(macOS,universal 双架构:Intel + Apple Silicon 一份通吃) -DeepSeekHarness_x64.msi/DeepSeekHarness_arm64.msi(Windows x64 与 ARM64 原生) - `deepseek-ha
工作流设计要点
一个平台失败不影响其他平台。 失败只会降级为默认值,不会让构建失败 —— CI 机器上 127.0.0.1:3080 不存在也没关系。 二次构建从 ~20 分钟降到 2~3 分钟。
五、进阶:把 dsh 服务打进安装包(开箱即用)
如果希望别人装了就能用(不用自己装 dsh/启动服务),需要把 dsh 命令行程序作为 Tauri sidecar 打进应用,App 启动时自动拉起服务、等端口就绪后加载页面: 1. 用 pake 生成后,在 src-tauri/tauri.conf.json 配置外部二进制: json "bundle": { "externalBin": ["binaries/dsh-server"] } (构建时对应平台命名为 dsh-server-<target-triple>,随包分发 dsh 及其 web 资源。) 2. 在 src-tauri/src/main.rs(或 lib.rs)里启动 sidecar: ```rust let (mut rx, _child) = app.shell().sidecar("dsh-server")?.spawn(