Skip to content

更新历史

本文档记录了 OpenList to Stream 的所有版本更新内容,帮助用户了解新功能、改进和修复的问题。

当前版本

v2.6.0 (2026-08-02)

✨ 新功能

  • 🔔 Apprise 任务通知:普通 STRM 任务和手动刮削到达终态后,可按成功、部分完成或失败发送通知,并由 Apprise 路由到一个或多个下游渠道
  • 📋 分类异常明细:通知按结构异常跳过、刮削未识别、目录重命名失败、文件重命名失败、文件处理失败和媒体库刷新失败分组展示路径与原因
  • 🔄 Emby / Jellyfin 媒体库刷新:系统设置可管理多个媒体服务器,任务完成后可选择刷新全部媒体库或按媒体库 ID 精确刷新指定媒体库
  • ✏️ 普通任务自动重命名:任务可选择在生成 STRM 前,根据 TMDB 结果重命名 OpenList 中的媒体目录和文件;该选项默认关闭

⚡ 功能与体验优化

  • 🎯 精确刷新保护:刷新指定媒体库前重新校验媒体库 ID,不按名称猜测目标,媒体库失效时也不会回退为全部刷新
  • 💤 增量刷新抑制:增量任务没有视频变更、失效 STRM 清理或媒体重命名时,不向媒体服务器提交无效刷新请求
  • 📍 完整路径控制:通知可选择显示完整源路径,关闭后仅保留末级目录或文件名;每类异常明细可限制为 1–20 条
  • 🧭 结构异常通知:主动跳过的结构异常视频会显示完整路径和校验原因,但不会单独把成功任务标记为部分完成
  • 🪟 弹窗滚动优化:任务及 OpenList 配置弹窗限制在当前视口内,标题与底部操作按钮固定,中间表单区域独立滚动
  • 💬 社区入口:Web 页脚和 README 增加 Telegram 群组 @ostrm6 入口
  • 📚 使用文档:新增 Emby/Jellyfin 媒体库刷新和 Apprise 任务通知指南,并补充任务自动重命名、失效媒体库处理与排错说明

🛡️ 稳定性优化

  • 🔒 媒体服务器配置保护:停用的服务器不能继续用于任务刷新;仍被任务引用的服务器配置禁止删除
  • 🧯 刷新失败隔离:媒体库刷新失败不会回滚已经生成的 STRM,任务通知会标记为部分完成并展示具体原因
  • 🔁 通知失败隔离:Apprise 通知使用独立线程发送,失败会重试一次,最终失败只记录日志,不改变任务或手动刮削结果
  • 🧩 服务启动修复:修复媒体服务器 API 服务的依赖注入构造方式,避免容器启动时出现 Bean 创建失败

⚠️ 兼容性说明

  • 数据库迁移会自动新增普通任务自动重命名开关、媒体服务器配置表和任务刷新字段,无需手工修改数据库
  • 已有任务的自动重命名默认关闭、媒体库刷新默认关闭,升级后保持原有执行行为
  • Apprise 通知默认关闭;启用前需要部署 Apprise API,并在系统设置中填写服务地址、Config ID 和通知标签
  • 精确刷新依赖 Emby/Jellyfin 返回的媒体库 ID 和目录路径;升级后请先在系统设置中测试连接,再为任务选择目标媒体库

详细配置请参阅 Emby / Jellyfin 媒体库刷新Apprise 任务通知


v2.5.0 (2026-08-01)

✨ 新功能

  • 🎬 任务媒体库类型: OpenList 任务可指定自动识别、电影、电视剧或动画,并按类型使用对应的目录结构和媒体解析规则
  • 🌳 目录结构检查与过滤: 支持按需检查任务根目录及第一层媒体目录,以文件树展示异常;任务可选择跳过结构不符合要求的视频
  • 🧹 手动刮削: 支持目录树选择、AI/TMDB 预览、标题与年份修正、TMDB ID 直查,以及 NFO、海报和背景图写回 OpenList
  • ✏️ 安全重命名: 电影目录和文件可包含 TMDB ID;电视剧支持根目录、季目录和媒体文件分阶段重命名,季目录可从复合名称中识别明确季标记
  • 异步刮削作业: 手动刮削立即返回作业 ID,前端展示阶段进度;失败后可从重命名、下载或上传检查点继续
  • 🚦 OpenList 双层限流: 每个 OpenList 配置可同时限制文件 API 的 QPS 与 QPM

