Files
UHD_Media_Tool/packages/adapters/src/qbittorrent
rootandClaude Opus 5.5 19f7bd0330 fix(download): 下载器离线与下载目录读不到容量开待处理,季包暂停添加后选文件
- M5:单个下载器连续 10 分钟连不上开 downloader_offline(按实例去重),恢复连接后自动关闭
- M3:下载目录读不到容量按卷开 critical 的 cache_volume_unknown,读到后关闭;面板单独显示
  「下载目录读不到」不再归为等空间;cache.threshold 不再把未知当 0%
- M4:季包 / 多集包 .torrent 暂停添加、磁力用「拿到元数据后停止」,选完文件再恢复;文件清单
  拿不到时留给同步重试,超过 10 分钟整包下载并记 file_list_timeout
- L1:提交 commit 时锁计划复核仍是 reserved,被取消的不写回 submitted,qB 里刚加的任务暂停、
  去掉管理标签并打 <管理标签>-cancelled
- L3:已收单未确认的提交在同步首次看到任务时补调 afterDownloadAccepted
- L4:排队中(queuedDL)的纳管任务一并受阈值暂停
- L6:停用的下载器上还有在下的任务时仍同步这些任务(不接管新任务、不开离线事项)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
2026-10-03 23:20:29 +08:00
..

qbittorrent

qBittorrent WebUI API v2 适配(QbClient 实现 DownloaderClient,按实例创建,DownloaderRegistry 管多实例):Cookie 登录与会话过期自动重登、API Key(Bearer)、torrents/add(磁力/URL/.torrent,savepath/category/tags/paused+stopped/rename/contentLayout,autoTMM 固定关闭)、torrents/info(hashes/tag/category/filter,多标签子集过滤)、files、filePrio、pause/resume(5.x 自动切到 stop/start)、标签增删与定义删除、delete(deleteFiles 必须显式;deleteFiles:true 必须给每个 hash 附 SafeDeleteCheck,未通过 assertSafeToDeleteData——路径在任何库根内/是库根上级、未验证入库、库根为空——即抛 unsafe_delete 且不发请求)、setForceStart/recheck/setLocation/setCategory/限速与分享限制、只读偏好、sync/maindata、app/version。错误统一为 DownloaderError(auth/network/timeout/notfound/rate/rejected/protocol/unsafe_delete),读请求按配置重试,写请求不自动重试。submit() 本地算 infohash(bencode 自写)→ 预查已存在 → 提交 → 按 hash 或探针标签确认;收单超时/断连时先回查再给结论(added/already_exists/accepted_unconfirmed/rejected/unreachable)。状态映射与完成判定对照 MoviePilot,未知状态不兜底为完成。

仅对 mock 与官方 API 文档验证,未连接真实实例。