# dsh-plugin-store · 插件雷达 [English](README.md) | **简体中文** DeepSeek Harness(dsh)的 **App Store 风格插件雷达**。它作为一个标准 dsh bundle 安装,并在 Web 设置页新增「插件雷达」入口。 - 探针插件的方式来自**同类雷达/市场插件的真实实现**,而不是抓 README 链接: - `https://dsh.do/api/packages` — dsh.do 官方目录 API,分页拉取全量目录(4419+)。 - `https://awesome-dsh-plugin.com/plugins.json` — 精选注册表(1247+,带分类、中英描述、安装命令)。 - GitHub Search `topic:dsh-plugin` — 同时拉取 `sort=stars` 与 `sort=updated` 两个切片。 - 按 **star 数 / 实用度 / 分类 / 搜索 / 最近更新** 浏览。 - 支持 **手动刷新或每 15 / 30 / 60 / 120 分钟自动刷新**。 - 一键 **安装 / 卸载** 会按数据源选择安装目标:优先使用目录中的 npm 安装命令(例如 **modlens** 用 npm 安装),GitHub URL 仅作兜底;复制命令自动带上当前 profile。 - 是真正的 DSH **bundle 插件**(`dsh.bundle.patch`),安装后也会出现在原生「插件」页面里。 - 头像预加载 + 缓存,避免图标闪烁。 ## 相比同类插件雷达/市场的优势 | 维度 | 常见雷达 / 市场 | 本插件 | | --- | --- | --- | | 数据来源 | 抓 README 链接、只查一页 GitHub 搜索,或只推卡片流 | 使用 dsh.do 官方目录 API + 精选注册表 JSON + GitHub stars/updated 双切片,与原实现同源 | | 覆盖率 | 常见截断在 1000 个仓库或单页 topic | dsh.do 全量分页(4419+),合并精选注册表与 GitHub 切片 | | 排序 | 通常只按 star 或只按更新时间 | 透明的**实用度评分**(star、描述完整度、topic、精选收录、更新时间、主页/语言)+ star/更新时间/名称排序 | | 体验 | 悬浮卡片流、chat-skill 流程或裸表格 | 原生设置页:Hero、分类 chips、搜索、排序、分页、安装/卸载按钮 | | 安装形态 | 有些是 skill,有些要手改 `cordis.patch.yml` | 真正 `dsh.bundle` 包:`dsh plugin add` 即挂载进 profile 插件树 | | 刷新 | 固定间隔或仅手动 | 用户可选手动 / 15 / 30 / 60 / 120 分钟,并持久化 | | 图标 | 原始 `` 列表容易闪烁 | 头像预加载 + 缓存 + 占位兜底 | | 本地测试 | 通常要先发布 | `scripts/test-local.sh` 不发布即可起临时 dsh web 测试 | ## 安装 > 注意:`dsh-plugin-store` 这个 npm 包名可能已被占用。发布前请修改 `package.json` 的 `name`,并同步修改 `lib/client.js` 顶部 `window.__ModuleLoader__.load({ id: "dsh-plugin-store" })` 中的 id。 ```bash # 从 npm dsh plugin --profile web add dsh-plugin-store # 或从 Git dsh plugin --profile web add https://github.com//dsh-plugin-store.git ``` 然后重启/刷新 dsh Web 界面,打开「设置」即可看到「插件雷达」。 ## 安装目标如何选择 插件雷达不再对每个插件一律使用 GitHub URL 安装。宿主侧会按以下优先级解析每个插件的首选安装目标: | 优先级 | 来源 | 示例 | 说明 | | --- | --- | --- | --- | | 1 | dsh.do 的 `installCommandNpm` | `@liustack/modlens` | 最优先:npm 包自带 `dist` 产物,开箱即用。 | | 2 | dsh.do 的 `installCommandGit` | `https://github.com/owner/repo.git` | 无 npm 命令时使用。 | | 3 | awesome-dsh-plugin 的 `install` | npm 或 git 规格 | 社区精选命令。 | | 4 | GitHub URL 兜底 | `https://github.com/owner/repo.git` | 数据源没有安装命令时才使用。 | 每张卡片会显示安装方式徽标(`npm 安装` / `git 安装` / `GitHub 安装`),安装按钮与复制命令使用同一个解析结果。例如 **modlens** 会安装 `dsh plugin --profile web add @liustack/modlens`,而不是从 GitHub 源码仓库安装。 ## 不发布本地测试 ```bash ./scripts/test-local.sh 34129 ``` 该脚本会把插件复制到一次性 `DSH_HOME`,并在指定端口启动独立 `dsh web`。 ## 数据源 | 来源 | 说明 | GitHub Token | | --- | --- | --- | | `github-topic:stars` | GitHub Search `topic:dsh-plugin`,按 star 排序 | 可选 | | `github-topic:updated` | GitHub Search `topic:dsh-plugin`,按最近更新排序 | 可选 | | `dsh.do` | 官方目录 API `https://dsh.do/api/packages`,分页全量 | 无 | | `curated:awesome-dsh-plugin` | 精选注册表 `https://awesome-dsh-plugin.com/plugins.json` | 无 | 设置 `DSH_GITHUB_TOKEN` / `GITHUB_TOKEN` 可提高 GitHub API 配额;`DSH_GITHUB_API` 可覆盖 API 地址。 ## 提交插件到 dsh 生态的步骤 1. **给仓库打上 `dsh-plugin` topic**——这是最关键的一步,也是官方推荐的方式。官方及第三方插件市场会自动发现和收录该仓库。 2. **(可选)提交到社区精选列表** - 复刻(Fork)`awesome-deepseek-harness` 仓库。 - 在 `README.md` 与 `README.zh-CN.md` 中按格式添加本插件信息。 - 提交 Pull Request(PR)。 - 注意:官方主仓库暂不接受外部 PR,`CONTRIBUTING.md` 中明确指出无法接受外部 Pull Request。 3. 最佳实践:先做出来并打上 `dsh-plugin` 标签,再提交社区精选列表以增加曝光。 ## 开发 ```bash node --check lib/index.js node --check lib/probe.js node --check lib/client.js node --test test/*.test.mjs ``` host 侧探针引擎可独立测试:`probe()` 返回 `{ plugins, sources, generatedAt }`。