root
|
6dab134617
|
fix(mteam): follow subtitle download redirects without forwarding credentials
|
2026-11-06 00:11:08 +08:00 |
|
root
|
173f2e24c9
|
feat(subtitles): connect M-Team search and download to online workflow
通过既有provider表复用M-Team站点适配器的凭据、UA和共享限流;搜索只返回稳定字幕ID,下载签名现场获取,沿用沙箱解析、写入历史与撤销。迁移0096扩展字幕来源,schema反射同步。独立测试库验证M-Team真实API形状与旧字幕来源。参考:MoviePilot v3.2.4 app/modules/indexer/spider/mtorrent.py。
|
2026-11-06 00:09:56 +08:00 |
|
root
|
7e4cdbf5ba
|
fix(sites): sync user parsers with MoviePilot v3.2.4
参考:docs/porting/moviepilot-downloader-and-sites.md。按GPLv3公开行为维护TS,补齐UUID身份、专站做种入口与汇总、用户资料回退及刷新边界;不引入上游源码或加密站点数据。
|
2026-11-06 00:06:46 +08:00 |
|
root
|
c38e7131f1
|
feat(sites): sync MoviePilot v3.2.4 spiders and M-Team subtitle APIs
|
2026-11-06 00:06:12 +08:00 |
|
root
|
3b9376c75a
|
chore(toolchain): upgrade Bun to 1.4.4 and migrate console to TanStack Router
|
2026-11-06 00:02:36 +08:00 |
|
root
|
b44ebc2ba1
|
fix(sites): preserve remote throttling reasons and HTTP diagnostics
行为对照:MoviePilot v3.2.4,6ca7b294/f4a68f36;复用现有站点共享桶,明确频控按远端秒数冷却,错误标题脱敏;修复有界响应读取对单个大数据块的限制。
|
2026-11-06 00:02:10 +08:00 |
|
root
|
238d1e67b7
|
chore(release): v0.3.47
|
2026-10-13 20:42:44 +08:00 |
|
root
|
f3d28f056b
|
test(contracts): generate typed record samples from schemas
|
2026-10-13 20:41:14 +08:00 |
|
root
|
ee0d62ae6f
|
fix(identity): persist verified auxiliary season mappings and reuse source ids
|
2026-10-13 20:35:51 +08:00 |
|
root
|
b7883eaf4f
|
feat(organize): expose recovery facts and retain original request on retries
|
2026-10-13 20:24:22 +08:00 |
|
root
|
80151077a9
|
chore(release): v0.3.46
|
2026-10-13 16:51:02 +08:00 |
|
root
|
e874247e7c
|
fix(organize): resume original imports after episode corrections
|
2026-10-13 16:50:51 +08:00 |
|
root
|
679389f854
|
fix(organize): 按真实文件样本验证并保存季集映射
|
2026-10-13 15:52:51 +08:00 |
|
root
|
7639c115de
|
chore(release): v0.3.45
|
2026-10-13 14:37:21 +08:00 |
|
root
|
27c0f27434
|
refactor(core): migrate to Bun and converge acquisition policies and Agent boundaries
|
2026-10-13 14:37:03 +08:00 |
|
 rootandClaude Opus 5.5
|
0d796d92ef
|
chore(release): v0.3.44
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 17:32:34 +08:00 |
|
 rootandClaude Opus 5.5
|
edbfdde29f
|
merge: main(v0.3.43)进 identify-words
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 17:03:35 +08:00 |
|
 rootandClaude Opus 5.5
|
63e94b308e
|
feat(identify-words): 识别词——全局识别词(MP 语法)+ 作品识别词(季集换算),规则页「识别词」页签
- 新表 identify_words(0094):全局一块 + 每部作品一块原文,带版本与审计;episode_mapping_rule 转成文本行后删表
- 全局识别词移植 MP WordsMatcher(屏蔽 / 替换 / 集数偏移 / 替换+偏移 / {[tmdbid=…]}),所有按标题 / 文件名识别的地方解析前套用,命中的行记在解析结果上;保存后后台按改动行重新识别
- 作品识别词:S02 >> S01 EP+24 / S01E13 >> S00E01 / S01 @组 >> 忽略,解析器 + 打印器 + 编译;发布组繁简视为同一个
- 去掉规则自动停用:算出来对不上季表只待确认,要停用就注释掉那一行
- 集数待确认的采用 / 忽略与智能体 apply_rule 改为往作品识别词追加一行(带来历注释)
- 编辑器可视化 / 文本两种模式改同一份原文,保存前试算;作品页「集数映射」用同一个编辑器
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 17:03:00 +08:00 |
|
 rootandClaude Opus 5.5
