 rootandClaude Opus 5.5
|
6549ab92c3
|
fix(media): 详情页标语只显示简体中文,简中没有时不显示
- adapters 新增 simplifiedChineseTagline:取值语言为繁中 / 非中文、或文字是繁体特有字时不显示;原语言为中文(zh / cn)的作品按简中处理
- TMDB 富详情带回 taglineLanguage;发现页详情的 tagline 按上述口径给出
- 媒体库作品详情新增 displayTagline(存储的标语语言为 null,只能按文字判断);metadata.tagline 存储不变
- 补 adapters 单测与作品详情接口测试
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 01:32:00 +08:00 |
|
 rootandClaude Opus 5.5
|
88c1e3aedb
|
chore(release): v0.3.36
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 01:02:45 +08:00 |
|
root
|
339105e151
|
merge: feat/alist-storage
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
# Conflicts:
# packages/adapters/deno.json
|
2026-10-07 00:48:53 +08:00 |
|
 rootandClaude Opus 5.5
|
521c86d730
|
fix(storage): 本地写入口拒绝 Alist 虚拟路径,补字幕在 Alist 库根上明确失败
虚拟前缀 /@alist/… 读到本地是 ENOENT,但 mkdir -p、复制 / 移动目标、写文件、回收站落点会在本机真建出
/@alist 并写入文件。统一守卫:任何本地写类操作参数是虚拟路径即抛 REMOTE_PATH_ON_LOCAL_FS
(remote_path_on_local_fs),不落盘。
- adapters:fs/remote-guard.ts,接在 runFsOp、FsProxy.run(父进程拒绝不起子进程)、copyWithVerify、
crossDeviceMove、moveSafe、commitNoClobber、sweepStalePartials、writeRootSentinel
- server:storage/local-fs.ts 带守卫的写函数,整理 / 替换 / 刮削 / 回收站 / 上传 / 字幕 / vfs 本地分支改用它
- 补字幕目标在 Alist 媒体库上返回失败原因,撤销同样拒绝
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 00:35:41 +08:00 |
|
 rootandClaude Opus 5.5
|
fed2202e74
|
test(storage): 真实 OpenList 往返测试与 alist-e2e 验收脚本
- packages/adapters alist.real.test.ts:上传 / 冲突 / 同驱动与跨驱动复制移动 / 下载比对(环境变量开启)
- apps/server alist-organize.real.test.ts:本地 → OpenList(整理复制)→ 本地(移动)→ OpenList 内整理
- scripts/alist-e2e.ts:对任意地址 + 令牌或账号密码跑往返,退出码表示是否全部通过
- 写后目标暂不可见时刷新父目录列表(OpenList 的 get 不认 refresh)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 00:01:27 +08:00 |
|
 rootandClaude Opus 5.5
|
c2bf8a071a
|
feat(storage): 存储实例与 Alist 虚拟路径(迁移 0090、设置接口、注册表、vfs、健康检查)
- storage_instance 表 + secret 用途 storage_credential;令牌 / 密码 / 路径密码只写不读
- /storage-instances CRUD 与测试连接(版本、用户、根路径、容量);被库根引用不能删
- 远端路径 /@alist/<id>/<路径>,vfs 统一本地 / Alist 的 stat、列目录、建目录、读写、移动、删除
- 整理矩阵中涉及 Alist 的传输(storage/transfer.ts)与远端 ffprobe(直链只读头)
- 媒体库目录可登记在 Alist 上(不写哨兵,目录可访问即在线);健康检查列出存储实例
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 23:52:20 +08:00 |
|
 rootandClaude Opus 5.5
|
3f5227654e
|
chore(release): v0.3.35
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 23:40:41 +08:00 |
|
 rootandClaude Opus 5.5
