bili-sync icon indicating copy to clipboard operation
bili-sync copied to clipboard

🤖 AI增强版 bili-sync - 功能更新与修复记录

Open qq1582185982 opened this issue 6 months ago • 45 comments

🤖 AI增强版 bili-sync - 功能更新与修复记录

📋 项目简介

这是基于原版 bili-sync 的AI增强fork版本,专注于快速响应用户需求和功能改进。

🔗 项目地址: https://github.com/qq1582185982/bili-sync-01

⚠️ 重要声明

🔧 技术说明

  • 使用AI编程辅助开发,代码未经人工深度review
  • 与原作者无关,所有修改和新增功能均为独立开发
  • 与原项目不完全兼容,可能存在配置或数据格式差异

🎯 项目定位

  • 快速响应用户功能需求
  • 实验性功能优先实现
  • 社区驱动的功能改进

✨ 已实现的新功能

🎬 视频管理增强

  • S01E01命名格式 - 合集视频支持电视剧集式命名(如:S01E01 - 视频标题)
  • 移动端显示优化 - 完善响应式布局,改善手机端用户体验
  • 时区同步功能 - 自动处理不同时区的视频发布时间

🔧 技术改进

  • 代码风格优化 - 修复clippy警告,提升代码质量
  • 性能优化 - 数据库查询和索引优化
  • 错误处理增强 - 更好的错误分类和处理机制

📈 功能对比

功能 原版 AI增强版 状态
基础下载功能 兼容
S01E01命名 新增
移动端优化 部分 增强
时区处理 基础 增强
批量处理优化 基础 增强

🚀 近期更新记录

v2.7.2.2 (2025-06-15)

  • ✅ 实现合集S01E01命名格式
  • ✅ 移动端响应式布局优化
  • ✅ 修复clippy代码风格警告
  • ✅ 清理项目文件结构

计划中的功能

  • 🔄 更多视频源支持
  • 🔄 高级过滤和排序选项
  • 🔄 批量操作界面改进
  • 🔄 更多自定义命名模板

🔗 相关Issue引用

以下是本fork版本已修复或改进的相关功能:

  • 合集命名优化 - 实现电视剧集式命名格式
  • 移动端体验 - 解决手机端显示问题
  • 代码质量 - 持续的代码风格和性能优化

📦 快速开始

下载使用

  1. 访问 Releases页面
  2. 下载最新版本
  3. 按照README说明进行配置

从源码构建

git clone https://github.com/qq1582185982/bili-sync-01.git
cd bili-sync-01
cargo build --release

📞 反馈与支持

🐛 问题反馈

如果遇到问题,请在本仓库提交Issue,我会尽快响应。

💡 功能建议

欢迎提出新功能建议,AI辅助开发让功能实现更加快速。

⚡ 响应承诺

  • 一般问题:24-48小时内响应
  • 紧急问题:尽快处理
  • 功能请求:评估后快速实现

🤝 贡献指南

虽然主要使用AI辅助开发,但仍然欢迎社区贡献:

  • 问题报告和功能建议
  • 测试和反馈
  • 文档改进
  • 代码review和建议

📄 许可证

继承原项目许可证,遵循开源协议。


🔗 项目地址: https://github.com/qq1582185982/bili-sync-01
最后更新时间: 2025年6月15日
当前版本: v2.7.2.2
维护状态: 🟢 积极维护中

qq1582185982 avatar Jun 15 '25 04:06 qq1582185982

我这个就是想到啥搞啥😂😂😂😂😂

qq1582185982 avatar Jun 15 '25 04:06 qq1582185982

大佬,添加视频错误,版本的2.7.2image 怎么解决呀

docker?还是? docker使用最新版

qq1582185982 avatar Jun 16 '25 12:06 qq1582185982

Image Image Image Image Image Image Image Image

今天在搞这个 root, 14 小时前 (2025年6月16日 05:19)

fix: 修复P1级内存泄漏问题 - 完全移除Box::leak内存泄漏