⚡ 性能与体验优化

  • 🗂️ 目录索引复用: STRM 生成、字幕复制、刮削和清理共享单次任务目录快照,减少重复 OpenList API 调用
  • 📋 增量任务清单: 未变化媒体跳过重复生成和刮削,降低大媒体库任务耗时
  • 🌊 流式文件传输: 图片、NFO 和字幕改为流式下载,降低峰值内存占用
  • 🔄 按需加载: 手动刮削和目录检查首次只读取必要层级,展开或检查时再读取子目录
  • 📜 日志页面优化: 支持增量刷新、暂停加载与跟随、精确筛选、单条复制和安全清空;清空后无需重启容器

🛡️ 稳定性优化

  • 🧱 AI 结构化输出: 使用内置 System Prompt、JSON Schema 和响应语义校验,异常响应重试后安全回退本地解析
  • 🔒 任务互斥与幂等恢复: 手动刮削未完成时禁止重复刮削或再次改名,重试会识别已经完成的操作
  • 🔗 特殊路径兼容: 修复中文、空格、花括号及签名参数导致 OpenList 下载 URL 非法的问题
  • 🎯 季目录安全识别: 支持 第4季Season 4S04、中文数字和特别篇;不同季号并存时拒绝自动改名,避免误判普通名称

⚠️ 兼容性说明

  • 数据库迁移会自动新增媒体库类型、QPS 限制、手动刮削作业及结构过滤字段,无需手工修改数据库
  • 已有任务默认使用“自动识别”,结构过滤默认关闭,升级后保持原有生成行为
  • AI 自定义提示词已取消,升级后统一使用服务端预置规则

beta-v2.5.12 (2026-08-01)

🛠️ 功能优化

  • 🗂️ 季目录包含匹配: 手动刮削可从 黑袍纠察队 第四季 1080p RemuxThe Boys Season 4 RemuxThe.Boys.S04.2160p 等复合目录名中提取季号并统一命名为 Season 04
  • 🔢 中文季号支持: 支持 第四季第十二季 等中文数字季号,并继续支持 第4季Season 4S04 和特别篇格式
  • 🥇 明确匹配优先级: 同一季号出现多种标记时按“第 x 季 → Season x → Sxx → 特别篇”选择匹配来源

🛡️ 稳定性优化

  • ⚠️ 歧义保护: S03 第四季 等包含不同季号的目录不会自动重命名,并记录包含命中标记和季号的警告日志
  • 🎯 误判保护: 四季酒店 等没有明确季标记的普通目录,以及 S04E01 等剧集文件式标记不会被识别为季目录
  • 📊 失败埋点: 歧义或非法季号按“上报使用数据”开关决定是否上报,关闭开关后仅保留本地日志
  • 🔒 校验逻辑隔离: 包含匹配只用于手动刮削的季目录重命名,不改变目录结构检查使用的严格季目录规则

beta-v2.5.11 (2026-08-01)

✨ 新功能

  • 🗂️ 电视剧季目录重命名: 手动刮削可将 Season 1S01第1季 等目录统一命名为 Season 01
  • 🎬 特别篇目录支持: Specials特别篇 等目录统一命名为 Season 00
  • 👁️ 季目录改名预览: 确认前分组展示剧集根目录、季目录和媒体文件的完整重命名计划

🛡️ 稳定性优化

  • 🔁 固定执行顺序: 按“剧集根目录 → 季目录 → 媒体文件”顺序重命名,后续操作始终使用更新后的路径
  • ⚠️ 重命名冲突保护: 执行前检查重复季号、目标目录和媒体文件冲突,禁止自动合并或覆盖
  • 💾 精确失败续跑: 异步作业持久化重命名计划和操作位置,中断后可从未完成的目录或文件继续
  • 🔤 大小写改名兼容: 仅修改名称大小写时使用可恢复的临时名称两步处理

⚠️ 兼容性说明

  • 升级后会自动扩展手动刮削作业表,无需手动修改数据库

beta-v2.5.10 (2026-07-31)

🐛 问题修复

  • 修复执行“跳过目录结构不符合的视频”时,错误移除相对路径中的文件名,导致正常的“电影目录/视频文件”被当作根目录文件跳过的问题
  • 修复任务根目录视频被报告为“无法计算相对路径”,现在会返回准确的目录结构异常原因

