root and Claude Opus 5.5
c30a758a74
feat(subtitles): 字幕库验证码由智能体视觉接管;字幕站原站视图下载当前字幕
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-03 11:43:08 +08:00
root and Claude Opus 5.5
023063edf4
docs(subtitles): SubHD 复测通过,验证码二三层兜底暂缓
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-03 11:27:47 +08:00
root and Claude Opus 5.5
59b3680f35
feat(subtitles): 字幕站(SubHD、字幕库)在线搜索与下载;rar / 7z 解压;验证码与页面解析在沙箱里
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-03 02:28:29 +08:00
root and Claude Opus 5.5
eeec91e892
feat(sandbox): 不可信字节在沙箱子进程里解析(撤销权限、超时与内存强杀);种子、文件预览、字幕解析迁入
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-03 01:44:31 +08:00
root and Claude Opus 5.5
ef29bd62ce
feat(subtitles): 补字幕第 1 步——上传字幕 / zip,识别语言与季集,配对写入视频同目录,历史与撤销
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-03 01:08:05 +08:00
root and Claude Opus 5.5
ed083fd138
feat(subscriptions): 按 MP 收敛订阅默认值与表单
...
- 定时主动搜索默认关(DEFAULT_SEARCH_INTERVAL_HOURS = 0),新建 / 手动照常各搜一次,之后靠 RSS 与站点快照
- 多版本自动补全系统缺省改为关
- 表单:基础页 = 作品与范围、下载、洗版;收录版本、优先级、自动补全折叠到进阶页「多版本」
- 对照文档 §7.3 记录落实范围
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-02 22:34:48 +08:00
root and Claude Opus 5.5
9856ed8d5e
docs(porting): 订阅 MP 场景对照(第 7 节,待讨论)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-02 18:22:37 +08:00
root and Claude Opus 5.5
501b4eb403
docs: 待办收尾,补测试与代码布局约定
...
- 待办:任务恢复边界、注册断言、测试装配去重、大文件拆分、MP 对照 6.4 已完成并移除;
BrowserService 类拆分与超长函数写明暂缓原因;真实环境验收列出所需条件;
continuous-series 偶发超时改为观察项(已核实不是业务竞争)
- CLAUDE.md:test/support、contracts api/ 与整理服务的文件布局、起子进程的测试进串行组
- lessons 第 26 条:检查命令不接管道
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-02 17:40:43 +08:00
root and Claude Opus 5.5
b61335eaf6
test: 测试按行为命名、server 测试统一到 test/、PG 测试分组并行
...
- server 的 src/modules/*/__tests__ 挪到 test/<模块>/;e2e 去掉 eN- 前缀,
w5a2 / v2 / search2 / *-dh1 / *-md1 / *-md2、web 的 agui3 / search2、domain 的 id2 / id3 改为按行为命名
- vitest 分三组:unit、pg(真实 PG + 假引擎,文件并行,最多 6 个)、serial(真实引擎 / worker / e2e,串行);
pg 组用例超时放宽到 60s(迁移类用例并行时排队等 schema 锁)。server 测试 615s → 约 350s
- CLAUDE.md 补测试约定;待办补 harness 去重与 continuous-series 偶发超时(疑似 Slot 评估竞争)
- ADR-004 补充:维持 Deno,记录实际只用到 --allow-run 白名单
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-02 16:54:04 +08:00
root and Claude Opus 5.5
b343dddbf6
docs: 清理过程文档,CHANGELOG 补齐 0.3.8–0.3.14
...
- 删除 docs/plan 下 00–18 的计划、评审、验收、发布记录与升级证据,docs/spikes 与 spikes 验证代码
(保留 spikes/movieclaw-src 本地克隆),以及 4 份一次性审查 / 调研;全部可在 ceb66f8 查到
- MP 对照移到 docs/porting/moviepilot-v3-comparison.md;经验教训改为 docs/plan/lessons.md(补第 25 条)
- docs/plan/README.md:文档放哪、当前状态、待办
- 引用改写:代码注释指向在维护的文档,其余注明已删除与 git 位置;清掉原有 6 个失效链接
- README 开头改为当前状态与入口;CHANGELOG 补齐 0.3.8–0.3.14 与工程变更
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-02 16:08:09 +08:00
root and Claude Opus 5.5
11ca2f01ff
chore: 一键检查、发布脚本与开发环境约定
...
- deno task test:all(scripts/test-all.sh):逐包跑完再汇总,连不上测试库直接失败,
web 用 Node 跑 vitest;deno task ci 改用它
- deno task release(scripts/release.sh):工作区不干净、CHANGELOG 无本版条目即拒绝;
打 tag、构建、只替换 app、核对健康接口版本
- deno task dev:up:起开发库并迁移到最新;开发 API 端口改 4390(4380 留给本机部署版)
- CLAUDE.md:命令、提交与发布约定、文档放哪
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-02 16:08:09 +08:00
root and Claude 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
root
a9511a75f6
Merge branch 'id3'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
# Conflicts:
# CHANGELOG.md
2026-10-01 00:15:49 +08:00
root and Claude Opus 5.5
bca9ecb6cf
docs(identity): ID-3 escalation chain, triggers and list IDs
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-01 00:15:20 +08:00
root
44f7c88be6
Merge branch 'scr2'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
# Conflicts:
# CHANGELOG.md
# apps/server/src/modules/file-manager/routes.ts
2026-10-01 00:09:01 +08:00
root and Claude Opus 5.5
c29e6a12d3
docs(scrape): SCR-2 就地刮削运行手册与 MP 差分表
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-01 00:08:17 +08:00
root and Claude Fable 5.1
e7e202fdc2
Merge branch 'his1'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 23:57:39 +08:00
root and Claude Opus 5.5
76433dd43f
docs(organize): MP history comparison and changelog (HIS-1)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 23:57:19 +08:00
root and Claude Fable 5.1
a9e6e6c36a
docs(plan): identification escalation via detail-page IDs (ID-3)
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 23:28:39 +08:00
root and Claude Fable 5.1
f60254e265
docs(plan): SCR-2 scrape in place like MP; HIS-1 organize history parity
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 23:21:35 +08:00
root
511ad93077
Merge branch 'search4'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
# Conflicts:
# docs/plan/00-first-version-plan.md
2026-09-30 22:41:26 +08:00
root and Claude Opus 5.5
acab4cc6bb
docs(search): MP facet comparison table and changelog (SEARCH-4)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 22:40:55 +08:00
root
2e83107f68
Merge branch 'scr1'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
# Conflicts:
# CHANGELOG.md
# docs/plan/00-first-version-plan.md
2026-09-30 22:36:46 +08:00
root and Claude Opus 5.5
0e8bb6967d
docs: 刮削运行手册与 CHANGELOG(SCR-1)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 22:36:14 +08:00
root and Claude Fable 5.1
c3b25be676
docs(plan): align search filters with MP (SEARCH-4)
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 22:12:38 +08:00
root and Claude Fable 5.1
b3775dff1b
docs(plan): scraping not implemented yet (SCR-1)
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 21:28:04 +08:00
root
1ce937345e
Merge branch 'cf2'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
# Conflicts:
# docs/plan/00-first-version-plan.md
2026-09-30 21:27:34 +08:00
root and Claude Opus 5.5
c38ac2a85c
docs: CF-2 出口表、Cloudflare 级联运维与插件点击核验
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 21:26:54 +08:00
root and Claude Fable 5.1
c9f559e702
docs(plan): DET-2 results and follow-ups
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 20:50:19 +08:00
root
389c49dd12
Merge branch 'det2'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
# Conflicts:
# packages/adapters/src/sites/definitions/audiences.json
# scripts/mp-sync/movieclaw-overrides/audiences.json
2026-09-30 20:50:04 +08:00
root and Claude Opus 5.5
92830c3ef3
fix(adapters): 观众详情页按真实页面适配(DET-2)
...
- 促销:详情 h1 是 font.free / font.halfdown 等 + 剩余时间 span[title],新增 umt.detail.promo 覆盖列表促销字段(以前一律判成无促销并覆盖列表的免费)
- 标题去掉 h1 里的「剩余时间:」;发布时间不再取标题区的促销到期时间
- 做种 / 下载 / 完成数、种子 Hash:umt.detail.fields.seeders / leechers / snatched / infoHash
- 副标题去掉评分徽标;标签只取最内层;上传者取 span.torrent-uploader-wrap,标签精确匹配(避开「发布者带宽」)
- 简介:去掉站点声明(page.descriptionStrip)与 MediaInfo 控件(codetop / show / hide),源码换行不再算一行
- 截图排除豆瓣海报与站点横幅
- 列表副标题改取 span.torrent-subtitle-text(以前前面粘着标签文字)
- 脱敏真实样本:详情 2 页进 differential/detail.test.ts,列表 1 页进 MP 差分
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 20:49:29 +08:00
root and Claude Opus 5.5
2bd5b77b98
docs(design): CF-1 Cloudflare challenge handling research
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 20:21:28 +08:00
root and Claude Fable 5.1
93475f80e6
docs(plan): HC-1, DET-2, CF-1 items
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 20:09:53 +08:00
root and Claude Fable 5.1
322ecb2f8c
docs(lessons): stray dev servers rewrite deno.lock
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 20:00:05 +08:00
root and Claude Opus 5.5
6f450ed329
fix(web): 运行状态页进程名统一全角括号,io 改称后台任务(FIX-9)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 19:30:12 +08:00
root and Claude Fable 5.1
cdff88dcc9
docs(plan): uniform inspection cards (FIX-9)
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 19:18:04 +08:00
root and Claude Fable 5.1
395417f298
chore(release): v0.3.3
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 19:10:41 +08:00
root
15cec13f42
Merge branch 'ag5'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
# Conflicts:
# CHANGELOG.md
# apps/server/src/modules/agent/runner.ts
# packages/agent/src/index.ts
# packages/agent/src/system-prompt.ts
2026-09-30 18:48:24 +08:00
root and Claude Opus 5.5
9962494936
docs(agent): prompt layering, skill authoring and eval runbook
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 18:47:15 +08:00
root
6f5371be2d
Merge branch 'meta2'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
# Conflicts:
# CHANGELOG.md
2026-09-30 18:40:42 +08:00
root and Claude Opus 5.5
9489e40e0c
feat(identity): source-aware short-drama enrichment with snippet mode and hit rate (META-2)
...
- classify enrich sources: encyclopedia, platform pages (hongguo, kuaikaw, video
platforms), douban (search snippet only) and other sites' search snippets
(snippet mode, pages never opened); one extractor per source, fields carry
source kind and confidence, merged by noisy-OR across hosts
- new cast field (applied as MediaCredit with placeholder ids)
- robots.txt check (cached per host 1 day) and login-wall/captcha give-up
- per-enrichment source attempts + GET /identity/enrich-stats, 30-day hit-rate
table under settings -> metadata -> identity
- setting identity.enrichSnippetAllSites (default on); default domains add
baike.com and kuaikaw.cn
- replay fixtures from the real run on the 4 user-library short dramas
(sanitized Brave responses, hongguo page, robots.txt)
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 18:40:19 +08:00
root
09bac0ea39
Merge branch 'ag4'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
# Conflicts:
# CHANGELOG.md
2026-09-30 18:21:57 +08:00
root and Claude Opus 5.5
f4a7fa863e
docs(agent): AG-4 runbook and changelog (spawn dedupe, subagent language, session stats)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 18:05:12 +08:00
root and Claude Opus 5.5
1fcfcac885
feat(browser): keep sessions alive during desktop, takeover and agent use (AG-4)
...
camofox reaps a tab after TAB_INACTIVITY_MS (5 min) without API tool calls;
desktop-mode input goes straight to Selkies and screenshots don't count, so
tabs disappeared under the user during takeover.
- BrowserKeepalive (in-process): sessions held by an open desktop WebSocket
(ref-counted), a human takeover lease, or a running/queued agent run that
used browser.* get a keepalive every BROWSER_KEEPALIVE_MS (default 120s,
0 = off). Holds are re-checked each round; release/lease expiry/agent end/
session close stop it and camofox reaps as usual.
- Keepalive call: camofox 1.17 has no keepalive/touch endpoint and /stats does
not bump toolCalls; use GET /tabs/{id}/downloads without includeData/consume
(read-only metadata). Goes through BrowserService.run so restarts or reaped
tabs self-heal via BR-3 reconnect; no lastAutomationAt, no control needed.
- Runbook browser.md §12, deploy env table, compose env; tests against the
testkit mock camofox.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 18:05:12 +08:00
root and Claude Fable 5.1
afe30a2255
Merge branch 'md2'
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 18:04:39 +08:00
root and Claude Opus 5.5
f9901b514b
feat(metadata): overview falls back to Chinese variants only (MD-2)
...
- adapters: overviewLanguages() limits overview/tagline chain to Chinese
variants (zh-CN→zh-SG→zh-TW→zh-HK); titles keep full chain; season
supplement fetch skips languages useless for overview
- setting metadata.overviewNonChineseFallback (default off) + UI switch
- media detail shows "暂无简介" for empty entity/episode overview
- scripts/overview-recompute.ts: recompute stored non-Chinese overviews
from kv_cache only (no TMDB requests), dry-run by default, --apply
- tests: chain unit tests, Heart Signal (103147) fixture, server
recompute test, MP differential for episode overview
- runbook + CHANGELOG
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 18:04:23 +08:00
root and Claude Fable 5.1
0023872b9b
docs: agent report anti-sample and AG-5 plan
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 17:45:41 +08:00
root and Claude Fable 5.1
081db4651c
docs(plan): overview language fallback (MD-2) and loose-ends decisions
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 17:41:14 +08:00
root and Claude Fable 5.1
d251098471
docs(lessons): restore deno.lock before image builds
...
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-09-30 03:34:49 +08:00
root and Claude Opus 5.5
9ea0d6bed1
docs(browser): BR-4 runbook for browser identity, UA priority, migration, CF cookies, egress
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-09-30 03:17:13 +08:00