Releases: syscc/OpenlistSync
Releases · syscc/OpenlistSync
v0.1.8
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
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
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
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
v0.1.3
🚀 Features
- Webhook: 支持
WEBHOOK_APIKEY环境变量进行安全验证,防止未授权调用。 - Webhook: 优化源目录匹配逻辑,支持自动尝试将半角冒号(
:)与全角冒号(:)相互替换查找,提高匹配成功率。 - Refresh: 新增智能刷新策略:
- 优先使用环境变量(
SYNC_REFRESH_*)中配置的路径(支持{max}自动解析)。 - 兜底保障:如果环境变量解析出的路径未包含任务实际的同步目标路径(例如
{max}解析为tv2但任务实际同步到了tv1),系统会自动将任务实际目标路径(tv1)加入刷新列表。 - 智能过滤:当刷新列表中至少有一个路径成功时,自动忽略那些因“对象不存在”而失败的路径(例如忽略
tv2的报错),避免误报干扰。
- 优先使用环境变量(
🐛 Fixes
- Webhook: 修复了 Webhook 触发逻辑中的
NameError变量作用域问题。
📝 Documentation
- 更新
README.md和docker-compose.yaml,补充WEBHOOK_APIKEY相关说明与配置示例。
OpenlistSync v0.1.2
✨ 新增
- 前端支持以单一表达式
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.py的cleanJobInput在入库前解析并移除临时字段cronExpr
🚀 发布
- 标签:
v0.1.2与latest指向同一提交 - 无数据库迁移;无需修改后端配置
v0.1.1
v0.1.1
v0.1.0
v0.1.0
v0.0.9
v0.0.9
v0.0.8
v0.0.8