Back to home@baihejiangnan

deepseek-harness-desktop

DeepSeek Harness 三端兼容桌面启动器:多实例完全隔离、并行协作,协作画布编排 Agent 工作流;便携版 Exe 一键启动、仅约 18M(不超过 20M);双隔离机制让兼容性极强,无论 DSH 本体如何更新,兼容原生到野生狗奶。

Stars
0
Language
Rust
Created
Aug 21, 2026
Updated
Aug 22, 2026

Introduction

DeepSeek Harness Desktop

DSH Launcher · 多实例 DSH 桌面启动器

一个启动器,N 个完全隔离的 DSH 实例;需要时,它们还能并肩作战。

version license platform tauri react

它是什么

DSH是 DeepSeek 官方开源的 Agent 运行时:模型负责"想",Harness 负责"做"。它会将会话、凭据、设置、用户预设和 Profile 全部写进一个 DSH_HOME 目录。

装一个 DSH 很简单,但要用好它,很快就会发现缺一个"多开"的能力:

  • 想同时跑两个任务,又不想让会话和 API Key 混在一起;
  • 想试试不同的 Provider / 模型配置,又不想动日常环境;
  • 想让几个 Agent 各管一摊,最后把结果合起来。

DSH Launcher 把这些变成了桌面上的日常操作。 它基于 Tauri 2 构建,启动器与每个实例都是独立进程:每个实例拥有独立的窗口、任务栏入口、端口、Profile,以及互不相通的 DSH_HOME。这里的隔离不是"分文件夹"的表面功夫,而是运行时的硬边界。

为什么不同

🔒 每个实例,都是"全新的 DSH"

创建全新 DSH_HOME 本质上只有两步:选一个全新的空目录,然后在启动 DSH 子进程时把 DSH_HOME 环境变量指向它。

# 1. 选一个全新的空目录
$fresh = "D:\dsh-instances\tauri"
New-Item -ItemType Directory -Path $fresh -Force

# 2. 启动时只把这个环境变量传给子进程,不污染系统环境变量
$env:DSH_HOME = $fresh
dsh web   # 自动初始化官方 web profile

DSH 会把一切写进 DSH_HOME

独立 DSH_HOME
├── .credentials.yaml   API Key
├── settings.yaml       Provider / 模型设置
├── sessions/           会话历史
├── .agent-presets/     用户 Agent 预设
├── storages/           应用存储
└── profiles/           Profile 组成与补丁

隔离的边界是 DSH_HOME,不是 Profile。只要不复制旧目录,新实例就不会继承任何旧数据:会话、Key、预设、缓存全部从零开始。开发环境、实验环境、演示环境,想要几套就要几套,互不干扰,永远不会"串味"。

🤝 多实例协作:一支属于你的 Agent 团队

隔离保证互不干扰,而协作让这些隔离的实例真正一起干活。

在协作面板中,你可以像画流程图一样编排多个实例:每个节点是一个运行中的 DSH 实例,负责一段粗粒度任务;节点之间用依赖连线连接,父子节点按顺序执行,兄弟节点可以串行或并行;每个节点完成后,把产物(文本、文件路径)交给下游继续处理。

底层是一条轻量 RPC:主实例通过 loopback HTTP 接口(POST /api/<method>)向运行中的实例下发、轮询和取消任务。Host 限制为 127.0.0.1,信任边界清晰,无需额外令牌。

把一个大任务拆给几个各有所长的 Agent,各自在独立的 DSH_HOME 里推进,最后由主实例汇总。这就是一条可复用的多 Agent 流水线。

界面预览

新建实例界面 启动实例界面

新建实例界面 | 启动实例界面

多实例协作画布 工作流复用

多实例协作画布,创作你的工作流 | 创建好的工作流下次直接复用

插件包下载 插件包市场

插件包下载 | 插件包市场:在插件社区下建立二级社区插件包,下载和分享插件组合

导出用户配置 运行日志一键复制

导出用户配置界面 | 全局运行日志一键复制,轻松定位插件导致的实例报错

双隔离机制 精简配置与灵活启动

双隔离机制,几乎兼容 DSH 的各种更新 | 精简配置,出现错误时利用多实例机制灵活修复启动逻辑

个性化调色盘启动器

个性化调色盘启动器

功能一览

能力说明
多实例生命周期创建、启动、停止、重启、移除;端口自动探测,只展示真实监听的端口
完全隔离每个实例独立 DSH_HOME / 窗口 / 端口 / Profile,共享同一 Home 的实例禁止并行
协作编排画布编排实例依赖,串行 / 并行执行,产物沿链路传递
插件生态社区插件目录 + 插件包市场,支持 npm、GitHub 与受信任的 HTTP(S) 包
后台安装插件逐条安装、真实进度、随时取消并终止整个子进程树
Runtime 管理DSH 运行时下载、摘要校验、事务式替换,更新不丢任何实例数据
导出与备份Profile 选择性导出、完整 Home 备份,敏感数据只留在本机
隐私边界Key、会话、设置、日志全部本地存储,不进仓库、不上传

架构总览

┌──────────────────────────────────────────────────────────────┐
│                 DSH Launcher 进程(Tauri 2)                  │
│        实例注册表 · 生命周期 · 插件 · Runtime · 托盘 · IPC      │
└───────────────┬───────────────────────────────┬──────────────┘
                │ 进程隔离:窗口 / 端口 / 变量    │ RPC:下发 / 轮询 / 取消
   ┌────────────▼─────────┐   ┌─────────────────▼──────────────┐
   │      实例宿主 1       │   │         实例宿主 2              │
   │  独立窗口 · 独立端口  │   │  独立窗口 · 独立端口            │
   │  独立任务栏入口       │   │  独立任务栏入口                 │
   └────────────┬─────────┘   └─────────────────┬──────────────┘
                ▼                               ▼
        DSH 原生 Web                     DSH 原生 Web
        DSH_HOME = A                      DSH_HOME = B

启动器只负责"管理",不触碰 DSH 核心:不改写 DSH 的 Web 路由、会话、API Key、Agent 预设或插件逻辑,只维护外部的运行契约。因此 DSH 自身的更新通常不需要封装层同步改造。

快速开始

  • 安装版:从 GitHub Releases 下载 x64-setup.exe 安装器,安装后从开始菜单或桌面快捷方式启动。
  • 免安装版(Windows x64):直接下载 deepseek-harness-desktop.exe,双击即可运行,无需安装。

首次运行需要联网准备 Node.js Runtime 和 DSH Runtime。

当前主构建目标为 Windows x64;macOS / Linux 发行包需在对应平台自行构建。

从源码构建

pnpm install
pnpm tauri dev                 # 开发调试
pnpm tauri build --bundles nsis   # 产出 Windows 安装包

安装包输出到 src-tauri/target/release/bundle/nsis/。Windows 免安装版 exe(直接双击运行,无需安装)可直接下载:deepseek-harness-desktop.exe。开发细节见 docs/DEVELOPMENT.md

隐私边界

API Key、Token、密码、会话、DSH Home、Profile、日志、缓存和本地设置不会进入仓库或发布包。distsrc-tauri/targetnode_modules 等构建目录已被忽略。源码仓库只包含项目代码、构建配置、文档、公开静态资源和发行包。

License

MIT + 补充条款(非商业用途)


如果 DSH Launcher 帮到了你,欢迎点个 Star,或者把它分享给同样在用 DSH 的朋友。