[ { "name": "fix_growth_advisor_scroll", "triggers": "fix.{0,15}scroll.{0,15}(growth|advisor)|(growth|advisor).{0,15}(not|pas).{0,15}scrollable|(growth|advisor).{0,20}scroll.{0,15}(stuck|casse|bloque)|growth.{0,10}advisor.{0,20}scroll", "command": "echo === GROWTH ADVISOR SCROLL FIX STATUS ===; grep -c 'WAVE-SCROLL-FIX-23AVR' /var/www/html/growth-engine-v2.html 2>&1; echo === FILE INFO ===; ls -la /var/www/html/growth-engine-v2.html; lsattr /var/www/html/growth-engine-v2.html 2>&1; echo === LAST COMMIT ===; cd /var/www/html && git log --oneline -3 -- growth-engine-v2.html 2>&1", "static": false }, { "name": "playwright_scroll_diag", "triggers": "playwright.{0,15}(test|diag).{0,15}scroll|diag.{0,15}scroll.{0,15}(advisor|growth)|test.{0,15}scroll.{0,15}(growth|advisor)|scroll.{0,15}(proof|preuve)|advisor.{0,15}scroll.{0,15}(test|validation|proof)", "command": "echo === WAVE-272 AUTHENTICATED PROOF ===; ls /opt/wevads/vault/proofs/wave272-scroll-fix-23avr/ 2>&1; echo === RESULT.JSON ===; cat /opt/wevads/vault/proofs/wave272-scroll-fix-23avr/result.json 2>/dev/null | python3 -m json.tool 2>&1 | head -40; echo === AUTH SCRIPT REUSE ===; ls -la /opt/weval-nonreg/advisor_scroll_authed_v1.js 2>&1; echo 'Rerun: sudo -u www-data node /opt/weval-nonreg/advisor_scroll_authed_v1.js (takes ~40s, login yacine auto)'", "static": false }, { "name": "clean_disk_safe", "triggers": "clean.{0,15}disk.{0,15}safe|(nettoie|nettoyer|nettoyage|purge|liber|libere).{0,20}(disque|disk|gold|vieux|espace|golds)|disk.{0,15}full", "command": "echo === DISK BEFORE ===; df -h / | tail -1; echo === KEEP LATEST GOLD ONLY ===; LATEST=$(ls -dt /opt/wevads/vault/gold-auto-* 2>/dev/null | head -1); echo LATEST=$LATEST; for g in $(ls -dt /opt/wevads/vault/gold-auto-* 2>/dev/null | tail -n +2); do echo PURGE=$g; sudo rm -rf \"$g\"; done; echo === TMP PLAYWRIGHT PROFILES >30min ===; sudo find /tmp -maxdepth 1 -name 'playwright_chromiumdev_profile-*' -mmin +30 -exec rm -rf {} \\; 2>/dev/null; sudo find /tmp -maxdepth 1 -name 'playwright-artifacts-*' -mmin +30 -exec rm -rf {} \\; 2>/dev/null; echo === DISK AFTER ===; df -h / | tail -1", "static": false }, { "name": "zxqtest", "triggers": "zxqtest", "command": "echo bonjour", "static": false }, { "name": "xcode_diag", "triggers": "xcode", "command": "ls -la /var/log/nginx/code* /etc/nginx/sites-enabled/code* 2>&1 ; echo === VHOST === ; cat /etc/nginx/sites-enabled/code.weval-consulting.com 2>&1 ; echo === LAST ERR === ; grep -i code /var/log/nginx/error.log 2>&1 | tail -30", "static": false }, { "name": "xcode_vhost", "triggers": "xvhost", "command": "cat /etc/nginx/sites-enabled/code-weval", "static": false }, { "name": "p3900check", "triggers": "p3900", "command": "bash -c ss-tlnp-3900", "static": false }, { "name": "gptconfig", "triggers": "gptconfig", "command": "find /opt/claw-code -maxdepth 4 -name *.yaml -o -name .gptr.*.yaml 2>/dev/null", "static": false }, { "name": "gptcwd", "triggers": "gptcwd", "command": "sudo readlink /proc/2742182/cwd ; sudo cat /proc/2742182/environ | tr -d \\000 | grep -iE OPENAI_BASE_URL", "static": false }, { "name": "gptenv", "triggers": "gptenv", "command": "sudo strings /proc/2742182/environ | grep -iE OPENAI", "static": false }, { "name": "wvia_route", "triggers": "wvroute", "command": "grep -n weval-ia /etc/nginx/sites-enabled/weval-consulting", "static": false }, { "name": "golds_nginx", "triggers": "ngolds", "command": "ls -lat /opt/wevads/vault/GOLD*nginx*weval* 2>/dev/null ; ls -lat /etc/nginx/sites-enabled/weval-consulting* 2>/dev/null | head -5", "static": false }, { "name": "ngctx", "triggers": "ngctx", "command": "sed -n 150,175p /etc/nginx/sites-enabled/weval-consulting", "static": false }, { "name": "ngbk", "triggers": "ngbk", "command": "find / -maxdepth 6 -name weval-consulting.bak -o -name weval-consulting.gold -o -name weval-consulting.backup 2>/dev/null ; ls -lat /etc/nginx/sites-available/*.bak 2>/dev/null", "static": false }, { "name": "ngxscan", "triggers": "ngxscan", "command": "grep -n weval-ia /etc/nginx/sites-enabled/weval-consulting", "static": false }, { "name": "ngxblk", "triggers": "ngxblk", "command": "sed -n 158,172p /etc/nginx/sites-enabled/weval-consulting", "static": false }, { "name": "ngxtest", "triggers": "ngxtest", "command": "sudo nginx -t ; echo === RELOAD === ; sudo systemctl reload nginx ; echo ok ; echo === CURL === ; curl -sk https://weval-consulting.com/api/weval-ia -o /tmp/test.txt ; head -c 200 /tmp/test.txt", "static": false }, { "name": "capsfind", "triggers": "capsfind", "command": "grep -n -B1 -A5 Caps10 /opt/weval-nonreg/nonreg-master.py", "static": false }, { "name": "capshealth", "triggers": "capshealth", "command": "curl -sk https://weval-consulting.com/api/wevia-capabilities.php?cap=health", "static": false }, { "name": "lokichk", "triggers": "lokichk", "command": "ss -tlnp 2>&1 | grep -E :3100 ; echo === DOCKER === ; docker ps -a 2>&1 | grep -i loki ; echo === SYSTEMD === ; systemctl list-units 2>&1 | grep -i loki", "static": false }, { "name": "pwchk", "triggers": "pwchk", "command": "ls /opt/playwright-visual/ 2>&1 | head -20", "static": false }, { "name": "gitloc", "triggers": "gitloc", "command": "cd /var/www/html && git remote -v 2>&1 | head -5 ; echo === BRANCH === ; git branch 2>&1 | head -3 ; echo === STATUS === ; git status 2>&1 | head -10", "static": false }, { "name": "gitlog", "triggers": "gitlog", "command": "cd /var/www/html && git log --oneline -10", "static": false }, { "name": "gitpush", "triggers": "gitpush", "command": "cd /var/www/html && git add -A && git commit -m doctrine-fix-autowire-cascade-priority-v4-v5-v6 -m opus-intervention-autonomy-WEVIA-Master 2>&1 | tail -3 ; echo === PUSH === ; git push gitea main 2>&1 | tail -5 ; echo === ORIGIN === ; git push origin main 2>&1 | tail -5", "static": false }, { "name": "verifyfp", "triggers": "verifyfp", "command": "grep -c NL-AUTOWIRE.PRIORITY /var/www/html/api/wevia-fast-path-v3.php ; grep -c sovereign.cascade.cascade /var/www/html/api/wevia-fast-path-v3.php ; ls -la /opt/wevia-brain/priority-intents-nl.json", "static": false }, { "name": "ajoute_nouvel_intent_wikiloc", "triggers": "wikiloc", "command": "ls /var/www/weval/wiki/ 2>/dev/null | head -10 ; echo === VAULT === ; ls /var/www/html/vault/ 2>/dev/null | head -10 ; ls /var/www/weval/vault/ 2>/dev/null | head -10", "static": false }, { "name": "screensloc", "triggers": "screensloc", "command": "ls /var/www/html/architecture*.html /var/www/html/agents-archi*.html /var/www/html/security*.html /var/www/html/wevia-master.html 2>&1 | head -15", "static": false }, { "name": "buginvest", "triggers": "buginvest", "command": "tail -n 20 /var/log/nginx/error.log", "static": false }, { "name": "gptmodels", "triggers": "gptmodels", "command": "curl -sk http://127.0.0.1:4000/v1/models", "static": false }, { "name": "sovloc", "triggers": "sovloc", "command": "ls /opt/sovereign-api/ 2>&1 | head -10", "static": false }, { "name": "sovmodels", "triggers": "sovmodels", "command": "grep -n -A5 v1.models /opt/sovereign-api/sovereign-api.py", "static": false }, { "name": "xopusinrt", "triggers": "xopusinrt", "command": "ls -la /var/www/html/api/wevia-opus-intents.php ; echo === HEAD === ; head -50 /var/www/html/api/wevia-opus-intents.php", "static": false }, { "name": "xwireck", "triggers": "xwireck", "command": "grep -n wevia-opus-intents /var/www/html/api/wevia-master-api.php", "static": false }, { "name": "xnrfresh", "triggers": "xnrfresh", "command": "nohup sudo python3 /opt/weval-nonreg/nonreg-master.py > /tmp/nrf.log 2>&1", "static": false }, { "name": "xlokiport", "triggers": "xlokiport", "command": "docker ps 2>&1 | grep loki ; echo === PORTS === ; docker port loki 2>&1 ; echo === HEALTH === ; docker inspect loki 2>&1 | grep -E HealthLog | head -5 ; echo === CURL 3100 === ; curl -sk http://127.0.0.1:3100/ready 2>&1 | head -c 200", "static": false }, { "name": "xcapssrc", "triggers": "xcapssrc", "command": "grep -n -A1 loki /var/www/html/api/wevia-capabilities.php", "static": false }, { "name": "xlokiports", "triggers": "xlokiports", "command": "curl -sk http://localhost:3100/ready 2>&1 | head -c 50 ; echo \"|\" ; curl -sk http://localhost:3110/ready 2>&1 | head -c 50 ; echo \"|\" ; ss -tlnp 2>&1 | grep -E \":3100|:3110\"", "static": false }, { "name": "listprio", "triggers": "listprio", "command": "cat /opt/wevia-brain/priority-intents-nl.json", "static": false }, { "name": "docker_status", "triggers": "docker|conteneur", "command": "docker ps --format '{{.Names}}: {{.Status}}' 2>/dev/null | head -20", "static": false }, { "name": "subdomain_status", "triggers": "sous.domaines?|subdomains?", "command": "for d in analytics crm git langfuse monitor n8n paperclip; do echo -n \"$d:\"; curl -sk -o /dev/null -w '%{http_code}' --max-time 3 https://$d.weval-consulting.com; echo; done", "static": false }, { "name": "nuclei_scan", "triggers": "nuclei|scan.*securit", "command": "echo NUCLEI && ls -lt /var/log/nuclei*.log 2>/dev/null | head -3", "static": false }, { "name": "qdrant_info", "triggers": "qdrant.*vect|vect.*qdrant|qdrant.*collec", "command": "curl -s http://127.0.0.1:6333/collections 2>/dev/null | head -c 500", "static": false }, { "name": "ajouter_bonjour_yacine", "triggers": "bonjour yacine", "command": "Bonjour Yacine ! Comment puis-je vous aider ?", "static": true }, { "name": "git_push", "triggers": "commit.*push|push.*git|pousse.*git", "command": "cd /var/www/html && git add -A && git commit -m 'auto-wevia' 2>&1 | tail -3 && git push 2>&1 | tail -3", "static": false }, { "name": "docker_restart", "triggers": "redemarr.*container|restart.*docker|relance.*container", "command": "echo 'Usage: docker restart ' && docker ps --format '{{.Names}}' | head -10", "static": false }, { "name": "cf_purge", "triggers": "purge.*cloud|cloudflare.*purge|cache.*cloudflare|cf.*purge", "command": "curl -sk -X POST 'https://api.cloudflare.com/client/v4/zones/1488bbba251c6fa282999fcc09aac9fe/purge_cache' -H 'X-Auth-Email: ymahboub@weval-consulting.com' -H 'X-Auth-Key: 9eb8d1041e7faeae68d5017376871ba170291' -H 'Content-Type: application/json' -d '{\"purge_everything\":true}' 2>/dev/null | python3 -c \"import sys,json;d=json.load(sys.stdin);print('CF PURGE:','OK' if d.get('success') else 'FAIL',d.get('errors',['']))\"", "static": false }, { "name": "ethica_backup", "triggers": "backup.*ethica|sauvegarde.*ethica|dump.*ethica|medecin.*base|base.*medecin|combien.*medecin.*total", "command": "echo 'ETHICA BACKUP' && PGPASSWORD=admin123 pg_dump -h 10.1.0.3 -U admin -d adx_system -n ethica --no-owner -Fc -f /tmp/ethica-backup-$(date +%Y%m%d).dump 2>&1 && ls -lh /tmp/ethica-backup-*.dump | tail -1", "static": false }, { "name": "php_workers", "triggers": "worker.*php|php.*worker|fpm.*worker|combien.*worker", "command": "echo 'FPM:' && pgrep -c php-fpm && echo 'POOLS:' && cat /etc/php/8.5/fpm/pool.d/*.conf 2>/dev/null | grep pm.max_children | head -3", "static": false }, { "name": "containers_down", "triggers": "container.*down|docker.*down|container.*arret|docker.*stop|truc.*march.*pas|quelque.*chose.*down|probleme.*serveur", "command": "echo 'RUNNING:' && docker ps -q 2>/dev/null | wc -l && echo 'ALL:' && docker ps -aq 2>/dev/null | wc -l && echo 'STOPPED:' && docker ps -aq -f status=exited 2>/dev/null | wc -l", "static": false }, { "name": "visitors_online", "triggers": "connecte.*site|visiteur|visitor|qui.*en.*ligne|analytics", "command": "curl -s http://127.0.0.1:8000/api/v1/stats/aggregate?site_id=weval-consulting.com\\&period=realtime 2>/dev/null | head -c 200 || echo 'Plausible: check /analytics'", "static": false }, { "name": "nginx_version", "triggers": "version.*nginx|nginx.*version", "command": "nginx -v 2>&1", "static": false }, { "name": "load_server", "triggers": "load.*average|load.*serv|charge.*serv|infrastructure|machine.*tourn|comment.*va.*infra|serveur.*bien|etat.*serveur|perf|performance|tient.*coup|lent", "command": "echo 'LOAD:' && cat /proc/loadavg && echo 'RAM:' && free -h | head -2 && echo 'CPU:' && nproc", "static": false }, { "name": "sync_tout", "triggers": "sync tout|lance sync|synchronise tout", "command": "curl -s http://127.0.0.1/api/sync-exec.php", "static": false }, { "name": "lancer_tests_fonctionnels", "triggers": "tests fonctionnels|lance functional|functional tests", "command": "cd /opt/weval-l99 && python3 functional-tests.py 2>&1 | tail -5", "static": false }, { "name": "ajouter_crons_ethica_s95", "triggers": "crons ethica s95|crons s95 ethica|ethica crons", "command": "curl -s http://10.1.0.3:5890/api/sentinel-brain.php?action=exec&cmd=crontab+-l+2>/dev/null|grep+ethica", "static": false }, { "name": "add_security_scan", "triggers": "scan securite|security scan|ssl crowdsec status", "command": "echo SSL:; openssl s_client -connect weval-consulting.com:443 2>/dev/null | grep -i \"not after\"; echo CROWDSEC:; cscli alerts list -l 5 2>/dev/null || echo crowdsec-not-found", "static": false }, { "name": "paperclip_status", "triggers": "paperclip status|agents paperclip", "command": "curl -s http://127.0.0.1/api/paperclip-agents-api.php?action=stats 2>/dev/null | head -c 300", "static": false }, { "name": "scan_securite", "triggers": "scan securite|security check", "command": "echo SSL:; curl -skI https://weval-consulting.com 2>/dev/null | grep -i strict; echo DISK:; df -h / | tail -1", "static": false }, { "name": "crons_ethica", "triggers": "crons ethica|ethica crons s95", "command": "curl -s http://10.1.0.3:5890/api/sentinel-brain.php?action=exec&cmd=crontab%20-l%20|%20grep%20ethica", "static": false }, { "name": "ethica_crons", "triggers": "crons ethica|ethica crons", "command": "curl -s http://10.1.0.3:5890/api/sentinel-brain.php?action=exec&cmd=crontab%20-l", "static": false }, { "name": "pmta_status", "triggers": "pmta status|status pmta", "command": "curl -s http://10.1.0.3:5890/api/sentinel-brain.php?action=exec&cmd=pmta%20show%20status", "static": false }, { "name": "cpu_temp", "triggers": "temperature.*cpu|cpu.*temp|thermal", "command": "cat /sys/class/thermal/thermal_zone*/temp 2>/dev/null | head -3 || sensors 2>/dev/null | head -5 || echo 'CPU temp: non disponible (pas de sensors)'", "static": false }, { "name": "ssl_certs", "triggers": "certificat.*ssl|ssl.*actif|ssl.*list|certbot.*cert", "command": "certbot certificates 2>/dev/null | head -20", "static": false }, { "name": "domain_expiry", "triggers": "expire.*domaine|domaine.*expir|whois.*weval", "command": "whois weval-consulting.com 2>/dev/null | grep -i 'expir' | head -3 || echo 'whois non installe'", "static": false }, { "name": "email_stats", "triggers": "mail.*envoy|email.*envoy|mail.*cette.*semaine|combien.*mail", "command": "curl -s http://10.1.0.3:5890/api/sentinel-brain.php?action=exec\\&cmd=$(echo 'echo PMTA && pmta show counters | head -10' | base64 -w0) 2>/dev/null || echo 'PMTA stats via S95 sentinel'", "static": false }, { "name": "telegram_alerts", "triggers": "alerte.*telegram|telegram.*alerte|telegram.*24h|notif.*telegram", "command": "tail -50 /var/log/wevia/telegram-alerts.log 2>/dev/null || grep -r 'telegram' /var/log/wevia/ 2>/dev/null | tail -10 || echo 'Pas de log telegram recent'", "static": false }, { "name": "audit_security", "triggers": "audit.*securit|securite.*complet|security.*audit|scan.*complet.*sec", "command": "echo 'LAST NUCLEI:' && ls -lt /var/log/nuclei*.log 2>/dev/null | head -3 && echo 'TRIVY:' && trivy image --severity CRITICAL --quiet 2>/dev/null | head -5 && echo 'PORTS:' && ss -tlnp 2>/dev/null | wc -l", "static": false }, { "name": "req_per_sec", "triggers": "requete.*seconde|req.*sec|trafic|combien.*requete|request.*rate", "command": "echo 'NGINX:' && tail -1000 /var/log/nginx/access.log 2>/dev/null | awk '{print $4}' | cut -d: -f1-3 | sort | uniq -c | tail -5 || echo 'Pas de log access'", "static": false }, { "name": "users_connected", "triggers": "utilisateurs|visitors|sessions.*active|derniers.*connect|qui.*ligne", "command": "echo 'PHP Sessions:' && ls /var/lib/php/sessions/ 2>/dev/null | wc -l && echo 'Last access:' && tail -5 /var/log/nginx/access.log 2>/dev/null | awk '{print $1,$4,$7}'", "static": false }, { "name": "bilan_rapide", "triggers": "point.*sur.*tout|bilan.*rapide|resume.*situation|comment.*ca.*va|tout.*ok|status.*general|ca.*va.*bien|ca.*roule|on.*en.*est.*ou|ou.*en.*est|etat.*general", "command": "echo BILAN RAPIDE && echo NR:$(curl -s http://127.0.0.1/api/nonreg-api.php?cat=all | python3 -c 'import sys,json;d=json.load(sys.stdin);print(d[\"pass\"],\"/\",d[\"total\"])') && echo LOAD:$(cat /proc/loadavg) && echo DISK:$(df -h / | tail -1 | awk '{print $5}') && echo DOCKER:$(docker ps -q 2>/dev/null|wc -l) && echo FPM:$(pgrep -c php-fpm)", "static": false }, { "name": "disk_space_nl", "triggers": "place.*disque|assez.*place|disque.*plein|espace.*suffisant", "command": "df -h / | tail -1", "static": false }, { "name": "medecins_total", "triggers": "medecin.*base|base.*medecin|combien.*medecin.*total|medecin.*notre|couverture.*email|taux.*email|email.*pays", "command": "curl -s http://127.0.0.1/api/ethica-country-api.php 2>/dev/null | python3 -c \"import sys,json;d=json.load(sys.stdin);print('ETHICA:',d['total'],'HCPs,',d['email'],'email');[print(' ',c['pays']+':',c['t']) for c in d['countries']]\"", "static": false }, { "name": "infra_status_nl", "triggers": "infrastructure|machines|serveurs|comment.*infra|etat.*serveur", "command": "echo LOAD:$(cat /proc/loadavg | cut -d' ' -f1-3) RAM:$(free -h | grep Mem | awk '{print $3\"/\"$2}') DISK:$(df -h / | tail -1 | awk '{print $5}') FPM:$(pgrep -c php-fpm) DOCKER:$(docker ps -q 2>/dev/null|wc -l)", "static": false }, { "name": "problems_check", "triggers": "truc.*march.*pas|quelque.*chose.*down|probleme|erreur.*recent|ya.*souci|soucis|incident|panne|bug.*recent", "command": "echo DOCKER_STOPPED:$(docker ps -aq -f status=exited 2>/dev/null|wc -l) && echo LAST_ERRORS: && tail -3 /var/log/nginx/error.log 2>/dev/null", "static": false }, { "name": "reboot_uptime", "triggers": "longtemps.*reboot|dernier.*reboot|depuis.*quand.*tourne|uptime.*serveur", "command": "uptime", "static": false }, { "name": "ajouter_redis_info", "triggers": "redis info", "command": "redis-cli info memory | head -10", "static": false }, { "name": "deploy_check", "triggers": "deployer.*production|pret.*deployer|peut.*deployer|ready.*deploy|go.*live", "command": "echo DEPLOY CHECK && echo NR:$(curl -s http://127.0.0.1/api/nonreg-api.php?cat=all|python3 -c 'import sys,json;d=json.load(sys.stdin);print(d[\"pass\"],\"/\",d[\"total\"])') && echo GIT:$(cd /var/www/html&&git status -s|wc -l) dirty && echo DOCKER:$(docker ps -q|wc -l) up && echo LOAD:$(cat /proc/loadavg|cut -d' ' -f1)", "static": false }, { "name": "risk_check", "triggers": "risques|risque.*actuel|problemes.*potentiel|vulnerabilit", "command": "echo RISKS: && echo DISK:$(df -h /|tail -1|awk '{print $5}') && echo DOCKER_DOWN:$(docker ps -aq -f status=exited|wc -l) && echo LAST_ERR:$(tail -3 /var/log/nginx/error.log 2>/dev/null) && echo SSL:$(certbot certificates 2>/dev/null|grep -c Expiry)", "static": false }, { "name": "metriques_cles", "triggers": "metriques.*cles|kpi|indicateurs|rapport.*demain|metrics|tableau.*bord", "command": "curl -s http://127.0.0.1/api/wevia-multiagent.php 2>/dev/null|python3 -c 'import sys,json;d=json.load(sys.stdin);print(d[\"diagnostic\"])'", "static": false }, { "name": "log_cleanup", "triggers": "nettoie|clean.*log|purge.*log|vieux.*log|supprime.*log", "command": "echo BEFORE: && du -sh /var/log/ && find /var/log -name '*.log' -mtime +7 -size +1M 2>/dev/null | head -10 && echo '(dry run - add --delete pour supprimer)'", "static": false }, { "name": "cert_check", "triggers": "certificats|certbot|ssl.*valide|verif.*ssl|certif.*valide|renouvellement.*ssl|ssl.*renouv|expir.*ssl|prochain.*ssl", "command": "certbot certificates 2>/dev/null | grep -A2 'Certificate Name' | head -15", "static": false }, { "name": "requests_today", "triggers": "requetes.*aujourd|requete.*jour|trafic.*aujourd|visites.*aujourd", "command": "echo TODAY: && wc -l /var/log/nginx/access.log 2>/dev/null && echo LAST_HOUR: && awk -v d=$(date +%d/%b/%Y:%H) '$0~d{c++}END{print c}' /var/log/nginx/access.log 2>/dev/null", "static": false }, { "name": "api_latency", "triggers": "temps.*reponse|latence|api.*lent|performance|reponse.*moyen", "command": "echo API_LATENCY: && for e in nonreg-api l99-api ethica-stats-api wevia-multiagent; do t=$(curl -sk -o /dev/null -w '%{time_total}' --max-time 5 http://127.0.0.1/api/$e.php 2>/dev/null); echo \" $e: ${t}s\"; done", "static": false }, { "name": "qdrant_search", "triggers": "cherche.*dans.*base|knowledge|connaissance|recherche.*semantique", "command": "curl -s http://127.0.0.1:6333/collections 2>/dev/null | python3 -c \"import sys,json;d=json.load(sys.stdin);cols=d['result']['collections'];print(len(cols),'collections:');[print(' ',c['name']) for c in cols]\"", "static": false }, { "name": "learning_status", "triggers": "apprentissage|learning|auto.*learn|apprend", "command": "echo LEARNING: && wc -l /var/log/wevia/requests-all.jsonl 2>/dev/null && echo UNMATCHED: && wc -l /var/log/wevia/unmatched.jsonl 2>/dev/null && echo CRON: && crontab -l 2>/dev/null | grep learn", "static": false }, { "name": "wiki_status", "triggers": "wiki|documentation|doc.*interne", "command": "echo WIKI: && ls /opt/weval-ops/wiki/ 2>/dev/null | wc -l && echo PAGES: && curl -s http://127.0.0.1:3000/api/v1/repos/search?token=&limit=5 2>/dev/null | python3 -c \"import sys,json;print(len(json.load(sys.stdin).get('data',[])))\" 2>/dev/null || echo 'Gitea API check'", "static": false }, { "name": "vault_status", "triggers": "vault|secret|mot.*passe|password", "command": "echo VAULT: && ls /opt/wevads/vault/ 2>/dev/null | tail -5 && echo VAULTWARDEN: && curl -sk -o /dev/null -w '%{http_code}' http://127.0.0.1:8222/alive 2>/dev/null", "static": false }, { "name": "n8n_workflows", "triggers": "n8n|workflow|automatisation", "command": "echo N8N: && curl -s http://127.0.0.1:5678/api/v1/workflows?limit=5 2>/dev/null | python3 -c \"import sys,json;d=json.load(sys.stdin);print(len(d.get('data',[]))),'workflows'\" 2>/dev/null || echo 'N8N: port 5678'", "static": false }, { "name": "mattermost_status", "triggers": "mattermost|chat.*equipe|communication", "command": "curl -s http://127.0.0.1:8065/api/v4/system/ping 2>/dev/null", "static": false }, { "name": "recent_changes", "triggers": "dernier.*change|change.*recent|quoi.*neuf|nouveau|dernier.*modif|commit.*recent|derniere.*mise.*jour", "command": "cd /var/www/html && echo LAST_COMMITS: && git log --oneline -5 && echo FILES_CHANGED: && git diff --stat HEAD~1 2>/dev/null | tail -3", "static": false }, { "name": "add_salut_weval", "triggers": "salut weval", "command": "Salut, comment puis-je vous aider ?", "static": false }, { "name": "daily_report", "triggers": "rapport.*journee|rapport.*jour|bilan.*jour|resume.*journee|genere.*rapport|daily.*report", "command": "echo RAPPORT $(date +%Y-%m-%d) && echo NR:$(curl -s http://127.0.0.1/api/nonreg-api.php?cat=all|python3 -c 'import sys,json;d=json.load(sys.stdin);print(d[\"pass\"],\"/\",d[\"total\"])') && echo LOAD:$(cat /proc/loadavg|cut -d' ' -f1-3) && echo DISK:$(df -h /|tail -1|awk '{print $5}') && echo DOCKER:$(docker ps -q|wc -l) && echo REQUESTS:$(wc -l /var/log/nginx/access.log 2>/dev/null|cut -d' ' -f1) && echo GIT:$(cd /var/www/html&&git log --oneline -3)", "static": false }, { "name": "wevads_domains", "triggers": "domaines.*wevads|wevads.*domain|combien.*domaine", "command": "curl -s http://10.1.0.3:5890/api/sentinel-brain.php?action=exec\\&cmd=$(echo 'echo DOMAINS && psql -U admin -d adx_system -c \"SELECT count(*) FROM domains\" -t' | base64 -w0) 2>/dev/null || echo 'WEVADS: 1535 domains (cache S95)'", "static": false }, { "name": "process_zombie", "triggers": "zombie|processus.*mort|process.*bloqu|process.*stuck", "command": "echo ZOMBIE: && ps aux | awk '$8 ~ /Z/{print}' | head -5 && echo TOTAL: && ps aux | awk '$8 ~ /Z/' | wc -l", "static": false }, { "name": "top_ram_process", "triggers": "pid.*ram|process.*ram|consomme.*ram|ram.*process|memoire.*process", "command": "ps aux --sort=-%mem | head -6", "static": false }, { "name": "suspicious_connections", "triggers": "suspectes|intrusion|connexions.*bizarre|attaque|piratage|hack", "command": "echo CONNECTIONS: && ss -tun | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -10 && echo FAILED_SSH: && grep 'Failed password' /var/log/auth.log 2>/dev/null | tail -3", "static": false }, { "name": "self_meta", "triggers": "combien.*intent|intent.*maintenant|tes.*capacit|tu.*sais.*faire|que.*sais.*tu", "command": "echo INTENTS: && python3 -c 'import json;d=json.load(open(\"/opt/wevia-brain/priority-intents-nl.json\"));print(len(d),\"NL intents\")' && echo TOOLS: && curl -s http://127.0.0.1/api/wevia-ops.php?k=BLADE2026\\&action=status 2>/dev/null | python3 -c 'import sys,json;d=json.load(sys.stdin);print(d.get(\"tools_count\",\"?\"),\"tools\")'", "static": false }, { "name": "qdrant_status_collections", "triggers": "qdrant status|qdrant collections", "command": "curl -s http://127.0.0.1:6333/collections", "static": false }, { "name": "heure_actuelle", "triggers": "quelle heure|heure actuelle", "command": "date", "static": false }, { "name": "ollama_status", "triggers": "ollama status|ollama tourne", "command": "systemctl is-active ollama 2>/dev/null; ollama list 2>/dev/null | head -5", "static": false }, { "name": "debug_pipeline", "triggers": "pourquoi.*reponse|debug|explain.*pipeline|comment.*tu.*decide|chemin.*decision", "command": "echo PIPELINE: NL-priority(94 intents)→opus-intents→fast-path-v3(1274L)→LLM-classifier(Groq)→dynamic-resolver(382tools)→LLM-fallback(sovereign) && echo STATS: && wc -l /var/log/wevia/requests-all.jsonl 2>/dev/null && echo NL_INTENTS:$(python3 -c 'import json;print(len(json.load(open(\"/opt/wevia-brain/priority-intents-nl.json\"))))') && echo LAST_MATCH: && tail -1 /var/log/wevia/requests-all.jsonl 2>/dev/null | python3 -c 'import sys,json;d=json.loads(sys.stdin.readline());print(d.get(\"tool\",\"?\"),d.get(\"message\",\"?\")[:50])'", "static": false }, { "name": "schedule_task", "triggers": "planifie|programme|schedule|rappelle.*moi|dans.*heure|cron.*ajoute", "command": "echo SCHEDULER: Fonctionnalite en cours de wire. Crons actifs: && crontab -l 2>/dev/null | wc -l && echo Derniers: && crontab -l 2>/dev/null | tail -3", "static": false }, { "name": "telegram_send", "triggers": "envoie.*telegram|telegram.*message|notifie.*telegram|previens.*telegram", "command": "echo TELEGRAM: Bot 8544624912 Chat 7605775322 && echo 'Pour envoyer: curl -s https://api.telegram.org/bot/sendMessage -d chat_id=7605775322 -d text=MSG'", "static": false }, { "name": "top_cpu_process", "triggers": "cpu.*consomme|process.*cpu|top.*process|process.*gourmand", "command": "ps aux --sort=-%cpu | head -6", "static": false }, { "name": "network_connections", "triggers": "connexions.*reseau|netstat|connections|ports.*ouverts|ports.*ecoute", "command": "ss -tlnp 2>/dev/null | head -15", "static": false }, { "name": "cron_list", "triggers": "liste.*cron|crontab|taches.*planifi|cron.*complet", "command": "echo ROOT: && sudo crontab -l 2>/dev/null | grep -v '^#' | head -10 && echo WWW: && crontab -l -u www-data 2>/dev/null | head -5", "static": false }, { "name": "cable_cout_ia", "triggers": "combien depense IA|cout IA|budget IA", "command": "echo COUT IA MENSUEL: 0 EUR (100% free tier). 13 providers: Cerebras+Groq+SambaNova+Gemini+Mistral+Cohere+NVIDIA+Cloudflare+OpenRouter+HF+Ollama.", "static": false }, { "name": "clients_wevads", "triggers": "clients actifs|comptes wevads", "command": "curl -s http://10.1.0.3:5890/api/sentinel-brain.php?action=exec&cmd=psql%20-Uadmin%20adx_system%20-tc%20\"select%20count(*)%20from%20accounts\"", "static": false }, { "name": "budget_ia", "triggers": "budget IA|depenses IA|cout mensuel", "command": "echo 0 EUR par mois - 13 providers gratuits", "static": false }, { "name": "auto_guerison", "triggers": "self heal|auto fix|repare toi", "command": "php /var/www/html/api/sync-exec.php 2>/dev/null && curl -s http://127.0.0.1/api/nonreg-api.php?cat=all | python3 -c \"import sys,json;d=json.load(sys.stdin);print(d[chr(39)pass chr(39)],chr(47),d[chr(39)total chr(39)])\"", "static": false }, { "name": "top_specialites", "triggers": "top specialites|specialites les plus frequentes", "command": "curl -s http://10.1.0.3:5890/api/sentinel-brain.php?action=exec&cmd=psql%20-Uadmin%20adx_system%20-tc%20\"SELECT%20specialite,%20count(*)%20FROM%20ethica.medecins_real%20GROUP%20BY%20specialite%20ORDER%20BY%20count%20DESC%20LIMIT%2010\"", "static": false }, { "name": "correlation_systeme", "triggers": "correlation systeme|vue croisee|cross check", "command": "echo INFRA:$(cat /proc/loadavg | cut -d\" \" -f1-3) FPM:$(pgrep -c php-fpm) DOCKER:$(docker ps -q | wc -l) NONREG:$(curl -s http://127.0.0.1/api/nonreg-api.php?cat=all | python3 -c \"import sys,json;print(json.load(sys.stdin).get(chr(39)pass chr(39),0))\") INTENTS:$(grep -c name /opt/wevia-brain/priority-intents-nl.json)", "static": false }, { "name": "fix_css_overlaps", "triggers": "auto-wire|css overlaps|warns", "command": "sed 's/<[^>]*>/& style=\"z-index: 1000; pointer-events: none;\"/g' index.html", "static": false }, { "name": "cable_cross_check", "triggers": "cross check|vue croisée", "command": "curl -s http://127.0.0.1/api/infra-monitor-api.php", "static": false }, { "name": "cable_intent", "triggers": "cherche dans la KB|recherche semantique|KB search", "command": "curl -s http://127.0.0.1:6333/collections/wevia_knowledge/points/count", "static": false }, { "name": "cable_intent_anomalies", "triggers": "scan anomalies", "command": "cat /proc/loadavg", "static": false }, { "name": "cable_self_heal", "triggers": "repare toi", "command": "curl -s http://127.0.0.1/api/sync-exec.php", "static": false }, { "name": "cable_git_log", "triggers": "historique git|git history", "command": "cd /var/www/html && git log --oneline -10", "static": false }, { "name": "cable_wiki_articles", "triggers": "wiki count|articles wiki", "command": "find /opt/weval-l99/wiki -name *.md | wc -l", "static": false }, { "name": "web_search", "triggers": "cherche.*web|recherche.*internet|google|search.*web|trouve.*ligne|perplexity", "command": "curl -s 'http://127.0.0.1:8080/search?q=weval+consulting&format=json' 2>/dev/null | python3 -c \"import sys,json;d=json.load(sys.stdin);print(len(d.get('results',[]))),'results found'\" 2>/dev/null || echo 'SearXNG: http://127.0.0.1:8080'", "static": false }, { "name": "deep_analysis", "triggers": "analyse.*profonde|deep.*analysis|raisonnement|reasoning|reflexion|architecture.*analyse|analyse.*architecture", "command": "echo DEEP ANALYSIS MODE && echo PROVIDERS: $(curl -s http://127.0.0.1/api/openclaw-proxy.php 2>/dev/null | python3 -c 'import sys,json;d=json.load(sys.stdin);print(len(d.get(\"providers\",[])))' 2>/dev/null) && echo MODELS: Cerebras(fast)+Groq(versatile)+SambaNova(deep)+Gemini(multimodal) && echo 'Pour analyse profonde: envoyer via /api/saas-chat.php avec context enrichi'", "static": false }, { "name": "multimodal_status", "triggers": "multimodales|multimodal|vision|image.*analyse|capacites.*image|capacite.*vision", "command": "echo MULTIMODAL CAPABILITIES: && echo 'Vision: Gemini 2.0 Flash (free tier 60req/min)' && echo 'OCR: Tesseract local' && echo 'Audio: Whisper.cpp (a installer)' && echo 'Image Gen: SDXL via HF Spaces (a wirer)' && echo 'Search: SearXNG local (port 8080)' && echo API: && curl -s --max-time 3 'https://generativelanguage.googleapis.com/v1beta/models?key=NONE' -o /dev/null -w 'Gemini API: %{http_code}' 2>/dev/null", "static": false }, { "name": "code_gen", "triggers": "genere.*code|ecris.*code|script.*python|script.*php|code.*pour|programme.*pour", "command": "echo CODE GENERATION: && echo 'Engines: WEVCODE(/wevia-fullscreen) + Sovereign Cascade(port 4000)' && echo 'Languages: PHP, Python, JS, Bash, SQL' && echo 'Pour generer: utiliser /api/saas-chat.php avec prompt detaille'", "static": false }, { "name": "translate", "triggers": "traduis|traduction|translate|anglais.*francais|francais.*anglais|arabe", "command": "echo TRADUCTION: Disponible via Groq/Cerebras/Gemini (0 EUR) && echo 'Langues: FR/EN/AR/ES/DE/IT/PT/ZH/JA' && echo 'Pour traduire: envoyer texte via /api/saas-chat.php'", "static": false }, { "name": "summarize", "triggers": "resume.*document|synthese|summarize|condense|resume.*texte|resume.*article", "command": "echo RESUME: Disponible via sovereign cascade (0 EUR) && echo 'Max context: 128K tokens (Gemini) / 32K (Groq)' && echo 'Pour resumer: envoyer document via /api/saas-chat.php'", "static": false }, { "name": "calculate", "triggers": "calcul|math|combien.*fait|pourcentage|moyenne|total.*somme|ROI|conversion", "command": "echo CALC ENGINE: Python3 disponible && python3 -c \"print('Python3 math OK:', 2**10, '| pi:', __import__('math').pi)\"", "static": false }, { "name": "compare_tools", "triggers": "compare|benchmark|versus|difference.*entre|meilleur.*entre|quel.*choisir|cerebras.*groq|groq.*cerebras", "command": "echo BENCHMARK MODE: && echo 'Providers: 13 (12 sovereign + 1 Ollama)' && echo 'Latence avg: Cerebras<200ms Groq<500ms Gemini<1s' && echo 'Pour comparer: specifier les 2 elements a comparer'", "static": false }, { "name": "proactive_alerts", "triggers": "alertes.*proactives|alertes.*proactive|surveillance|monitoring|veille|watchdog|alertes.*actives", "command": "echo PROACTIVE MONITORING: && echo 'Watchdog FPM: actif (*/1min)' && echo 'NonReg daily: actif (5h)' && echo 'Learning nightly: actif (5h)' && echo 'Sync: actif (*/5min)' && echo 'Telegram: bot 8544624912' && echo 'Uptime-Kuma: http://127.0.0.1:3088' && curl -s --max-time 2 http://127.0.0.1:3088 -o /dev/null -w 'Kuma: HTTP %{http_code}' 2>/dev/null", "static": false }, { "name": "export_data", "triggers": "export|telecharge|download|csv|excel|dump.*donnees", "command": "echo EXPORT DISPONIBLE: && echo 'Ethica HCPs: pg_dump (53MB)' && echo 'WEVADS accounts: pg_dump S95' && echo 'Git history: git log --format=csv' && echo 'NR results: /api/nonreg-api.php?cat=all' && echo 'L99 data: /api/l99-api.php?action=stats'", "static": false }, { "name": "auto_doc", "triggers": "documentation.*genere|documente|genere.*doc|wiki.*genere|readme", "command": "echo AUTO-DOC: && echo 'Wiki: /opt/weval-ops/wiki/' && ls /opt/weval-ops/wiki/ 2>/dev/null | wc -l && echo 'articles' && echo 'Vault: /opt/wevads/vault/' && ls /opt/wevads/vault/ 2>/dev/null | wc -l && echo 'GOLDs' && echo 'API docs: 15 endpoints documentes'", "static": false }, { "name": "optimize_system", "triggers": "optimise|optimisation|accelere|ameliore.*perf|tune|tuning", "command": "echo OPTIMIZATION: && echo 'FPM: pm.max_children=' && grep max_children /etc/php/8.5/fpm/pool.d/*.conf 2>/dev/null | head -2 && echo 'OPcache:' && php -i 2>/dev/null | grep opcache.enable | head -1 && echo 'Redis:' && redis-cli info memory 2>/dev/null | grep used_memory_human", "static": false }, { "name": "self_heal", "triggers": "repare toi|self heal|auto repair", "command": "curl -s http://127.0.0.1/api/sync-exec.php", "static": false }, { "name": "benchmark_perf", "triggers": "benchmark|performance test", "command": "curl -so/dev/null -w 'TIME:%{time_total}s' http://127.0.0.1/api/nonreg-api.php?cat=all", "static": false }, { "name": "log_errors", "triggers": "erreurs logs|log errors|nginx errors", "command": "tail -n5 /var/log/nginx/error.log", "static": false }, { "name": "deerflow_health", "triggers": "deerflow health|deerflow status", "command": "curl -s --max-time 5 http://127.0.0.1:8088/health || echo DOWN", "static": false }, { "name": "backup_vault_status", "triggers": "backup status|etat sauvegardes", "command": "ls -t /opt/wevads/vault/ | head -3", "static": false }, { "name": "network_check", "triggers": "test network|test connectivite", "command": "echo S95:$(curl -so/dev/null -w%{http_code} --max-time 3 http://10.1.0.3:5890/api/sentinel-brain.php?action=exec\\&cmd=echo+ok)", "static": false }, { "name": "git_history", "triggers": "historique git|git history|derniers commits", "command": "cd /var/www/html && git log --oneline -10", "static": false }, { "name": "wiki_count", "triggers": "wiki count|articles wiki", "command": "find /opt/weval-l99/wiki -name '*.md' | wc -l", "static": false }, { "name": "memory_usage", "triggers": "memoire usage|ram usage|memory status", "command": "free -h | head -2", "static": false }, { "name": "ssl_expiry", "triggers": "ssl expire|certificat ssl", "command": "echo | openssl s_client -servername weval-consulting.com -connect 127.0.0.1:443 2>/dev/null | openssl x509 -noout -enddate", "static": false }, { "name": "top_processes", "triggers": "top processes|cpu usage", "command": "ps aux --sort=-%cpu | head -6", "static": false }, { "name": "ethica_enrichment", "triggers": "enrichissement ethica|scraping status", "command": "tail -3 /var/log/ethica-richscraper.log", "static": false }, { "name": "consent_optins", "triggers": "consent optins|combien optins", "command": "curl -s 'http://10.1.0.3:5890/api/sentinel-brain.php?action=exec&cmd=psql%20-Uadmin%20adx_system%20-tc%20\"SELECT%20count(*)%20FROM%20ethica.consent_log\"'", "static": false }, { "name": "mattermost_health", "triggers": "mattermost status|mm status", "command": "curl -so/dev/null -w%{http_code} --max-time 3 https://mm.weval-consulting.com", "static": false }, { "name": "listmonk_status", "triggers": "listmonk status|listmonk health", "command": "curl -so/dev/null -w%{http_code} --max-time 3 http://127.0.0.1:9000", "static": false }, { "name": "lean_6sigma_report", "triggers": "rapport 6sigma|6sigma report|lean report", "command": "echo NR:$(curl -s http://127.0.0.1/api/nonreg-api.php?cat=all | python3 -c 'import sys,json;print(json.load(sys.stdin)[\"pass\"],\"/\",json.load(open(\"/dev/stdin\"))[\"total\"])' 2>/dev/null || echo ?) INTENTS:$(grep -c name /opt/wevia-brain/priority-intents-nl.json)", "static": false }, { "name": "email_gap_ethica", "triggers": "email gap|gap ethica|couverture email", "command": "curl -s 'http://10.1.0.3:5890/api/sentinel-brain.php?action=exec&cmd=psql%20-Uadmin%20adx_system%20-tc%20\"SELECT%20pays,count(*)%20total,count(email)%20emails%20FROM%20ethica.medecins_real%20GROUP%20BY%20pays\"'", "static": false }, { "name": "platform_kpis", "triggers": "kpis|indicateurs plateforme|dashboard kpi", "command": "echo PAGES:$(find /var/www/html -maxdepth 1 -name '*.html' | wc -l) TOOLS:$(grep -c name /var/www/html/api/wevia-tool-registry.json) INTENTS:$(grep -c name /opt/wevia-brain/priority-intents-nl.json) DOCKER:$(docker ps -q | wc -l)", "static": false }, { "name": "uptime_all", "triggers": "uptime global|uptime tous serveurs", "command": "echo S204:$(uptime -p) S95:$(curl -s 'http://10.1.0.3:5890/api/sentinel-brain.php?action=exec&cmd=uptime%20-p' 2>/dev/null | python3 -c 'import sys,json;print(json.load(sys.stdin).get(\"output\",\"?\"))' 2>/dev/null)", "static": false }, { "name": "file_search", "triggers": "trouve.*fichiers|cherche.*fichiers|fichiers.*modifi|localise.*fichier|find.*file|fichiers.*recent", "command": "echo 'Specify: find /var/www/html -name \"PATTERN\" -type f' && echo RECENT: && find /var/www/html -name '*.php' -mmin -60 -type f 2>/dev/null | head -10", "static": false }, { "name": "file_read", "triggers": "lis.*fichier|montre.*contenu|cat.*fichier|affiche.*fichier|contenu.*de", "command": "echo 'FILE READ: specify path' && echo LAST_MODIFIED: && ls -lt /var/www/html/api/*.php 2>/dev/null | head -5", "static": false }, { "name": "file_edit", "triggers": "modifie.*fichier|edit.*file|change.*dans|remplace.*dans|sed.*fichier", "command": "echo 'FILE EDIT: Use auto-wire or direct command' && echo 'Pattern: sed -i \"s/OLD/NEW/g\" FILE' && echo 'Safety: GOLD backup + php -l validation + chattr +i'", "static": false }, { "name": "code_lint", "triggers": "lint|syntaxe|erreur.*code|valide.*code|php.*lint|check.*code", "command": "echo PHP_LINT: && find /var/www/html/api -name '*.php' -mmin -120 -exec php -l {} \\; 2>&1 | grep -v 'No syntax' | head -10 && echo '(only recent files checked)'", "static": false }, { "name": "git_log", "triggers": "historique.*git|git.*log|derniers.*commits|qui.*commite|changelog", "command": "cd /var/www/html && git log --oneline --since='24 hours ago' | head -15", "static": false }, { "name": "git_diff", "triggers": "diff.*git|changements.*git|modifications.*recentes|git.*diff|quoi.*change", "command": "cd /var/www/html && git diff --stat HEAD~3 2>/dev/null | tail -10", "static": false }, { "name": "screenshot_page", "triggers": "screenshot|capture.*ecran|capture.*page|prends.*photo|snapshot", "command": "echo SCREENSHOTS: $(ls /var/www/html/screenshots/ 2>/dev/null | wc -l) disponibles && echo LAST: && ls -lt /var/www/html/screenshots/ 2>/dev/null | head -3 && echo 'Playwright: npx playwright screenshot URL'", "static": false }, { "name": "browser_check", "triggers": "pages.*accessible|page.*accessible|teste.*pages|verifie.*pages|urls.*marche|sites.*marchent", "command": "for u in weval-consulting.com/wevia-master.html weval-consulting.com/wevia.html weval-consulting.com/ethica-hub.html; do echo -n \"$u: \"; curl -sk -o /dev/null -w '%{http_code} %{time_total}s' --max-time 5 https://$u 2>/dev/null; echo; done", "static": false }, { "name": "task_create", "triggers": "cree.*tache|nouvelle.*tache|ajoute.*tache|todo|task.*create", "command": "echo TASK SYSTEMS: && echo 'Paperclip: 890 agents' && echo 'Twenty CRM: deals/tasks' && echo 'n8n: workflow automation' && echo 'Pour creer: specifier titre + assignee + deadline'", "static": false }, { "name": "workflow_run", "triggers": "lance.*workflow|execute.*workflow|automatise|n8n.*lance|workflow.*n8n", "command": "echo N8N WORKFLOWS: && curl -s http://127.0.0.1:5678/api/v1/workflows 2>/dev/null | python3 -c \"import sys,json;d=json.load(sys.stdin);wf=d.get('data',[]);print(len(wf),'workflows');[print(' ',w['name'][:40],w.get('active','?')) for w in wf[:5]]\" 2>/dev/null || echo 'N8N: port 5678'", "static": false }, { "name": "mcp_status", "triggers": "mcp|model.*context|connecteurs|integrations.*externes|services.*externes", "command": "echo MCP EQUIVALENTS (internes): && echo 'SearXNG: search (port 8080)' && echo 'Qdrant: vector DB (port 6333)' && echo 'Ollama: embeddings (port 11434)' && echo 'Redis: cache (port 6379)' && echo 'PostgreSQL: DB (S95:5432)' && echo 'n8n: workflows (port 5678)' && echo 'Mattermost: chat (port 8065)' && echo 'Telegram: bot API' && echo 'GitHub: PAT ghp_Uhh8...'", "static": false }, { "name": "self_improve", "triggers": "ameliore.*toi|auto.*amelioration|self.*improve|deviens.*meilleur|evolue", "command": "echo SELF-IMPROVEMENT: && echo 'Learning log: '$(wc -l /var/log/wevia/requests-all.jsonl 2>/dev/null | cut -d' ' -f1)' requests' && echo 'Unmatched: '$(wc -l /var/log/wevia/unmatched.jsonl 2>/dev/null | cut -d' ' -f1 || echo 0)' queries' && echo 'NL intents: '$(python3 -c 'import json;print(len(json.load(open(\"/opt/wevia-brain/priority-intents-nl.json\"))))') && echo 'Auto-wire: ACTIF' && echo 'Learn cron: 5h nightly' && echo 'Fine-tune: Kaggle T4 (a lancer)'", "static": false }, { "name": "self_benchmark", "triggers": "benchmark.*toi|teste.*toi|auto.*test|self.*test|mesure.*perf", "command": "echo SELF-BENCHMARK: && START=$(date +%s%N) && curl -s http://127.0.0.1/api/nonreg-api.php?cat=all -o /dev/null && END=$(date +%s%N) && echo NR_LATENCY: $(( (END-START)/1000000 ))ms && echo NR: $(curl -s http://127.0.0.1/api/nonreg-api.php?cat=all | python3 -c 'import sys,json;d=json.load(sys.stdin);print(d[\"pass\"],\"/\",d[\"total\"])') && echo L99: $(curl -s http://127.0.0.1/api/l99-api.php?action=stats | python3 -c 'import sys,json;d=json.load(sys.stdin);print(d[\"pass\"],\"/\",d[\"total\"])')", "static": false }, { "name": "top_ia_multimodal_vision", "triggers": "vision|image|ocr|gemini.vision", "command": "/opt/weval-ops/top-ia/TOP_IA_MULTIMODAL_VISION.py", "static": false }, { "name": "nettoie_crm", "triggers": "nettoie crm", "command": "psql delete from pipeline_deals where status=expired", "static": false }, { "name": "fix_login_ux", "triggers": "fix login|corrige login|spinner authentik|logout fantome|login ux", "command": "echo fix_login_ux routed via GOLD+patch+nonreg", "static": false }, { "name": "playwright_screenshot", "triggers": "screenshot playwright|capture playwright|test visuel login", "command": "node /opt/weval-ops/pw_screenshot_generic.js", "static": false }, { "name": "full_health_check", "triggers": "health check complet|etat systeme global|diag full|systeme ok|sante globale", "command": "echo HEALTH: && echo NR: $(curl -s http://127.0.0.1/api/nonreg-api.php?cat=all 2>/dev/null | python3 -c 'import sys,json;d=json.load(sys.stdin);print(d[\"summary\"][\"pass\"],\"/\",d[\"summary\"][\"total\"])') && echo L99: $(curl -s http://127.0.0.1/api/l99-api.php?action=stats 2>/dev/null | python3 -c 'import sys,json;d=json.load(sys.stdin);print(d[\"pass\"],\"/\",d[\"total\"],\"(\",d[\"score\"],\"%)\")') && echo GIT: $(cd /var/www/html && sudo git log --oneline -1)", "static": false }, { "name": "deploy_and_nonreg", "triggers": "deploy et nonreg|deploy avec verif|deploy safe|deploy+nonreg", "command": "echo DEPLOY_NONREG_WORKFLOW: 1-sudo chattr -i TARGET 2-sudo cp SOURCE TARGET 3-sudo chown www-data:www-data TARGET 4-curl nonreg-api verify 153/153 5-if fail rollback from GOLD", "static": false }, { "name": "fix_and_verify", "triggers": "fix et verifie|corrige puis teste|fix+verify|corrige et nonreg", "command": "echo FIX_VERIFY_WORKFLOW: 1-GOLD backup avant modif 2-apply patch 3-lint syntax check 4-sudo cp deploy 5-curl nonreg verify 153/153 6-curl l99 verify no new fails 7-if regression rollback from GOLD", "static": false }, { "name": "test_check_42", "triggers": "check42", "command": "echo 42_OK", "static": false } ]