|
ae137fd0ce
|
fix(identity): 不凭资源标题造结构外的季;刷新时收掉结构外的临时季;v0.3.43
药屋少女的呢喃:发布者把第二、三期写成 S02/S03,TMDB 连续编在第 1 季,资源懒建出第 2、3 季。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 16:54:22 +08:00 |
|
 rootandClaude Opus 5.5
|
12f8fc59c3
|
fix(identity): 季范围资源只建第一季;刷新时退役空的临时季;v0.3.42
药屋少女的呢喃:一条「S01-S24 季度全24集」的资源按季范围建出 S04–S24 二十一个空季。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 15:27:21 +08:00 |
|
 rootandClaude Opus 5.5
|
1ade49fe8e
|
chore(release): v0.3.41
智能体抽屉读 ?open= 上下文、回复链接用抽屉地址;抽屉打开不亮焦点框;语句统计重复 key。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 14:39:24 +08:00 |
|
root
|
67f6fb48ac
|
merge: pi-durable(智能体运行时迁到 pi-durable 1.1 + pi-ai 1.1)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
# Conflicts:
# CHANGELOG.md
|
2026-10-08 13:59:32 +08:00 |
|
 rootandClaude Opus 5.5
|
7c5215663d
|
feat(agent): 运行时内部错误上报到日志(onReport)
- PiAgentRuntimeOptions.onReport:本次运行扩展的系统提示 section、能力工具、beforeTool / beforeRequest 钩子抛错
先上报(runId + 位置 + 脱敏信息)再原样抛出;pi-durable 的 Harness onReport 也接进来(source=harness)
- server runner / 视觉子流程用 runtimeReporter 写 warn 日志
- 测试:钩子抛错时上报带 runId 与位置、信息已脱敏,调用照常被 block
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 13:58:55 +08:00 |
|
 rootandClaude Opus 5.5
|
3692793dff
|
feat(agent): 抽屉与会话页统一成一个对话界面,子会话在父会话里实时可见
- 抽屉和会话页渲染同一套 GoalComposer / AgentRunPanel;抽屉标题即最近会话切换,
头部只有新对话、在页面打开、关闭;去掉右下角悬浮按钮和最小化小窗
- 会话列表合一:对话与巡检混排带类型小标签,搜索 + 一个状态下拉,只列顶层会话
(GET /agent/runs?roots=true,新增可选参数)
- 子会话卡片:由镜像的 subagent_* 事件折成,显示任务、状态、当前步骤、用时、调用次数、费用,
可展开看过程、可打开;顶部「N 个子会话运行中」跳到卡片;subagent_completed 加可选 durationMs
- 回答去内部字段:汇报规则禁止照抄键值与字段表;展示层 stripInternalFields 把字段行 / 字段表移进技术信息
- 开场建议按页面给 2 条完整问法、点了直接发;指令只留 /先给方案,/重跑 改成「重新运行」按钮
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 13:56:38 +08:00 |
|
 rootandClaude Opus 5.5
|
003815591c
|
feat(agent): 运行时从 pi-agent-core 0.99.2 迁到 pi-durable 1.1.0 + pi-ai 1.1.0
- PiAgentRuntime 改用 pi-durable Harness:每个 run 一个 JSONL 存储目录 sessionDir/<runId>/ + root 对话;
系统提示 / 能力工具 / 白名单与预算钩子装在每次运行自己的扩展里;watchEvents 翻译成 AgentRunEvent
- 挂起(工具内 close)立即封口,调用保持未完成,重开后 resume 重放;replayGate 用调用级 memo
- 旧格式 <runId>.jsonl 打开时抛 LegacySessionError;skills 加载与 <skill> 块格式内置(源自 pi-agent-core,MIT)
- tool_call_end 新增可选 durationMs;用量取 pi.usage 合计(整段会话总量)
- Azure provider 改名 azure,迁移 0093 改存量;移除 pi-agent-core,锁 pi-durable/pi-ai/chord 1.1.0
- 文档:ADR-003、pi-providers、runbook、agent README、CHANGELOG
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 13:42:36 +08:00 |
|
 rootandClaude Opus 5.5
|
dd0f6e2c09
|
chore(release): v0.3.40
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 12:51:57 +08:00 |
|
 rootandClaude Opus 5.5
|
4866e735c8
|
fix(episode): 半转正的临时季也进季表;迁移 0091 补做 DH-1 前漏掉的季集转正
兰香缘等 26 部:季单元是资源懒建的临时单元,TMDB 集已挂在下面成了正式单元,
季单元没转正,季表丢掉整季,资源全成「元数据未覆盖」。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 12:36:32 +08:00 |
|
 rootandClaude Opus 5.5
