Skip to content

系统升级 ​

接口列表 ​

方法路径说明
PUT/settings/github-proxy保存 GitHub 更新代理配置
GET/settings/github-proxy获取 GitHub 更新代理配置
GET/upgrade/check检查更新
GET/upgrade/progress获取升级进度
POST/upgrade/reset回退到底包版本
POST/upgrade/start开始升级
POST/upgrade/upload上传二进制文件升级
POST/upgrade/upload/confirm确认执行上传升级
GET/upgrade/versions获取可用版本信息

PUT /settings/github-proxy ​

保存 GitHub 更新代理配置

设置检查更新 / 升级使用的 GitHub 代理前缀(如 https://ghfast.top/)。设为空字符串则直连。仅持久化,不影响其它模块的全局 HTTP 代理。

需要认证

此接口需要 Bearer Token 认证

请求体 ​

GitHub 更新代理配置

类型: githubProxySetting

字段类型必填说明
proxystring否

响应 ​

200 - 保存后的配置 ​

类型: githubProxySetting

字段类型必填说明
proxystring否

400 - 请求格式错误 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

500 - 保存配置失败 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

内容类型 ​

  • 请求: application/json
  • 响应: application/json

GET /settings/github-proxy ​

获取 GitHub 更新代理配置

获取检查更新 / 升级时使用的 GitHub 代理前缀(如 https://ghfast.top/)。前端会记住上次使用的代理并在检查更新时自动带上。未配置时返回空字符串(直连)。

需要认证

此接口需要 Bearer Token 认证

响应 ​

200 - GitHub 更新代理配置 ​

类型: githubProxySetting

字段类型必填说明
proxystring否

内容类型 ​

  • 响应: application/json

GET /upgrade/check ​

检查更新

检查是否有可用的新版本

需要认证

此接口需要 Bearer Token 认证

响应 ​

200 - 成功返回更新检查结果 ​

类型: map[string]any

403 - 非 Docker 环境不支持升级 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

500 - 检查更新失败 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

内容类型 ​

  • 请求: application/json
  • 响应: application/json

GET /upgrade/progress ​

获取升级进度

获取当前升级任务的进度信息

需要认证

此接口需要 Bearer Token 认证

响应 ​

200 - 成功返回升级进度 ​

类型: UpgradeProgress

字段类型必填说明
current_stepstring否当前步骤描述 示例: "正在下载新版本..."
errorstring否错误信息(如有) 示例: "下载失败"
progressinteger否进度百分比 (0-100) 示例: 50
statusstring否状态 可选值: idle, downloading, testing, replacing, restarting, completed, failed 示例: "downloading"

403 - 非 Docker 环境不支持升级 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

内容类型 ​

  • 请求: application/json
  • 响应: application/json

POST /upgrade/reset ​

回退到底包版本

将二进制文件回退到 Docker 镜像中的原始版本,然后重启服务

需要认证

此接口需要 Bearer Token 认证

响应 ​

200 - 回退已开始 ​

类型: SuccessResponse

字段类型必填说明
messagestring否成功信息 示例: "操作成功"

403 - 非 Docker 环境不支持回退 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

内容类型 ​

  • 请求: application/json
  • 响应: application/json

POST /upgrade/start ​

开始升级

开始升级到指定版本

需要认证

此接口需要 Bearer Token 认证

请求体 ​

升级请求 {version_type: stable|dev}

类型: map[string]string

响应 ​

200 - 升级已开始 ​

类型: SuccessResponse

字段类型必填说明
messagestring否成功信息 示例: "操作成功"

400 - 请求参数错误 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

403 - 非 Docker 环境不支持升级 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

500 - 升级失败 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

内容类型 ​

  • 请求: application/json
  • 响应: application/json

POST /upgrade/upload ​

上传二进制文件升级

上传 Songloft 二进制文件进行离线升级。上传后验证文件可执行并提取版本信息返回给前端,由前端判断是否需要二次确认(如跨通道升级)。确认后调用 /upgrade/upload/confirm 执行实际替换。

需要认证

此接口需要 Bearer Token 认证

表单参数 ​

参数类型必填说明
filefile是Songloft 二进制文件

响应 ​

200 - 上传文件的版本信息 ​

类型: UploadedBinaryInfo

字段类型必填说明
build_timestring否上传文件的构建时间 示例: "2026-08-01"
build_typestring否上传文件的构建类型(full/lite) 示例: "full"
channelstring否上传文件的通道(stable/dev) 示例: "stable"
channel_mismatchboolean否通道是否不匹配(需前端二次确认) 示例: true
current_channelstring否当前运行通道 示例: "dev"
current_versionstring否当前运行版本 示例: "v2.10.0"
versionstring否上传文件的版本号 示例: "v2.11.0"

400 - 请求参数错误或文件无效 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

403 - 非 Docker 环境不支持升级 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

500 - 保存或验证文件失败 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

内容类型 ​

  • 请求: multipart/form-data
  • 响应: application/json

POST /upgrade/upload/confirm ​

确认执行上传升级

确认对已上传的二进制文件执行升级替换。前端在收到 /upgrade/upload 响应后,若需要二次确认(如跨通道),用户确认后调用此接口。升级进度通过 /upgrade/progress 轮询。

需要认证

此接口需要 Bearer Token 认证

响应 ​

200 - 升级已开始 ​

类型: SuccessResponse

字段类型必填说明
messagestring否成功信息 示例: "操作成功"

400 - 未找到已上传的升级文件 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

403 - 非 Docker 环境不支持升级 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

内容类型 ​

  • 响应: application/json

GET /upgrade/versions ​

获取可用版本信息

获取正式版和测试版的版本信息

需要认证

此接口需要 Bearer Token 认证

响应 ​

200 - 成功返回版本信息 ​

类型: map[string]any

403 - 非 Docker 环境不支持升级 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

500 - 获取版本信息失败 ​

类型: ErrorResponse

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

内容类型 ​

  • 请求: application/json
  • 响应: application/json