mirror of
https://github.com/jxxghp/MoviePilot-Plugins.git
synced 2026-05-24 07:26:52 +00:00
5.7 KiB
5.7 KiB
Agent影视助手架构草案
Agent影视助手 是重构后的资源工作流主插件,重点不是把旧代码简单拼一起,而是把职责重新压平。
设计目标
- 一个插件承接“搜索 -> 选择 -> 解锁 -> 转存 -> 签到/用户态 -> 远程入口”
- 智能体、飞书、CLI、后续 MP Agent Tool 共享同一套执行服务
- 会话交互与底层执行解耦,避免继续把大量业务逻辑堆在消息入口层
模块分层
1. adapters
负责不同外部入口和外部平台接入:
feishuhdhivequarkpansou- 后续
agent_tool
原则:
- 只负责协议和输入输出转换
- 不负责复杂业务编排
2. services
负责核心业务能力:
search_serviceunlock_servicetransfer_servicesignin_serviceuser_service
原则:
- 统一返回结构
- 尽量不感知飞书、页面、CLI 等具体入口
3. session
负责交互上下文:
- 搜索候选缓存
- 翻页状态
- 选择上下文
- 详情/审查补充信息(已支持候选页按需补主演)
原则:
- 入口层共享同一套会话数据
- 后续优先支持内存 + 轻量持久化
4. models
负责统一数据模型:
- 搜索候选
- 资源条目
- 解锁结果
- 转存结果
- 用户信息
目标:
- 减少旧插件之间字段名不一致的问题
首期配置模型
基础
enablednotifydebug
影巢
hdhive_base_urlhdhive_api_keyhdhive_default_pathhdhive_candidate_page_size
夸克
quark_cookiequark_default_pathquark_timeoutquark_auto_import_cookiecloud
飞书
feishu_enabledfeishu_app_idfeishu_app_secretfeishu_verification_tokenfeishu_allow_allfeishu_allowed_chat_idsfeishu_allowed_user_ids
智能体 / 工具层预留
agent_tools_enabledtool_debug
迁移映射
从 QuarkShareSaver
优先迁入:
- 分享链接解析
- 目录创建
- 转存执行
- CookieCloud 自动导入
当前已开始拆出:
services/quark_transfer.py
从 P115StrmHelper 协同层
当前已开始拆出:
services/p115_transfer.py
从 HdhiveOpenApi
随后迁入:
- 搜索
- 候选解析
- 解锁
- 用户信息
- 配额
- 分享管理
当前已开始拆出:
services/hdhive_openapi.py
从 HDHiveDailySign
补入:
- 普通签到
- 赌狗签到
- 自动登录与状态记录
从 FeishuCommandBridgeLong
最后收口:
- 飞书长连接入口
- 自然语言别名解析
- 搜索/选择会话衔接
暂不迁入的内容
P115StrmHelper仍作为 115 落地执行层保留,不直接并入Agent影视助手
更新说明:PT 搜索、下载、订阅、推荐、入库追踪相关工作流已经收口到
Agent影视助手主线,不再依赖旧桥接插件作为主入口。
P115StrmHelper 兼容补丁
新版 MoviePilot 移除了旧版 TransferOverwriteCheck 事件时,部分 P115StrmHelper 版本会因为导入 TransferOverwriteCheckEventData 失败而无法加载,进而导致 115 自动转存不可用。
仓库提供了幂等补丁脚本:
MP_CONTAINER=moviepilot-v2 ./scripts/patch-p115strmhelper-mp-compat.sh
补丁只跳过缺失事件的注册,不改动 P115StrmHelper 的分享转存主流程。运行环境已验证 AgentResourceOfficer 的 p115/health 可返回 p115_ready=true。
115 轻量直转层
Agent影视助手 从 0.1.17 开始支持 115 分享链接轻量直转 + 扫码会话登录:
- 支持生成和轮询
p115client同款 115 扫码二维码,拿到UID / CID / SEID / KID这类客户端会话后自动写回插件配置 - 配置扫码得到的 115 会话时,直接用该会话创建 115 客户端并调用
share_receive - 未配置独立扫码会话时,优先复用已加载的 115 客户端,不再必须走
sharetransferhelper - 直转失败时回退
P115StrmHelper的分享转存主流程
这个能力只负责“分享链接落到 115 目标目录”。STRM 生成、302、增量/全量同步、媒体库整理仍保持由 P115StrmHelper 承担。
这里特意没有走网页版 CookieCloud,也没有直接拿 MP 系统内置的 u115 OAuth Token 来代替扫码会话,因为分享转存链路仍然更适合复用 p115client 的客户端会话模型。
首个里程碑
第一个可用版本只追求三件事:
- 夸克分享链接直接转存
- 影巢搜索并解锁
- 飞书调用同一套执行服务
当前进度:
- 已拆出夸克执行服务
- 已拆出影巢基础 OpenAPI 服务
- 已拆出 115 转存执行服务
- 已补上 Agent影视助手 自己的统一智能入口(assistant route / pick)
- 主插件已具备:
- 夸克健康检查
- 夸克转存
- 影巢健康检查
- 影巢搜索
- 影巢关键词候选搜索
- 影巢解锁
- 115 依赖健康检查
- 115 分享转存
- 影巢解锁后自动路由到夸克执行层
- 影巢解锁后自动路由到 115 执行层
- 影巢会话搜索与按编号继续选择
- 盘搜搜索与按编号继续执行
- 统一智能入口对直链、盘搜、影巢三类输入的会话分流
- 原生 Agent Tool 直接发起和轮询 115 扫码登录
- 智能入口
assistant/route可直接理解115登录/检查115登录 - 扫码登录成功后可直接返回 115 运行状态摘要,便于飞书与 MP 智能助手继续执行
- 智能入口与原生 Agent Tool 都可直接返回
115状态摘要,不依赖是否存在待检查会话 - 待继续的 115 任务已具备轻量持久化、时间/重试/错误摘要,并提供查看、继续、取消三个原生 Agent Tool 和标准 API
115状态/检查115登录/115帮助统一补充下一步建议,减少人工猜测下一条命令