 rootandClaude Opus 5.5
|
9fffee16c8
|
perf(db): 标题模糊匹配改用 % 运算符走 trigram 索引,巡检回填加部分索引,删除无用索引
- 别名 / 资源标题模糊匹配原来写 similarity(x, q) >= t,函数调用用不上 trigram 索引;改为
x % q and similarity(x, q) >= t(% 缺省阈值 0.3 不高于各处阈值,结果相同)。source_release 标题搜索
在部署规模(8440 行)从约 75 ms 降到 0.7 ms
- 调度器每 15 秒的巡检回填原来整扫 scheduled_job_run:迁移 0089 加部分索引 scheduled_job_run_harvest_idx
- 迁移 0089 删除没有任何查询会用到的 content_unit_air_date_idx;镜像带 pg_stat_statements 时建扩展,
没有或权限不够时跳过,不让迁移失败
- gen:types 跳过扩展自带的视图(public.pg_stat_statements)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 20:24:07 +08:00 |
|
 rootandClaude Opus 5.5
|
ad472a1a19
|
feat(db): 统一元数据缓存层 MetadataCache
- 两级:L1 进程内存(按 region 限条数的 LRU、5 分钟)+ L2 PG kv_cache;读 L1 → L2 → 源,写两级
- 迁移 0086:kv_cache 加 fresh_until(过期先用旧值的宽限期)与 pinned(LRU 淘汰跳过);新表 cache_stat 按天 × region 汇总命中
- stale-while-revalidate:宽限期 = TTL 的 50%(上限 7 天),旧值先返回、同 key 后台只刷一次,刷新失败继续用旧值并记警告
- 同进程同 key 并发只回源一次;回源抛错不缓存;PG 读写失败按未命中 / 不写处理
- PgCache.delete / clear 发 pg_notify(umt_cache_invalidate),listenCacheInvalidation 收到后丢 L1;监听在线才启用 L1,断线停用、重连后整体清空
- PgCache.get 只认新鲜条目,getEntry 带回旧值;renew 只续新鲜条目并可标 pinned
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 19:37:06 +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 |
|
 rootandClaude Opus 5.5
|
01c68f9771
|
feat(contracts): 日志列表 / 日志流与资源监控契约,审计新增登录失败
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 17:58:08 +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
|
1c1a954703
|
feat(整理): 问题在整理记录就地处理,识别失败自动叫智能体识别
- 整理记录「需要处理」:列表 attention 筛选与统计同口径(没被后来的整理取代,且有未关闭事项或失败 / 部分完成未忽略),
记录带 attention(原因类别、精简事项、能否让智能体识别);忽略端点记 attention_cleared_at(迁移 0078)并关闭关联事项
- 识别失败(organize_identity)按 agent.autoIdentifyOrganize 自动派一次识别会话;新能力 organize.assign_identity
指定作品后复用人工指定的钩子路径自动重新整理,只放行本事项的识别会话与用户对话;整理记录里可手动「让智能体识别」
- GET /attention:整理需要处理条数、等你批准的智能体操作、系统健康问题(铃铛 / 首页 / 运行状态共用)
- 原因码文案不再指向待处理;命令面板「待处理」换成「需要处理的整理记录」
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 16:47:18 +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
|
3f6d8e410f
|
feat(集数映射): 作品季集结构字段(迁移 0075)、剧集组接口契约与按 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
|
0088c1c9e7
|
feat(sites): 站点请求失败留样(site_failure_sample,每站最近 5 份)
- 迁移 0077 新表 site_failure_sample:类型(parse_error / challenge)、请求类型、脱敏 URL、状态码、
关键响应头、错误文案、命中规则、脱敏页面开头(≤ 64 KB);样本几十 KB,不放进每条请求都读的 site.config
- 适配器 onFailureSample 回调接到 runtime.siteAdapter,异步写入并删到最近 5 份,写失败只记日志
- GET /sites/{id}/failure-samples(不带正文)与 /failure-samples/{sampleId}(带正文)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 15:41:00 +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
|
ee503dd1ea
|
merge: fix/i-scrape
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 23:50:29 +08:00 |
|
 rootandClaude Opus 5.5