|
5ff24110f8
|
feat(adapters): Alist / OpenList 客户端与测试用模拟服务
登录(永久令牌优先、账号密码换令牌缓存、401 自动重登)、list 分页、get/raw_url、mkdir/rename/remove、
copy/move 轮询异步任务与暂存目录改名、上传(三种哈希一遍读出、临时名、空闲超时、退避重试、As-Task)、
下载(Range 续传、直链过期重取、临时文件改名)、容量、每实例限速与脱敏。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 23:20:09 +08:00 |
|
 rootandClaude Opus 5.5
|
55733cded0
|
chore(release): v0.3.34
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 21:02:24 +08:00 |
|
 rootandClaude Opus 5.5
|
384ea3d8d6
|
chore(release): v0.3.33
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 20:09:55 +08:00 |
|
 rootandClaude Opus 5.5
|
680419bb64
|
feat(scrape): TMDB 标志写 clearlogo.png
- 富详情请求加 images(include_image_language=zh,en,null),作品原语言不是中英文时另取 /images;
选一张 PNG 标志(原语言 → 中文 → 英文 → 无文字,同语言按评分)存作品字段 logoPath,变化时触发重刮
- 刮削布局新角色 clearlogo:电影写影片目录 clearlogo.png、剧集写剧集根目录,库根 / 平铺电影 <视频名>-clearlogo.png;
覆盖方式与 hash 规则同其它图片
- 布局金样差分登记偏离 tmdb_clearlogo;mock TMDB 支持 logos 与 /images
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 19:37:34 +08:00 |
|
 rootandClaude Opus 5.5
|
1dca95f883
|
feat(cache): TMDB / 豆瓣 / Bangumi 接入统一元数据缓存与策略表
- 策略表「来源 × 资源类型」(metaCachePolicy):搜索 / 识别 7 天(空 1 天)、详情 / 季 / 剧集组 30 天(空 1 天)、
榜单 / 热门 / 每日放送 6 小时(空 1 小时)、人物 / 图片 90 天;取值来自 storage.cacheTtl,
追加 tmdbListHours / tmdbListEmptyHours / imageDays / metaDetailDays / metaMissDays,metaSearchDays 缺省改 7 天
- TMDB 客户端共享缓存端口加 fetch(带请求类别与空结果判定),服务端整条读取交给 MetadataCache;
识别缓存、douban.request / bangumi.request、douban.subject / bangumi.subject、meta.subject_miss、discover.match 都走这一层
- 豆瓣 / bgm 条目只在「不存在」时记查无,网络失败 / 被拦不缓存(本进程冷却 30 分钟)
- 关注中作品(isEntityWatched 口径,含选中的剧集组)的 TMDB 条目写入 pinned、命中续期
- 各进程启动 LISTEN 失效通知并每分钟把命中计数写 cache_stat;GET /cache/regions 给元数据 region 带近 7 天命中统计
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 19:37:34 +08:00 |
|
 rootandClaude Opus 5.5
|
0f656f0f58
|
chore(release): v0.3.32
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 18:58:53 +08:00 |
|
root
|
b32d5c028a
|
merge: ui2/t-discover
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
# Conflicts:
# packages/adapters/src/tmdb/index.ts
|
2026-10-06 18:34:12 +08:00 |
|
 rootandClaude Opus 5.5
|
9c5f04b02f
|
feat(tmdb): 多语言保留规则——译名 / 别名只留简繁中文、英文与原语言
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 18:14:54 +08:00 |
|
 rootandClaude Opus 5.5
|
e46eb0e3c3
|
feat(adapters): TMDB 列表与筛选、豆瓣榜单 / 标签 / 筛选 / 搜索、bgm 浏览与趋势,豆瓣 / bgm 请求缓存端口
- TMDB:流行趋势(日 / 周)、电影 / 剧集榜单、discover 参数映射、分页搜索;列表类请求 TTL 6 小时
- 豆瓣 / bgm:列表与搜索请求经 MetaRequestCache 与限流,失败(403 / 风控页)不缓存
- contracts:发现页条目、分页、查询校验与筛选字典;storage.cacheTtl 追加 meta* 字段
- testkit:mock TMDB 加列表接口
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 18:04:43 +08:00 |
|
 rootandClaude Opus 5.5
