Initial commit : agent XMPP avec système de skills
- 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
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
"""
|
||||
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)
|
||||
Reference in New Issue
Block a user