From 09867ef5588ccfa07d179155b1500c8b0ce0f3ea Mon Sep 17 00:00:00 2001 From: mirivlad Date: Wed, 25 Feb 2026 12:13:38 +0800 Subject: [PATCH] fix: unify tool naming (ddgs_tool, rss_tool, ssh_tool, cron_tool) Co-authored-by: Qwen-Coder --- AI_AGENT_TOOLS.md | 8 ++++---- TOOLS.md | 22 +++++++++++----------- bot/ai_agent.py | 8 ++++---- bot/tools/cron_tool.py | 2 +- bot/tools/ddgs_tool.py | 2 +- bot/tools/rss_tool.py | 2 +- bot/tools/ssh_tool.py | 2 +- 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/AI_AGENT_TOOLS.md b/AI_AGENT_TOOLS.md index 17a10ac..1f72667 100644 --- a/AI_AGENT_TOOLS.md +++ b/AI_AGENT_TOOLS.md @@ -89,10 +89,10 @@ | Инструмент | Назначение | Триггеры | |------------|------------|----------| -| `ddgs_search` | Поиск в интернете | "найди", "поиск", "узнай", "как сделать" | -| `rss_reader` | Чтение RSS лент | "новости", "почитай", "лента", "IT новости" | -| `ssh_executor` | SSH-команды | "проверь сервер", "выполни команду", "uptime" | -| `cron_manager` | Задачи по расписанию | "напомни", "запланируй", "каждый день" | +| `ddgs_tool` | Поиск в интернете | "найди", "поиск", "узнай", "как сделать" | +| `rss_tool` | Чтение RSS лент | "новости", "почитай", "лента", "IT новости" | +| `ssh_tool` | SSH-команды | "проверь сервер", "выполни команду", "uptime" | +| `cron_tool` | Задачи по расписанию | "напомни", "запланируй", "каждый день" | --- diff --git a/TOOLS.md b/TOOLS.md index d92f67c..046591b 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -25,10 +25,10 @@ bot/ from bot.tools import tools_registry # Получить инструмент -tool = tools_registry.get('ddgs_search') +tool = tools_registry.get('ddgs_tool') # Выполнить инструмент -result = await tools_registry.execute_tool('ddgs_search', query='python tutorial', max_results=5) +result = await tools_registry.execute_tool('ddgs_tool', query='python tutorial', max_results=5) ``` ### 2. AI Агент @@ -56,14 +56,14 @@ if decision.should_use_tool: ## 📦 Доступные инструменты -### 🔍 DDGS Search (`ddgs_search`) +### 🔍 DDGS Search (`ddgs_tool`) Поиск информации в интернете через DuckDuckGo. **Использование:** ```python result = await tools_registry.execute_tool( - 'ddgs_search', + 'ddgs_tool', query='python async await', max_results=10 ) @@ -84,7 +84,7 @@ result = await tools_registry.execute_tool( Rust is a programming language ... ``` -### 📰 RSS Reader (`rss_reader`) +### 📰 RSS Reader (`rss_tool`) Чтение RSS/Atom новостных лент. @@ -102,7 +102,7 @@ result = await tools_registry.execute_tool( ```python # Получить новости result = await tools_registry.execute_tool( - 'rss_reader', + 'rss_tool', action='list', limit=10, undigested_only=True @@ -110,7 +110,7 @@ result = await tools_registry.execute_tool( # Добавить ленту result = await tools_registry.execute_tool( - 'rss_reader', + 'rss_tool', action='add_feed', url='https://lwn.net/headlines/newrss', title='LWN.net' @@ -132,14 +132,14 @@ result = await tools_registry.execute_tool( 🔗 https://... ``` -### 🖥️ SSH Executor (`ssh_executor`) +### 🖥️ SSH Executor (`ssh_tool`) Выполнение команд на удалённых серверах по SSH. **Использование:** ```python result = await tools_registry.execute_tool( - 'ssh_executor', + 'ssh_tool', command='uptime', server='home', timeout=30 @@ -179,7 +179,7 @@ servers = { ✅ **Успешно** ``` -### ⏰ Cron Manager (`cron_manager`) +### ⏰ Cron Manager (`cron_tool`) Управление периодическими задачами пользователя. @@ -203,7 +203,7 @@ servers = { ```python # Добавить задачу result = await tools_registry.execute_tool( - 'cron_manager', + 'cron_tool', action='add', name='Daily Backup', command='/home/user/backup.sh', diff --git a/bot/ai_agent.py b/bot/ai_agent.py index 1eff7a8..26f82ee 100644 --- a/bot/ai_agent.py +++ b/bot/ai_agent.py @@ -197,7 +197,7 @@ class AIAgent: if should_ssh and ssh_conf > 0.75: return AgentDecision( should_use_tool=True, - tool_name='ssh_executor', + tool_name='ssh_tool', tool_args={'command': self._extract_ssh_command(message)}, confidence=ssh_conf, reasoning='Пользователю нужно выполнить команду на сервере' @@ -208,7 +208,7 @@ class AIAgent: if should_cron and cron_conf > 0.75: return AgentDecision( should_use_tool=True, - tool_name='cron_manager', + tool_name='cron_tool', tool_args={'action': 'list'}, # Показываем список задач confidence=cron_conf, reasoning='Пользователь хочет создать или управлять задачей' @@ -220,7 +220,7 @@ class AIAgent: query = self._extract_search_query(message) return AgentDecision( should_use_tool=True, - tool_name='ddgs_search', + tool_name='ddgs_tool', tool_args={'query': query, 'max_results': 5}, confidence=search_conf, reasoning='Пользователю нужна информация из интернета' @@ -231,7 +231,7 @@ class AIAgent: if should_rss and rss_conf > 0.7: return AgentDecision( should_use_tool=True, - tool_name='rss_reader', + tool_name='rss_tool', tool_args={'action': 'list', 'limit': 10, 'undigested_only': True}, confidence=rss_conf, reasoning='Пользователь хочет прочитать новости из лент' diff --git a/bot/tools/cron_tool.py b/bot/tools/cron_tool.py index 0a91759..3b93b89 100644 --- a/bot/tools/cron_tool.py +++ b/bot/tools/cron_tool.py @@ -34,7 +34,7 @@ class CronJob: class CronTool(BaseTool): """Инструмент для управления задачами пользователя.""" - name = "cron_manager" + name = "cron_tool" description = "Управление периодическими задачами пользователя. Создание, планирование и выполнение задач по расписанию." category = "automation" diff --git a/bot/tools/ddgs_tool.py b/bot/tools/ddgs_tool.py index 704b381..c0d1272 100644 --- a/bot/tools/ddgs_tool.py +++ b/bot/tools/ddgs_tool.py @@ -20,7 +20,7 @@ logger = logging.getLogger(__name__) class DDGSTool(BaseTool): """Инструмент поиска через DuckDuckGo.""" - name = "ddgs_search" + name = "ddgs_tool" description = "Поиск информации в интернете через DuckDuckGo. Используется когда нужны свежие данные, новости, факты." category = "search" diff --git a/bot/tools/rss_tool.py b/bot/tools/rss_tool.py index fc55433..678d3b5 100644 --- a/bot/tools/rss_tool.py +++ b/bot/tools/rss_tool.py @@ -26,7 +26,7 @@ logger = logging.getLogger(__name__) class RSSTool(BaseTool): """Инструмент для работы с RSS лентами.""" - name = "rss_reader" + name = "rss_tool" description = "Чтение RSS/Atom новостных лент. Управление подписками, получение новостей, дайджесты." category = "news" diff --git a/bot/tools/ssh_tool.py b/bot/tools/ssh_tool.py index 7c6dbaf..654b688 100644 --- a/bot/tools/ssh_tool.py +++ b/bot/tools/ssh_tool.py @@ -32,7 +32,7 @@ class ServerConfig: class SSHExecutorTool(BaseTool): """Инструмент для выполнения SSH-команд.""" - name = "ssh_executor" + name = "ssh_tool" description = "Выполнение команд на удалённых серверах по SSH. Используется для системных задач: мониторинг, управление сервисами, просмотр логов." category = "system"