🛠️ 功能优化

  • 🧭 相对路径计算统一: 目录结构检查与正式任务过滤共享同一个完整相对路径计算方法
  • 🧪 实际路径回归测试: 覆盖中文电影目录、TMDB ID 命名和任务根目录视频,防止再次出现层级误判

⚠️ 升级建议

  • 如果 beta-v2.5.9 曾开启结构过滤执行任务,建议升级后执行一次全量任务以恢复被误清理的本地 STRM 和刮削文件

beta-v2.5.9 (2026-07-31)

✨ 新功能

  • 🚫 跳过异常目录视频: 电影、电视剧和动画任务可选择在执行时跳过目录结构不符合要求的视频
  • 🧭 统一结构规则: 正式任务执行与目录结构检查复用同一套校验规则,避免检查结果和生成行为不一致

🛠️ 功能优化

  • 🎬 生成与刮削同步过滤: 被跳过的视频不会生成 STRM,也不会进入 AI 或 TMDB 刮削流程
  • 🧹 增量清理异常产物: 增量任务会清理此前为异常目录生成的 STRM 及其关联刮削文件
  • 📋 过滤日志汇总: 执行日志记录跳过数量和原因统计,并限制逐文件日志数量,避免大媒体库刷屏
  • 🛡️ 兼容旧任务: 新选项默认关闭;自动识别任务没有固定结构规则,因此保持原有处理方式

⚠️ 兼容性说明

  • 升级时会自动新增“跳过异常目录”任务配置字段,无需手动修改数据库

beta-v2.5.8 (2026-07-31)

🐛 问题修复

  • 修复 OpenList 下载地址包含中文、空格或 {tmdbid-...} 时,流式下载因 URI 非法而在请求发出前失败的问题
  • 修复已有 NFO、海报和共用图片下载失败后可能触发重复 TMDB 刮削或造成元数据不完整的问题
  • 修复已经编码的下载地址被重复编码,导致 %20 变成 %2520 的风险

🛠️ 功能优化

  • 🔗 下载 URL 统一规范化: NFO、图片、字幕及重定向下载在 HTTP 请求边界统一构建安全 URI
  • 🔐 签名参数安全处理: OpenList sign 查询参数独立编码,保留签名原始语义
  • 🧪 特殊路径回归测试: 覆盖中文、空格、花括号、签名参数以及已编码 URL 的流式下载场景

beta-v2.5.7 (2026-07-31)

⚡ 性能优化

  • 🗂️ 任务目录索引复用: 单次任务只构建一次 OpenList 目录快照,STRM 生成、字幕复制、刮削和清理共享索引,减少重复目录 API 调用
  • 🔁 文件级任务去重: 同一媒体文件在同批任务中只处理一次,并统一清理过期快照,降低重复生成与内存占用
  • 🎬 刮削会话缓存: 同一媒体在任务内复用 TMDB 匹配、详情、季信息和现有 NFO 结果,优先利用已有元数据
  • 🌊 流式文件传输: 图片、NFO 和字幕下载改为流式处理,避免大文件完整载入内存
  • 📋 增量任务清单: 保存已生成文件的远端特征,未变化媒体跳过重复生成和刮削,任务完成后自动更新清单
  • 🚀 并发目录发现: 在 OpenList QPS/QPM 限流保护下并发读取独立子目录,提高大媒体库遍历效率
  • 🔎 手动预览短缓存: 短时间内重复预览复用识别结果,减少重复 AI、TMDB 和目录查询
  • ⚙️ 系统配置快照缓存: 配置读取使用不可变内存快照,并在配置修改后立即失效,减少高频磁盘解析和对象复制

🛠️ 功能优化

  • 🔄 目录检查强制刷新: 每次进入目录结构检查或检查子目录时主动刷新 OpenList,避免展示过期目录内容
  • 🧹 任务结束资源回收: 无论任务成功或失败都会清理目录索引和刮削会话,控制长期运行时的内存占用

beta-v2.5.6 (2026-07-31)

✨ 新功能

  • 🔄 日志增量刷新: 日志页面每 2 秒只读取新增内容,并可暂停刷新或关闭自动跟随
  • 🔍 日志搜索筛选: 支持关键词搜索、精确日志级别筛选以及最近 200/1000/5000 行加载窗口
  • 📋 日志查看工具: 支持自动换行、单条复制、新日志提示和自适应高度展示

