39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
"""
|
|
工具调用处理模块
|
|
从 main.py 提取,减少主文件体积
|
|
"""
|
|
from typing import List, Dict, Any, Optional
|
|
from loguru import logger
|
|
|
|
|
|
class ToolHandler:
|
|
"""工具调用处理器"""
|
|
|
|
def __init__(self, config: dict, plugin_manager):
|
|
self.config = config
|
|
self.plugin_manager = plugin_manager
|
|
|
|
def collect_tools(self) -> List[Dict[str, Any]]:
|
|
"""收集所有可用工具"""
|
|
from utils.llm_tooling import collect_tools_with_plugins
|
|
|
|
tools_config = self.config.get("tools", {})
|
|
plugins = self.plugin_manager.plugins if self.plugin_manager else {}
|
|
|
|
return collect_tools_with_plugins(tools_config, plugins)
|
|
|
|
async def execute_tools_async(
|
|
self,
|
|
tool_calls_data: list,
|
|
bot,
|
|
from_wxid: str,
|
|
chat_id: str,
|
|
user_wxid: str,
|
|
nickname: str,
|
|
is_group: bool,
|
|
messages: list
|
|
):
|
|
"""异步执行工具调用(从 main.py 移植)"""
|
|
# 这里只是框架,具体实现需要从 main.py 复制
|
|
pass
|