update pay function

This commit is contained in:
2025-11-30 09:15:24 +08:00
parent fc738dc639
commit 14ab2f62f3
5 changed files with 419 additions and 6 deletions

View File

@@ -701,6 +701,75 @@ TOOLS: List[ToolDefinition] = [
"required": []
}
),
# ==================== 分钟频数据工具 ====================
ToolDefinition(
name="get_stock_minute_data",
description="获取股票分钟频K线数据。适用于分析日内走势、寻找交易时机、技术分析等场景。",
parameters={
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "股票代码,例如:'600519''600519.SH'"
},
"start_time": {
"type": "string",
"description": "开始时间格式YYYY-MM-DD HH:MM:SS 或 YYYY-MM-DD"
},
"end_time": {
"type": "string",
"description": "结束时间格式YYYY-MM-DD HH:MM:SS 或 YYYY-MM-DD"
},
"limit": {
"type": "integer",
"description": "返回条数默认240约一个交易日",
"default": 240
}
},
"required": ["code"]
}
),
ToolDefinition(
name="get_stock_minute_aggregation",
description="获取股票分钟频数据的聚合K线5分钟、15分钟、30分钟等周期。适用于中短期技术分析。",
parameters={
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "股票代码"
},
"date": {
"type": "string",
"description": "交易日期格式YYYY-MM-DD"
},
"interval": {
"type": "integer",
"description": "聚合间隔分钟可选5、15、30、60",
"default": 5
}
},
"required": ["code", "date"]
}
),
ToolDefinition(
name="get_stock_intraday_statistics",
description="获取股票日内统计数据,包括开高低收、成交量、成交额、日内波动率等汇总指标。",
parameters={
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "股票代码"
},
"date": {
"type": "string",
"description": "交易日期格式YYYY-MM-DD"
}
},
"required": ["code", "date"]
}
),
]
# ==================== MCP协议端点 ====================
@@ -1114,6 +1183,48 @@ async def handle_get_user_following_events(args: Dict[str, Any]) -> Any:
"data": []
}
# ==================== 分钟频数据处理函数 ====================
async def handle_get_stock_minute_data(args: Dict[str, Any]) -> Any:
"""处理股票分钟频数据查询"""
code = args["code"]
start_time = args.get("start_time")
end_time = args.get("end_time")
limit = args.get("limit", 240)
result = await db.get_stock_minute_data(code, start_time, end_time, limit)
return {
"success": True,
"data": result,
"count": len(result)
}
async def handle_get_stock_minute_aggregation(args: Dict[str, Any]) -> Any:
"""处理股票分钟频数据聚合查询"""
code = args["code"]
date = args["date"]
interval = args.get("interval", 5)
result = await db.get_stock_minute_aggregation(code, date, interval)
return {
"success": True,
"data": result,
"count": len(result),
"interval": f"{interval}分钟"
}
async def handle_get_stock_intraday_statistics(args: Dict[str, Any]) -> Any:
"""处理股票日内统计数据查询"""
code = args["code"]
date = args["date"]
result = await db.get_stock_intraday_statistics(code, date)
return result
# 工具处理函数映射
TOOL_HANDLERS = {
"search_news": handle_search_news,
@@ -1136,6 +1247,10 @@ TOOL_HANDLERS = {
"get_stock_comparison": handle_get_stock_comparison,
"get_user_watchlist": handle_get_user_watchlist,
"get_user_following_events": handle_get_user_following_events,
# 分钟频数据工具
"get_stock_minute_data": handle_get_stock_minute_data,
"get_stock_minute_aggregation": handle_get_stock_minute_aggregation,
"get_stock_intraday_statistics": handle_get_stock_intraday_statistics,
}
# ==================== Agent系统实现 ====================