🛠️ 功能优化

  • 🧹 安全清空日志: 清空日志时保留活动文件和写入句柄,无需重启容器即可继续写入
  • 🗂️ 活动日志保护: 启动清理和定时清理跳过当前后端、错误及前端日志文件
  • 降低加载开销: 首次仅读取文件尾部,后续基于文件游标增量读取,前端继续使用虚拟列表
  • 🧠 流式日志统计: 日志统计不再一次性读取整个文件,降低大日志场景的内存占用
  • 🧩 日志事件识别: 异常堆栈与对应日志事件合并展示,避免级别筛选打散调用栈

beta-v2.5.5 (2026-07-30)

✨ 新功能

  • 📂 手动刮削目录懒加载: 进入页面只读取任务根目录,展开文件夹时才按需加载下一层
  • 🎯 按目录结构检查: 目录结构检查改为列出第一层媒体目录,由用户选择单个目录递归检查
  • 📋 独立检查结果: 每个第一层目录分别展示扫描项目、视频数量、异常数量和异常文件树

🛠️ 功能优化

  • 降低初始扫描开销: 打开手动刮削和目录检查页面时不再递归遍历整个任务媒体库
  • 🧭 根目录异常检测: 首次读取时直接检查任务根目录下的视频文件,避免分目录检查遗漏根层异常
  • 🔒 检查路径保护: 后端仅允许检查任务根目录的第一层子目录,并限制同一时间只检查一个目录
  • 🔄 轻量结果刷新: 刮削完成后只刷新根目录,避免再次完整遍历 OpenList 文件树

beta-v2.5.4 (2026-07-30)

✨ 新功能

  • 异步手动刮削: 确认刮削后立即返回作业 ID,后台分阶段执行目录改名、文件改名、元数据生成和上传
  • 📊 实时进度展示: 手动刮削页面轮询作业状态,展示当前阶段、执行进度和失败原因
  • 🔁 失败断点重试: 下载或上传失败后可从对应阶段继续,上传重试会复用已经生成的 NFO 和图片

🛠️ 功能优化

  • 🔒 任务级执行互斥: 同一任务只允许一个手动刮削作业执行,作业完成前禁止再次刮削和手动提交普通任务
  • 🧩 改名幂等恢复: 文件夹或部分媒体文件已经改名后发生中断,重试时会识别现有目标名称,避免重复改名和名称冲突
  • 💾 作业状态持久化: 作业阶段、重命名结果和上传暂存文件持久保存;应用重启后中断作业可继续重试

⚠️ 兼容性说明

  • 升级时会自动创建手动刮削作业表,无需手动修改数据库
  • 手动刮削执行接口改为异步返回,内置前端已同步适配

beta-v2.5.3 (2026-07-30)

✨ 新功能

  • 🔎 手动修正刮削条件: 自动识别未匹配到 TMDB 条目时,可修改标题和年份后重新搜索
  • 🆔 TMDB ID 直接查询: 支持手动输入 TMDB ID 跳过标题搜索并直接加载电影或剧集详情
  • 🔄 匹配结果重新选择: 已匹配的预览也可重新打开手动搜索,修正错误的自动匹配结果

🛠️ 功能优化

  • 🧭 无结果友好回退: TMDB 搜索结果为空时不再返回 500,而是在预览页保留识别条件供用户修正
  • 🏷️ 标准化 TMDB 命名: 重命名后的媒体目录统一包含 {tmdbid-数字};电影媒体文件名同步包含 TMDB ID

beta-v2.5.2 (2026-07-30)

✨ 新功能

  • 🧹 手动刮削: 任务支持进入独立手动刮削页面,以目录树选择电影或剧集目录并触发 AI/TMDB 识别
  • 🖼️ 刮削信息预览: 确认前展示标题、年份、简介、评分、海报、重命名计划和待上传元数据文件
  • ☁️ OpenList 元数据写回: 确认后将 NFO、海报和背景图上传到对应 OpenList 媒体目录
  • ✏️ 可选媒体重命名: 用户可选择先重命名媒体文件夹,再按识别结果重命名其中的媒体文件

🛠️ 功能优化

  • 🚦 QPS + QPM 双层限流: OpenList 文件 API 支持同时限制每秒突发速度和每分钟持续调用总量
  • 🪣 双层令牌桶: 每个 OpenList 配置使用独立的 QPS、QPM 令牌桶,目录读取、重命名和上传共享额度
  • 🛡️ 远端写入保护: 执行前校验任务目录边界、媒体类型和目标名称冲突,禁止覆盖已有媒体文件

