Skip to content

Releases: zx19491001/dsh-plugin-hub

v1.3.0 · 一键安装(Host 路由)

Choose a tag to compare

@zx19491001 zx19491001 released this 26 Oct 15:30

一键安装改由 Host 半边执行,不依赖浏览器的 remote 能力。

新增

  • Host 注册两个同源路由:POST /plugin-hub/install 与 POST /plugin-hub/cancel,直接调用插件管理器的 installBundle / cancelInstall。
  • 安装目标是当前 profile($DSH_HOME/profiles/<profile>),与插件页安装完全同一条路径。
  • 安全约束:只接受 github:owner/repo;要求回环 Host、同源 Origin 与 x-plugin-hub 头,跨站表单与跨源请求一律 403。
  • 校验错误返回 400(invalid-spec / invalid-json / invalid-request-id),管理器缺失返回 503,安装异常返回 500 并带原因。

验证

  • 25 项测试通过(新增 8 项 Host 路由测试:注册、成功调用、spec 校验、头/来源/方法校验、管理器缺失、失败透传、取消)。
  • 实机验证:POST /plugin-hub/install 返回 200,进入 pnpm,诊断明确写出 direct dependency of C:\Users\Administrator\.dsh\profiles\desktop;invalid-spec 返回 400,缺头/错源返回 403。
  • 侧栏 plugin-hub 注册仍在(order 30,active)。

MIT License.

v1.2.2 · 注册不再被能力探测中断

Choose a tag to compare

@zx19491001 zx19491001 released this 26 Oct 15:17

修复:可选能力探测(ctx.remote / installBundle)抛错时不再中断 apply(),槽位注册照常完成;新增 remote getter 抛错仍注册两个槽位的回归测试(共 16 项)。

v1.2.1 · 安装入口防御性读取

Choose a tag to compare

@zx19491001 zx19491001 released this 26 Oct 15:12

防御性读取客户端 remote 入口(ctx.get('remote') 或 ctx.remote,均带 try/catch),避免取不到时影响插件加载。

v1.2.0 · 一键安装

Choose a tag to compare

@zx19491001 zx19491001 released this 26 Oct 15:11

面板里的「安装到 DSH」:从卡片或快速下载结果直接装,不用再下载解压。

新增

  • 两步确认后安装:第一次点击变成「确认安装?」,5 秒内再点一次才开始,避免误装任意仓库。
  • 进度与取消:安装中显示秒数,可点「取消」;取消走插件管理器的 cancelInstall(requestId),进入应用阶段后会提示无法取消。
  • 结果内联显示:已安装 / 重启后生效 / 被更高优先级覆盖 / 失败(带诊断文字)/ 已取消;失败可一键重试。
  • 能力检测:只有客户端提供 ctx.remote.pluginManager.installBundle 时才显示安装按钮,否则面板提示改用安装说明符或下载 ZIP。
  • 正在运行的插件(本插件自己)显示「当前在运行」,不提供安装按钮。

测试

15 项测试通过(含安装入口的能力检测与调用形态断言),GitHub Actions 同步运行。

MIT License.

v1.1.1 · 安装说明符可用

Choose a tag to compare

@zx19491001 zx19491001 released this 26 Oct 15:05

文档与提示更新:记录本 profile 已把 githubConnectionTimeoutMs 调到 20000,github: 安装说明符实测可直装。

v1.1.0 · 任意仓库、选版本、下载 ZIP

Choose a tag to compare

@zx19491001 zx19491001 released this 26 Oct 14:54

任意 GitHub 仓库 → 选分支/标签 → 下载 ZIP。

新增

  • 快速下载栏:粘 owner/repo 或 GitHub 链接即可解析仓库,选默认分支、其它分支或标签后下载 ZIP,并识别它是不是 DSH 插件(读仓库 package.json 的 dsh.bundle)。
  • 卡片选版本:每张卡片的「选版本」懒加载分支/标签(点开才请求,省 API 次数),下载按钮始终使用当前所选版本。
  • 安装说明符:一键复制 github:owner/repo,可粘到插件管理的安装框或交给 Agent 执行 install_bundle。
  • 仓库体积、默认分支、DSH 插件徽章;分支名带 / 时按路径分段编码,归档链接不再 404。

已验证

  • 14 项测试(结构 + 装载 + 版本解析)通过;GitHub Actions 同步运行。
  • heads/main.zip、tags/v1.0.0.zip 与 raw.githubusercontent.com/.../package.json 均返回 200。
  • 本机已安装并注册到侧栏(sidebar.panellist id plugin-hub)。

一个网络注意点

本机 git ls-remote github.com 约 6 秒,而插件管理器探测默认 githubConnectionTimeoutMs = 5000,所以 github: 说明符安装会报 connection to github.com timed out after 5000ms。把该配置调到 20000 再装即可;调不动就走「下载 ZIP → 解压 → install_bundle 绝对路径」。

MIT License.

v1.0.0 · 插件下载中心

Choose a tag to compare

@zx19491001 zx19491001 released this 26 Oct 14:34

DSH 左侧栏插件下载中心。把 GitHub 上的 DSH 插件摆在一页里:仓库直链、ZIP 下载、克隆与安装命令。

功能

  • 左侧栏入口(sidebar.panellist id plugin-hub + main key plugin-hub)
  • 插件卡片:名称、仓库、描述、星标、更新时间;下载 ZIP / 复制克隆命令 / 打开仓库
  • 实时信息走 GitHub 公共 API,离线、限流或被 CSP 拦截时自动退回静态信息
  • 搜索过滤;添加任意 GitHub 仓库(支持 owner/repo、网页链接、SSH 地址),保存在浏览器 localStorage

安装

  1. 下载 dsh-plugin-hub 源码压缩包并解压,或 git clone https://github.com/zx19491001/dsh-plugin-hub.git
  2. 在 DSH 里用插件管理器安装该目录:plugin_manager 的 install_bundle,target 填目录绝对路径
  3. 刷新页面,左侧栏出现「插件下载中心」

校验

  • 12 项测试(结构 + 装载)通过,GitHub Actions 同步运行
  • 已在本机 DSH profile 安装并注册到侧栏

MIT License.