a8727654af
- agent1.py : bot XMPP connecté à Ollama avec boucle agentique - skills/web_search.py : recherche DuckDuckGo (ddgs) - skills/web_read.py : lecture et extraction de pages web - skills/memory.py : mémoire persistante SQLite (REMEMBER/RECALL) - skills/loader.py : chargement dynamique des skills
29 lines
806 B
Python
29 lines
806 B
Python
"""
|
|
Skill : SEARCH
|
|
Effectue une recherche DuckDuckGo et retourne les 5 premiers résultats.
|
|
"""
|
|
from ddgs import DDGS
|
|
|
|
SKILL_NAME = "search"
|
|
TRIGGER = "SEARCH:"
|
|
|
|
def execute(args: str) -> str:
|
|
query = args.strip()
|
|
if not query:
|
|
return "Erreur : requête vide."
|
|
try:
|
|
with DDGS() as ddgs:
|
|
results = list(ddgs.text(query, max_results=5))
|
|
|
|
if not results:
|
|
return "Aucun résultat trouvé pour : {}".format(query)
|
|
|
|
lines = ["Résultats de recherche pour «{}» :".format(query)]
|
|
for r in results:
|
|
lines.append("- **{}**\n {}\n {}".format(r.get("title", ""), r.get("body", ""), r.get("href", "")))
|
|
|
|
return "\n".join(lines)
|
|
|
|
except Exception as e:
|
|
return "Erreur lors de la recherche : {}".format(e)
|