|
74f2c7649e
|
feat(db): 待处理新增「下载器连不上」「下载目录读不到容量」两类(迁移 0073)
decision.kind 增加 downloader_offline / cache_volume_unknown,契约、原因文案与界面标签同步;
volume_state_unknown 的原因文案改为「下载目录读不到容量」并指向路径映射与容器挂载。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 23:20:28 +08:00 |
|
 rootandClaude Opus 5.5
|
cdf62dbf02
|
feat(scrape): 入库后自动刮削缺省开启,没排上时在整理记录上记「未刮削(原因)」
- scrape_record 状态加 skipped(迁移 0074);目标不在媒体库、库根只登记、作品没有 TMDB id 也没有本地元数据、排队失败时
留一条挂在整理记录上的「未刮削」记录(同原因只记一次),设置关闭不记;
- 缺省开启 scrapeAfterImport,只对有 TMDB id 或本地元数据的作品排;
- 已结束记录重放与收尾同一口径补排刮削(按整理记录幂等);
- 整理详情「整理后刮削」显示未刮削原因,并列出失败与非预期跳过(缺元数据、认不出集号)的文件。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 23:19:28 +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
|
15d7f2ec2f
|
merge: fix/b-download
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 21:23:04 +08:00 |
|
 rootandClaude Opus 5.5
|
3904abc472
|
feat(db): download_task 增加缺席记录与代数字段(迁移 0067)
missing_since / missing_count 记录 qB 里连续查不到的起点与轮数;generation 记录 removed 行复活次数,用于完成事件幂等键换代。contracts DownloadTask 同步为可选字段。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 21:20:08 +08:00 |
|
 rootandClaude Opus 5.5
|
b3555c04b5
|
merge: fix/e-scrape
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 21:17:16 +08:00 |
|
 rootandClaude Opus 5.5
|
dbbf39eda4
|
feat(scrape): 覆盖方式加「更新」并设为缺省,季集缺元数据不写占位,作品类型判定统一
- 每次写入在 scrape_record.files[].hash 记 sha256;update 模式只覆盖本工具写过且没被改过的文件,
被改过的跳过(scrape_user_modified),内容没变不重写(scrape_unchanged),旧记录无 hash 按修改时间兜底;
迁移 0070 给 scrape_record.mode 加 update,设置缺省改为 update(旧值照旧有效)
- 季 / 集单元缺元数据时按 TMDB id 现取季详情补齐;仍缺跳过(scrape_metadata_missing)并记 partial,不写占位 NFO
- scrapeKindOf 统一作品类型判定,合集 / 其他类作品 NFO 根元素为 <movie>;TMDB 映射按作品类型过滤 entity_type
- 兜底异常记 scrape_internal_error 并保留已写文件结果
- 新增 scheduleEntityRescrape(刮削过的作品延后排 update 重刮,排队记录合批防抖)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 21:04:57 +08:00 |
|
 rootandClaude Opus 5.5
|
0744be5c68
|
整理:卡住记录巡检重投、库根离线暂停、排除视频开待处理、Move 后补移除 qB 任务
- 巡检(挂在"补提交与补入库"):running 且无活跃 verifyAndImport 运行超过 30 分钟的记录以 record:<id>
重新入队(迁移 0069 记 requeue_count / requeued_at),重投 3 次仍卡住 → 未完成文件记失败、记录收尾、
开 organize_stalled 待处理
- executeRecord 库根离线 / 建目标目录失败不再抛错耗尽重试:记录保持 running 写原因、开待处理
(library_root_offline:<根> 复用规划期同一事项),任务按等待收尾;离线记录每 5 分钟重投、不计上限,
恢复后清原因并关闭离线事项
- 排除的待确认视频统一开 organize_excluded 待处理,记录原因 excluded_unresolved
- Move 后移除 qB 任务抽成 removeMovedDownload:重放已结束记录与巡检都会对 move 成功但未移除的下载任务再试;
修正"下次同步重试"的误导日志
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 20:59:06 +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
|
691671a1d2
|
feat(identity): 识别接入集数解析——映射规则表、规范季集写回解析结果、待确认不建单元并开待处理、规则失效停用、按作品重算
迁移 0066_episode_mapping。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-03 18:03:32 +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
|
59b3680f35
|
feat(subtitles): 字幕站(SubHD、字幕库)在线搜索与下载;rar / 7z 解压;验证码与页面解析在沙箱里
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-03 02:28:29 +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
|
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
|
4b11c2466e
|
test: 登记 subtitle_write 表、来源枚举与 subtitles 模块
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-03 01:18:34 +08:00 |
|
 rootandClaude 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 |
