feat: add AIRecognizerEnhancer plugin

This commit is contained in:
Jan' s
2026-05-06 20:54:11 +08:00
parent 9862c81477
commit 545ac141ff
7 changed files with 4327 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

View File

@@ -1073,5 +1073,30 @@
"history": {
"v1.0": "初始版本,支持 IPv4/IPv6、泛域名、多记录配置、更新历史详情页"
}
},
"AIRecognizerEnhancer": {
"name": "AI识别增强",
"description": "直接复用 MoviePilot 当前 LLM 配置,在原生识别失败后做本地结构化识别兜底,并交回原生链路继续二次识别。",
"labels": "AI,识别,LLM,本地兜底,MoviePilot,TMDB",
"version": "0.1.12",
"icon": "airecognizerenhancer.png",
"author": "liuyuexi1987",
"level": 1,
"v2": true,
"history": {
"0.1.12": "兼容 MoviePilot 最新 LLM 路径与异步 get_llm 接口,修复最新版 MP 下插件加载失败问题。",
"0.1.11": "同步运行态版本,保持本地结构化识别、失败样本闭环和识别词建议能力一致。",
"0.1.10": "新增识别词建议模型退化时的精确规则兜底,保证批量建议/批量写入在上游异常时仍能尽量落地。",
"0.1.9": "新增失败样本精简摘要接口,并让批量建议/批量写入附带低 token 文本摘要,便于智能体直接消费。",
"0.1.8": "新增失败样本批量建议与批量写入接口,可一次处理一批失败样本,进一步减少人工逐条操作。",
"0.1.7": "新增失败样本批量复查接口,可批量重跑样本并在确认修复后批量出队。",
"0.1.6": "新增失败样本复查接口,可按当前识别词与当前识别器重跑样本,并在确认修复后自动出队。",
"0.1.5": "新增失败样本出队动作,支持按索引移除单条样本,并在写入识别词后自动移除已处理样本。",
"0.1.4": "新增失败样本洞察接口,自动归纳重复问题、失败原因和优先处理样本,帮助更快挑出值得写识别词的样本。",
"0.1.3": "新增失败样本摘要、样本清理、样本去重和保留上限控制,让样本工作流更适合长期运行与智能体使用。",
"0.1.2": "新增按失败样本直接生成建议和直接写入规则的快捷 API进一步缩短从失败样本到 CustomIdentifiers 的闭环。",
"0.1.1": "新增失败样本查看、自定义识别词建议和一键追加写入能力,让 AI 识别增强开始和 MoviePilot 原生 CustomIdentifiers 闭环联动。",
"0.1.0": "首个可用版本,复用 MoviePilot 当前 LLM 配置,在原生识别失败后通过 Chain NameRecognize 做本地结构化兜底。"
}
}
}
}

View File

@@ -663,4 +663,29 @@
"v0.1.0": "初始版本"
}
}
,
"AIRecognizerEnhancer": {
"name": "AI识别增强",
"description": "直接复用 MoviePilot 当前 LLM 配置,在原生识别失败后做本地结构化识别兜底,并交回原生链路继续二次识别。",
"labels": "AI,识别,LLM,本地兜底,MoviePilot,TMDB",
"version": "0.1.12",
"icon": "airecognizerenhancer.png",
"author": "liuyuexi1987",
"level": 1,
"history": {
"0.1.12": "兼容 MoviePilot 最新 LLM 路径与异步 get_llm 接口,修复最新版 MP 下插件加载失败问题。",
"0.1.11": "同步运行态版本,保持本地结构化识别、失败样本闭环和识别词建议能力一致。",
"0.1.10": "新增识别词建议模型退化时的精确规则兜底,保证批量建议/批量写入在上游异常时仍能尽量落地。",
"0.1.9": "新增失败样本精简摘要接口,并让批量建议/批量写入附带低 token 文本摘要,便于智能体直接消费。",
"0.1.8": "新增失败样本批量建议与批量写入接口,可一次处理一批失败样本,进一步减少人工逐条操作。",
"0.1.7": "新增失败样本批量复查接口,可批量重跑样本并在确认修复后批量出队。",
"0.1.6": "新增失败样本复查接口,可按当前识别词与当前识别器重跑样本,并在确认修复后自动出队。",
"0.1.5": "新增失败样本出队动作,支持按索引移除单条样本,并在写入识别词后自动移除已处理样本。",
"0.1.4": "新增失败样本洞察接口,自动归纳重复问题、失败原因和优先处理样本,帮助更快挑出值得写识别词的样本。",
"0.1.3": "新增失败样本摘要、样本清理、样本去重和保留上限控制,让样本工作流更适合长期运行与智能体使用。",
"0.1.2": "新增按失败样本直接生成建议和直接写入规则的快捷 API进一步缩短从失败样本到 CustomIdentifiers 的闭环。",
"0.1.1": "新增失败样本查看、自定义识别词建议和一键追加写入能力,让 AI 识别增强开始和 MoviePilot 原生 CustomIdentifiers 闭环联动。",
"0.1.0": "首个可用版本,复用 MoviePilot 当前 LLM 配置,在原生识别失败后通过 Chain NameRecognize 做本地结构化兜底。"
}
}
}