|
81405f1e94
|
chore(release): v0.3.31
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 17:22:49 +08:00 |
|
 rootandClaude Opus 5.5
|
731336ccb1
|
chore(release): v0.3.30
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 16:14:15 +08:00 |
|
 rootandClaude Opus 5.5
|
02b9773047
|
merge: fix/p-episode-groups
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 16:02:17 +08:00 |
|
 rootandClaude Opus 5.5
|
5434ae8ee8
|
feat(tmdb): 剧集组列表与详情适配(组序号即季号,保留 TMDB 原季集号)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 15:45:12 +08:00 |
|
 rootandClaude Opus 5.5
|
1779e1a0f2
|
fix(adapters): 识别 200 状态的挑战 / 人机验证页,解析失败前兜底,失败页面留样
- detectChallenge 支持页面类请求(GET + Accept text/html)的 2xx 响应:正文只先读 256 KB,
短页且没有种子表 / 用户信息块时,认 Cloudflare 挑战标题 / 脚本与 Turnstile / hCaptcha / reCAPTCHA 门页;
带登录表单的页面不算门页。非页面请求不读正文
- siteFetch 用上面的判定;挑战错误附脱敏页面样本,文案带级联结果(x-umt-challenge)
- spider 适配器:认不出列表 / 详情时先看是不是人机验证页,是就报 challenge(「搜索页需要人机验证」),
不再报改版;parse_error / challenge 都经 deps.onFailureSample 交出脱敏样本(前 64 KB,去掉个人信息块、
passkey / authkey / uid / 用户名 / Cookie / 邮箱)
- classifyChallengePage 也认门页(浏览器过挑战时不再把门页当已通过)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 15:35:31 +08:00 |
|
 rootandClaude Opus 5.5
|
4fa001750b
|
chore(release): v0.3.29
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 12:39:07 +08:00 |
|
 rootandClaude Opus 5.5
|
fb6c76875c
|
chore(release): v0.3.28
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-04 00:10:13 +08:00 |
|
 rootandClaude Opus 5.5
|
385933968f
|
merge: fix/h-visibility
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 23:41:48 +08:00 |
|
 rootandClaude Opus 5.5
|
dca3012227
|
fix(identity): 识别缓存不把一次指定扩散给不相容的同名资源,召回详情失败不写负缓存(H2、M8)
回填只认用户本人的指定,资源没有年份、或作品年份 / 类型与资源不相容时不回填;
读缓存时核对条目与资源的年份(±1,剧集允许更晚)与类型,不相容按未命中处理,
命中后的唯一候选仍经 resolveIdentity 按资源年份 / 类型打分。
TMDB 召回中有候选拉详情失败时,这一轮无匹配不算结论,不写负缓存。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 23:31:06 +08:00 |
|
 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 |
|
 rootandClaude Opus 5.5
|
0085e45ca7
|
chore(release): v0.3.27
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 21:49:03 +08:00 |
|
 rootandClaude Opus 5.5
|
6b19cede62
|
chore(release): v0.3.26
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 20:08:42 +08:00 |
|
 rootandClaude Opus 5.5
|
c30a758a74
|
feat(subtitles): 字幕库验证码由智能体视觉接管;字幕站原站视图下载当前字幕
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-03 11:43:08 +08:00 |
|
 rootandClaude Opus 5.5
|
227f7ea4f9
|
chore(release): v0.3.24
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-03 02:42:05 +08:00 |
|
 rootandClaude Opus 5.5
|
92d456d123
|
chore(release): v0.3.23
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-03 02:06:23 +08:00 |
|
 rootandClaude Opus 5.5
|
eeec91e892
|
feat(sandbox): 不可信字节在沙箱子进程里解析(撤销权限、超时与内存强杀);种子、文件预览、字幕解析迁入
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-03 01:44:31 +08:00 |
|
 rootandClaude Opus 5.5
