# deepseek-harness-desktop

> deepseek-harness-desktop 仓库自带的插件安装/卸载冒烟测试 fixture，仅供 verify-tauri 脚本验证 dsh plugin 链路，不是面向用户的实用插件。

## Metadata

- Author: [@chokwinlee](https://github.com/chokwinlee)
- Repo: <https://github.com/chokwinlee/deepseek-harness-desktop.git>
- GitHub: [chokwinlee/deepseek-harness-desktop](https://github.com/chokwinlee/deepseek-harness-desktop)
- Stars: 41
- Language: JavaScript
- License: [MIT](https://spdx.org/licenses/MIT.html)
- Topics: `ai-agents`, `coding-agent`, `cross-platform`, `deepseek`, `deepseek-harness`, `desktop`, `desktop-app`, `dsh`, `dsh-plugin`, `electron`, `lightweight`, `macos`, `tauri`, `windows`
- Forks: 1
- Open Issues: 2
- Last push: 2026-08-20T17:31:20.000Z
- Added: 2026-08-20T00:00:00.000Z

## Install

```bash
dsh plugin --profile web add github:chokwinlee/deepseek-harness-desktop/test/fixtures/sample-plugin
```

## Wiki

## 一句话定位
这是 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 上验证 |
| 原生模块 | 无 | 不依赖任何原生模块 |

## 安装方式
```bash
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 任意版本上加载安全
- 仓库外用户安装它不会报错，但也不会得到任何功能

---

This document is auto-generated by [deepseek-plugin.org](https://deepseek-plugin.org). HTML page: [deepseek-harness-desktop](https://deepseek-plugin.org/plugins/chokwinlee/deepseek-harness-desktop/test/fixtures/sample-plugin)
Wiki generated by AI (model: `MiniMax-M3`)
