Back to home@ZK-Andy

dotnet-deepseek-harness-desktop

DeepSeek Harness Desktop for .NET — 内置完整运行时的 .NET 桌面客户端(Ryn 原生 WebView),支持 macOS / Windows / Linux

Stars
1
Language
C#
Created
Aug 19, 2026
Updated
Aug 21, 2026

Introduction

DeepSeek Harness Desktop for .NET

DeepSeek Harness Desktop for .NET

English · 中文

DeepSeek Harness(MIT)的 .NET 桌面客户端——内置完整运行时,下载即用。

功能 · 下载安装 · 工作原理 · 开发 · 架构 · MIT License

release downloads stars License: MIT build & test tests coverage platform .NET

DeepSeek Harness(MIT)的 .NET 桌面客户端,基于 Ryn(Tauri-for-C# 原生 WebView 框架)。桌面壳内置完整 DeepSeek Harness 运行时——终端用户无需单独安装 Node / DeepSeek Harness,下载即开即用。

功能

  • ⚡️ 零环境、下载即用 — 内置 Node 二进制 + @deepseek-ai/dsh 依赖闭包(resources/runtime/),壳在私有 DSH_HOME 拉起 dsh web;无 PATH dsh/node 也能跑(缺内置时回退 PATH dsh)。
  • 🔒 原生轻量壳 — C# 后端跑在系统 WebView(WebView2 / WKWebView / WebKitGTK),NativeAOT 就绪,能力沙箱 deny-by-default(ryn.json)。
  • 🔄 崩溃自愈 — 壳监督运行时子进程:崩溃 → 恢复屏 → 自动重启 → 同一窗口回到新 URL;端口保持稳定,Web UI origin(及页面级会话记忆)存活——崩溃后回到之前对话
  • 🧩 插件市场预装dsh-market 随包(dshmarket.tgz),首启后台静默安装到 DSH_HOME,装完自动重启即现;1200+ 插件可搜一键装。
  • 🖼️ 原生图标 / Wayland 就绪 — 图标随包入 hicolorryn.json:identifierStartupWMClass 均为 io.github.ZK-Andy.dotnet-deepseek-harness-desktop,任务栏正确关联。

下载安装

Releases 下载对应平台安装包(附 SHA256SUMS 校验):

平台架构包格式
Linuxx64 / arm64deb…_linux-amd64.deb / …_linux-arm64.deb)/ rpm…_linux-x86_64.rpm / …_linux-aarch64.rpm
macOSarm64 / x64dmg
Windowsx64exe 安装器(…-setup.exe

未签名说明:本项目开源、不做付费签名,发布包未签名。macOS 首次打开若见 Gatekeeper「来自身份不明的开发者」→ 右键「打开」或 系统设置 → 隐私与安全性 →「仍要打开」;Windows 若见 SmartScreen「未知发布者」→「更多信息」→「仍要运行」。开发/内部可用 SELF_SIGN=1 自签消除本机告警,用法见 docs/development.md

测试状态LinuxCI 自动验证;macOS x64 / Windows 真机针对性测试等待社区支持(本地无 mac Intel x64 / Windows 真机)。

工作原理

┌──────────────────────────────────────────────────────┐
│ Ryn 壳(C#,系统 WebView)                            │
│   拉起 dsh → 解析 dsh web: URL → 加载 Web UI           │
│   崩溃监督 → 稳定端口重启 → 回到之前对话                 │
└─────────────────────────┬────────────────────────────┘
                          │ spawn + 私有 DSH_HOME
┌─────────────────────────▼────────────────────────────┐
│ 内置运行时 resources/runtime/                          │
│   Node 二进制 + @deepseek-ai/dsh 闭包 + dshmarket.tgz   │
│   dsh web(localhost)                                │
└──────────────────────────────────────────────────────┘

(详细架构见 docs/architecture.md。)

开发

# 前置:.NET 10 SDK;Linux 需 WebKitGTK
# 可选:从本机 dsh 安装预置捆绑运行时
scripts/bundle-runtime.sh

# 运行——默认用 PATH dsh;用内置运行时加:
# DSH_DESKTOP_RUNTIME_DIR=$PWD/resources/runtime
dotnet run --project src/DeepSeek.Harness.Desktop

# 测试(25/25)
dotnet test dotnet-deepseek-harness-desktop.slnx

# WebView 调试器(默认关)
DSH_DEVTOOLS=1 dotnet run --project src/DeepSeek.Harness.Desktop

运行时需要可达的 DeepSeek provider 凭据(如 DEEPSEEK_API_KEY)才能提供 Web UI。

目录

├── src/DeepSeek.Harness.Desktop/   # Ryn 壳:Program、Services/HarnessRuntimeHost、RuntimeSupervisor、RuntimeLocator、MarketInstallHelper、HarnessUrlParser
├── tests/DeepSeek.Harness.Desktop.Tests/  # xunit 25/25
├── resources/runtime/              # 内置 Node + dsh 闭包 + dshmarket.tgz(生成物,gitignore)
├── scripts/                        # 门禁 + bundle-runtime-ci.sh + package-linux.sh + release-notes.sh
└── docs/architecture.md、testing.md、development.md

许可与致谢