Apres validation visuelle authentifiee du fix scroll Growth Advisor: - Login yacine Playwright OK - 16 tabs rendues + click Conversion Advisor OK - fix_marker_present=true WAVE-SCROLL-FIX-23AVR dans DOM - body_scrollHeight=5612px scroll_max=4712px at_bottom=true - Bas de page VISIBLE: Concurrence + Top 10 Leads + Ask WEVIA Master multi-agent Intent upgrade: - Command pointe desormais sur /opt/wevads/vault/proofs/wave272-scroll-fix-23avr/ - Triggers elargis: proof|preuve|validation - Re-run script: /opt/weval-nonreg/advisor_scroll_authed_v1.js (takes 40s) 4 preuves archivees: 01-dashboard 02-advisor-top 03-advisor-middle 04-advisor-bottom + result.json
1028 lines
48 KiB
JSON
1028 lines
48 KiB
JSON
[
|
|
{
|
|
"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 <name>' && 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<TOKEN>/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
|
|
}
|
|
] |