- Chiffrement E2E du chat navigateur<->agent (e2e.go) : le relais ne voit
que de l'opaque, ancre par empreinte X25519 confirmee au `jean link`.
- `jean link` refuse desormais tout chat en clair via le tunnel (403) ;
seul /api/e2e/chat porte du contenu. Endpoint OpenAI clair desactive par
defaut (JEAN_LINK_ALLOW_OAI=1 pour le reactiver).
- Le portail web n'est plus servi par le relais : code livre par une origine
hors de son controle, le relais devient un pur tube aveugle.
- nouvelle commande `jean link <token>` (link.go) : connexion sortante
WebSocket + yamux vers le relais, sert l'UI web Jean ET l'endpoint
compatible OpenAI (/v1) a travers le tunnel, avec injection des cles
locales, keepalive et reconnexion automatique.
- web.go : extraction de newWebMux() pour reutiliser le routeur HTTP
cote `jean link` sans repasser par un ecouteur TCP local.
- ui/index.html : base d'URL relative (API_BASE) + script marked relatif.
- main.go : cablage de la commande `link` + aide.
- README : section acces distant (ajean.link) + commande link.
- .gitignore : secrets runtime (.web_key/.link_token/.link_machine).
Inclut aussi les evolutions en cours du coeur de jean (llm.go, skills.go,
tools.go, chat.go).
- LD_LIBRARY_PATH inclut désormais les dossiers runtime CUDA
(/usr/local/cuda*/lib64) : corrige le chargement du backend GPU.
- Unit systemd : Nice=-10 + CPUSchedulingPolicy=other (priorité CPU).
- Met à niveau le reste du projet (models, webauth, presets, web UI).