Skip to content

Releases: syscc/OpenlistSync

v0.1.8

01 Jun 12:59

Choose a tag to compare

v0.1.8(2026-06-01)

变更概述

  • 新增:全局排除项规则,支持在独立菜单中配置全局同步忽略规则,并与单个作业的排除项规则合并生效。对应代码:frontend/src/views/page/globalExclude/index.vue、service/system/configService.py、service/syncJob/jobClient.py
  • 新增:系统配置接口与数据库表 system_config,用于保存全局排除项等系统级配置。对应代码:controller/systemController.py、mapper/systemConfigMapper.py、common/sqlInit.py
  • 优化:作业详情页增加手动执行按钮,可直接对当前 jobId 对应作业发起手动执行。对应代码:frontend/src/views/page/home/task.vue
  • 优化:任务详情页保留手动执行入口,并通过任务记录反查所属作业作为兜底。对应代码:frontend/src/views/page/home/taskDetail.vue、service/syncJob/taskService.py
  • 调整:左侧菜单新增“全局排除项”,并放置在“作业管理”与“引擎管理”之间。对应代码:frontend/src/views/layout.vue、frontend/src/router/index.js
  • 优化:源码启动脚本支持 macOS/Windows 自动识别,支持启动、停止、重启源码服务。对应代码:data/start.py
  • 文档:更新 README 项目目录树,新增 AGENTS.md 记录本项目源码调试、验证、文档与版本更新习惯。

注意事项

  • 本地源码调试时,前端改动通过 8080 dev server 查看;8023 使用旧静态前端,需发布构建后才会更新。
  • Docker 发布仍需构建前端静态产物后打入镜像,运行时默认仅暴露 8023。

v0.1.7

13 Jan 10:58

Choose a tag to compare

v0.1.7(2026-01-13)

变更概述

  • 新增:引入二级目录开关变量 SECOND(1/true/yes 启用),从 webhook 文本中解析“类别:xxx”,将其作为二级路径用于源与目标目录的拼接(电视剧与电影均支持)。对应代码:service/webhook/webhookService.py
  • 修复:刷新集合(DST/SYNC)缺失路径的问题,现已在刷新路径拼接时纳入二级目录层;并保留对所有 Season 目录的逐个刷新。对应代码:service/webhook/refreshService.py
  • 统一:将此前仅电视剧支持的二级目录检测与命中逻辑扩展到电影,同步与刷新逻辑保持一致。

使用说明

  • 在 data/config.ini 的 [OpenlistSync] 段添加 SECOND=true 即可启用;
  • webhook 文本需包含“类别:xxx”以确定二级目录(如“综艺”、“动作”等)。

v0.1.6

10 Jan 05:59

Choose a tag to compare

v0.1.6(2026-01-10)

变更概述

  • 修复:统一补齐作业的 cron 字段缺失(year、month、day、week、day_of_week、hour、minute、second、start_date、end_date),避免 SQL 命名绑定报错 “You did not supply a value for binding parameter :year.”。对应代码:service/syncJob/jobService.py
  • 优化:作业列表默认显示全部,分页条仅显示总数;保留后端分页接口不变,通过设置极大 pageSize 达成“全部显示”。对应代码:frontend/src/views/page/home/index.vue
  • 修复:登录页顶部报错 “‘str’ object cannot be interpreted as an integer”,原因是分页参数设为 null 导致;已改为使用大 pageSize 解决。
  • 改进:Webhook 同步完成后的目录刷新(电视剧)改为遍历并刷新所有 Season 目录,而非仅刷新最大季。对应代码:service/webhook/refreshService.py

注意事项

  • cron 表达式在前端以 cronExpr 输入,后端解析为各字段;若字段为空将以 None 入库以满足命名绑定。
  • 电视剧刷新季目录匹配格式为 “Season N/”,如需支持其它命名(如“第N季”),可后续扩展匹配规则。

v0.1.5

30 Dec 11:54

Choose a tag to compare

v0.1.5

🐛 Fixes

  • 作业管理:修复在使用 cron 调用方式时,编辑弹窗中的 cron 表达式输入框每次打开为空的问题。现在会在打开编辑时,根据已保存的 second/minute/hour/day/month/day_of_week 字段自动重建并填充 cronExpr,避免重复填写。

🚀 Improvements

  • 展开详情仅显示完整的 cron 表达式(由六段字段拼接),不再逐项显示 year/month/day 等冗余条目,信息更简洁直观。

ℹ️ Notes

  • 本次改动仅涉及前端展示与编辑体验;后端解析与持久化逻辑未变(仍按 5/6 段表达式解析为相应字段并持久化字段,不持久化 cronExpr)。

v0.1.3

20 Dec 16:42

Choose a tag to compare

v0.1.3

🚀 Features

  • Webhook: 支持 WEBHOOK_APIKEY 环境变量进行安全验证,防止未授权调用。
  • Webhook: 优化源目录匹配逻辑,支持自动尝试将半角冒号(:)与全角冒号()相互替换查找,提高匹配成功率。
  • Refresh: 新增智能刷新策略:
    1. 优先使用环境变量(SYNC_REFRESH_*)中配置的路径(支持 {max} 自动解析)。
    2. 兜底保障:如果环境变量解析出的路径未包含任务实际的同步目标路径(例如 {max} 解析为 tv2 但任务实际同步到了 tv1),系统会自动将任务实际目标路径(tv1)加入刷新列表。
    3. 智能过滤:当刷新列表中至少有一个路径成功时,自动忽略那些因“对象不存在”而失败的路径(例如忽略 tv2 的报错),避免误报干扰。

🐛 Fixes

  • Webhook: 修复了 Webhook 触发逻辑中的 NameError 变量作用域问题。

📝 Documentation

  • 更新 README.mddocker-compose.yaml,补充 WEBHOOK_APIKEY 相关说明与配置示例。

OpenlistSync v0.1.2

17 Dec 05:17

Choose a tag to compare

✨ 新增

  • 前端支持以单一表达式 cronExpr 配置 cron 调用方式,替代逐项字段输入
  • 后端支持直接接收并解析 cronExpr(5/6 段表达式),自动映射 APScheduler 所需字段

🎨 优化

  • 简化作业编辑 UI:当 isCron == 1 时仅显示 cronExpr 输入框,提交校验表达式非空
  • 保留兼容:原有逐项字段配置仍可用;推荐统一改用表达式方式
  • 重建前端构建产物 frontend/dist,清理本地冲突副本文件

🔧 细节

  • 6 段表达式:秒 分 时 日 月 周 → 映射 second/minute/hour/day/month/day_of_week
  • 5 段表达式:分 时 日 月 周second=0,其余同上
  • 解析位置:service/syncJob/jobService.pycleanJobInput 在入库前解析并移除临时字段 cronExpr

🚀 发布

  • 标签:v0.1.2latest 指向同一提交
  • 无数据库迁移;无需修改后端配置

v0.1.1

16 Dec 15:19

Choose a tag to compare

v0.1.1

v0.1.0

16 Dec 12:35

Choose a tag to compare

v0.1.0

v0.0.9

16 Dec 11:11

Choose a tag to compare

v0.0.9

v0.0.8

16 Dec 11:01

Choose a tag to compare

v0.0.8