⚠️ 兼容性说明

  • 升级时会自动新增文件 API QPS 配置字段,已有配置默认值为 0,表示不限制 QPS
  • QPS 与 QPM 可独立设置,任一字段为 0 时仅关闭对应维度的限制

beta-v2.5.1 (2026-07-29)

✨ 新功能

  • 🌳 任务目录结构检查: 支持按任务媒体库类型递归检查 OpenList 目录,并以文件树展示层级不符合要求的视频文件
  • 📋 异常原因提示: 针对电影、电视剧和动画目录分别给出缺少目录、层级过深或季目录格式错误等原因

🛠️ 功能优化

  • 🧱 AI 严格结构化输出: 请求端使用 JSON Schema 约束,响应端执行同源结构和业务语义校验
  • 🔁 AI 异常响应恢复: 对截断或结构无效的响应重试一次,仍无效时安全回退到本地解析
  • 🧪 AI 配置验证: 配置测试改为使用与正式识别相同的 Schema 和响应校验流程

beta-v2.5.0 (2026-07-29)

✨ 新功能

  • 🎬 媒体库类型: OpenList 任务支持指定自动识别、电影、电视剧或动画,并按不同类型解析目录和文件名
  • 🤖 AI 文件名识别: AI 识别会结合媒体库类型、相对路径及文件名提取媒体信息

🛠️ 功能优化

  • 🔒 内置 AI 规则: AI 识别统一使用服务端预置 System Prompt,不再允许用户设置自定义提示词
  • 🧭 目录结构解析: 新增任务级媒体解析器,针对电影、电视剧和动画采用独立的目录结构规则

⚠️ 兼容性说明

  • 已有任务默认使用“自动识别”,升级后保持原有处理行为
  • 升级时会自动新增任务媒体库类型字段,并清理系统配置中遗留的自定义 AI 提示词

v2.4.0 (2026-07-27)

✨ 新功能

  • 🚦 OpenList API 调用限速: 每个 OpenList 配置可独立设置文件系统 API 每分钟调用次数,默认值为 0,表示不限制

⚡ 性能优化

  • 📄 单文件处理优化: 单文件上下文不再递归扫描整个 OpenList 源目录,减少不必要的目录及文件 API 请求
  • 🧹 孤立文件清理优化: 单文件处理时不再重复遍历 STRM 目录,避免针对每个视频重复执行孤立文件清理

🐛 问题修复

  • 修复首次启动且用户尚未注册时,登录页不显示注册表单的问题
  • 修复登录页内嵌注册表单请求路径错误及字段与后端接口不一致的问题

⚠️ 兼容性说明

  • 升级时会自动新增 OpenList API 限速配置字段,已有配置默认保持不限速,行为与旧版本一致
  • 本次升级不调整现有挂载目录和配置文件路径,可直接从 v2.3.0 升级

v2.3.0 (2026-03-07)

✨ 新功能

  • 🌐 TMDB API 域名配置: 支持选择默认域名1(api.themoviedb.org)、默认域名2(api.tmdb.org)或自定义域名
  • 🖼️ TMDB 图片域名配置: 支持选择默认域名1(image.tmdb.org)或自定义域名
  • 📱 配置页面实时预览: 选择域名后实时显示当前选中的域名地址
  • 📊 日志页面重构: 全新日志管理页面,支持实时日志流、级别过滤、关键词搜索、自动滚动及日志文件下载

🛠️ 功能优化

  • 🎨 UI 重构: 前端界面全面优化,提升用户体验

🐛 问题修复

  • 修复配置值为空时 API 域名拼接错误的问题
  • 修复掉盘检测问题

v2.2.8 (2026-02-08)

✨ 新功能

  • 🎨 Vue Select 下拉组件: 新增 vue-select 第三方组件,提供自定义下拉选项样式,完美适配深色主题

🛠️ 功能优化

  • 📐 前端架构重构: 前端架构采用 Feature-Sliced Design 改良版,提供更清晰的代码组织结构
  • 📄 日志管理优化: 日志页面简化优化,提供更直观的日志查看体验
  • 📖 架构文档: 新增前端架构文档(frontend/ARCHITECTURE.md)

🐛 问题修复

  • 修复下拉框在深色主题下的背景和文字颜色问题
  • 修复日志页面刷新时 authStore 未定义的错误
  • 修复编辑 OpenList 配置和任务弹窗点击遮罩层意外关闭的问题

