MoviePilot V2 已内置智能助手能力,可用于:
WEB 设置页或初始化向导完成 AI 配置moviepilot agent ... 在本地 CLI 中直接发起一次智能体请求AI智能推荐智能助手整理智能助手不是独立部署的第三个服务,而是 MoviePilot 主程序的一部分。启用后即可在现有页面、CLI 与消息渠道中使用。
智能助手的核心不是“陪聊”,而是“读取当前上下文 + 调用 MoviePilot 工具 + 按技能流程执行”。
也就是说,它不只是回答一句建议,而是可以在权限允许的范围内,真的去查询、判断、筛选、触发操作,甚至把结果再发回给你。
当前代码里的能力来源主要有三层:
SKILL.md,按预设步骤组合工具执行,而不是每次都从零乱试/命令,也可以直接向智能助手注册新的 Agent 工具智能助手可以:
AI智能推荐 的二次筛选典型问题:
帮我找一下《最后生还者》第二季这个种子标题到底是哪部剧这部剧现在更新到第几集了智能助手不仅能“建议搜什么”,还可以直接走搜索下载链路:
TMDB / 豆瓣 ID典型问题:
帮我搜《沙丘2》的资源,优先 2160p 和免费看看现在哪些下载卡住了把这个下载任务删掉并清理文件智能助手可以直接参与订阅生命周期:
典型问题:
帮我订阅《人生切割术》第二季看看这个订阅为什么还没补齐这部片是不是已经订阅过了这部分是智能助手最适合发挥的场景之一:
如果已开启 AI_AGENT_RETRY_TRANSFER=true,系统还可以把整理失败记录自动交给内置技能 transfer-failed-retry 处理;同一批失败文件会合并分析,再批量重试。
典型问题:
帮我分析最近一次整理失败的原因这个目录下的文件帮我识别并整理看看 Plex 里最近入库了什么这部剧媒体库里已经有了吗智能助手并不只懂“媒体”,也能直接查询和排查运行状态:
典型问题:
测试一下这个站点能不能连通帮我看看下载器配置有没有明显问题列出当前所有定时任务,并跑一次签到这个工作流失败在哪一步如果系统装了插件,智能助手还能继续扩展能力:
/命令 与插件 /命令此外,当前内置工具里还包含一些更偏高级的能力:
这些能力非常适合排障,但通常也意味着更高权限要求。
典型问题:
列出当前已安装插件,以及每个插件有哪些命令帮我执行 /sites 看看站点状态打开这个网页帮我看看是不是登录失效智能助手支持的不只是纯文本:
local_path 提供给智能助手处理因此你可以把它理解成:
初始化向导已内置第 7 步 智能助手,无论是 WEB 首次安装向导,还是本地 CLI 的 moviepilot setup --wizard,都可以直接完成常用 AI 参数配置。
也可以在 设定 -> 系统 -> 基础设置 中后续调整智能助手相关参数。修改后点击页面底部的 保存 生效。
前端已经为常用智能助手参数提供了可视化配置入口。你不需要手工编辑环境变量时,可以按下面的界面字段设置。
先打开
启用智能助手后,其它智能助手、LLM、图片输入、音频输入、音频输出、失败整理接管、智能推荐等字段才会显示;音频相关字段需要按需打开支持音频输入或支持音频输出后才会展开。
| 参数 | WEB 界面字段 | 设置位置与说明 |
|---|---|---|
AI_AGENT_ENABLE |
启用智能助手 |
总开关;在安装向导第 7 步或 设定 -> 系统 -> 基础设置 中打开 |
AI_AGENT_GLOBAL |
全局智能助手 |
打开后,消息对话默认走智能体回答,不需要每次使用 /ai 命令 |
AI_AGENT_VERBOSE |
啰嗦模式 |
打开后,智能助手回复时会显示工具调用过程,适合排障 |
LLM_PROVIDER |
LLM提供商 |
从前端下拉中选择当前实例支持的模型服务商 |
LLM_BASE_URL |
LLM基础URL |
自定义 LLM API 地址;使用 OpenAI 兼容服务、中转地址或私有网关时填写 |
LLM_API_KEY |
LLM API密钥 |
填写模型服务商提供的 API Key |
LLM_MODEL |
LLM模型名称 |
可手工输入,也可在填写提供商、密钥和基础 URL 后点击刷新图标加载模型列表 |
LLM_MAX_CONTEXT_TOKENS |
LLM 最大上下文 Token 数量 (K) |
单位是 K,例如 64 表示约 64K Token 上下文上限 |
LLM_THINKING_LEVEL |
思考强度 |
可选 关闭、自动、最小、低、中、高、极高、超高,实际效果取决于模型支持 |
AI_AGENT_JOB_INTERVAL |
定时唤醒 |
选择 不启用、1小时、3小时、6小时、12小时、24小时、1周 或 1个月 |
LLM_SUPPORT_IMAGE_INPUT |
模型支持图片输入 |
模型支持多模态图片时打开;关闭后图片会保存为本地附件并把路径交给智能助手 |
LLM_SUPPORT_AUDIO_INPUT |
支持音频输入 |
打开后,智能助手会将用户发送的音频消息转写为文字再处理 |
AUDIO_INPUT_PROVIDER |
音频输入提供商 |
用于识别用户音频消息,支持 OpenAI 音频接口、Chat Audio 兼容接口和 Xiaomi MiMo |
AUDIO_INPUT_API_KEY |
音频输入 API密钥 |
音频输入转写使用的 API Key;独立于 LLM API密钥 |
AUDIO_INPUT_BASE_URL |
音频输入基础URL |
OpenAI 官方接口可留空;Chat Audio 类服务或 OpenAI 兼容服务填写对应基础地址,MiMo 默认 https://api.xiaomimimo.com/v1 |
AUDIO_INPUT_MODEL |
音频输入模型 |
将用户语音 / 音频转成文字的模型名称 |
AUDIO_INPUT_LANGUAGE |
识别语言 |
仅用于语音转写时给模型提供语言提示,例如 zh、en;不是智能助手回答语言开关 |
LLM_SUPPORT_AUDIO_OUTPUT |
支持音频输出 |
打开后,智能助手可以在支持的渠道上发送语音回复 |
AUDIO_OUTPUT_PROVIDER |
音频输出提供商 |
用于生成语音回复,支持 OpenAI 音频接口、Chat Audio 兼容接口和 Xiaomi MiMo |
AUDIO_OUTPUT_API_KEY |
音频输出 API密钥 |
语音合成使用的 API Key;独立于 LLM API密钥 |
AUDIO_OUTPUT_BASE_URL |
音频输出基础URL |
OpenAI 官方接口可留空;Chat Audio 类服务或 OpenAI 兼容服务填写对应基础地址,MiMo 默认 https://api.xiaomimimo.com/v1 |
AUDIO_OUTPUT_MODEL |
音频输出模型 |
将文字回复转换为语音的模型名称 |
AUDIO_OUTPUT_VOICE |
语音音色 |
语音合成使用的发音人 / 音色标识 |
AUDIO_OUTPUT_INCLUDE_TEXT |
语音回复附带文字 |
发送语音回复时,同时再附带一份文字内容 |
AI_AGENT_RETRY_TRANSFER |
文件整理失败智能接管 |
打开后,整理失败记录可由智能助手自动分析并尝试重新整理 |
AI_RECOMMEND_ENABLED |
搜索结果智能推荐 |
打开后,资源搜索结果页会显示 AI智能推荐 入口 |
AI_RECOMMEND_USER_PREFERENCE |
用户偏好 |
仅在 搜索结果智能推荐 打开后显示;用于描述推荐偏好,例如 4K WEB-DL Dolby Vision |
AI_RECOMMEND_MAX_ITEMS |
智能推荐分析条目上限 |
仅在 搜索结果智能推荐 打开后显示;限制送入智能助手分析的搜索结果数量 |
后续在 设定 -> 系统 -> 基础设置 调整 LLM 参数时,可以点击 测试调用 验证 LLM提供商、LLM基础URL、LLM API密钥 和 LLM模型名称 是否可用。
支持音频输入与支持音频输出是两个独立开关。真正能否识别语音、是否能回传语音,仍取决于AUDIO_INPUT_*/AUDIO_OUTPUT_*配置是否可用,以及当前消息渠道本身是否支持。
未在上表中的高级项,例如 SKILL_MARKET、LLM_TEMPERATURE、LLM_MAX_ITERATIONS、LLM_TOOL_TIMEOUT、LLM_MEMORY_*、TAVILY_API_KEY、EXA_API_KEY 等,通常仍通过配置文件、环境变量或部署平台变量维护。完整参数说明参考 配置参考 中的 智能助手 章节。
最少需要准备以下几项:
启用智能助手(AI_AGENT_ENABLE)LLM提供商(LLM_PROVIDER)LLM API密钥(LLM_API_KEY)LLM模型名称(LLM_MODEL)支持音频输入,并至少配置可用的 音频输入 API密钥 和 音频输入模型常见建议:
LLM_SUPPORT_IMAGE_INPUT=trueLLM_SUPPORT_AUDIO_INPUT=true 且 AUDIO_INPUT_* 可用LLM_SUPPORT_AUDIO_OUTPUT 并配置 AUDIO_OUTPUT_MODEL 和 AUDIO_OUTPUT_VOICEAUDIO_INPUT_* / AUDIO_OUTPUT_* 中填写对应 Key 与地址LLM_BASE_URLAI_AGENT_GLOBALAI_AGENT_JOB_INTERVAL智能助手当前并不是写死几个固定动作,而是通过工具工厂动态装载工具集。
这意味着:
如果你想查看当前实例到底有哪些可用工具,可以用:
moviepilot tool list
moviepilot tool show query_download_tasks
moviepilot tool show transfer_file
moviepilot tool show run_slash_command
更多说明参考 本地 CLI。
对于复杂流程,智能助手不一定只靠单步工具调用,也会结合技能系统。
当前内置技能已覆盖的方向包括:
transfer-failed-retry:整理失败自动分析与批量重试generate-identifiers:生成或更新自定义识别词command-dispatch:为自然语言需求匹配并执行系统或插件命令moviepilot-api:直接调用 MoviePilot APImoviepilot-update:升级、重启等维护流程如果你自己在 CONFIG_DIR/agent/skills 下新增技能目录并提供 SKILL.md,智能助手也可以把它当作新的流程模板来使用。
/skills 命令:管理技能/skills 是消息渠道中的远程命令,用来管理智能助手可用的技能。它和 moviepilot agent 不同,不是在本地 CLI 里执行,而是在 Telegram、微信等已接入 /命令 的消息渠道中发送。
它主要可以完成这些事:
内置、本地、仓库来源、社区注册表SKILL_MARKET 中配置的公开技能源,默认包含 ClawHub、openai/skills、anthropics/skills、vercel-labs/agent-skillsID、名称、描述、来源标签搜索市场技能CONFIG_DIR/agent/skills/<skill-id>/常见用法:
/skills
/skills refresh
/skills 刷新
/skills weather
/skills 搜索 weather
交互方式:
/skills 后会直接出现 已安装技能、技能市场、搜索、安装、删除、刷新、关闭 等按钮1、2、搜索 <关键词>、清除搜索、安装 <序号>、删除 <序号>、n、p、返回、刷新、退出需要注意:
/skills 的市场列表来自 SKILL_MARKET 配置;如果不配置市场源,命令仍可查看已安装技能,但不会有可安装的市场条目ClawHub 在界面中会按 社区注册表 展示,安装前应自行甄别技能质量与安全性CONFIG_DIR/agent/skills 下的自定义技能,也会出现在 /skills 的已安装列表中除了即时对话,智能助手还带有两类辅助机制:
CONFIG_DIR/agent 下维护长期偏好记忆CONFIG_DIR/agent/jobs 中维护待办任务;当 AI_AGENT_JOB_INTERVAL 大于 0 时,系统会按间隔唤醒智能助手检查并执行待处理任务所以它不仅能回答“现在怎么做”,也能在一定程度上承担“之后继续做”的任务。
并不是所有入口、所有用户都能无限制调用所有工具。
需要特别注意:
/命令、触发调度、运行工作流、执行本地命令、编辑文件等高风险操作,通常需要管理员权限因此,智能助手是“有工具的智能体”,但不是“无条件的超级管理员”。
LLM_SUPPORT_IMAGE_INPUT 是当前图片能力的唯一开关:
true 时,图片会按多模态输入发送给模型false 时,图片不会被拒绝,而是自动转成附件文件,落盘后以本地文件路径提供给智能助手用户上传的文件会保留原始文件名与基础元数据,MoviePilot 会先将文件保存到临时目录,再把 local_path 提供给智能助手使用。
临时目录位置在:
TEMP_PATH/agent_uploads/<session_id>/
这意味着:
TEMP_FILE_DAYS 控制MoviePilot 当前的语音能力不是直接内嵌在 LLM 里,而是通过独立的音频能力管理器完成。音频输入使用 LLM_SUPPORT_AUDIO_INPUT + AUDIO_INPUT_*,语音回复使用 LLM_SUPPORT_AUDIO_OUTPUT + AUDIO_OUTPUT_*。
当前代码里的几个关键点:
openai、openai_chat_audio 和 mimoopenai 适用于 OpenAI 官方音频接口以及兼容 OpenAI 音频接口的服务openai_chat_audio 适用于通过 Chat Completions 音频能力完成转写或语音输出的兼容服务mimo 适用于 Xiaomi MiMo,默认基础地址为 https://api.xiaomimimo.com/v1AUDIO_INPUT_API_KEY / AUDIO_OUTPUT_API_KEY 不会自动复用 LLM_API_KEY;如果与 LLM 使用同一家服务,也需要在音频字段中填写同一个 Key10MB;只有音频但转写失败时,系统会直接提示 语音识别失败,请稍后重试Telegram:支持接收 voice / audio,也支持真实语音回传企业微信应用模式(WECHAT_MODE=app):支持语音接收、语音转写和真实语音回传Slack、Discord、QQ、VoceChat、SynologyChat:支持把音频附件下载后做转写,当前默认回复仍以文字为主企业微信机器人模式(WECHAT_MODE=bot):当前能识别到“收到的是语音消息”,但代码里不会自动下载并转写该语音;如果你需要完整语音交互,建议改用应用模式
识别语言对应AUDIO_INPUT_LANGUAGE,只用于语音转写阶段给模型一个语言提示,例如zh、en。它不会限制智能助手最终用什么语言回答,也不是 WEB 界面语言设置。
硅基流动提供 OpenAI 兼容接口,因此在 MoviePilot 里应按 OpenAI 提供商方式接入。下面用一组已经在硅基流动官方文档中出现的模型名举例:
deepseek-ai/DeepSeek-V3FunAudioLLM/SenseVoiceSmallFunAudioLLM/CosyVoice2-0.5BFunAudioLLM/CosyVoice2-0.5B:alex| WEB 字段 | 示例值 | 说明 |
|---|---|---|
LLM提供商 |
OpenAI |
硅基流动按 OpenAI 兼容接口接入 |
LLM基础URL |
https://api.siliconflow.cn/v1 |
注意保留结尾的 /v1 |
LLM API密钥 |
sk-你的硅基流动密钥 |
从硅基流动控制台获取 |
LLM模型名称 |
deepseek-ai/DeepSeek-V3 |
智能助手主对话模型 |
支持音频输入 |
开启 |
展开并启用音频转写相关设置 |
音频输入提供商 |
OpenAI |
硅基流动按 OpenAI 兼容音频接口接入 |
音频输入 API密钥 |
sk-你的硅基流动密钥 |
音频输入 Key 独立保存,需显式填写 |
音频输入基础URL |
https://api.siliconflow.cn/v1 |
与 LLM 同服务商时也建议显式填写 |
音频输入模型 |
FunAudioLLM/SenseVoiceSmall |
用于把语音转成文字 |
支持音频输出 |
开启 |
需要语音回复时打开 |
音频输出提供商 |
OpenAI |
硅基流动按 OpenAI 兼容音频接口接入 |
音频输出 API密钥 |
sk-你的硅基流动密钥 |
语音输出 Key 独立保存,需显式填写 |
音频输出基础URL |
https://api.siliconflow.cn/v1 |
与 LLM 同服务商时也建议显式填写 |
音频输出模型 |
FunAudioLLM/CosyVoice2-0.5B |
用于把文字回复转成语音 |
语音音色 |
FunAudioLLM/CosyVoice2-0.5B:alex |
使用硅基流动文档里的系统预置音色示例 |
识别语言 |
zh |
中文语音可用 zh;英文可改 en |
语音回复附带文字 |
按需开启 | 希望同时收到音频和文字时打开 |
如果你是通过环境变量或部署平台变量维护配置,也可以直接写成:
AI_AGENT_ENABLE=true
LLM_PROVIDER=openai
LLM_BASE_URL=https://api.siliconflow.cn/v1
LLM_API_KEY=sk-你的硅基流动密钥
LLM_MODEL=deepseek-ai/DeepSeek-V3
LLM_SUPPORT_AUDIO_INPUT=true
AUDIO_INPUT_PROVIDER=openai
AUDIO_INPUT_API_KEY=sk-你的硅基流动密钥
AUDIO_INPUT_BASE_URL=https://api.siliconflow.cn/v1
AUDIO_INPUT_MODEL=FunAudioLLM/SenseVoiceSmall
AUDIO_INPUT_LANGUAGE=zh
LLM_SUPPORT_AUDIO_OUTPUT=true
AUDIO_OUTPUT_PROVIDER=openai
AUDIO_OUTPUT_API_KEY=sk-你的硅基流动密钥
AUDIO_OUTPUT_BASE_URL=https://api.siliconflow.cn/v1
AUDIO_OUTPUT_MODEL=FunAudioLLM/CosyVoice2-0.5B
AUDIO_OUTPUT_VOICE=FunAudioLLM/CosyVoice2-0.5B:alex
AUDIO_OUTPUT_INCLUDE_TEXT=true
音频输入和语音输出的 Key、基础地址均独立于 LLM。使用同一家服务时可以填同一个值,但不要只填
LLM_API_KEY/LLM_BASE_URL后留空音频字段。
硅基流动的模型可用性可能会调整;如果示例模型后续下线或你想更换效果,请以其 模型广场、语音转文本文档 与 文本转语音文档 为准。
当 AI_RECOMMEND_ENABLED 打开后,资源搜索结果页可基于当前结果执行智能推荐。
当前行为特点:
AI推荐结果 与 原始结果 时,原有筛选条件会自动保存与恢复在 历史记录 -> 整理历史 中,单条记录菜单已提供 智能助手整理 操作。
它适合处理:
执行过程会通过 SSE 实时输出滚动进度文本,而不是伪造固定百分比。任务完成后,列表会自动刷新。
智能助手整理是独立接口,不等同于传统的/redo文本命令。
本地 CLI 模式下,可直接向智能助手发送请求:
moviepilot agent 帮我分析最近一次搜索失败的原因
moviepilot agent --user-id admin 帮我检查当前下载器配置
moviepilot agent --session cli-debug-1 帮我看看为什么没有自动整理
适合:
更多命令说明参考 本地 CLI。
完成对应通知渠道配置后,智能助手也可以通过消息入口参与交互。常见场景包括:
/skills 浏览已安装技能和技能市场,并直接完成安装、删除、搜索、刷新等操作消息渠道本身的接入方式参考 通知。
下面这些表达方式,通常都比“帮我看一下”更容易让智能助手直接做事:
帮我检查当前下载器配置有没有明显问题搜索《最后生还者》第二季的资源,优先免费和 1080p看看《人生切割术》是不是已经订阅过了,没有的话帮我加上帮我分析最近一次整理失败,如果能自动修就直接重试列出最近 20 条整理失败记录测试一下 HDC 的站点连通性看看 Plex 最近入库了哪些剧列出当前所有插件命令,并告诉我哪个命令能做签到我发你一个日志文件,你帮我定位为什么没有自动整理我发你一张截图,你帮我判断这个站点是不是登录失效建议在初始化向导中直接填好模型、密钥与图片能力开关,避免后续再分散到多个设置页里补配置。
先完成普通搜索,再使用 AI智能推荐 对当前结果做进一步筛选与排序。
在 历史记录 中优先尝试 智能助手整理。如果你更清楚正确的媒体 ID 或类型,也仍然可以使用传统的手工重整或 /redo。
关闭 LLM_SUPPORT_IMAGE_INPUT 即可。图片仍会保存为本地附件,并通过文件路径交给智能助手,不会因为模型不支持图片输入而整条消息失效。