🔧 核心修复 移除 video_downloader.rs 中所有 6 处 Box::leak 使用 将生命周期依赖的 Args<'a> 重构为拥有数据的 Args 为 CollectionItem 添加 Clone trait 支持拥有数据模式 📁 修改文件 crates/bili_sync/src/task/video_downloader.rs: 移除 Box::leak,使用拥有数据 crates/bili_sync/src/adapter/mod.rs: Args 枚举重构,移除生命周期参数 crates/bili_sync/src/bilibili/collection.rs: 添加 Clone trait crates/bili_sync/src/workflow.rs: 修复函数调用和所有权传递 ✅ 验证结果 编译通过:cargo check ✅ 内存安全:无 Box::leak 残留 ✅ 功能完整:所有视频源类型正常工作 ✅ 性能影响:微量 clone 开销,显著内存安全提升 ✅ 📊 影响评估 风险等级: 极低(仅内存管理变更) 兼容性: 内部API,无外部影响 内存使用: 从累积泄漏改为按需分配自动释放 代码质量: 提升类型安全和可维护性 已更改 4 个文件, 2950 个插入(+), 2954 个删除(-)

qq1582185982 avatar Jun 16 '25 13:06 qq1582185982

最新的没有这个错误啊 ...

qq1582185982 avatar Jun 17 '25 02:06 qq1582185982

找到问题了 你路径不对啊

services:

  bili-sync:     image: docker.cnb.cool/sviplk.com/docker/bili-sync:latest     # 如果想本地构建,取消注释下面三行     # build:     #   context: .     #   dockerfile: Dockerfile     restart: unless-stopped     network_mode: bridge     # 该选项请仅在日志终端支持彩色输出时启用,否则日志中可能会出现乱码     tty: false     # 非必需设置项,推荐设置为宿主机用户的 uid 及 gid ($uid:$gid)     # 可以执行 id ${user} 获取 user 用户的 uid 及 gid     # 程序下载的所有文件权限将与此处的用户保持一致,不设置默认为 Root     # user: 1000:1000     hostname: bili-sync     container_name: bili-sync     # 程序默认绑定 0.0.0.0:12345 运行 http 服务     ports:       - 25566:12345     volumes:       - /volume1/Cloudreve/OD/20/config:/app/.config/bili-sync       - /volume1/Cloudreve/OD/20:/Downloads

    environment:       - TZ=Asia/Shanghai       - RUST_LOG=None,bili_sync=info       # 可选:设置执行周期,默认为每天凌晨3点执行       # - BILI_SYNC_SCHEDULE=0 3 * * *     # 资源限制(可选)     # deploy:     #   resources:     #     limits:     #       cpus: '2'     #       memory: 2G     #     reservations:     #       cpus: '0.5'     #       memory: 500M

就像这样     volumes:       - /volume1/Cloudreve/OD/20/config:/app/.config/bili-sync       - /volume1/Cloudreve/OD/20:/Downloads

下载时路径 要设置/Downloads为主路径

qq1582185982 avatar Jun 17 '25 02:06 qq1582185982

更新所有配置写入数据库 更新前端设置简化为抽屉样式 打开后随机封面

Image Image Image

