用途:根据用户保存的口味档案、历史观影记录以及当下提出的心情或限制条件,生成简短、有信心的个性化电影推荐名单,并为每部影片给出与其画像或当前需求相关的推荐理由。
主要能力:推荐前先调用 active_list 检查未完结的观影状态;对超过 24 小时未回访的条目只挑最旧的一条做一次简短追问,并按用户回答(看完喜欢/一般/不喜欢/仍在看/弃看)分别写入评分、更新状态或移除,每轮只问一条。随后并行调用 preferences_get、watched_list、movies_genres 获取偏好、排除已看和做类型名与 ID 映射。支持四类策略:类似某部种子影片(movies_search 定位后再用 movies_recommendations 找相似);按评分或主题(走 movies_imdb_discover,可按最低评分、兴趣标签、导演演员、语言国家筛选);按心情或限制(走 movies_discover,可用类型、排除类型、评分与票数下限、时长、排序);以及无约束的“今晚看什么”(混合趋势、偏好和相似影片信号)。最终挑选 3–5 部,逐部调用 movies_details 补全 IMDb 信息后按固定格式呈现。
使用方式:推荐前必须调用 active_list。每部最终影片调用 movies_details({ movieId }) 以获得 imdbId;输出标题用加粗并链接到 IMDb 页面,若 imdbId 为空则退化为纯加粗标题,禁止在输出中使用 TMDB 链接。评分默认只显示 IMDb 评分,缺失时回退 TMDB 评分且不并列。结尾询问是否标记为 active。用户明确表示要看某片时,先用 active_add({ movieId, source: "recommend" }) 再确认;表述含糊时只问一次;用户否决并说明原因、表达语言或主题偏好时,用 preferences_set 更新 dislikedGenres、avoidKeywords、likedCountries/likedLanguages、likedInterests 等;“稍后看”则加入观看列表或指定清单。
适用场景:需要依据个人口味和历史给出简洁电影片单的对话场景,尤其是用户只说“随便推荐”或只给出模糊心情、时长、评分要求时。
限制:推荐必须来自 TMDB 或 imdbapi.dev 数据,不得虚构片名;movies_imdb_batch_rating 只能为已知 imdbId 取评分,无法从 TMDB ID 反填,因此 TMDB 来源的影片仍需逐个调用 movies_details。技能需依赖相关 MCP 工具,具体可用性随环境而定。其他收费、平台与效果信息暂未提供。