Quark-Auto-Save项目功能演进与技术实现解析
项目背景与核心功能
Quark-Auto-Save是一个自动化转存工具,主要针对夸克网盘用户提供文件自动转存和重命名功能。该工具通过正则表达式匹配和替换规则,帮助用户实现批量文件转存与标准化命名,特别适合追剧、整理资源等场景。
功能演进与技术实现
1. 智能命名系统的改进
原始版本提供了简单的$TV变量用于剧集命名,但存在灵活性不足的问题。新版本引入了以下改进:
-
变量化命名模板:新增了$TASKNAME变量,允许用户在replace规则中引用任务名称,实现更灵活的命名组合。例如配置"replace: $TASKNAME-{$TV}"可生成"任务名-集数"的格式。
-
自定义正则规则:通过magic_regex配置项,用户可完全自定义匹配规则,满足各种复杂命名需求。技术实现上,系统会优先使用用户自定义的正则表达式,未配置时回退到默认规则。
2. 增量转存机制的优化
针对用户提出的"从指定集数开始追更"的需求,项目实现了:
-
集数筛选功能:在任务配置中新增start_from参数,支持数字或正则表达式。当设置为数字时,系统只会处理大于等于该数字的集数;设置为正则时,则按表达式匹配文件名。
-
转存记录机制:虽然未采用数据库方案,但通过文件系统状态检查结合正则过滤,实现了轻量级的增量转存逻辑,避免重复处理已转存内容。
3. 路径选择交互增强
原本的手动输入路径方式不够直观,新版本增加了:
-
目录树浏览功能:通过夸克API获取用户网盘目录结构,提供可视化选择界面,同时保留手动输入路径的选项,兼顾不同用户习惯。
-
路径记忆功能:自动记录用户最近使用的路径,提升重复操作时的效率。
技术决策与设计考量
-
兼容性优先原则:所有新增功能都确保不影响现有用户的配置和使用习惯,变更都是可选的增强而非强制修改。
-
轻量化架构:考虑到工具的定位和使用场景,选择基于文件系统的方案而非引入数据库,保持了部署的简便性。
-
正则表达式为核心:坚持将正则匹配作为基础能力,通过增强正则的灵活性来满足多样化的需求,而非为每个特定场景开发独立功能。
使用建议与最佳实践
-
对于剧集转存,推荐命名规则模板:
正则: .*?(S\d{1,2}E)?P?(\d{1,4}).*?\.(mp4|mkv) 替换: $TASKNAME-S01E\2.\3
-
处理已有文件重命名时,应在正则中包含可能的前缀,避免重复添加:
错误示例: .*?(\d+)\.mp4 → 前缀-$1.mp4 正确示例: (前缀-)?.*?(\d+)\.mp4 → 前缀-$2.mp4
-
当需要从特定集数开始时,两种实现方式:
- 设置start_from为具体数字
- 使用正则限定集数范围,如"(1[0-9]{2}|[2-9]\d)"表示100集以上
未来发展方向
虽然当前版本已解决大部分用户需求,但仍有一些潜在改进空间:
- 转存任务的历史记录与回溯能力
- 更智能的文件冲突检测与处理
- 批量操作性能优化
- 跨平台支持与移动端适配
该项目通过持续迭代,展示了如何平衡用户需求与技术可行性,为开发者提供了很好的渐进式演进范例。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考