|
1a76d2d700
|
chore(release): v0.3.22
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-03 01:30:32 +08:00 |
|
 rootandClaude Opus 5.5
|
feee481915
|
chore(release): v0.3.21
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-03 00:54:04 +08:00 |
|
 rootandClaude Opus 5.5
|
c29dbb4376
|
feat(sites): 公开 BT 站详情(简介、文件清单、bgm 条目);修 AniBT 资源 ID 带 - 时判非法
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-03 00:43:25 +08:00 |
|
 rootandClaude Opus 5.5
|
06ba0711e2
|
chore(release): v0.3.20
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-03 00:26:32 +08:00 |
|
 rootandClaude Opus 5.5
|
8da8679a04
|
chore(release): v0.3.19
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 23:49:15 +08:00 |
|
 rootandClaude Opus 5.5
|
653bdcb976
|
fix(sites): 憨憨详情页按真实结构解析豆瓣块与 MediaInfo
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 23:29:19 +08:00 |
|
 rootandClaude Opus 5.5
|
df22200bfd
|
chore(release): v0.3.18
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 23:19:24 +08:00 |
|
 rootandClaude Opus 5.5
|
b42543e6f3
|
chore(release): v0.3.17
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 22:34:58 +08:00 |
|
 rootandClaude Opus 5.5
|
709414778e
|
feat(identity): 豆瓣 / bgm.tv 辅助信息源与发现页
- adapters/meta:bgm.tv 官方 API(条目 / 搜索 / 每日放送)与豆瓣移动版接口(条目 / 实时热门)
- 识别升级链:豆瓣条目缓存没有时在线查;AniBT 的 bgm ID、公开 BT 站标题搜 bgm → 名称 + 年份匹配 TMDB(季条目去季名与年份)
- 条目缓存 30 天,查不到 6 小时负缓存;测试进程缺省不出外网
- 发现页:bgm 每日放送、豆瓣热门电影 / 剧集,点条目匹配 TMDB 作品
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 21:30:16 +08:00 |
|
 rootandClaude Opus 5.5
|
b8876542b8
|
feat(sites): 内置公开 BT 站 Nyaa / 蜜柑 / AniBT / AnimeGarden / 萌番组
- 新专用解析器(spiders/public.ts):RSS / Torznab / JSON API,搜索 + 最新列表 + 按资源 ID 取种子或磁力
- 手写定义(definitions/public.ts,public: true),并入内置定义表;定义视图按 public 标为 public_bt
- 添加站点:公开 BT 站可从内置站一键添加(专用适配器、默认定时抓取、默认不进搜索集合),手填 RSS 保留
- 样例取自 2026-10-02 公开接口,截前两条
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 21:19:19 +08:00 |
|
 rootandClaude Opus 5.5
|
9cdf492291
|
fix(sites): OurBits 详情页按 BBCode 解析简介
OurBits 的简介在 div.ubbcode 里是未渲染的 BBCode(站点前端脚本渲染),按 HTML 取文本后
[quote] / [img] / [url] 原样留下、换行全被合并。extractDetailPage 遇到 ubbcode 容器且内容带 BBCode 标记时,
改用 pageFromBbcode 取简介 / 截图 / MediaInfo(换行保留),发布者、文件、标签与页面上的外部 ID 照旧。
覆盖层补 fileListPath(viewfilelist.php),与憨憨一样按需取文件列表。脱敏样例 OURBITS_DETAIL_PAGE + 测试。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 20:59:41 +08:00 |
|
 rootandClaude Opus 5.5
|
ff79554a09
|
chore(release): v0.3.16
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 20:43:06 +08:00 |
|
 rootandClaude Opus 5.5
