chore: sync current WechatHookBot workspace
This commit is contained in:
38
plugins/AIChat/tool_handler.py
Normal file
38
plugins/AIChat/tool_handler.py
Normal file
@@ -0,0 +1,38 @@
|
||||
"""
|
||||
工具调用处理模块
|
||||
从 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
|
||||
Reference in New Issue
Block a user