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:
parent
1dc40507c6
commit
09867ef558
|
|
@ -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` | Задачи по расписанию | "напомни", "запланируй", "каждый день" |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
22
TOOLS.md
22
TOOLS.md
|
|
@ -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',
|
||||||
|
|
|
||||||
|
|
@ -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='Пользователь хочет прочитать новости из лент'
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ class CronJob:
|
||||||
class CronTool(BaseTool):
|
class CronTool(BaseTool):
|
||||||
"""Инструмент для управления задачами пользователя."""
|
"""Инструмент для управления задачами пользователя."""
|
||||||
|
|
||||||
name = "cron_manager"
|
name = "cron_tool"
|
||||||
description = "Управление периодическими задачами пользователя. Создание, планирование и выполнение задач по расписанию."
|
description = "Управление периодическими задачами пользователя. Создание, планирование и выполнение задач по расписанию."
|
||||||
category = "automation"
|
category = "automation"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue