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