Files
WeChatHookBot/plugins/AIChat/tool_handler.py

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