v2.2.7 (2026-02-03)

🛠️ 功能优化

  • 🔧 开发脚本优化: 改进开发环境脚本,增强调试能力和错误处理
  • 💾 内存泄漏修复: 修复文件流未关闭导致的内存泄漏问题
  • 🔄 文件处理优化: 新增文件保存接口,优化文件处理流程
  • 服务优化: 优化 OpenList API 服务、媒体刮削服务、系统配置服务和任务执行服务

v2.2.6 (2025-12-30)

✨ 新功能

  • 📊 系统日志管理: 新增系统日志查看页面,支持实时日志流、日志级别过滤、关键词搜索、自动滚动及日志文件下载功能
  • 资源优化: 深度优化 JVM 内存占用、线程池配置、缓存策略及数据库连接池,显著降低系统资源消耗(内存占用降低约 50%)

🛠️ 功能优化

  • 🎨 STRM 生成优化: 智能检测 STRM 文件内容,仅在最终 URL 发生变化时才重新生成文件,减少磁盘 I/O
  • 🔄 OpenList 配置: 优化 OpenList 配置管理界面,修复配置内网openlist ip时的异常问题

🐛 问题修复

  • 修复 OpenList 字幕文件和封面图片在 302 重定向场景下无法下载的问题
  • 修复 TMDB 路径占位符解析错误

v1.2.0 (2025-11-07) 大量代码重构,镜像名调整为openlist-strm,挂载目录调整,不支持直接升级

✨ 新功能

  • 🔗 URL编码控制: 新增STRM链接URL编码开关,支持灵活配置编码行为,完美处理中文和特殊字符路径
  • 🌐 Base URL替换: 支持STRM文件生成时的基础URL替换功能,适配内网外网不同访问场景
  • 🏗️ Web服务器升级: 从Nginx迁移到Caddy,提供更现代的Web服务器解决方案
  • 📦 构建优化: 优化Docker构建流程,支持Java 21运行时环境,提升性能和兼容性

🛠️ 技术改进

  • 🐳 容器化优化: 改进多阶段Docker构建,使用Ubuntu 22.04基础镜像
  • 🛠️ 路径标准化: 统一容器内路径管理,增强跨平台兼容性
  • 🔧 依赖更新: 升级核心依赖版本,提升系统稳定性和安全性
  • 📝 文档完善: 更新技术文档和部署指南

🐛 问题修复

  • 修复OpenList配置中URL编码选项无法保存的问题
  • 解决特殊字符和中文路径的处理问题
  • 优化容器内存占用和启动性能

⚠️ 重要说明

  • 架构变更: 大量代码重构,不支持直接从旧版本升级
  • 挂载目录: 重新设计目录结构,采用标准化路径
  • 迁移要求: 需要手动迁移数据,详见迁移指南

v1.1.1 (2025-09-27)

🛠️ 功能优化

  • 🎨 新版本提示优化: 有新版本时提示更新
  • 🧹 cron定时任务表达式优化: 支持unix cron表达式,自动替换成quartz定时任务表达式

🐛 问题修复

  • 修复nginx 特殊配置场景下请求接口报错无法使用的问题

历史版本

v1.1.0 (2025-09-18)

🛠️ 功能优化

  • 🎨 刮削规则优化: 刮削逻辑优化,增加匹配成功率
  • 🧹 功能提示优化: 重命名正则表达式增加使用示例,方便理解
  • 🧹 openlist 文件下载优化: 优化从openlist下载nfo/封面图片时,原始文件302重定向导致下载失败的问题(无测试条件,如有问题issue反馈)

v1.0.13 (2025-09-07)

🐛 问题修复

  • 修复上个版本引入的新创建容器,只有登录没注册的入口的问题

v1.0.11 (2025-09-06) 数据上报部分请关注下,如不需要请自行关闭

✨ 新功能

  • 🔍 数据上报系统: 新增匿名使用数据统计功能,帮助改进产品体验(可在设置中关闭)
  • 📊 日志管理系统: 支持日志级别配置和保留天数设置,提供更灵活的日志管理

🛠️ 功能优化

  • 🎨 设置界面改进: 新增数据上报开关、日志级别和保留天数配置选项
  • 🧹 日志清理增强: 日志清理任务集成应用使用统计,优化清理逻辑
  • 🔒 隐私保护: 数据上报仅收集匿名功能使用统计,不涉及用户隐私信息

