Files
UHD_Media_Tool/docs/plan/README.md
T
2026-10-07 01:02:45 +08:00

3.2 KiB
Raw Blame History

计划与待办

这里只放正在推进的计划和待办。做完的计划、验收和发布记录直接删除,版本变化只记在 CHANGELOG;需要追溯时查 git 历史(2026-10-02 清理前的全部过程文档在 ceb66f8)。

文档放哪

内容 位置
需求基线 media_automation_requirements_architecture_v0.7.md
架构决策 docs/adr/
设计规范(界面、领域) docs/design/
怎么用、怎么运维 docs/runbook/(开发环境见 dev.md,部署见 deploy.md)
与 MoviePilot 的业务对照(持续维护) docs/porting/moviepilot-v3-comparison.md 及同目录各移植文档
版本变化 仓库根 CHANGELOG.md,每个版本几行;发布前必须写好(deno task release 会检查)
经验教训 lessons.md
证据、截图、构建日志 .local/(不进 git)

当前状态

  • 版本 v0.3.36,本机测试环境已部署。
  • 开发与发布约定见仓库根 CLAUDE.md。

待办

按需要再挑,挑中后在这里写清:从哪触发、最终看到什么、哪些失败需要人工处理、用什么样本验收。

工程

  • BrowserService(apps/server/src/modules/browser/service.ts,约 2300 行)仍是单个类。纯函数已移到 session-view.ts;Cloudflare 挑战流程(beginChallenge~fetchSiteHtml,约 400 行)要拆成独立协作对象,需要先把它用到的私有方法改成公开接口,下次改挑战流程时做。
  • 超长函数:planImport(organize-plan.ts,约 830 行)、finalizeRecord(organize-finalize.ts,约 460 行)、OrganizeWizard 组件(约 800 行)。文件已按阶段拆开,函数内部等改到相关逻辑时再拆,不单独重构。

进行中

  • 系统梳理后的待办:system-review.md,T0~T6 按优先级。
  • 补字幕:subtitles.md,第 1、2 步已完成;待办:以后接进整理 / 订阅工作流。
  • 沙箱第二批:站点网页、RSS、网页抓取的 HTML / XML 解析迁入常驻子进程池(ADR-005)。

业务(需要真实环境或决定)

  • R06 通用 HTTP 失败转浏览器:要先定"哪些失败转浏览器、每站每小时上限、失败后怎么提示",再实现;真实 Cloudflare 挑战需要一个会触发挑战的站点账号验收。
  • R21 缓存阈值里未纳管占用的专项验收:需要在真实下载盘上放一批不归本工具管理的文件,观察暂停 / 恢复水位。
  • 四站与真实下载、媒体服务器的完整验收:需要真实站点账号、qB 与 Emby / Jellyfin 实例。

观察项

  • test/e2e/continuous-series.test.ts「另一版本延后」2026-10-02 全量跑时偶发等待超时 1 次。已核实不是业务竞争(reserve() 在 Slot 行锁内复核单元重叠,冲突即延后);单跑 4 次、3 份 / 8 份并发均未复现,疑为负载下评估任务重试退避超过 60s 等待。再出现时保留 .local/test-logs/ 日志再查。