deepseek-harness-desktop/test/fixtures/sample-plugin

41Star1Fork2Issue0Watching

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

语言
JavaScript
License
MIT
分支
main
ai-agentscoding-agentcross-platformdeepseekdeepseek-harnessdesktopdesktop-appdsh

安装

$ 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,验证 dependenciesdsh.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.jsondependenciesdsh.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.jsonprivate:true,npm 公共注册表不会收录,必须通过 github:link: 路径访问
  • cordis.patch.yml 是空数组 [],不向宿主注入任何能力
  • 仅在 scripts/verify-tauri.sh 冒烟测试链路里被消费,缺少配套的 fake-dsh.mjs 无法完成端到端断言
  • 没有任何 engines / peerDependencies 字段声明,不保证在 DSH 任意版本上加载安全
  • 仓库外用户安装它不会报错,但也不会得到任何功能