快速开始

DSH 插件升级管理工具是一个独立运行的桌面程序,不依赖 DSH Agent 本体。它可以扫描您的插件目录,管理所有已安装插件的更新、启用、禁用和卸载。

系统要求

  • Windows: Windows 10 或更高版本(64位)
  • Linux: Ubuntu 20.04+ / Debian 11+(x86_64)
  • 网络: 可访问香港中转代理服务器

安装指南

Windows 安装

  1. 下载页面获取最新的 .exe 安装包
  2. 双击运行安装程序
  3. 按照安装向导完成安装
  4. 从桌面快捷方式或开始菜单启动程序

Linux 安装

  1. 下载 .AppImage 文件
  2. 打开终端,添加执行权限:
    chmod +x DSH-PluginUpdater_*.AppImage
  3. 运行程序:
    ./DSH-PluginUpdater_*.AppImage

基本使用

1. 指定插件目录

在顶部输入框中输入您的 DSH 插件目录路径,例如:

C:\DSH\plugins
/home/user/dsh/plugins

2. 扫描插件

点击「扫描」按钮,工具将遍历目录下的所有子文件夹,读取每个插件的 plugin.manifest.json 文件,列出所有已安装插件。

3. 检查更新

点击「检查更新」按钮,工具将通过香港中转代理访问 GitHub,检测每个插件的最新版本。有可用更新的插件将高亮显示。

4. 更新插件

对于有可用更新的插件,点击「更新」按钮即可开始更新。更新前会自动备份旧版本,更新过程中显示进度条。

注意:更新插件前建议关闭 DSH Agent 本体,避免文件占用导致更新失败。

5. 启用/禁用插件

点击「启用」或「禁用」按钮可以切换插件状态。禁用不会删除插件文件,只是修改配置,重启 Agent 后生效。

6. 卸载插件

在「更多」菜单中选择「卸载」可以删除插件。卸载前会自动备份,可在备份管理中恢复。

7. 打开插件目录

点击「目录」按钮可以直接在文件管理器中打开插件所在文件夹,方便手动查看或修改插件文件。

插件清单规范

每个插件目录下需要包含一个 plugin.manifest.json 文件,用于描述插件的基本信息。

字段说明

字段类型必填说明
idstring插件唯一标识符,建议使用小写字母和连字符
namestring插件显示名称
descriptionstring插件功能介绍
github_repostringGitHub 仓库地址,格式: owner/repo
current_versionstring当前版本号,语义化版本格式
enabledboolean是否启用,默认 true
typestring类型: plugin 或 agent-core,默认 plugin
authorstring作者名称
homepagestring插件主页地址

示例

{
  "id": "dsh-plugin-example",
  "name": "示例插件",
  "description": "这是一个示例插件,展示 manifest 格式",
  "github_repo": "DSH-Team/dsh-plugin-example",
  "current_version": "1.0.0",
  "enabled": true,
  "type": "plugin",
  "author": "DSH Team",
  "homepage": "https://dsh.huilinsh.cn"
}

代理服务部署

香港中转代理服务是工具能够正常访问 GitHub 的关键。以下是部署指南。

使用 Docker 部署(推荐)

  1. 克隆项目到香港服务器
    git clone https://github.com/DSH-Team/DSH-PluginUpdater.git
    cd DSH-PluginUpdater/proxy-server
  2. 复制环境变量配置文件
    cp .env.example .env
  3. 编辑 .env 文件,配置 Token 和其他参数
  4. 启动服务
    docker-compose up -d
  5. 服务将在 8080 端口运行,配置 Nginx 反向代理并启用 HTTPS

环境变量说明

  • PORT: 服务监听端口,默认 8080
  • GITHUB_TOKEN: GitHub Personal Access Token,提高 API 限流
  • PROXY_TOKEN: 代理访问 Token,配置后客户端必须携带
  • REDIS_ADDR: Redis 地址,用于缓存 API 响应
  • CACHE_TTL_MINUTES: 缓存过期时间,默认 30 分钟
  • ALLOWED_REPOS: 允许的仓库白名单,逗号分隔

Nginx 反向代理配置示例

server {
    listen 443 ssl http2;
    server_name dsh.huilinsh.cn;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 300s;
    }
}

常见问题

Q: 工具提示"检查更新失败"怎么办?

A: 请检查网络连接是否正常,香港中转代理服务是否可访问。可以在设置中确认代理地址配置正确。

Q: 更新插件时提示"文件被占用"?

A: 这是因为 DSH Agent 正在运行并加载了该插件。请先关闭 DSH Agent 本体,再执行更新操作。

Q: 如何恢复被误删的插件?

A: 工具在卸载和更新前都会自动备份。可以在设置中查看备份列表,选择对应的备份进行恢复。

Q: 插件没有 GitHub 仓库能使用吗?

A: 可以。工具仍能扫描和管理这类插件的启用/禁用和卸载,但无法检测更新和在线升级。

Q: 支持哪些版本号格式?

A: 工具使用语义化版本(Semantic Versioning)规范,格式为 MAJOR.MINOR.PATCH,例如 1.2.3。也支持 v 前缀,如 v1.2.3。

Q: 工具会收集我的数据吗?

A: 不会。所有插件扫描和管理操作都在本地完成,仅在检查更新和下载时通过香港中转代理访问 GitHub,不收集任何用户数据。