qq1582185982 avatar Jun 17 '25 05:06 qq1582185982

  1. 配置管理已完全转移到数据库 │ │ │ │ │ │ │ │ ✅ 配置存储: │ │ │ │ - 使用 ConfigManager 管理所有配置的数据库存储 │ │ │ │ - 配置存储在 config_items 表中 │ │ │ │ - 支持配置变更历史记录(config_changes 表) │ │ │ │ - Config::save() 和 Config::load() 方法已被移除 │ │ │ │ - TOML文件加载仅作为回退机制(load_from_toml 返回默认配置) │ │ │ │ │ │ │ │ ✅ 视频源管理: │ │ │ │ - 所有视频源(收藏夹、合集、UP主投稿、稍后再看、番剧)都存储在数据库 │ │ │ │ - 不再使用配置文件中的视频源配置 │ │ │ │ - 通过Web API进行视频源的增删改查 │ │ │ │ │ │ │ │ 2. 任务队列系统完善 │ │ │ │ │ │ │ │ ✅ 防止数据库锁定: │ │ │ │ 所有配置和视频源操作都通过任务队列: │ │ │ │ - DeleteTaskQueue - 处理删除视频源任务 │ │ │ │ - AddTaskQueue - 处理添加视频源任务 │ │ │ │ - ConfigTaskQueue - 处理配置更新和重载任务 │ │ │ │ - 扫描时的操作会加入队列,扫描完成后统一处理 │ │ │ │ │ │ │ │ ✅ 队列处理机制: │ │ │ │ - API检测到正在扫描时,自动将操作加入对应队列 │ │ │ │ - 每个队列独立处理,避免并发冲突 │ │ │ │ - 任务之间有100ms间隔,防止频繁数据库操作 │ │ │ │ │ │ │ │ 3. 热更新支持 │ │ │ │ │ │ │ │ ✅ 配置热更新: │ │ │ │ - 通过 reload_config_bundle() 从数据库重新加载配置 │ │ │ │ - 使用 ArcSwap 实现无锁配置更新 │ │ │ │ - API更新配置后自动触发重载 │ │ │ │ │ │ │ │ ✅ 凭证自动刷新: │ │ │ │ - BiliClient::check_refresh() 检测凭证过期并自动刷新 │ │ │ │ - 刷新后的凭证通过任务队列保存到数据库(第237-241行) │ │ │ │ - 避免了在扫描过程中的直接数据库写入 │ │ │ │ │ │ │ │ 4. 发现的小问题 │ │ │ │ │ │ │ │ ⚠️ handler.rs中的遗留代码: │ │ │ │ - 第49-55行和2081-2136行有一些注释掉的旧代码 │ │ │ │ - 这些是配置文件相关的函数,虽已注释但未完全清理 │ │ │ │ │ │ │ │ 总结 │ │ │ │ │ │ │ │ 项目已经完全实现了: │ │ │ │ 1. ✅ 所有配置都存储在数据库,不依赖配置文件 │ │ │ │ 2. ✅ 所有配置操作都通过任务队列,防止数据库锁定 │ │ │ │ 3. ✅ 支持配置和凭证的热更新

qq1582185982 avatar Jun 17 '25 09:06 qq1582185982

更新修复文件夹命名问题

修复个别BUG 新增了一些不晓得的BUG🙄

qq1582185982 avatar Jun 17 '25 23:06 qq1582185982

我用的是docker版本v2.7.2.1和v2.7.2.4, 配置文件里面的弹幕透明度设置值范围应该是0-255, 但是webui内编辑这个值上限是100. 导致不能达到一个比较高的透明度. 我需要改成我需要的值,现在都是直接编辑数据库或者修改配置文件.. 希望修复一下

PeggyzZZ avatar Jun 19 '25 04:06 PeggyzZZ

我用的是docker版本v2.7.2.1和v2.7.2.4, 配置文件里面的弹幕透明度设置值范围应该是0-255, 但是webui内编辑这个值上限是100. 导致不能达到一个比较高的透明度. 我需要改成我需要的值,现在都是直接编辑数据库或者修改配置文件.. 希望修复一下

docker 2.7.3版本 命名模板文件分隔符已经不起作用了

Image Image

PeggyzZZ avatar Jun 19 '25 06:06 PeggyzZZ

我用的是docker版本v2.7.2.1和v2.7.2.4, 配置文件里面的弹幕透明度设置值范围应该是0-255, 但是webui内编辑这个值上限是100. 导致不能达到一个比较高的透明度. 我需要改成我需要的值,现在都是直接编辑数据库或者修改配置文件.. 希望修复一下

docker 2.7.3版本 命名模板文件分隔符已经不起作用了

Image Image

确实有问题 已修复还没上传docker 这个最好不要重命名直接开始设置好 这个bug太多了 各种重命名变量互相之间重新命名....坑很多 只修了一些

qq1582185982 avatar Jun 21 '25 15:06 qq1582185982

