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:
2026-03-07 10:32:33 +00:00
commit a8727654af
8 changed files with 338 additions and 0 deletions
+28
View File
@@ -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)