### Doctor 摘要
状态:healthy
运行环境:Docker
汇总:total=12 error=0 warn=1 advisory=1 fixed=0
关键发现:
- [warn/advisory] 最近日志存在插件异常;来源:autobackup.log, autosignin.log, doubanfolio.log, doubansync.log, downloadsitetagmodnew.log;命中:11 条,去重后 5 条;建议:可使用安全模式启动后检查插件配置。
### 日志筛选依据
策略:time_window_and_keyword_block_match
时间窗口:最近 600 分钟
窗口起点:2026-08-13T18:31:19
关键词:SubscribeAssistantEnhanced、remoteEntry、组件加载
单文件最多保留:80 行
命中文件:
- /config/logs/moviepilot.log;命中关键词:SubscribeAssistantEnhanced、remoteEntry;行数:9
- /config/logs/plugins/subscribeassistantenhanced.log;命中关键词:SubscribeAssistantEnhanced;行数:80
- /config/logs/plugins/systemnotification.log;命中关键词:SubscribeAssistantEnhanced;行数:80
### moviepilot.log
【INFO】2026-08-14 04:24:01,963 - orchestrator.py - Agent工具执行完成: tool=query_installed_plugins, origin=agent_interactive, shadow=True, duration_ms=170, result={"success": true, "query": "订阅助手", "total_installed": 54, "match_count": 1, "truncated": false, "plugins": [{"id": "SubscribeAssistantEnhanced", "plugin_name": "订阅助手(增强版)", "plugin_desc": "多场景管理订阅,实现订阅全生命周期管理。", "plugin_version": "0.7.1", "plugin_author": "InfinityPacer", "installed": true, "has_update": false, "system_version_compatible": true, "system_version": ">=3.0.0", "system_version_message": null, "state": true, "repo_url": "https://github.com/InfinityPacer/MoviePilot-Plugins/", "sour...
【INFO】2026-08-14 04:25:55,339 - plugin.py - 正在停止插件 SubscribeAssistantEnhanced...
【INFO】2026-08-14 04:25:55,344 - plugin.py - 插件 SubscribeAssistantEnhanced 共清除 55 个模块缓存:['app.plugins.subscribeassistantenhanced.engine', 'app.plugins.subscribeassistantenhanced.engine.types', 'app.plugins.subscribeassistantenhanced.shared', 'app.plugins.subscribeassistantenhanced.shared.subscribe', 'app.plugins.subscribeassistantenhanced.shared.media', 'app.plugins.subscribeassistantenhanced.engine.signals', 'app.plugins.subscribeassistantenhanced.shared.log', 'app.plugins.subscribeassistantenhanced.shared.task', 'app.plugins.subscribeassistantenhanced.engine.site', 'app.plugins.subscribeassistantenhanced.shared.config', 'app.plugins.subscribeassistantenhanced.engine.volatility', 'app.plugins.subscribeassistantenhanced.engine.cadence', 'app.plugins.subscribeassistantenhanced.engine.local', 'app.plugins.subscribeassistantenhanced.engine.scope', 'app.plugins.subscribeassistantenhanced.engine.pipeline', 'app.plugins.subscribeassistantenhanced.guard', 'app.plugins.subscribeassistantenhanced.lifecycle.coordinator', 'app.plugins.subscribeassistantenhanced.lifecycle', 'app.plugins.subscribeassistantenhanced.pending', 'app.plugins.subscribeassistantenhanced.engine.proximity', 'app.plugins.subscribeassistantenhanced.shared.update', 'app.plugins.subscribeassistantenhanced.pending.state', 'app.plugins.subscribeassistantenhanced.pending.judge', 'app.plugins.subscribeassistantenhanced.pending.refresh', 'app.plugins.subscribeassistantenhanced.pause', 'app.plugins.subscribeassistantenhanced.pause.airing', 'app.plugins.subscribeassistantenhanced.pause.manager', 'app.plugins.subscribeassistantenhanced.pause.nodownload', 'app.plugins.subscribeassistantenhanced.pause.probe', 'app.plugins.subscribeassistantenhanced.best_version', 'app.plugins.subscribeassistantenhanced.best_version.priority', 'app.plugins.subscribeassistantenhanced.best_version.converter', 'app.plugins.subscribeassistantenhanced.best_version.orchestrator', 'app.plugins.subscribeassistantenhanced.cleanup.subscription', 'app.plugins.subscribeassistantenhanced.cleanup', 'app.plugins.subscribeassistantenhanced.download', 'app.plugins.subscribeassistantenhanced.download.torrent', 'app.plugins.subscribeassistantenhanced.download.monitor', 'app.plugins.subscribeassistantenhanced.download.cleanup', 'app.plugins.subscribeassistantenhanced.recognition.audit', 'app.plugins.subscribeassistantenhanced.recognition.keywords', 'app.plugins.subscribeassistantenhanced.recognition.types', 'app.plugins.subscribeassistantenhanced.recognition.scope', 'app.plugins.subscribeassistantenhanced.recognition.strategy', 'app.plugins.subscribeassistantenhanced.recognition.guard', 'app.plugins.subscribeassistantenhanced.recognition', 'app.plugins.subscribeassistantenhanced.shared.deletes', 'app.plugins.subscribeassistantenhanced.postcheck', 'app.plugins.subscribeassistantenhanced.postcheck.verifier', 'app.plugins.subscribeassistantenhanced.postcheck.rebuilder', 'app.plugins.subscribeassistantenhanced.postcheck.timeout', 'app.plugins.subscribeassistantenhanced.events', 'app.plugins.subscribeassistantenhanced', 'app.plugins.subscribeassistantenhanced.form.components', 'app.plugins.subscribeassistantenhanced.form']
【INFO】2026-08-14 04:25:55,381 - plugin.py - 加载插件:SubscribeAssistantEnhanced 版本:0.7.1
【INFO】2026-08-14 04:25:55,970 - reload_plugin.py - 执行工具: reload_plugin, 参数: plugin_id=SubscribeAssistantEnhanced
【INFO】2026-08-14 04:25:55,970 - orchestrator.py - Agent工具执行完成: tool=reload_plugin, origin=agent_interactive, shadow=True, duration_ms=555, result={"success": true, "plugin_id": "SubscribeAssistantEnhanced", "plugin_name": "订阅助手(增强版)", "plugin_version": "0.7.1", "state": true, "message": "插件已重载,最新配置已生效"}
【INFO】2026-08-14 04:26:16,972 - _terminal_session.py - 启动后台终端会话: session_id=<REDACTED> pid=7998, use_pty=True, command=grep -n "plugin/file\|def file\|FileResponse\|render_mode\|static" /app/app/api/endpoints/plugin.py | head -15 && echo "=== 尝试访问 remoteEntry.js(无认证) ===" && curl -s -o /dev/null -w "HTTP %{http_code}\n" "http://127.0.0.1:3001/api/v1/plugin/file/SubscribeAssistantEnhanced/frontend/dist/assets/remoteEntry.js" ; curl -s -o /dev/null -w "HTTP %{http_code}\n" "http://127.0.0.1:3001/api/v1/plugin/file/SubscribeAssistantEnhanced/remoteEntry.js"
【INFO】2026-08-14 04:26:16,972 - orchestrator.py - Agent工具执行完成: tool=execute_command, origin=agent_interactive, shadow=True, duration_ms=18, result={"session_id": "term_c0990ea3a1ba", "command": "grep -n \"plugin/file\\|def file\\|FileResponse\\|render_mode\\|static\" /app/app/api/endpoints/plugin.py | head -15 && echo \"=== 尝试访问 remoteEntry.js(无认证) ===\" && curl -s -o /dev/null -w \"HTTP %{http_code}\\n\" \"http://127.0.0.1:3001/api/v1/plugin/file/SubscribeAssistantEnhanced/frontend/dist/assets/remoteEntry.js\" ; curl -s -o /dev/null -w \"HTTP %{http_code}\\n\" \"http://127.0.0.1:3001/api/v1/plugin/file/SubscribeAssistantEnhanced/remote...
【INFO】2026-08-14 04:26:22,972 - orchestrator.py - Agent工具执行完成: tool=execute_command, origin=agent_interactive, shadow=True, duration_ms=3, result={"session_id": "term_c0990ea3a1ba", "command": "grep -n \"plugin/file\\|def file\\|FileResponse\\|render_mode\\|static\" /app/app/api/endpoints/plugin.py | head -15 && echo \"=== 尝试访问 remoteEntry.js(无认证) ===\" && curl -s -o /dev/null -w \"HTTP %{http_code}\\n\" \"http://127.0.0.1:3001/api/v1/plugin/file/SubscribeAssistantEnhanced/frontend/dist/assets/remoteEntry.js\" ; curl -s -o /dev/null -w \"HTTP %{http_code}\\n\" \"http://127.0.0.1:3001/api/v1/plugin/file/SubscribeAssistantEnhanced/remote...
### subscribeassistantenhanced.log
【INFO】2026-08-13 23:58:21,826 - subscribeassistantenhanced - 注册定时任务:元数据检查=1h、下载任务检查=15m、洗版订阅检查=cron(*/30 * * * *)、自动纠错=2h、通用巡检=30m
【INFO】2026-08-13 23:58:26,354 - subscribeassistantenhanced - 初始化完成:总开关=True 完成守卫模式=balanced 待定增强=True 暂停优化=True 洗版类型=tv_episode 下载管理=True 完成验证=True 识别增强=balanced 站点集数探测=True 站点完结信号=True 识别增强通知=all 二次识别=balanced_strict 识别增强通知限频=3600 识别增强缓存=100000 识别增强告警=none 通知=True
【INFO】2026-08-13 23:58:26,357 - subscribeassistantenhanced - 注册定时任务:元数据检查=1h、下载任务检查=15m、洗版订阅检查=cron(*/30 * * * *)、自动纠错=2h、通用巡检=30m
【INFO】2026-08-13 23:58:44,907 - subscribeassistantenhanced - 注册定时任务:元数据检查=1h、下载任务检查=15m、洗版订阅检查=cron(*/30 * * * *)、自动纠错=2h、通用巡检=30m
【INFO】2026-08-13 23:58:45,151 - subscribeassistantenhanced - 初始化完成:总开关=True 完成守卫模式=balanced 待定增强=True 暂停优化=True 洗版类型=tv_episode 下载管理=True 完成验证=True 识别增强=balanced 站点集数探测=True 站点完结信号=True 识别增强通知=all 二次识别=balanced_strict 识别增强通知限频=3600 识别增强缓存=100000 识别增强告警=none 通知=True
【INFO】2026-08-13 23:58:53,658 - subscribeassistantenhanced - 注册定时任务:元数据检查=1h、下载任务检查=15m、洗版订阅检查=cron(*/30 * * * *)、自动纠错=2h、通用巡检=30m
【INFO】2026-08-14 00:00:00,140 - subscribeassistantenhanced - 洗版巡检:开始
【INFO】2026-08-14 00:03:30,606 - subscribeassistantenha
...(已截断)
确认
当前程序版本
v3.0.0
运行环境
Docker
问题类型
插件问题
问题描述
现象
get_render_mode()返回("vue", "frontend/dist/assets"),但安装包中frontend/dist目录不存在(只有前端源码),前端联邦加载器请求remoteEntry.js返回 404。复现步骤
期望行为
frontend/dist/assets构建产物(remoteEntry.js及其引用的联邦 JS/CSS),插件组件可正常加载。已定位 / 证据
get_render_mode()返回("vue", "frontend/dist/assets")(__init__.py)。frontend/只有src/、package.json、vite.config.ts、yarn.lock,没有dist/。plugins.v3/subscribeassistantenhanced/目录经 GitHub Contents API 确认同样没有dist。subscribeassistantenhanced_v0.7.1.zip(92 个条目、329798B)不含任何 dist 条目。plugins.v2/subscribeassistantenhanced/frontend/dist/assets存在完整构建产物(5 个文件,remoteEntry.js3429B 等)——v2 代发布带了构建产物,v3 代发布漏了。/api/v1/plugin/remotes)返回入口SubscribeAssistantEnhanced -> /plugin/file/subscribeassistantenhanced/frontend/dist/assets/remoteEntry.js,但该文件在安装包中不存在。已尝试的处理
frontend/dist/assets产物部署到运行目录后,组件可正常加载(仅绕过,市场更新/重装后会再次失败)。frontend/dist构建产物(构建后再打包发布)。发生问题时系统日志和配置文件
本 Issue 由 MoviePilot Agent 协助用户提交。