快速了解
它能做什么
为 DeepSeek Harness Desktop 提供桌面设置、诊断、更新、托盘事件和外部链接失败提示的伴生 Bundle。
本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。
桌面端 Profile
Not declared in supplied evidence
证据已验证
核对日期 2026/9/13 UTC 13:59
有代码证据的贡献
它为 DSH 增加什么
为桌面壳提供更新与诊断流程、桌面设置界面、托盘事件中继及外部链接失败提示。
机制证据 ↗选择前先看
此 Bundle 会将 `dsh-desktop-companion` 插入 DSH Profile 层,并向 Web 客户端注入 DSH 本地化客户端包。其声明用途是把 .NET 桌面壳与桌面设置、更新和诊断界面、托盘事件中继以及外部链接打开失败反馈连接起来。
适合谁
适合正在使用 dotnet-deepseek-harness-desktop 桌面壳、需要其伴生集成能力的用户;它不是独立的编程 Skill 或通用 DSH 扩展。
常见任务
- 启用桌面壳的更新、诊断和桌面设置集成。
- 在伴生桌面壳中接收托盘事件中继。
- 当外部链接无法打开时显示面向用户的提示。
权限与数据
提供的 Manifest 声明了 Web 客户端注入和桌面伴生集成,但未声明详细的权限模型或数据策略。
权限- 声明的客户端平台:web。
- 向客户端注入 `@deepseek-ai/dsh-client-locale`。
- 提供的证据未声明此 Bundle 的具体收集、存储或传输行为。
- 提供的证据未声明此 Bundle 必需的外部服务。
- 提供的证据未声明此 Bundle 需要凭据。
局限
- 未声明 Harness 版本范围。
- 未捕获安装脚本;请使用已验证的 Git Bundle 路径,不要假设 npm 可用。
- 提供的证据未验证安装成功或运行时行为。
- 仓库将更广泛的桌面应用描述为早期预览,并说明不保证跨版本数据兼容。
DSHub 已核对
- 已验证包 Manifest、Bundle Patch 和不可变 Git 源提交。
- Bundle Patch 会将 `dsh-desktop-companion` 插入 Profile 层。
- 该包采用 MIT 许可证。
DSHub 未核对
- 未实际执行成功安装。
- 未独立测试运行时兼容性、权限和行为。
- 未找到 0.0.18 版本的 npm 分发包。
固定版本安装
安装 DSH Desktop Companion
这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。
维护者原文
项目 README
DeepSeek Harness Desktop for .NET
<p align="center"><a href="README.en.md">English</a> · <strong>中文</strong></p><p align="center"><strong>DeepSeek Harness(MIT)的 .NET 桌面客户端——简单壳,依赖全机唯一的一份全局 dsh:无则装、落后则更新到 @alpha。</strong></p><p align="center"> <a href="#功能">功能</a> · <a href="#下载安装">下载安装</a> · <a href="docs/user-guide.md">用户指南</a> · <a href="docs/faq.md">常见问题</a> · <a href="#工作原理">工作原理</a> · <a href="#开发">开发</a> · <a href="docs/architecture.md">架构</a> · <a href="LICENSE">MIT License</a> </p><p align="center"> <a href="https://github.com/ZK-Andy/dotnet-deepseek-harness-desktop/releases"><img src="https://img.shields.io/github/v/release/ZK-Andy/dotnet-deepseek-harness-desktop?style=flat&label=release&color=4D6BFE" alt="release"></a> <a href="https://github.com/ZK-Andy/dotnet-deepseek-harness-desktop/releases"><img src="https://img.shields.io/github/downloads/ZK-Andy/dotnet-deepseek-harness-desktop/total?style=flat&label=downloads&color=4D6BFE" alt="downloads"></a> <a href="https://github.com/ZK-Andy/dotnet-deepseek-harness-desktop"><img src="https://img.shields.io/github/stars/ZK-Andy/dotnet-deepseek-harness-desktop?style=flat&label=stars&color=4D6BFE" alt="stars"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a> <a href="https://github.com/ZK-Andy/dotnet-deepseek-harness-desktop/actions/workflows/ci.yml"><img src="https://github.com/ZK-Andy/dotnet-deepseek-harness-desktop/actions/workflows/ci.yml/badge.svg" alt="build & test"></a> <a href="https://github.com/ZK-Andy/dotnet-deepseek-harness-desktop/actions/workflows/ci.yml"><img src="https://img.shields.io/badge/tests-610%2F610-brightgreen" alt="tests"></a> <a href="docs/testing.md"><img src="https://img.shields.io/badge/coverage-55.72%25-yellowgreen" alt="coverage"></a> <a href="https://github.com/ZK-Andy/dotnet-deepseek-harness-desktop/releases"><img src="https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-4f6ef7" alt="platform"></a> <a href="https://dotnet.microsoft.com/download/dotnet/10.0"><img src="https://img.shields.io/badge/.NET-net10.0-512bd4" alt=".NET"></a> </p>DeepSeek Harness(MIT)的 .NET 桌面客户端,基于 Ryn(Tauri-for-C# 原生 WebView 框架)。桌面壳是简单壳,依赖系统全局 node + 全局 dsh(都在用户 PATH 上,npm install -g @deepseek-ai/dsh@alpha 装/更新,桌面与终端共用同一套、无版本分叉)。首次启动检测全局 dsh:没有 → 装;落后 @alpha → 更新到 @alpha;已最新 → 直接用。node 走系统全局(用户那份 node/npm,或没有则桌面下载最新官方 node 装到系统全局位供共用),桌面不自备私有 node / 私有 PATH。
功能
⚡️ 简单壳、依赖系统全局 node + 全局 dsh(online-first) — 安装器只带壳(约 30MB 级),不运输行时闭包。首启检测用户 PATH 上的全局 dsh:没有 → 经全局 node 的
npm install -g @deepseek-ai/dsh@alpha装到系统全局位;落后@alpha→ 更新到@alpha;已最新 → 直接用。dsh 跟随 alpha 预发布通道,不钉版。node 检查/下载只在"需要确保 dsh"时做一次(复用系统全局 node;无则桌面下载最新官方 node 装到系统全局位,写系统位需 sudo 时给出手动安装命令),不做重复联网。壳在共享数据目录~/.dsh以专属desktopprofile 拉起 dsh。会话/凭据/插件与 CLI、TUI、Web 同一宇宙互通。⌨️ 终端命令(CLI shim 注册) — dsh 已全局在 PATH;壳把内容恒定的
pnpmshim 注册到用户PATH(Windows%LOCALAPPDATA%\deepseek-harness\bin+HKCU\Environment\Path幂等合并;mac/linux~/.local/bin+ shell rc 幂等块;dsh 无需 shim),终端可直接用pnpm。不覆盖用户自己的同名命令。🔒 原生轻量壳 — C# 后端跑在系统 WebView(WebView2 / WKWebView / WebKitGTK),NativeAOT 就绪,能力沙箱 deny-by-default(
ryn.json)。🔄 崩溃自愈与会话回归 — 壳监督运行时子进程:崩溃 → 恢复页(原因/stderr 尾部 + 导出诊断 + 退出应用)→ 自动重启 → 同一窗口回到新 URL;端口保持稳定,Web UI origin(及页面级会话记忆)存活——崩溃或重启后回到之前的对话。例外:首选端口被本应用认不出归属的程序占用时(其他程序、其他 profile 的 dsh,或归属判不出的残留 dsh),本次启动漂移到新端口——origin 随之改变,页面级会话记忆不再保留;若这次漂移发生在页面已加载之后(崩溃恢复、市场接力的重启),该会话内设置页的更新、开机自启、关闭时最小化到托盘、导出诊断信息还会失效——重启应用恢复。
💓 页面健康监护(假活看门狗) — 壳侧只读探针轮询「dsh 进程在跑但页面空白」的假活形态(不注入脚本、不依赖桌面伴生插件存活);连续空白达阈值即在预算内触发一次有界 reload 自愈,耗尽转观测、成功恢复复位预算——防误报引发无限重载循环。
⬆️ 自更新 — 启动后台检查一次 + 设置页手动检查;发现新版本一键安装并自动重启(安装包
SHA256强校验;macOS引导手动更新),详见下方「自动更新」。🧩 插件市场 + 版本感知升级 + registry 自管 —
dsh-market经首启引导页「插件准备」步(推荐 chip + 确认/跳过 + 日志回流)以 registry 安装到桌面专属 profile(~/.dsh/profiles/dotnet-desktop),确认后与 dsh 内核一次就位(联网;跳过可稍后在应用内市场补装);随包桌面伴生插件按版本感知升级——内置版本更新即自动升级、绝不降级;市场为 registry 形态(与用户自装完全等价:上游发新版市场内即提示,无需等桌面发版);1200+插件可搜一键装。🖥️ 系统托盘 — 关闭窗口默认最小化到托盘(可在设置改为直接退出),托盘菜单提供显示主窗 / 检查更新 / 退出(随 dsh 语言中英切换);退出经有序编排,运行时子进程干净回收。
🚀 单实例仲裁 — 应用运行中再次点击启动器/图标,唤起既有主窗而非新开重复实例。
🔁 开机自启 — 设置页一键开关(Linux XDG autostart / Windows 注册表 Run / macOS LaunchAgents)。
🖼️ 原生图标 / Wayland 就绪 — 图标随包入
hicolor,ryn.json:identifier与StartupWMClass均为io.github.ZK-Andy.dotnet-deepseek-harness-desktop,任务栏正确关联。
下载安装
从 Releases 下载对应平台安装包(附 SHA256SUMS.txt 校验):
| 平台 | 架构 | 包格式 |
|---|---|---|
Linux |
x64 / arm64 |
deb(…_linux-amd64.deb / …_linux-arm64.deb)/ rpm(…_linux-x86_64.rpm / …_linux-aarch64.rpm) |
macOS |
arm64 / x64 |
dmg |
Windows |
x64 |
exe 安装器(…-setup.exe) |
预览版提示:项目处于早期预览阶段,可能存在破坏性变更(数据目录布局、配置格式、运行时组件版本等),不保证跨版本数据兼容;升级前请自行备份重要会话与配置。
升级注意:桌面 profile 目录为
profiles/dotnet-desktop——升级时旧profiles/desktop会在首次启动自动改名(插件与端口记忆保留,无需手动操作);终端手动操作请用dsh --profile dotnet-desktop,详见 docs/user-guide.md。未签名说明:本项目开源、不做付费签名,发布包未签名。macOS 首次打开若见 Gatekeeper「来自身份不明的开发者」→ 右键「打开」或 系统设置 → 隐私与安全性 →「仍要打开」;Windows 若见 SmartScreen「未知发布者」→「更多信息」→「仍要运行」。开发/内部可用
SELF_SIGN=1自签消除本机告警,用法见 docs/development.md。测试状态:单元测试由
CI自动跑(dotnet test全绿,见上方徽章);真机验收至今只在Linuxx64rpm包上做过——deb、Linux arm64、macOS(dmg)、Windows(setup.exe)均无真机验证,仅经 CI 编译/打包/冒烟。macOS x64/Windows真机针对性测试等待社区支持(本地无 mac Intel x64 / Windows 真机)。安装器、自更新、首启补装等依赖真机的链路请按 docs/testing.md 列出的边界对待,尝鲜前做好备份。
自动更新
- 启动时后台检查一次新版本(不轮询、不打扰);也可在 设置 → 桌面设置 手动检查。
- 发现新版本后,侧栏底部出现下载按钮——点击即下载校验、一键安装并自动重启(
Linux会弹一次系统授权)。 - 安装包落地前经
SHA256SUMS.txt强校验,校验失败拒绝安装。 macOS暂不支持应用内静默更新——检测到新版本时会提示手动下载dmg。
工作原理
┌──────────────────────────────────────────────────────┐
│ Ryn 壳(C#,系统 WebView) │
│ 拉起 dsh → 解析 dsh web: URL → 加载 Web UI │
│ 崩溃监督 → 稳定端口重启 → 回到之前对话 │
└─────────────────────────┬────────────────────────────┘
│ spawn + 共享 ~/.dsh · desktop profile
┌─────────────────────────▼────────────────────────────┐
│ 运行时(全局 dsh,简单壳) │
│ PATH 上的 @deepseek-ai/dsh@alpha(无则装/落后则更新) │
│ dsh web(localhost) │
└──────────────────────────────────────────────────────┘
(详细架构见 docs/architecture.md。)
开发
# 前置:.NET 10 SDK;Linux 需 WebKitGTK
# 运行(开发环境必须带 DSH_DESKTOP_DEV=1——dev 隔离 home 与单实例后缀;无 PATH dsh 时走首启引导,需网络)
DSH_DESKTOP_DEV=1 dotnet run --project src/DeepSeek.Harness.Desktop
# 测试(610/610)
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/(运行时监督、自更新、系统托盘、单实例仲裁、诊断导出等)
├── tests/DeepSeek.Harness.Desktop.Tests/ # xunit 610/610
├── scripts/ # 门禁 + package-*.sh + release-preflight.sh + release-notes.sh
└── docs/architecture.md、testing.md、development.md
许可与致谢
- 本项目:MIT。
- deepseek-harness(MIT)—— 本壳托管的运行时。
- Ryn(MIT)—— 桌面壳框架。
- 打包思路参考 pilot-harness。
有意识地管理
安装与管理
前置条件与目标 Profile
目标: 桌面端 Profile
交付方式: Git Bundle — ZK-Andy/dotnet-deepseek-harness-desktop#6b1f49cd806290192e5a76354f38afcbd696f432。
验证、更新与移除
显示生命周期命令
dsh plugin --profile desktop list兼容性与访问范围
DSH web-client bundle; desktop companion integration: Not declared in supplied evidence。
风险事实
证据与编辑审查Manifest、Bundle patch、分发与新鲜度
不可变证据
审查状态与源码活动
仅在需要桌面壳伴生功能时选择此项;已验证的分发路径是固定提交的 Git Bundle。
AI 审查于 2026/9/13 UTC 14:00。GitHub 事实核对日期: 2026/9/13 UTC 14:00。
自当前证据基线以来,没有记录到重要源码变化。