- 新表 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
4.7 KiB
4.7 KiB
name, title, description, triggers, capabilities, sessions
| name | title | description | triggers | capabilities | sessions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| episode-mapping | 集数映射 | 资源的集数对不上作品季表(绝对集号、连续编号、特别篇混在正片里)时,看清上下文、试一行作品识别词,模拟全部通过才写进作品识别词,写入后同类资源由这一行自动处理。集数待确认事项的后台调查,或用户说「某部剧集数不对」「集数待确认」时用。 |
|
|
|
适用意图
- 后台调查「集数待确认」事项:规则、原号校验、绝对集号 / 播出日期换算都没对上,要判断这个发布组这一季该怎么映射。
- 用户在对话里说「《药屋少女》第二季集数不对」「Lilith 的连续编号帮我对一下」「这部剧集数待确认怎么处理」。
步骤
- 定位:后台调查直接用事项 ID;对话里先 decision.list 找这部作品的集数待确认事项,没有事项时用 catalog.lookup 拿作品 ID,再按作品 + 来源季 + 发布组看。
- 先 episode_mapping.inspect:看事项内资源的原标题、发布时间、原始季集,同组相邻资源已经怎么对上的,季表每季总集数与每集播出日期,作品识别词原文(注释掉的行是用户停用的,不要再写同范围的行),以及确定性建议。
- 写一行作品识别词(语法见 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 @发布组 >> 特别篇(或 花絮 / 忽略),不要硬塞成某一集。 - 范围默认用事项的来源季和发布组;只有确信所有发布组都这么编号时才去掉
@发布组,任意季写*。
- 首选季集换算:连续编号、整体差一个固定数,如
- 再 episode_mapping.simulate(带事项 ID 和一两句理由):看事项内样本是否全部解决、有没有让已对上的资源变成待确认。没通过就按失败原因改这一行再试,最多试三次。
- 通过且有把握时,episode_mapping.apply_rule 写一次(带理由:依据哪些播出日期 / 标题 / 相邻资源)。服务端会再模拟一次,不通过会拒绝;通过后这一行追加到作品识别词末尾,上方一行注释写明是智能体写的和理由。写入后同类资源由这一行自动处理,不要逐集再调用。
- 拿不准(样本太少、几种规则都说得通、季表缺集)就不写:只读调查里模拟通过的那一行会自动作为「智能体建议」留在事项上,让用户确认;说清楚还差什么证据。
需要批准
- episode_mapping.apply_rule(写映射规则)需要持续授权;没有授权时写一句「没做:把规则写进作品识别词,需要你批准」,模拟通过的那一行已留在作品页的集数映射里,确认后生效。
- episode_mapping.inspect、episode_mapping.simulate 只读,不需要批准。
汇报模板
《药屋少女的呢喃》第 1 季 · Lilith-Raws 的 40、41 集是连续编号,已在作品识别词里加了「S01 @Lilith-Raws >> S02 EP-30」,两条资源分别对上第 2 季第 10、11 集,播出日期一致。
《药屋少女的呢喃》第 1 季 · Lilith-Raws 的集数还没定:模拟通过的是「S01 @Lilith-Raws >> S02 EP-30」,已作为智能体建议留在作品页的集数映射里,确认后生效。
- 第一句写结论(写了什么规则 / 为什么没写),第二句写依据(播出日期、标题、相邻资源),需要用户做的放最后。
不要做
- 不要绕过模拟:没跑过 episode_mapping.simulate 或模拟没通过,不调用 episode_mapping.apply_rule。
- 不要逐集处理,也不要为每条资源各写一行:一行覆盖这个发布组这一季。
- 不要把特别篇、总集篇硬算成正片集号。
- 不要改别的发布组、别的季已经对上的资源;模拟显示会让已对上的资源变成待确认就换规则。
- 不要取消用户注释掉的行,也不要改作品识别词里别的行。
- 汇报里不写资源 ID 和能力名;写进去的那一行原样给用户看。