View File

@@ -0,0 +1,99 @@
# AI识别增强
`AI识别增强` 用来补强 MoviePilot 原生整理链里的识别阶段。
它的核心思路很简单:
- 复用 MoviePilot 当前已经启用的 LLM 配置
- 在原生识别失败或置信度不足时,做一次本地结构化识别兜底
- 把结果回写给 MoviePilot继续走原生二次识别和后续整理链
## 适合什么场景
- 文件名比较脏,混有压制组、分辨率、语言、站点标记
- 同一部剧经常出现英文名、别名、原名、翻译名混用
- 网盘挂载、手动整理、历史资源补录时,原生识别偶尔不稳定
- 你想把失败样本沉淀下来,后面持续优化 `CustomIdentifiers`
## 和 MoviePilot 原版智能体的区别
MoviePilot 原版智能体已经提供“整理失败后自动接管再试一次”的能力。
这和 `AI识别增强` 有重叠,但定位不同:
- **MP 原版智能体**
- 更偏“一次性补救”
- 适合偶发失败、想省事的场景
- **AI识别增强**
- 更偏“识别失败治理层”
- 除了补救当前这次,还能:
- 保存失败样本
- 汇总样本洞察
- 生成 `CustomIdentifiers` 建议
- 写入识别词
- 重放 / 复查 / 批量出队
一句话区分:
- 原版智能体:自动接管一次
- `AI识别增强`:把失败样本沉淀下来,长期减少同类失败
## 当前能力
- 监听 `ChainEventType.NameRecognize`
- 用当前 LLM 结构化判断标题、年份、类型、季集
- 回写 `name / year / season / episode`
- 交回 MoviePilot 原生链路继续二次识别
- 保存低置信度失败样本
- 提供失败样本工作清单、洞察、重放、删除和清空能力
- 生成并应用 `CustomIdentifiers` 建议
## 主要接口
- `GET /api/v1/plugin/AIRecognizerEnhancer/health`
- 查看插件状态、LLM 提供方、模型、阈值和超时配置
- `POST /api/v1/plugin/AIRecognizerEnhancer/recognize`
- 对单个标题做一次本地结构化识别测试
- `GET /api/v1/plugin/AIRecognizerEnhancer/failed_samples`
- 查看最近保存的失败样本
- `GET /api/v1/plugin/AIRecognizerEnhancer/sample_worklist`
- 返回适合继续处理的失败样本摘要列表
- `GET /api/v1/plugin/AIRecognizerEnhancer/sample_insights`
- 汇总失败原因、重复问题和优先处理样本
- `POST /api/v1/plugin/AIRecognizerEnhancer/replay_failed_sample`
- 用当前识别词和当前识别器重放复查某条失败样本
- `POST /api/v1/plugin/AIRecognizerEnhancer/suggest_identifiers_from_sample`
- 直接基于失败样本生成识别词建议
- `POST /api/v1/plugin/AIRecognizerEnhancer/apply_suggested_identifier`
- 把建议规则写入系统 `CustomIdentifiers`
其余批量接口和清理接口可以按需要继续使用,详细路径以插件 `get_api()` 暴露结果为准。
## 配置建议
- 先确认 MoviePilot 本身已经配置好可用的 LLM
- 建议保持“保存失败样本”开启
- 如果你经常处理历史资源或网盘资源,建议定期查看:
- `failed_samples`
- `sample_worklist`
- `sample_insights`
## 已验证情况
当前版本:`0.1.12`
这版已经验证过:
- 最新版 MoviePilot 下可以正常加载
- 正常中文标题识别可用
- 英文别名、韩文原名、中文别名可识别回标准媒体信息
- 低置信度标题会落失败样本
- `replay_failed_sample` 复查链可用
## 说明
- 这个插件不依赖外部 AI Gateway 回调链
- 重点是增强识别,不负责替代 MoviePilot 全部整理流程
- 如果你只是偶发整理失败,原版智能体可能已经够用
- 如果你长期受命名混乱困扰,这个插件更有价值

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,99 @@
# AI识别增强
`AI识别增强` 用来补强 MoviePilot 原生整理链里的识别阶段。
它的核心思路很简单:
- 复用 MoviePilot 当前已经启用的 LLM 配置
- 在原生识别失败或置信度不足时,做一次本地结构化识别兜底
- 把结果回写给 MoviePilot继续走原生二次识别和后续整理链
## 适合什么场景
- 文件名比较脏,混有压制组、分辨率、语言、站点标记
- 同一部剧经常出现英文名、别名、原名、翻译名混用
- 网盘挂载、手动整理、历史资源补录时,原生识别偶尔不稳定
- 你想把失败样本沉淀下来,后面持续优化 `CustomIdentifiers`
## 和 MoviePilot 原版智能体的区别
MoviePilot 原版智能体已经提供“整理失败后自动接管再试一次”的能力。
这和 `AI识别增强` 有重叠,但定位不同:
- **MP 原版智能体**
- 更偏“一次性补救”
- 适合偶发失败、想省事的场景
- **AI识别增强**
- 更偏“识别失败治理层”
- 除了补救当前这次,还能:
- 保存失败样本
- 汇总样本洞察
- 生成 `CustomIdentifiers` 建议
- 写入识别词
- 重放 / 复查 / 批量出队
一句话区分:
- 原版智能体:自动接管一次
- `AI识别增强`:把失败样本沉淀下来,长期减少同类失败
## 当前能力
- 监听 `ChainEventType.NameRecognize`
- 用当前 LLM 结构化判断标题、年份、类型、季集
- 回写 `name / year / season / episode`
- 交回 MoviePilot 原生链路继续二次识别
- 保存低置信度失败样本
- 提供失败样本工作清单、洞察、重放、删除和清空能力
- 生成并应用 `CustomIdentifiers` 建议
## 主要接口
- `GET /api/v1/plugin/AIRecognizerEnhancer/health`
- 查看插件状态、LLM 提供方、模型、阈值和超时配置
- `POST /api/v1/plugin/AIRecognizerEnhancer/recognize`
- 对单个标题做一次本地结构化识别测试
- `GET /api/v1/plugin/AIRecognizerEnhancer/failed_samples`
- 查看最近保存的失败样本
- `GET /api/v1/plugin/AIRecognizerEnhancer/sample_worklist`
- 返回适合继续处理的失败样本摘要列表
- `GET /api/v1/plugin/AIRecognizerEnhancer/sample_insights`
- 汇总失败原因、重复问题和优先处理样本
- `POST /api/v1/plugin/AIRecognizerEnhancer/replay_failed_sample`
- 用当前识别词和当前识别器重放复查某条失败样本
- `POST /api/v1/plugin/AIRecognizerEnhancer/suggest_identifiers_from_sample`
- 直接基于失败样本生成识别词建议
- `POST /api/v1/plugin/AIRecognizerEnhancer/apply_suggested_identifier`
- 把建议规则写入系统 `CustomIdentifiers`
其余批量接口和清理接口可以按需要继续使用,详细路径以插件 `get_api()` 暴露结果为准。
## 配置建议
- 先确认 MoviePilot 本身已经配置好可用的 LLM
- 建议保持“保存失败样本”开启
- 如果你经常处理历史资源或网盘资源,建议定期查看:
- `failed_samples`
- `sample_worklist`
- `sample_insights`
## 已验证情况
当前版本:`0.1.12`
这版已经验证过:
- 最新版 MoviePilot 下可以正常加载
- 正常中文标题识别可用
- 英文别名、韩文原名、中文别名可识别回标准媒体信息
- 低置信度标题会落失败样本
- `replay_failed_sample` 复查链可用
## 说明
- 这个插件不依赖外部 AI Gateway 回调链
- 重点是增强识别,不负责替代 MoviePilot 全部整理流程
- 如果你只是偶发整理失败,原版智能体可能已经够用
- 如果你长期受命名混乱困扰,这个插件更有价值

File diff suppressed because it is too large Load Diff