|
8ff1817845
|
fix(sources): 快照开始前收尾本站遗留的运行中记录;v0.3.39
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 03:39:00 +08:00 |
|
 rootandClaude Opus 5.5
|
47ca8886b1
|
chore(release): v0.3.38
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-08 02:43:14 +08:00 |
|
 rootandClaude Opus 5.5
|
d842bb7fb4
|
chore(release): v0.3.37
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 02:52:37 +08:00 |
|
 rootandClaude Opus 5.5
|
be6349bbae
|
文案(详情页):按 human-copy 过一遍;智能体提示去掉已取消的待处理中心
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 02:52:35 +08:00 |
|
 rootandClaude Opus 5.5
|
1d62f65b14
|
copy: 调查目标保持与提示词同口径(待处理事项);同步下载盘、整理状态、运行记录等断言
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 02:25:10 +08:00 |
|
 rootandClaude Opus 5.5
|
25d0a074ca
|
copy: 巡检目标与引擎统计摘要去掉「待处理」;格式化改动文件
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 02:11:33 +08:00 |
|
 rootandClaude Opus 5.5
|
148b12f279
|
copy(server,contracts): 按各路术语建议统一用词
下载盘、页面验证、站点页、交给智能体、后台任务、提供方、凭证、其他、抓取间隔、
需要处理的事项、候选作品 / 匹配到多部作品、作品(不叫条目)、挂载点、下载中;
识别查询不再说「远端」,回收站与收录版本提示去掉公文腔;数据保留标签与设置页一致;同步断言。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 02:10:19 +08:00 |
|
root
|
8a9cbaff6a
|
Merge branch 'main' into copy/c6
|
2026-10-07 02:05:16 +08:00 |
|
 rootandClaude Opus 5.5
|
c7a7d7ec2c
|
copy(server): 刮削原因与登录提示补改;同步数据清理、整理守卫等断言
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 02:05:14 +08:00 |
|
 rootandClaude Opus 5.5
|
b752ce26f7
|
copy(contracts): 设置校验、事件说明与 API 摘要统一术语
恢复水位 / 硬阈值 → 恢复线 / 暂停线;库根、哨兵、Feed、快照、建档、纳管等按术语表改。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 01:52:24 +08:00 |
|
 rootandClaude Opus 5.5
|
0ba947dce3
|
copy(domain): 命名模板、规则判定、收录版本评估文案改全角标点并去掉内部用语
阶梯 pri / 候选 / 资产交付特征等改成界面用词;同步断言。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 01:52:23 +08:00 |
|
 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
|
a54905e571
|
test(db): 表结构与契约同步测试登记 storage_instance
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-07 00:16:14 +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
|
cf364435eb
|
feat(web): 存储设置与文件管理的 Alist 存储切换
- 设置 → 媒体库与目录 → 存储:登记 Alist / OpenList(令牌 / 账号密码 / 访客、路径密码、限速与监控选项),
测试连接显示版本、用户与容量;媒体库目录可选存储
- 文件管理左栏多一组「Alist 存储」,路径显示「存储名:/路径」;移动 / 复制目标可选 Alist 存储;
上传按钮;Alist 根点刷新才让 Alist 刷新目录缓存
- 运行状态的挂载根列出存储实例(令牌失效单独提示)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 23:57:33 +08:00 |
|
 rootandClaude Opus 5.5
|
c1bc389058
|
feat(organize): 刮削写远端与 Alist 目录监控
- 目标在 Alist 时 NFO / 图片(含 clearlogo)本地生成后上传,已存在策略与本地一致
- 整理来源可选 Alist 根(手动 / 目录快照):按 MP 快照语义限深度、按目录修改时间跳过未变子树,
列表失败保留基线,复用两次观察稳定与失败记录
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 23:52:39 +08:00 |
|
 rootandClaude Opus 5.5
|
9d95076a0e
|
feat(files): 文件管理接入 Alist 存储(浏览、增删改、移动复制、上传下载、回收站)
- 文件管理根多出 st:<存储 id>(对照 MP 存储切换),Alist 媒体库目录照常出现在媒体库组
- 列目录一次 list,refresh 只在用户刷新时带;连不上返回 503 不当成空目录
- 新建目录 / 改名(同名不覆盖)/ 删除进 Alist 上的 .umt-trash 并可还原
- 存储内移动复制走 Alist API,本地 ↔ Alist 走整理同一套执行与账本
- 新增 PUT /files/upload(同名不覆盖,Alist 经服务端转传);下载 / 预览流式转发直链
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
|
2026-10-06 23:52:39 +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 |
|