fix: unify tool naming (ddgs_tool, rss_tool, ssh_tool, cron_tool)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-02-25 12:13:38 +08:00
parent 1dc40507c6
commit 09867ef558
7 changed files with 23 additions and 23 deletions

View File

@ -89,10 +89,10 @@
| Инструмент | Назначение | Триггеры | | Инструмент | Назначение | Триггеры |
|------------|------------|----------| |------------|------------|----------|
| `ddgs_search` | Поиск в интернете | "найди", "поиск", "узнай", "как сделать" | | `ddgs_tool` | Поиск в интернете | "найди", "поиск", "узнай", "как сделать" |
| `rss_reader` | Чтение RSS лент | "новости", "почитай", "лента", "IT новости" | | `rss_tool` | Чтение RSS лент | "новости", "почитай", "лента", "IT новости" |
| `ssh_executor` | SSH-команды | "проверь сервер", "выполни команду", "uptime" | | `ssh_tool` | SSH-команды | "проверь сервер", "выполни команду", "uptime" |
| `cron_manager` | Задачи по расписанию | "напомни", "запланируй", "каждый день" | | `cron_tool` | Задачи по расписанию | "напомни", "запланируй", "каждый день" |
--- ---

View File

@ -25,10 +25,10 @@ bot/
from bot.tools import tools_registry 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 Агент ### 2. AI Агент
@ -56,14 +56,14 @@ if decision.should_use_tool:
## 📦 Доступные инструменты ## 📦 Доступные инструменты
### 🔍 DDGS Search (`ddgs_search`) ### 🔍 DDGS Search (`ddgs_tool`)
Поиск информации в интернете через DuckDuckGo. Поиск информации в интернете через DuckDuckGo.
**Использование:** **Использование:**
```python ```python
result = await tools_registry.execute_tool( result = await tools_registry.execute_tool(
'ddgs_search', 'ddgs_tool',
query='python async await', query='python async await',
max_results=10 max_results=10
) )
@ -84,7 +84,7 @@ result = await tools_registry.execute_tool(
Rust is a programming language ... Rust is a programming language ...
``` ```
### 📰 RSS Reader (`rss_reader`) ### 📰 RSS Reader (`rss_tool`)
Чтение RSS/Atom новостных лент. Чтение RSS/Atom новостных лент.
@ -102,7 +102,7 @@ result = await tools_registry.execute_tool(
```python ```python
# Получить новости # Получить новости
result = await tools_registry.execute_tool( result = await tools_registry.execute_tool(
'rss_reader', 'rss_tool',
action='list', action='list',
limit=10, limit=10,
undigested_only=True undigested_only=True
@ -110,7 +110,7 @@ result = await tools_registry.execute_tool(
# Добавить ленту # Добавить ленту
result = await tools_registry.execute_tool( result = await tools_registry.execute_tool(
'rss_reader', 'rss_tool',
action='add_feed', action='add_feed',
url='https://lwn.net/headlines/newrss', url='https://lwn.net/headlines/newrss',
title='LWN.net' title='LWN.net'
@ -132,14 +132,14 @@ result = await tools_registry.execute_tool(
🔗 https://... 🔗 https://...
``` ```
### 🖥️ SSH Executor (`ssh_executor`) ### 🖥️ SSH Executor (`ssh_tool`)
Выполнение команд на удалённых серверах по SSH. Выполнение команд на удалённых серверах по SSH.
**Использование:** **Использование:**
```python ```python
result = await tools_registry.execute_tool( result = await tools_registry.execute_tool(
'ssh_executor', 'ssh_tool',
command='uptime', command='uptime',
server='home', server='home',
timeout=30 timeout=30
@ -179,7 +179,7 @@ servers = {
**Успешно** **Успешно**
``` ```
### ⏰ Cron Manager (`cron_manager`) ### ⏰ Cron Manager (`cron_tool`)
Управление периодическими задачами пользователя. Управление периодическими задачами пользователя.
@ -203,7 +203,7 @@ servers = {
```python ```python
# Добавить задачу # Добавить задачу
result = await tools_registry.execute_tool( result = await tools_registry.execute_tool(
'cron_manager', 'cron_tool',
action='add', action='add',
name='Daily Backup', name='Daily Backup',
command='/home/user/backup.sh', command='/home/user/backup.sh',

View File

@ -197,7 +197,7 @@ class AIAgent:
if should_ssh and ssh_conf > 0.75: if should_ssh and ssh_conf > 0.75:
return AgentDecision( return AgentDecision(
should_use_tool=True, should_use_tool=True,
tool_name='ssh_executor', tool_name='ssh_tool',
tool_args={'command': self._extract_ssh_command(message)}, tool_args={'command': self._extract_ssh_command(message)},
confidence=ssh_conf, confidence=ssh_conf,
reasoning='Пользователю нужно выполнить команду на сервере' reasoning='Пользователю нужно выполнить команду на сервере'
@ -208,7 +208,7 @@ class AIAgent:
if should_cron and cron_conf > 0.75: if should_cron and cron_conf > 0.75:
return AgentDecision( return AgentDecision(
should_use_tool=True, should_use_tool=True,
tool_name='cron_manager', tool_name='cron_tool',
tool_args={'action': 'list'}, # Показываем список задач tool_args={'action': 'list'}, # Показываем список задач
confidence=cron_conf, confidence=cron_conf,
reasoning='Пользователь хочет создать или управлять задачей' reasoning='Пользователь хочет создать или управлять задачей'
@ -220,7 +220,7 @@ class AIAgent:
query = self._extract_search_query(message) query = self._extract_search_query(message)
return AgentDecision( return AgentDecision(
should_use_tool=True, should_use_tool=True,
tool_name='ddgs_search', tool_name='ddgs_tool',
tool_args={'query': query, 'max_results': 5}, tool_args={'query': query, 'max_results': 5},
confidence=search_conf, confidence=search_conf,
reasoning='Пользователю нужна информация из интернета' reasoning='Пользователю нужна информация из интернета'
@ -231,7 +231,7 @@ class AIAgent:
if should_rss and rss_conf > 0.7: if should_rss and rss_conf > 0.7:
return AgentDecision( return AgentDecision(
should_use_tool=True, should_use_tool=True,
tool_name='rss_reader', tool_name='rss_tool',
tool_args={'action': 'list', 'limit': 10, 'undigested_only': True}, tool_args={'action': 'list', 'limit': 10, 'undigested_only': True},
confidence=rss_conf, confidence=rss_conf,
reasoning='Пользователь хочет прочитать новости из лент' reasoning='Пользователь хочет прочитать новости из лент'

View File

@ -34,7 +34,7 @@ class CronJob:
class CronTool(BaseTool): class CronTool(BaseTool):
"""Инструмент для управления задачами пользователя.""" """Инструмент для управления задачами пользователя."""
name = "cron_manager" name = "cron_tool"
description = "Управление периодическими задачами пользователя. Создание, планирование и выполнение задач по расписанию." description = "Управление периодическими задачами пользователя. Создание, планирование и выполнение задач по расписанию."
category = "automation" category = "automation"

View File

@ -20,7 +20,7 @@ logger = logging.getLogger(__name__)
class DDGSTool(BaseTool): class DDGSTool(BaseTool):
"""Инструмент поиска через DuckDuckGo.""" """Инструмент поиска через DuckDuckGo."""
name = "ddgs_search" name = "ddgs_tool"
description = "Поиск информации в интернете через DuckDuckGo. Используется когда нужны свежие данные, новости, факты." description = "Поиск информации в интернете через DuckDuckGo. Используется когда нужны свежие данные, новости, факты."
category = "search" category = "search"

View File

@ -26,7 +26,7 @@ logger = logging.getLogger(__name__)
class RSSTool(BaseTool): class RSSTool(BaseTool):
"""Инструмент для работы с RSS лентами.""" """Инструмент для работы с RSS лентами."""
name = "rss_reader" name = "rss_tool"
description = "Чтение RSS/Atom новостных лент. Управление подписками, получение новостей, дайджесты." description = "Чтение RSS/Atom новостных лент. Управление подписками, получение новостей, дайджесты."
category = "news" category = "news"

View File

@ -32,7 +32,7 @@ class ServerConfig:
class SSHExecutorTool(BaseTool): class SSHExecutorTool(BaseTool):
"""Инструмент для выполнения SSH-команд.""" """Инструмент для выполнения SSH-команд."""
name = "ssh_executor" name = "ssh_tool"
description = "Выполнение команд на удалённых серверах по SSH. Используется для системных задач: мониторинг, управление сервисами, просмотр логов." description = "Выполнение команд на удалённых серверах по SSH. Используется для системных задач: мониторинг, управление сервисами, просмотр логов."
category = "system" category = "system"