🤖 AI增强版 bili-sync - 功能更新与修复记录
🤖 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版本已修复或改进的相关功能:
- 合集命名优化 - 实现电视剧集式命名格式
- 移动端体验 - 解决手机端显示问题
- 代码质量 - 持续的代码风格和性能优化
📦 快速开始
下载使用
- 访问 Releases页面
- 下载最新版本
- 按照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
维护状态: 🟢 积极维护中
我这个就是想到啥搞啥😂😂😂😂😂
大佬,添加视频错误,版本的2.7.2
怎么解决呀
docker?还是? docker使用最新版
今天在搞这个 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 个删除(-)
最新的没有这个错误啊 ...
找到问题了 你路径不对啊
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为主路径
更新所有配置写入数据库 更新前端设置简化为抽屉样式 打开后随机封面
- 配置管理已完全转移到数据库 │ │ │ │ │ │ │ │ ✅ 配置存储: │ │ │ │ - 使用 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. ✅ 支持配置和凭证的热更新
更新修复文件夹命名问题
修复个别BUG 新增了一些不晓得的BUG🙄
我用的是docker版本v2.7.2.1和v2.7.2.4, 配置文件里面的弹幕透明度设置值范围应该是0-255, 但是webui内编辑这个值上限是100. 导致不能达到一个比较高的透明度. 我需要改成我需要的值,现在都是直接编辑数据库或者修改配置文件.. 希望修复一下
我用的是docker版本v2.7.2.1和v2.7.2.4, 配置文件里面的弹幕透明度设置值范围应该是0-255, 但是webui内编辑这个值上限是100. 导致不能达到一个比较高的透明度. 我需要改成我需要的值,现在都是直接编辑数据库或者修改配置文件.. 希望修复一下
docker 2.7.3版本 命名模板文件分隔符已经不起作用了
我用的是docker版本v2.7.2.1和v2.7.2.4, 配置文件里面的弹幕透明度设置值范围应该是0-255, 但是webui内编辑这个值上限是100. 导致不能达到一个比较高的透明度. 我需要改成我需要的值,现在都是直接编辑数据库或者修改配置文件.. 希望修复一下
docker 2.7.3版本 命名模板文件分隔符已经不起作用了
![]()
确实有问题 已修复还没上传docker 这个最好不要重命名直接开始设置好 这个bug太多了 各种重命名变量互相之间重新命名....坑很多 只修了一些
我用的是docker版本v2.7.2.1和v2.7.2.4, 配置文件里面的弹幕透明度设置值范围应该是0-255, 但是webui内编辑这个值上限是100. 导致不能达到一个比较高的透明度. 我需要改成我需要的值,现在都是直接编辑数据库或者修改配置文件.. 希望修复一下
docker 2.7.3版本 命名模板文件分隔符已经不起作用了
![]()
新版本推荐这样设置
当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
目前订阅up超过30,以后会越来越多
当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
目前订阅up超过30,以后会越来越多
提供一下UP名称我去测试看看
当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
![]()
目前订阅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主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
![]()
目前订阅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的所有视频信息所以越多越容易触发风控 改代码改成串行
希望增加删除记录功能,刚刚测试了一下,发现没有地方删除
希望增加删除记录功能,刚刚测试了一下,发现没有地方删除
单独删除?
希望增加删除记录功能,刚刚测试了一下,发现没有地方删除
单独删除?
是的,单独删除某个视频,因为我已经在收藏夹中移除了,但是bilisync中还是能看到
当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
![]()
目前订阅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的所有视频信息所以越多越容易触发风控 改代码改成串行
等更新
收藏的影视无法下载,那些限免的番剧就算有大会员儿也无法下载。
收藏的影视无法下载,那些限免的番剧就算有大会员儿也无法下载。
肯定啊 收藏的番剧都无法下载的 需要到番剧那里去添加
希望增加删除记录功能,刚刚测试了一下,发现没有地方删除
单独删除?
是的,单独删除某个视频,因为我已经在收藏夹中移除了,但是bilisync中还是能看到
已添加 请更新最新docker
当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
![]()
目前订阅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
收藏的影视无法下载,那些限免的番剧就算有大会员儿也无法下载。
肯定啊 收藏的番剧都无法下载的 需要到番剧那里去添加
就算是在番剧那里也是不行的,影视的话番剧那里可以搜索到但是无法添加为任务
当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
![]()
目前订阅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
似乎无法解决
当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
![]()
目前订阅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
似乎无法解决
API错误你重置下状态试试
当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
![]()
目前订阅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
似乎无法解决
检查下你的登陆access_key是否过期
当up主订阅过多时,会处罚风控导致一直下载不了,数量大概是30以上,已设置相关防风控的设置,如需要,可提供
![]()
目前订阅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
似乎无法解决
检查下你的登陆access_key是否过期
更新之后,还是一样的