feat: enhance GetRecommendationsTool and update query tools for improved functionality

- Expanded the GetRecommendationsTool to support additional recommendation sources, including TMDB popular movies and TV shows, as well as various Douban categories.
- Updated the limit for results in QuerySubscribesTool, SearchMediaTool, and QueryTransferHistoryTool from 20 to 50 or 30, respectively, to provide more comprehensive results.
- Removed unnecessary description fields from media objects in QueryPopularSubscribesTool, QuerySubscribeHistoryTool, and QuerySubscribeSharesTool for cleaner output.
This commit is contained in:
jxxghp
2025-11-18 16:21:13 +08:00
parent a8c6516b31
commit 21fabf7436
7 changed files with 75 additions and 18 deletions

View File

@@ -55,9 +55,9 @@ class QuerySubscribesTool(MoviePilotTool):
continue
filtered_subscribes.append(sub)
if filtered_subscribes:
# 限制最多20条结果
# 限制最多50条结果
total_count = len(filtered_subscribes)
limited_subscribes = filtered_subscribes[:20]
limited_subscribes = filtered_subscribes[:50]
# 精简字段,只保留关键信息
simplified_subscribes = []
for s in limited_subscribes:
@@ -72,7 +72,6 @@ class QuerySubscribesTool(MoviePilotTool):
"bangumiid": s.bangumiid,
"poster": s.poster,
"vote": s.vote,
"description": s.description[:200] + "..." if s.description and len(s.description) > 200 else s.description,
"state": s.state,
"total_episode": s.total_episode,
"lack_episode": s.lack_episode,
@@ -82,8 +81,8 @@ class QuerySubscribesTool(MoviePilotTool):
simplified_subscribes.append(simplified)
result_json = json.dumps(simplified_subscribes, ensure_ascii=False, indent=2)
# 如果结果被裁剪,添加提示信息
if total_count > 20:
return f"注意:查询结果共找到 {total_count} 条,为节省上下文空间,仅显示前 20 条结果。\n\n{result_json}"
if total_count > 50:
return f"注意:查询结果共找到 {total_count} 条,为节省上下文空间,仅显示前 50 条结果。\n\n{result_json}"
return result_json
return "未找到相关订阅"
except Exception as e: