当用户表达电影推荐需求时,按以下流程执行。
直爬 IMDB/豆瓣/百度百科全部被反爬 → 走搜索聚合路线。
| 步骤 | 数据源 | 方式 | 可靠性 |
|---|---|---|---|
| ------ | -------- | ------ | -------- |
| 发现候选 | WebSearch | 中英文关键词并行搜索 | ✅ 稳定 |
| 提取评分 | WebSearch 摘要 | 搜索结果直接含评分 | ✅ 稳定 |
| 获取详情 | Rotten Tomatoes | WebFetch 详情页 | ✅ 可用 |
| 中文评分 | WebSearch 豆瓣 | 搜索"电影名 豆瓣评分" | ✅ 稳定 |
| 用户评论 | WebSearch | 搜索"电影名 影评" | ✅ 稳定 |
| 精确链接 | WebSearch 摘要 | 提取 subject_id / tt_id | ✅ 稳定 |
从用户输入中提取:
同时发两条 WebSearch,覆盖中英文:
# 中文搜索
WebSearch(query="{关键词} 电影 推荐 高分 豆瓣", topic="general")
# 英文搜索(获取更多国际视角)
WebSearch(query="{关键词} movie IMDB rating", topic="general")
从搜索结果中提取候选电影列表:
无关键词时,直接搜索高分热门:
WebSearch(query="2024 2025 高分电影推荐 豆瓣 IMDB评分", topic="general")
WebSearch(query="best movies 2024 2025 highly rated", topic="general")
对每部候选电影,并行执行以下操作:
A. Rotten Tomatoes 详情(西方电影优先):
WebFetch(url="https://www.rottentomatoes.com/m/{slug}", prompt="提取:Tomatometer评分、观众评分、导演、主演、类型、剧情简介、片长、年份")
B. WebSearch 补充豆瓣评分:
WebSearch(query="{电影名} {年份} 豆瓣评分", topic="general")
从摘要提取豆瓣评分数字。
C. WebSearch 补充 IMDB 评分(如果搜索摘要中尚未获得):
WebSearch(query="{电影名} {年份} IMDB rating score", topic="general")
D. 记录精确链接:
https://movie.douban.com/subject/{subject_id}/https://www.imdb.com/title/{tt_id}/在 IMDB 搜索摘要中提取 tt 开头的 ID,豆瓣搜索摘要中提取 subject 后的数字 ID。
所有英文内容必须翻译为中文,包括:剧情简介、评论、类型标签、影人名。
翻译方式:
WebFetch(url="https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=zh-CN&dt=t&q={URL编码文本}", prompt="提取翻译结果")
如翻译 API 失败,手动用以下词汇映射表翻译类型标签;长文本用 WebSearch 搜中文版本替代。
| 英文 | 中文 | 英文 | 中文 |
|---|---|---|---|
| ------ | ------ | ------ | ------ |
| Action | 动作 | Sci-Fi | 科幻 |
| Adventure | 冒险 | Thriller | 惊悚 |
| Animation | 动画 | Horror | 恐怖 |
| Comedy | 喜剧 | Mystery | 悬疑 |
| Drama | 剧情 | Romance | 爱情 |
| Fantasy | 奇幻 | Crime | 犯罪 |
| Documentary | 纪录片 | War | 战争 |
有具体输入(类型/导演/演员/关键词):
无具体输入(默认高分热门):
对 Top 3 推荐电影:
WebSearch(query="{电影名} {年份} 影评 观众评价 豆瓣", topic="general")
WebSearch(query="{电影名} {年份} review audience", topic="general")
提取 2-3 条代表性评论片段。英文评论需翻译。
优先使用 show_widget 渲染 HTML 卡片。每部电影一张卡片,先 read_me 加载 interactive 模块。
卡片布局(全部中文):
每张卡片渲染后,紧跟一行 Markdown 链接(写在聊天正文中,不在 widget 内):
🔗 [豆瓣](https://movie.douban.com/subject/{subject_id}/) | [IMDB](https://www.imdb.com/title/{tt_id}/)
原因:Markdown 链接由 WorkBuddy 聊天 UI 渲染,不受沙箱限制,可直接点击打开。
降级:如 show_widget 不可用,回退到纯文本卡片。
| 场景 | 处理 |
|---|---|
| ------ | ------ |
| 某平台评分缺失 | 显示"暂无",不编造 |
| 评论搜不到 | 省略评论部分 |
| 翻译 API 失败 | 保留英文原文 |
| Rotten Tomatoes 失败 | 纯靠 WebSearch 摘要数据 |
| 全部搜索无结果 | 提示用户换关键词 |
共 1 个版本