Улучшены триггеры для RSS — более строгие условия (v0.5.3)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-02-26 11:05:22 +08:00
parent 5b52566f0e
commit 77397269e1
1 changed files with 12 additions and 21 deletions

View File

@ -44,13 +44,13 @@ class AIAgent:
'скачай', 'загрузи', 'найди информацию', 'посмотри в сети'
]
# Триггеры для RSS
# Триггеры для RSS — ТОЛЬКО явные запросы новостей
RSS_TRIGGERS = [
'новости', 'rss', 'лента', 'feed', 'дайджест',
'что нового в linux', 'новости it', 'tech news',
'почитай новости', 'последние статьи', 'свежие новости',
'новости технологий', 'opensource новости', 'linux новости',
'покажи новости', 'что в лентах', 'есть новые статьи'
'почитай новости', 'покажи новости', 'что нового в linux',
'новости it', 'tech news', 'opensource новости', 'linux новости',
'новости технологий', 'rss лента', 'дайджест новостей',
'свежие новости it', 'последние новости it', 'новости linux',
'it новости', 'новости opensource', 'лента новостей'
]
# Триггеры для SSH-команд
@ -109,22 +109,13 @@ class AIAgent:
message_lower = message.lower()
score = 0.0
# Только прямые триггеры — высокий порог
for trigger in self.RSS_TRIGGERS:
if trigger in message_lower:
return True, 0.9
return True, 0.95
# Если пользователь спрашивает про новости технологий
tech_news = ['новости linux', 'it новости', 'tech news', 'opensource']
for topic in tech_news:
if topic in message_lower:
score = max(score, 0.8)
# Контекстные подсказки
if any(word in message_lower for word in ['почитай', 'посмотри', 'покажи']) and \
any(word in message_lower for word in ['статьи', 'материалы', 'публикации']):
score = max(score, 0.75)
return score >= 0.75, score
# Больше никаких контекстных подсказок — только явные запросы
return False, score
def _should_use_ssh(self, message: str) -> tuple[bool, float]:
"""Проверить, нужна ли SSH-команда."""
@ -226,9 +217,9 @@ class AIAgent:
reasoning='Пользователю нужна информация из интернета'
)
# 4. Проверка на RSS
# 4. Проверка на RSS — только явные запросы
should_rss, rss_conf = self._should_read_rss(message)
if should_rss and rss_conf > 0.7:
if should_rss: # Порог уже проверен в _should_read_rss (0.95)
return AgentDecision(
should_use_tool=True,
tool_name='rss_tool',