我用的是docker版本v2.7.2.1和v2.7.2.4, 配置文件里面的弹幕透明度设置值范围应该是0-255, 但是webui内编辑这个值上限是100. 导致不能达到一个比较高的透明度. 我需要改成我需要的值,现在都是直接编辑数据库或者修改配置文件.. 希望修复一下

docker 2.7.3版本 命名模板文件分隔符已经不起作用了

Image Image

Image 新版本推荐这样设置

qq1582185982 avatar Jun 22 '25 03:06 qq1582185982

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

it985 avatar Jun 22 '25 17:06 it985

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

Image

Image 目前订阅up超过30,以后会越来越多

it985 avatar Jun 23 '25 08:06 it985

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

Image

Image 目前订阅up超过30,以后会越来越多

提供一下UP名称我去测试看看

qq1582185982 avatar Jun 23 '25 12:06 qq1582185982

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

Image Image 目前订阅up超过30,以后会越来越多

提供一下UP名称我去测试看看 uid list

  • 10673533
  • 10941893
  • 11252945
  • 1136087954
  • 11473818
  • 1148976599
  • 11605312
  • 11616487
  • 116683
  • 12473905
  • 1308126
  • 1318110277
  • 1323218982
  • 13258564
  • 1338715561
  • 13547157
  • 13574291
  • 13807642
  • 1526101
  • 15385187
  • 154506630
  • 1600113
  • 16539048
  • 16668448
  • 18841842
  • 2009929
  • 21648772
  • 2223018
  • 23400436
  • 250620366
  • 26177922
  • 2691287
  • 27565758
  • 31955376
  • 3314672
  • 354962346
  • 35579222
  • 382894360
  • 3904677
  • 397044296
  • 409793037
  • 433715
  • 49676
  • 5128039
  • 51588985
  • 521444
  • 533996453
  • 632887
  • 6844293
  • 7375428
  • 8366990
  • 848008
  • 8581342
  • 900171

it985 avatar Jun 23 '25 14:06 it985

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

Image Image 目前订阅up超过30,以后会越来越多

提供一下UP名称我去测试看看 uid list

  • 10673533
  • 10941893
  • 11252945
  • 1136087954
  • 11473818
  • 1148976599
  • 11605312
  • 11616487
  • 116683
  • 12473905
  • 1308126
  • 1318110277
  • 1323218982
  • 13258564
  • 1338715561
  • 13547157
  • 13574291
  • 13807642
  • 1526101
  • 15385187
  • 154506630
  • 1600113
  • 16539048
  • 16668448
  • 18841842
  • 2009929
  • 21648772
  • 2223018
  • 23400436
  • 250620366
  • 26177922
  • 2691287
  • 27565758
  • 31955376
  • 3314672
  • 354962346
  • 35579222
  • 382894360
  • 3904677
  • 397044296
  • 409793037
  • 433715
  • 49676
  • 5128039
  • 51588985
  • 521444
  • 533996453
  • 632887
  • 6844293
  • 7375428
  • 8366990
  • 848008
  • 8581342
  • 900171

知道问题了 现在是并行获取所有up的所有视频信息所以越多越容易触发风控 改代码改成串行

qq1582185982 avatar Jun 23 '25 21:06 qq1582185982

希望增加删除记录功能,刚刚测试了一下,发现没有地方删除

Image

SeanChengN avatar Jun 24 '25 03:06 SeanChengN

希望增加删除记录功能,刚刚测试了一下,发现没有地方删除

Image

单独删除?

qq1582185982 avatar Jun 24 '25 03:06 qq1582185982

希望增加删除记录功能,刚刚测试了一下,发现没有地方删除 Image

单独删除?

是的,单独删除某个视频,因为我已经在收藏夹中移除了,但是bilisync中还是能看到

SeanChengN avatar Jun 24 '25 06:06 SeanChengN

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

Image Image 目前订阅up超过30,以后会越来越多

