mirror of
https://github.com/jxxghp/MoviePilot-Plugins.git
synced 2026-06-06 07:26:46 +00:00
feat: add AIRecognizerEnhancer plugin
This commit is contained in:
BIN
icons/airecognizerenhancer.png
Normal file
BIN
icons/airecognizerenhancer.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 217 KiB |
27
package.json
27
package.json
@@ -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 做本地结构化兜底。"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 做本地结构化兜底。"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
99
plugins.v2/airecognizerenhancer/README.md
Normal file
99
plugins.v2/airecognizerenhancer/README.md
Normal 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 全部整理流程
|
||||
- 如果你只是偶发整理失败,原版智能体可能已经够用
|
||||
- 如果你长期受命名混乱困扰,这个插件更有价值
|
||||
2039
plugins.v2/airecognizerenhancer/__init__.py
Normal file
2039
plugins.v2/airecognizerenhancer/__init__.py
Normal file
File diff suppressed because it is too large
Load Diff
99
plugins/airecognizerenhancer/README.md
Normal file
99
plugins/airecognizerenhancer/README.md
Normal 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 全部整理流程
|
||||
- 如果你只是偶发整理失败,原版智能体可能已经够用
|
||||
- 如果你长期受命名混乱困扰,这个插件更有价值
|
||||
2039
plugins/airecognizerenhancer/__init__.py
Normal file
2039
plugins/airecognizerenhancer/__init__.py
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user