Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
4.0 KiB
4.0 KiB
计划与待办
这里只放正在推进的计划和待办。做完的计划、验收和发布记录直接删除,版本变化只记在 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.31,本机测试环境已部署。
- 开发与发布约定见仓库根 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 行)。文件已按阶段拆开,函数内部等改到相关逻辑时再拆,不单独重构。
进行中
- 界面第二轮:ui-round-2.md,5 路并行,用户最后验收。
- 下一轮(界面第二轮合并后):
- 统一元数据缓存:TMDB / 豆瓣 / Bangumi 共用「来源 × 资源类型」TTL 策略;进程内存一级 + PG
kv_cache二级,LISTEN/NOTIFY 跨进程失效;过期先用旧值后台刷新;关注中作品续期不淘汰、进入关注时预热(各季、剧集组、图片);同请求合并;按 region 统计命中率。刮削顺带接 TMDBlogos写clearlogo.png。fanart.tv 暂不接(用户 2026-10-06 定)。 - 生命周期事件与功能模块约定:广播事件 + 链式钩子(参考 MoviePilot EventType / ChainEventType),功能清单给智能体,前端插槽默认显示、不做开关;补字幕迁为样板。
- 统一元数据缓存:TMDB / 豆瓣 / Bangumi 共用「来源 × 资源类型」TTL 策略;进程内存一级 + PG
- 系统梳理后的待办: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/日志再查。