|
 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
|
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
|
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
|
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
|
135c50048f
|
feat(downloads): 多下载器路由:默认下载器、站点指定下载器、别名
照 MP(chain/download/submission.py:明确指定 or 站点下载器 or 默认):
- 迁移 0063:downloader_instance.is_default(至多一个,唯一索引)、site.downloader_instance_id
- pickInstance:明确指定 > 站点指定 > 默认 > 第一个可用;自动下载(gates)与手动下载共用
- 设置:下载器名称改称别名,新增「设为默认下载器」;站点编辑新增「下载器」选择
- 测试 downloader-routing.test.ts
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 20:32:29 +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
|
f5bc6e9c40
|
fix(scrape): 整理后刮削照 MP 对作品目录刮,集只刮本次整理的文件
原地入库逐个文件排刮削,单文件刮削只写该集,剧集根目录(tvshow.nfo、海报、季海报)与季目录
(season.nfo)没有元数据。照 MP ScrapingChain.scrape_metadata_event:按作品目录分组,目录元数据照常
初始化,集只刮本次文件;复制 / 移动同样改为只刮本次文件(此前刮整个作品目录)。
- 迁移 0062:scrape_record.videos(null = 目录下全部)
- queueScrape 支持 videos;同目录排队中还没开始的刮削合成一批(有一方刮全部则刮全部)
- 作品详情「重新刮削」与文件管理刮削不变(目录下全部)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-02 18:20:52 +08:00 |
|
 rootandClaude 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 |
|
 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
|
87bf33b42b
|
feat(scrape): 任意目录就地刮削,按路径识别作品,每次刮削一条记录(SCR-2)
- POST /files/scrape 改为对目录 / 视频文件刮削:已登记用作品,否则按路径识别(本地 + TMDB),
认不准返回候选,选定后再提交;未登记直接用 TMDB 字段,addToLibrary 顺手建作品
- 作品详情重新刮削、入库后自动刮削改为对作品目录刮削,同一实现
- 迁移 0058_scrape_record 替代 media_scrape;GET /files/scrape-records
- 与 MP ScrapingChain 的文件布局差分(7 个场景,3 处登记偏离)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-10-01 00:08:17 +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 |
|
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 |
|
 rootandClaude Opus 5.5
|
f38eca419e
|
feat(server): scrapeMedia 刮削任务,入库后自动刮削(SCR-1)
- 文件道任务 scrapeMedia:NFO 原子写入、图片经图片缓存下载(并发 4,失败不阻塞 NFO)、只补缺失 / 全部覆盖
- 设置 organize.scrapeAfterImport / scrapeMode / scrapeImages / scrapeEpisodeThumbs
- POST /library/{id}/scrape、详情 scrape 状态;files/scrape writeNfo 与 scrape-batch write 走同一任务
- 迁移 0057_media_scrape、原因码、审计 organize.scrape
- 与 MP 输出的 NFO 差分测试(apps/server/test/scrape)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-09-30 22:36:14 +08:00 |
|
 rootandClaude Fable 5.1
|
b137f365c5
|
chore(release): v0.3.5
Co-Authored-By: Claude Fable 5.1 <[email protected]>
|
2026-09-30 21:39:55 +08:00 |
|
 rootandClaude Fable 5.1
|
5ddc88d928
|
chore(release): v0.3.4
Co-Authored-By: Claude Fable 5.1 <[email protected]>
|
2026-09-30 19:56:29 +08:00 |
|
 rootandClaude 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 |
|
 rootandClaude Fable 5.1
|
04460fa98e
|
chore(release): v0.3.2
Co-Authored-By: Claude Fable 5.1 <[email protected]>
|
2026-09-30 03:29:04 +08:00 |
|