提供一下UP名称我去测试看看 uid list

  • 10673533
  • 10941893
  • 11252945
  • 1136087954
  • 11473818
  • 1148976599
  • 11605312
  • 11616487
  • 116683
  • 12473905
  • 1308126
  • 1318110277
  • 1323218982
  • 13258564
  • 1338715561
  • 13547157
  • 13574291
  • 13807642
  • 1526101
  • 15385187
  • 154506630
  • 1600113
  • 16539048
  • 16668448
  • 18841842
  • 2009929
  • 21648772
  • 2223018
  • 23400436
  • 250620366
  • 26177922
  • 2691287
  • 27565758
  • 31955376
  • 3314672
  • 354962346
  • 35579222
  • 382894360
  • 3904677
  • 397044296
  • 409793037
  • 433715
  • 49676
  • 5128039
  • 51588985
  • 521444
  • 533996453
  • 632887
  • 6844293
  • 7375428
  • 8366990
  • 848008
  • 8581342
  • 900171

知道问题了 现在是并行获取所有up的所有视频信息所以越多越容易触发风控 改代码改成串行

等更新

it985 avatar Jun 24 '25 07:06 it985

收藏的影视无法下载,那些限免的番剧就算有大会员儿也无法下载。

Tianxiaodudou avatar Jun 24 '25 15:06 Tianxiaodudou

收藏的影视无法下载,那些限免的番剧就算有大会员儿也无法下载。

肯定啊 收藏的番剧都无法下载的 需要到番剧那里去添加

qq1582185982 avatar Jun 25 '25 04:06 qq1582185982

希望增加删除记录功能,刚刚测试了一下,发现没有地方删除 Image

单独删除?

是的,单独删除某个视频,因为我已经在收藏夹中移除了,但是bilisync中还是能看到

已添加 请更新最新docker

qq1582185982 avatar Jun 25 '25 04:06 qq1582185982

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

Image Image 目前订阅up超过30,以后会越来越多

提供一下UP名称我去测试看看 uid list

  • 10673533
  • 10941893
  • 11252945
  • 1136087954
  • 11473818
  • 1148976599
  • 11605312
  • 11616487
  • 116683
  • 12473905
  • 1308126
  • 1318110277
  • 1323218982
  • 13258564
  • 1338715561
  • 13547157
  • 13574291
  • 13807642
  • 1526101
  • 15385187
  • 154506630
  • 1600113
  • 16539048
  • 16668448
  • 18841842
  • 2009929
  • 21648772
  • 2223018
  • 23400436
  • 250620366
  • 26177922
  • 2691287
  • 27565758
  • 31955376
  • 3314672
  • 354962346
  • 35579222
  • 382894360
  • 3904677
  • 397044296
  • 409793037
  • 433715
  • 49676
  • 5128039
  • 51588985
  • 521444
  • 533996453
  • 632887
  • 6844293
  • 7375428
  • 8366990
  • 848008
  • 8581342
  • 900171

已修复 请更新最新docker

qq1582185982 avatar Jun 25 '25 04:06 qq1582185982

收藏的影视无法下载,那些限免的番剧就算有大会员儿也无法下载。

肯定啊 收藏的番剧都无法下载的 需要到番剧那里去添加

Image 就算是在番剧那里也是不行的,影视的话番剧那里可以搜索到但是无法添加为任务

Tianxiaodudou avatar Jun 25 '25 04:06 Tianxiaodudou

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

Image Image 目前订阅up超过30,以后会越来越多

提供一下UP名称我去测试看看 uid list

  • 10673533
  • 10941893
  • 11252945
  • 1136087954
  • 11473818
  • 1148976599
  • 11605312
  • 11616487
  • 116683
  • 12473905
  • 1308126
  • 1318110277
  • 1323218982
  • 13258564
  • 1338715561
  • 13547157
  • 13574291
  • 13807642
  • 1526101
  • 15385187
  • 154506630
  • 1600113
  • 16539048
  • 16668448
  • 18841842
  • 2009929
  • 21648772
  • 2223018
  • 23400436
  • 250620366
  • 26177922
  • 2691287
  • 27565758
  • 31955376
  • 3314672
  • 354962346
  • 35579222
  • 382894360
  • 3904677
  • 397044296
  • 409793037
  • 433715
  • 49676
  • 5128039
  • 51588985
  • 521444
  • 533996453
  • 632887
  • 6844293
  • 7375428
  • 8366990
  • 848008
  • 8581342
  • 900171