|
64e1dfb1d2
|
fix(sites): 按真实列表页修正 OurBits / 彩虹岛 / 憨憨 解析
2026-10-02 用真实账号各抓一次列表页与用户页(只读)核对:
- OurBits:标题列嵌套 table.torrentname 有 5 个 td,td:nth-child(n) 先命中嵌套格子,
大小全为 0、发布时间 N/A;改为只匹配行的直接子单元格。副标题原取成标签块,改为标签之后的正文;
新增标签与列表页 IMDb / 豆瓣 ID(label.imdb_rate / douban_rate 的 data 属性)
- 彩虹岛:font.subtitle 去掉前面的 div.tag 与末尾徽标,标签单独取
- 憨憨:新增列表标签(span.tag,不含促销)
- 纯数字 IMDb ID 补成 tt + 7 位(imdbIdOf)
- 用户页核对:下载量为 0 是站点实际显示(VIP),解析正确;上传量四站与页面一致
- 脱敏样例 sites-2026.ts + 定义测试;差分登记 23 条有意偏离(新增 labels、OurBits 副标题)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 20:16:27 +08:00 |
|
 rootandClaude Opus 5.5
|
cac1833f53
|
chore(release): v0.3.15
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 18:35:41 +08:00 |
|
 rootandClaude Opus 5.5
|
ceb66f8c77
|
feat: v0.3.8–v0.3.14 工作区汇总(依赖升级、整理来源、手动入库、原地入库等)
生产 v0.3.8~v0.3.13 均由 8013196 加工作区修改构建部署,此前未提交;本提交补齐源码,
并含未部署的 v0.3.14 原地入库。中间各版本源码状态未保存,无法逐版拆分,详见
docs/plan/17-full-upgrade.md 与 docs/plan/18-organize-release.md。
- v0.3.8 全面升级:Deno workspace 依赖、Router 8 / Vite 8、camofox 1.18.0 / Node 24、
PostgreSQL 18.6、备份客户端 18.6、演示 qB 5.2.4
- v0.3.9 媒体整理:分类规则、整理来源与目录快照(0059)、文件管理整理入口
- v0.3.10 手动下载与入库:独立手动下载、详情页资源下载、TMDB / Local 元数据兜底
(metadata.resolve_organize)、正常多版本 / 一次性洗版(0060)
- v0.3.11 搜索详情与桌面黑边修复
- v0.3.12 列表分页、搜索历史、首页概况
- v0.3.13 统一整理弹窗与队列
- v0.3.14 原地入库(0061,未部署)
同批审计修复:
- 刮削入队:确认原记录存在后才删重放产生的新记录;写回 run 关联失败时保持 queued,
由处理器补关联(对齐 MP 先登记、只在入队失败时记失败)
- 识别升级链只在结果更确定时采用,不再用 no_match 顶替原有歧义候选
- bluray_dir 资产以原盘目录本身为刮削根(MP 同做法)
- metadata.resolve_organize 登记到入库排障 Skill 与能力地图
- db/src/types.ts 按迁移重新生成;contracts 整理动作枚举顺序与数据库对齐
- 测试:原地入库用例改为直接查记录表;domain 测试模板补 version
- 前端:通知铃铛弹层与用户菜单统一样式;站点卡片共用卡头、底栏贴底、分页间距
依赖升级证据只提交摘要文件,registry-snapshot.json 移至 .local/(SHA-256 记于文档)。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 15:47:17 +08:00 |
|
 rootandClaude Fable 5.1
|
8013196e3f
|
chore(release): v0.3.7
Co-Authored-By: Claude Fable 5.1 <[email protected]>
|
2026-10-01 00:28:04 +08:00 |
|
 rootandClaude Opus 5.5
|
cba214e93e
|
feat(sites): extract douban IDs from list rows (audiences) (ID-3)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-01 00:15:20 +08:00 |
|
 rootandClaude Fable 5.1
|
006549a49f
|
chore(release): v0.3.6
Co-Authored-By: Claude Fable 5.1 <[email protected]>
|
2026-09-30 22:53:47 +08:00 |
|