deepseek-harness-desktop 仓库自带的插件安装/卸载冒烟测试 fixture,仅供 verify-tauri 脚本验证 dsh plugin 链路,不是面向用户的实用插件。
- 语言
- JavaScript
- License
- MIT
- 分支
- main
安装
$ dsh plugin --profile web add github:chokwinlee/deepseek-harness-desktop/test/fixtures/sample-plugin在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
一句话定位
这是 deepseek-harness-desktop 仓库自带的"插件冒烟测试样本",仅供 scripts/verify-tauri.sh 在打包后的 Tauri 应用里验证 dsh plugin add/remove 链路是否正常工作,不是面向终端用户的实用插件。
核心能力
- 提供一个可被
dsh plugin --profile web add识别的合法 npm 包结构,让脚本能跑通安装路径 - 通过空的
cordis.patch.yml(内容[])让安装/卸载流程不改变宿主行为,便于做"加得进、卸得掉"的回路断言 - 被
verify-tauri.sh复用,验证打包后 Tauri 应用里dsh命令能否正确读写 profile manifest
技术实现
- 语言: JSON / YAML 清单(无运行时代码)
- 关键依赖: 无(自身
dependencies为空,仅被其他 npm 包通过link:引用) - 架构模式: 通过
dsh.bundle.patch指向空数组[]的 cordis patch,零侵入注入宿主 - 入口文件: 无(fixture 不提供任何代码入口)
适用场景
只有 deepseek-harness-desktop 项目的维护者在改插件加载链路、跑 macOS 打包验证时才会用到:执行 scripts/verify-tauri.sh 会临时把 link:<本目录> 装到一个隔离的 DSH_HOME,验证 dependencies 与 dsh.profile.bundles 是否正确写入、再正确移除。普通用户安装它不会得到任何收益。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH | 未声明 | sample-plugin/package.json 未声明 engines 或 peerDependencies |
| Node | 未声明 | 同上 |
| 平台 | 跨平台 | fixture 自身无平台相关代码;其消费脚本 verify-tauri.sh 仅在 macOS 上验证 |
| 原生模块 | 无 | 不依赖任何原生模块 |
安装方式
dsh plugin --profile web add github:chokwinlee/deepseek-harness-desktop/test/fixtures/sample-plugin
该命令对真实用户没有意义——安装后不增加任何功能,只是把 profile manifest 里加一行 dependency 与一个 bundle 项。
配置项
本插件无需额外配置(cordis.patch.yml 内容为空数组,安装行为完全由宿主默认决定)。
常见问题
Q: 这个插件能干什么?
A: 它对终端用户没有实际功能,只是 deepseek-harness-desktop 项目 scripts/verify-tauri.sh 用来验证 dsh plugin add/remove 命令链路的标准测试样本,本身不注入任何 patch。
Q: 安装后我的 DSH 会有什么变化?
A: 没有任何可见变化。cordis.patch.yml 内容是空数组 [],不会向宿主注入任何修改;只是 ~/.dsh/profiles/web/package.json 的 dependencies 与 dsh.profile.bundles 列表里多了一项。
Q: verify-tauri.sh 用的是 link: 而不是 github: 安装,两者有区别吗?
A: 有区别。link: 走本地路径解析、用于 CI 冒烟测试;github: 走远程仓库拉取。两者最终都会把 fixture 写进 profile manifest,验证效果一致,但只有 link: 形式会被 verify-tauri.sh 自动跑通。
Q: 这个 fixture 在仓库外能独立运行吗?
A: 不能。它依赖同仓库 test/fixtures/fake-dsh.mjs 配合 FAKE_DSH_MODE=plugin-install-ready 环境变量来模拟"插件安装成功"路径;脱离该脚本单独使用会缺被测目标。
Q: 能在生产环境长期保留吗?
A: 不建议。package.json 标了 private:true,且没有任何业务能力;留着只会让 profile manifest 多一条无用的依赖项,verify-tauri.sh 在跑完测试后会立即 remove 它。
上手难度
入门 — 因为它根本"没有东西可上手":无需配置、无入口、无 patch,纯粹是一个被脚本消费的清单。
已知问题与限制
package.json标private:true,npm 公共注册表不会收录,必须通过github:或link:路径访问cordis.patch.yml是空数组[],不向宿主注入任何能力- 仅在
scripts/verify-tauri.sh冒烟测试链路里被消费,缺少配套的fake-dsh.mjs无法完成端到端断言 - 没有任何
engines/peerDependencies字段声明,不保证在 DSH 任意版本上加载安全 - 仓库外用户安装它不会报错,但也不会得到任何功能
DSH Desktop
A compact, self-contained desktop host for the official DeepSeek Harness experience.
Download · Highlights · Development · Contributing
English · 简体中文