已修复 请更新最新docker

Image 似乎无法解决

it985 avatar Jun 25 '25 05:06 it985

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

Image Image 目前订阅up超过30,以后会越来越多

提供一下UP名称我去测试看看 uid list

  • 10673533
  • 10941893
  • 11252945
  • 1136087954
  • 11473818
  • 1148976599
  • 11605312
  • 11616487
  • 116683
  • 12473905
  • 1308126
  • 1318110277
  • 1323218982
  • 13258564
  • 1338715561
  • 13547157
  • 13574291
  • 13807642
  • 1526101
  • 15385187
  • 154506630
  • 1600113
  • 16539048
  • 16668448
  • 18841842
  • 2009929
  • 21648772
  • 2223018
  • 23400436
  • 250620366
  • 26177922
  • 2691287
  • 27565758
  • 31955376
  • 3314672
  • 354962346
  • 35579222
  • 382894360
  • 3904677
  • 397044296
  • 409793037
  • 433715
  • 49676
  • 5128039
  • 51588985
  • 521444
  • 533996453
  • 632887
  • 6844293
  • 7375428
  • 8366990
  • 848008
  • 8581342
  • 900171

已修复 请更新最新docker

Image 似乎无法解决

API错误你重置下状态试试

qq1582185982 avatar Jun 25 '25 08:06 qq1582185982

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

Image Image 目前订阅up超过30,以后会越来越多

提供一下UP名称我去测试看看 uid list

  • 10673533
  • 10941893
  • 11252945
  • 1136087954
  • 11473818
  • 1148976599
  • 11605312
  • 11616487
  • 116683
  • 12473905
  • 1308126
  • 1318110277
  • 1323218982
  • 13258564
  • 1338715561
  • 13547157
  • 13574291
  • 13807642
  • 1526101
  • 15385187
  • 154506630
  • 1600113
  • 16539048
  • 16668448
  • 18841842
  • 2009929
  • 21648772
  • 2223018
  • 23400436
  • 250620366
  • 26177922
  • 2691287
  • 27565758
  • 31955376
  • 3314672
  • 354962346
  • 35579222
  • 382894360
  • 3904677
  • 397044296
  • 409793037
  • 433715
  • 49676
  • 5128039
  • 51588985
  • 521444
  • 533996453
  • 632887
  • 6844293
  • 7375428
  • 8366990
  • 848008
  • 8581342
  • 900171

已修复 请更新最新docker

Image 似乎无法解决

检查下你的登陆access_key是否过期

qq1582185982 avatar Jun 25 '25 08:06 qq1582185982

当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供

Image Image 目前订阅up超过30,以后会越来越多

提供一下UP名称我去测试看看 uid list

  • 10673533
  • 10941893
  • 11252945
  • 1136087954
  • 11473818
  • 1148976599
  • 11605312
  • 11616487
  • 116683
  • 12473905
  • 1308126
  • 1318110277
  • 1323218982
  • 13258564
  • 1338715561
  • 13547157
  • 13574291
  • 13807642
  • 1526101
  • 15385187
  • 154506630
  • 1600113
  • 16539048
  • 16668448
  • 18841842
  • 2009929
  • 21648772
  • 2223018
  • 23400436
  • 250620366
  • 26177922
  • 2691287
  • 27565758
  • 31955376
  • 3314672
  • 354962346
  • 35579222
  • 382894360
  • 3904677
  • 397044296
  • 409793037
  • 433715
  • 49676
  • 5128039
  • 51588985
  • 521444
  • 533996453
  • 632887
  • 6844293
  • 7375428
  • 8366990
  • 848008
  • 8581342
  • 900171

已修复 请更新最新docker

Image 似乎无法解决

检查下你的登陆access_key是否过期

更新之后,还是一样的

it985 avatar Jun 25 '25 10:06 it985