🐛 问题修复

  • 修复前端日志API路径认证问题
  • 优化后端时间戳处理逻辑
  • 修复Docker环境变量配置问题

⚠️ 兼容性说明

  • 日志级别变更需要重启应用后生效
  • 数据上报功能默认开启,可在设置中关闭

v1.0.10 (2025-09-03)

✨ 问题修复

  • 修复openlist下已存在刮削NFO及图片文件时,strm目录下对应文件异常问题(建议全量刮削一次)

v1.0.9 (2025-08-26)

✨ 新功能

  • 优化AI刮削逻辑,处理AI识别文件名匹配不到TMDB数据的问题(建议在设置中重置下提示词并报错)
  • 日志调整

v1.0.8 (2025-08-16)

✨ 新功能

  • 优化刮削逻辑,添加正则匹配,减少AI token消耗
  • 添加刮削设置,优先获取openlist中已存在的刮削信息和字幕信息
  • UI改版

v1.0.7 (2025-08-04)

✨ 新功能

  • 手动执行时支持增量全量执行
  • AI识别文件刮削优化
  • 优化容器内存占用
  • TMDB API 支持设置代理访问

v1.0.1 (2025-07-30)

🎉 项目首次发布

✨ 新功能

  • 🎬 STRM 文件生成: 支持将 OpenList 文件列表转换为 STRM 流媒体文件
  • 📋 任务管理系统: 完整的任务创建、编辑、删除功能
  • 定时任务调度: 基于 Cron 表达式的自动化执行
  • 🔄 双模式更新: 支持增量更新和全量更新两种模式
  • 🔐 用户认证: 基于 JWT 的安全认证机制
  • 🌐 Web 界面: 基于 Nuxt.js 3 + Vue 3 的现代化前端界面
  • 🐳 容器化部署: 完整的 Docker 和 Docker Compose 支持

🛠️ 技术栈

  • 前端: Nuxt.js 3, Vue 3, Tailwind CSS
  • 后端: Spring Boot 3, MyBatis, Quartz Scheduler
  • 数据库: SQLite
  • 部署: Docker, Nginx

📦 部署方式

  • Docker 单容器部署
  • Docker Compose 编排部署
  • 源码构建部署

版本规划

即将推出的功能

v1.2.0 (计划中)

  • 🎯 智能路径匹配: 更智能的文件路径匹配算法
  • 📱 移动端适配: 响应式设计优化,支持移动设备访问
  • 🔄 批量操作: 支持批量任务操作和配置
  • 📊 数据看板: 更丰富的数据统计和可视化界面

v1.3.0 (计划中)

  • 🔌 插件系统: 支持第三方插件扩展功能
  • 🌐 多语言支持: 国际化支持,支持英语、日语等多种语言
  • 📋 模板管理: 任务模板功能,快速创建相似任务
  • 🔔 通知增强: 支持钉钉、企业微信等多种通知方式

v1.4.0 (计划中)

  • 🏗️ 集群部署: 支持多节点集群部署
  • 性能优化: 大幅提升处理速度和并发能力
  • 🔍 高级搜索: 支持更复杂的文件搜索和过滤条件
  • 📈 监控告警: 完善的系统监控和告警机制

更新说明

版本号规则

采用 语义化版本 规范:

  • 主版本号:不兼容的 API 修改
  • 次版本号:向下兼容的功能性新增
  • 修订号:向下兼容的问题修正

发布周期

  • 主版本:根据重大功能更新发布,不定期
  • 次版本:每月发布一次,包含新功能改进
  • 修订版本:根据问题修复需要,随时发布

更新渠道

  • 稳定版:推荐生产环境使用,经过充分测试
  • 测试版:包含最新功能,适合早期体验
  • 开发版:最新代码,可能存在不稳定因素

升级指南

从旧版本升级

1. 备份数据

升级前务必备份重要数据:

bash
# 备份配置和数据库
tar -czf backup-$(date +%Y%m%d).tar.gz ./data/

# 备份 STRM 文件
tar -czf strm-backup-$(date +%Y%m%d).tar.gz ./strm/

2. 停止应用

bash
# Docker Compose 部署
docker-compose down

# Docker 直接部署
docker stop openlist-strm

3. 拉取新版本

bash
# 拉取最新镜像
docker pull hienao6/openlist-strm:latest