macOS downloads under 90 MB, with the complete Harness rc.8 runtime included.
DSH Desktop runs the official DeepSeek Harness Web UI and runtime in a desktop window. This build is aligned with @deepseek-ai/dsh@0.1.0-rc.8 and shows that bundled Harness version in the sidebar. The app manages the local Harness process automatically, so users do not need to install Node.js or start dsh web themselves.
[!IMPORTANT] This is an independent community project, not an official DeepSeek AI product. DeepSeek Harness is a developer preview and may introduce breaking changes.
Highlights
- Multimodal sessions — paste or attach images and send them through the normal Harness conversation flow when the selected provider and model declare image input support. Image messages remain visible in session history.
- Usage at a glance on macOS — see today and seven-day token totals, estimated cost, active task count, and aggregate running throughput without leaving the current session.
- Compact macOS package — stays under 90 MB while bundling the complete Harness runtime, using Tauri and the system WKWebView instead of shipping Chromium.
- Visible runtime alignment — the sidebar identifies both the Desktop release and its bundled Harness version, such as
DSH Desktop v0.3.0 · Harness rc.8. - Ready to run — includes everything needed to start Harness, with no separate Node.js installation or terminal command. The app starts and stops the local runtime automatically.
Cost figures are estimates derived from local token logs and available public model prices. Unmatched models stay visibly unpriced rather than being counted as free.
Multimodal and usage insights

A real Harness rc.8 image-input session with live token and cost insights, using google/gemini-2.5-flash-lite through OpenRouter.
The compact title-bar summary stays visible while you work. Open it for input, output, cache, cost, and live-throughput details. Usage is calculated locally from Harness session history, with estimated costs based on available public model prices.
Download
Installers are published on the latest GitHub Release.
| Platform | Architecture | File |
|---|---|---|
| macOS | Apple Silicon | mac-arm64.dmg |
| macOS | Intel | mac-x64.dmg |
| Windows 10/11 | x64 installer | win-x64.exe |
| Windows 10/11 | x64 portable | win-x64.zip |
Releases also include ZIP archives and SHA256SUMS.txt for integrity verification. Download installers from this repository's GitHub Releases page.
Quick start
- Install and open DSH Desktop.
- Open Settings → Models and configure a provider and API key.
- Add or select a workspace.
- Start a Harness session.
- Paste or attach an image when the selected model supports image input.
Configuration, workspaces, and sessions live in the same DSH_HOME used by the official CLI (~/.dsh by default).
Plugins and recovery
On macOS, open Settings → Plugins → Install & manage. The installer accepts an npm package, github:owner/repo, a public GitHub HTTPS URL, or a full command such as:
dsh plugin --profile web add github:owner/repo
Desktop parses supported install commands without running pasted text through a shell, then checks that Harness restarts successfully. If startup fails, it restores the previous plugin configuration. Third-party plugins run code on the local machine, so review their source and publisher before installation.
Architecture
Desktop shell → loopback-only dsh web → official Harness UI/runtime
└────── shared DSH_HOME for settings, sessions, and plugins
The project does not fork or reimplement the Harness agent runtime. The shell owns desktop packaging, process lifecycle, navigation boundaries, recovery, native integration, and release verification.
Development
Node.js 22.19 or newer is required.
git clone https://github.com/chokwinlee/deepseek-harness-desktop.git
cd deepseek-harness-desktop
npm ci
npm test
npm start
Build the macOS Tauri release with npm run build:mac; build the Windows Electron release with npm run dist. Packaging changes should also pass the real packaged-runtime checks in the release workflow.
Project
- Read CONTRIBUTING.md before opening a pull request.
- Report vulnerabilities through the process in SECURITY.md.
- Product and UI decisions follow PRODUCT.md.
- The desktop host is MIT licensed. Harness and bundled dependencies retain their own licenses; see THIRD_PARTY_NOTICES.md.