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
This commit is contained in:
1 parent
12f8fc59c3
commit
63e94b308e
90 files changed
+6366
-2131
No files matched your search
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: episode-mapping
|
||||
title: 集数映射
|
||||
description: 资源的集数对不上作品季表(绝对集号、连续编号、特别篇混在正片里)时,看清上下文、试一条结构化的映射规则,模拟全部通过才写入,写入后同类资源由规则自动处理。集数待确认事项的后台调查,或用户说「某部剧集数不对」「集数待确认」时用。
|
||||
description: 资源的集数对不上作品季表(绝对集号、连续编号、特别篇混在正片里)时,看清上下文、试一行作品识别词,模拟全部通过才写进作品识别词,写入后同类资源由这一行自动处理。集数待确认事项的后台调查,或用户说「某部剧集数不对」「集数待确认」时用。
|
||||
triggers:
|
||||
- 集数(待确认|对不上|不对|错了?|映射|乱了)
|
||||
- (绝对|连续)(集号|编号)|集号(不对|对不上|错)
|
||||
@@ -24,33 +24,34 @@ sessions: [chat, investigate, child]
|
||||
## 步骤
|
||||
|
||||
1. 定位:后台调查直接用事项 ID;对话里先 decision.list 找这部作品的集数待确认事项,没有事项时用 catalog.lookup 拿作品 ID,再按作品 + 来源季 + 发布组看。
|
||||
2. 先 episode_mapping.inspect:看事项内资源的原标题、发布时间、原始季集,同组相邻资源已经怎么对上的,季表每季总集数与每集播出日期,现有规则(停用的看停用原因),以及确定性建议。
|
||||
3. 想规则,按优先级:
|
||||
- 首选 expression(偏移表达式):连续编号、整体差一个固定数,如 `EP-12` 换到第 2 季、`EP*2-1`;确定性建议给了就从它开始。
|
||||
- 其次 table(对照表):编号不规则、只有少数几集要对,逐行写 `来源集号 → 第几季第几集`。
|
||||
- 特别篇、总集篇、花絮、PV 用 special(特别篇 / 花絮 / 忽略),不要硬塞成某一集。
|
||||
- 作用域默认用事项的来源季和发布组;只有确信所有发布组都这么编号时才放宽到任意发布组。
|
||||
4. 再 episode_mapping.simulate(带事项 ID 和一两句理由):看事项内样本是否全部解决、有没有让已对上的资源变成待确认。没通过就按失败原因改规则再试,最多试三次。
|
||||
5. 通过且有把握时,episode_mapping.apply_rule 写一次(带理由:依据哪些播出日期 / 标题 / 相邻资源)。服务端会再模拟一次,不通过会拒绝。写入后同类资源由规则自动处理,不要逐集再调用。
|
||||
6. 拿不准(样本太少、几种规则都说得通、季表缺集)就不写:只读调查里模拟通过的规则会自动作为「智能体建议」留在事项上,让用户确认;说清楚还差什么证据。
|
||||
2. 先 episode_mapping.inspect:看事项内资源的原标题、发布时间、原始季集,同组相邻资源已经怎么对上的,季表每季总集数与每集播出日期,作品识别词原文(注释掉的行是用户停用的,不要再写同范围的行),以及确定性建议。
|
||||
3. 写一行作品识别词(语法见 docs/design/identify-words.md),按优先级:
|
||||
- 首选季集换算:连续编号、整体差一个固定数,如 `S01 @Lilith-Raws >> S02 EP-12`(第 1 季的 13 集起换到第 2 季)、`S02 >> S01 EP+24`(第 2 季接着第 1 季编号)、`S01 >> EP*2-1`;`EP` 单独写表示集号不变只换季。确定性建议给了就从它开始。
|
||||
- 其次单集对照:编号不规则、只有少数几集要对,一行一集 `S01E13 @发布组 >> S00E01`,区间写 `S01E27-E28 >> S02E02`。
|
||||
- 特别篇、总集篇、花絮、PV 写 `S01 @发布组 >> 特别篇`(或 花絮 / 忽略),不要硬塞成某一集。
|
||||
- 范围默认用事项的来源季和发布组;只有确信所有发布组都这么编号时才去掉 `@发布组`,任意季写 `*`。
|
||||
4. 再 episode_mapping.simulate(带事项 ID 和一两句理由):看事项内样本是否全部解决、有没有让已对上的资源变成待确认。没通过就按失败原因改这一行再试,最多试三次。
|
||||
5. 通过且有把握时,episode_mapping.apply_rule 写一次(带理由:依据哪些播出日期 / 标题 / 相邻资源)。服务端会再模拟一次,不通过会拒绝;通过后这一行追加到作品识别词末尾,上方一行注释写明是智能体写的和理由。写入后同类资源由这一行自动处理,不要逐集再调用。
|
||||
6. 拿不准(样本太少、几种规则都说得通、季表缺集)就不写:只读调查里模拟通过的那一行会自动作为「智能体建议」留在事项上,让用户确认;说清楚还差什么证据。
|
||||
|
||||
## 需要批准
|
||||
|
||||
- episode_mapping.apply_rule(写映射规则)需要持续授权;没有授权时写一句「没做:写集数映射规则,需要你批准」,模拟通过的规则已留在待处理里可一键确认。
|
||||
- episode_mapping.apply_rule(写映射规则)需要持续授权;没有授权时写一句「没做:把规则写进作品识别词,需要你批准」,模拟通过的那一行已留在作品页的集数映射里,确认后生效。
|
||||
- episode_mapping.inspect、episode_mapping.simulate 只读,不需要批准。
|
||||
|
||||
## 汇报模板
|
||||
|
||||
> 《药屋少女的呢喃》第 1 季 · Lilith-Raws 的 40、41 集是连续编号,已按「减 30,换到第 2 季」写入规则,两条资源分别对上第 2 季第 10、11 集,播出日期一致。
|
||||
> 《药屋少女的呢喃》第 1 季 · Lilith-Raws 的 40、41 集是连续编号,已在作品识别词里加了「S01 @Lilith-Raws >> S02 EP-30」,两条资源分别对上第 2 季第 10、11 集,播出日期一致。
|
||||
|
||||
> 《药屋少女的呢喃》第 1 季 · Lilith-Raws 的集数还没定:模拟通过的规则是「减 30,换到第 2 季」,已作为智能体建议留在待处理里,确认后生效。
|
||||
> 《药屋少女的呢喃》第 1 季 · Lilith-Raws 的集数还没定:模拟通过的是「S01 @Lilith-Raws >> S02 EP-30」,已作为智能体建议留在作品页的集数映射里,确认后生效。
|
||||
|
||||
- 第一句写结论(写了什么规则 / 为什么没写),第二句写依据(播出日期、标题、相邻资源),需要用户做的放最后。
|
||||
|
||||
## 不要做
|
||||
|
||||
- 不要绕过模拟:没跑过 episode_mapping.simulate 或模拟没通过,不调用 episode_mapping.apply_rule。
|
||||
- 不要逐集处理,也不要为每条资源各写一条规则:一条规则覆盖这个发布组这一季。
|
||||
- 不要逐集处理,也不要为每条资源各写一行:一行覆盖这个发布组这一季。
|
||||
- 不要把特别篇、总集篇硬算成正片集号。
|
||||
- 不要改别的发布组、别的季已经对上的资源;模拟显示会让已对上的资源变成待确认就换规则。
|
||||
- 汇报里不写规则 ID、资源 ID 和能力名。
|
||||
- 不要取消用户注释掉的行,也不要改作品识别词里别的行。
|
||||
- 汇报里不写资源 ID 和能力名;写进去的那一行原样给用户看。
|
||||
Reference in new issue
Block a user