# 或指定版本
docker pull hienao6/openlist-strm:v1.1.1

4. 重新启动

bash
# Docker Compose 部署
docker-compose up -d

# Docker 直接部署
docker run -d \
  --name openlist-strm \
  -p 3111:80 \
  -v ./data/config:/maindata/config \
  -v ./data/db:/maindata/db \
  -v ./logs:/maindata/log \
  -v ./strm:/app/backend/strm \
  --restart always \
  hienao6/openlist-strm:latest

5. 验证升级

  1. 访问应用确认正常运行
  2. 检查任务配置是否完整
  3. 测试一个任务执行
  4. 查看日志确认无错误

配置迁移

某些版本升级可能需要配置迁移:

v1.2.0 重大升级迁移指南

⚠️ 重要提示: v1.2.0 是重大架构更新,不支持直接升级,需要手动迁移数据。

迁移步骤:

  1. 停止旧版本容器
bash
docker-compose down
  1. 备份现有数据
bash
# 创建备份目录
mkdir -p ./backup/v1-backup

# 备份数据库文件
cp -r ./data/config/db ./backup/v1-backup/

# 备份配置文件
cp -r ./data/config/*.json ./backup/v1-backup/

# 备份日志文件
cp -r ./data/log ./backup/v1-backup/

# 备份STRM文件
cp -r ./strm ./backup/v1-backup/
  1. 清理旧容器和镜像
bash
docker-compose down --rmi all --volumes --remove-orphans
  1. 创建新的目录结构
bash
# 创建标准化的数据目录
mkdir -p ./data/config ./data/db ./logs ./strm
  1. 迁移数据到新结构
bash
# 迁移数据库文件 (从 /app/data/config/db 到 /maindata/db)
cp ./backup/v1-backup/db/* ./data/db/

# 迁移配置文件 (从 /app/data/config 到 /maindata/config)
cp ./backup/v1-backup/*.json ./data/config/

# 迁移日志文件 (从 /app/data/log 到 /maindata/log)
cp ./backup/v1-backup/log/* ./logs/

# STRM文件路径不变
# ./strm → /app/backend/strm (保持一致)
  1. 更新环境配置
bash
# 复制新的环境配置模板
cp .env.docker.example .env

# 根据需要编辑配置
# 默认配置已经适配新的目录结构
  1. 启动新版本
bash
# 使用新的镜像名称构建并启动
docker-compose build
docker-compose up -d
  1. 验证迁移
  • 访问 http://localhost:3111 确认应用正常
  • 检查任务配置是否完整迁移
  • 测试一个任务执行
  • 查看日志确认无错误

主要变更:

  • ✅ 镜像名: hienao6/openlist-strm:latest
  • ✅ 数据库路径: /maindata/db (之前: /app/data/config/db)
  • ✅ 配置路径: /maindata/config (之前: /app/data/config)
  • ✅ 日志路径: /maindata/log (之前: /app/data/log)
  • ✅ STRM路径: /app/backend/strm (保持不变)

迁移注意事项:

  • 🔄 手动迁移: 必须手动复制数据文件
  • 📁 路径变更: 容器内路径结构完全重新设计
  • 🔧 配置更新: 使用新的环境变量配置方式
  • 数据兼容: 数据库格式和配置文件格式保持兼容

v1.0.x → v1.1.x

  • ✅ 无需手动迁移,配置自动兼容
  • 🎨 建议查看新的系统设置选项
  • 🔒 建议检查数据上报设置

问题反馈

报告问题

如果在使用过程中遇到问题:

  1. 检查版本: 确认使用的是最新版本
  2. 查看日志: 收集相关的错误日志
  3. 搜索问题: 查看 GitHub Issues 是否已有相关问题
  4. 创建问题: 提交新的 Issue,包含详细信息和复现步骤

功能建议

欢迎提出功能建议和改进意见:

  1. 讨论想法: 在 Discussions 中讨论新功能想法
  2. 提交建议: 在 Issues 中提交功能建议
  3. 参与开发: 欢迎提交 Pull Request

获取帮助

  • 📖 文档: 查看完整的 项目文档
  • 💬 社区: 在 GitHub Discussions 中交流
  • 🐛 问题: 通过 GitHub Issues 报告问题
  • 📧 联系: 通过项目主页的联系方式

感谢您使用 OpenList to Stream!您的反馈和建议是我们持续改进的动力。