Commit Graph
107 Commits
Author SHA1 Message Date
Folzo 8b7c4fbd9c feat: add VRAM management for Jean/Ollama switching
- stop_jean(): stops Jean service to free VRAM before Ollama use
- start_jean(): starts Jean service when switching back from Ollama
- unload_ollama(): forces Ollama to unload models before Jean use
- ensure_vram_for_backend(): orchestrates VRAM switching
- Tracks active backend state to avoid unnecessary switches
- Configurable timeouts via environment variables
- Prevents VRAM contention between Jean and Ollama
2026-07-20 10:33:35 +02:00
Folzo 856ba4ae36 refactor: remove LiteLLM, jean-router handles all routing 2026-07-20 10:22:15 +02:00
Folzo 43aacc077d refactor: OpenWebUI points directly to jean-router (no LiteLLM needed) 2026-07-20 10:15:34 +02:00
Folzo b441f3495a fix: jean-router syntax error (missing except block) 2026-07-20 10:14:23 +02:00
Folzo fcad41521e feat: jean-router — routing dynamique Jean + Ollama
- jean-router interroge /api/presets pour lister dynamiquement les presets Jean
- Support Ollama via /api/tags pour les modèles vision
- Switch automatique de preset quand nécessaire
- Expose /v1/models avec tous les modèles disponibles
- Route les requêtes vers Jean ou Ollama selon le modèle demandé
- Nouveaux presets Jean automatiquement visibles dans OpenWebUI

Architecture:
  open-webui → LiteLLM:4000 → jean-router:3014
                                ├→ jean-proxy:3012 → Jean (.11:8080)
                                └→ wol-proxy:3011 → Ollama (.11:11434)
2026-07-20 10:10:18 +02:00
Folzo d566adbf93 fix: revert to large-v3 — distil model outputs English on French audio 2026-06-28 12:44:59 +02:00
Folzo eadc6a0a88 fix: force STT French language + initial prompt (ignore client auto) 2026-06-28 12:42:39 +02:00
Folzo 8e683ca4fd perf: STT optimization — distil-large-v3 + 8 threads (2x faster)
- Switched from large-v3 (1.56B) to distil-large-v3 (~756M) — 2x faster transcription
- Increased CPU threads from 4 to 8 (Ryzen 5800X3D has 8c/16t)
- French language quality preserved (~5% accuracy tradeoff for 2x speed)
- Expected pipeline latency: 4-5s total (down from ~15s)
2026-06-28 12:36:08 +02:00
Folzo 1f55f12331 refactor: LiteLLM unified routing via JeanOrchestrator
- All models now route through single jean-proxy:3012 → orchestrator:8080
- Removed jean-proxy-moe (no longer needed with auto-switch orchestrator)
- Added qwen3.6-moe and qwen3.6-moe-reason model routes
- Updated architecture comments
2026-06-28 11:45:00 +02:00
Folzo 1b4764e9fa fix(litellm): open-webui via OpenAI API (pas Ollama) + 3 profils Qwen3.6
LiteLLM expose l'API OpenAI /v1/* pas l'API Ollama /api/*. open-webui
doit etre branche via la section 'OpenAI API' (env OPENAI_API_BASE_URL +
OPENAI_API_KEY), pas via 'Ollama'. L'override ajoute ces vars a open-webui,
force-recreate pour propager. Confirme en prod: HTTP 200 sur :4000/v1/models
depuis le conteneur open-webui. Les 4 modeles Qwen3.6 remontent dans le chat.
2026-06-27 16:51:51 +02:00
Folzo 7a8dc34212 feat(litellm): 3 profils Qwen3.6 (reason/fast/default) via toggle enable_thinking
Contrainte VRAM: RX 7800 XT 16Go ne peut pas co-heberger Qwen3.6-27B
(14.6 Go) + llama3.1-8b (5 Go). Ollama commente, on expose 3 profils
du meme modele Qwen3.6 via le toggle chat_template_kwargs.enable_thinking:
  - qwen3.6-reason / qwen3.6-27b : raisonnement ON (taches complexes)
  - qwen3.6-fast / qwen3.6       : raisonnement OFF (chat rapide ~400ms TTFT)
drop_params=false pour passer chat_template_kwargs a Jean.
Teste en prod: qwen3.6-fast repond BONJOUR en 400ms, MTP 3/3 acceptes.
2026-06-27 16:40:24 +02:00
Folzo 2a9f721c4e feat: LiteLLM multi-backends + jean-proxy avec WoL
Architecture (voir docs/ARCHITECTURE-LITELLM.md):
  open-webui -> LiteLLM:4000
                 |- qwen3.6-27b -> jean-proxy:3012 -> Jean (.11:8080)
                 |- llama3.1-8b -> wol-proxy:3011  -> Ollama (.11:11434)

Nouveaux fichiers:
- wol-proxy/ (versionne l'app.py de prod deja en place)
- jean-proxy/ (clone du wol-proxy avec HEALTH_PATH=/health + retry post-WoL
  pour services qui mettent du temps a demarrer apres WoL, ex: Jean qui
  charge 14 Go en VRAM)
- litellm/config.yaml (routing par nom de modele, drop_params=true)
- docker-compose.litellm.yml (override ADDITIF: ajoute uniquement jean-proxy
  et litellm, ne redemarre PAS open-webui/wol-proxy/hermes)

Teste en prod sur .27: Jean + Ollama repondent via LiteLLM:4000 avec
path-through de chat_template_kwargs.enable_thinking (raisonnement Qwen3.6
desactivable par requete). Zero impact hermes-webui/wol-proxy.
Basculer open-webui reste une etape manuelle (step 3 de la doc).
2026-06-27 16:19:08 +02:00
Folzo 2f270aeca8 Ajout roadmap orchestrateur wol-proxy 2026-06-14 07:58:39 +02:00
Folzo 7a4d889899 Augmente WAKE_TIMEOUT a 180s (configurable via .env) 2026-06-13 21:08:47 +02:00
Folzo 4acea1ce6d fix: Joplin Tool uses Clipper API (localhost:41184) not Server API
- Server API (/api/items/) does not expose note CRUD, only sync protocol
- Clipper API is the only way to read/write notes remotely
- Requires Joplin desktop open + Web Clipper enabled
- Added ping() function to check connectivity
- Valves: joplin_url, joplin_api_token
2026-05-14 19:34:35 +02:00
Folzo 3e18930dbd feat: add Joplin Tool for Open WebUI (Clipper API)
- Uses local Joplin Clipper API (localhost:41184)
- 11 functions: notebooks, notes, search, create, update, TODOs, delete, ping
- Valves: joplin_url (default 192.168.1.11:41184), joplin_api_token
- Requires Joplin desktop open + Web Clipper enabled
- Synced via Joplin Server (joplin.folzocorp.fr)
2026-05-14 19:11:34 +02:00
Folzo 873432362a feat: add Leantime Open WebUI Tool (direct API, no MCPO needed)
- Tool with Valves (leantime_url, leantime_api_key)
- 14 functions: projects, tickets, comments, users, timesheets, status labels
- JSON-RPC 2.0 client matching Leantime API
- Activate/deactivate per conversation in Open WebUI
2026-05-10 22:28:28 +02:00
Folzo c4467d0da2 feat: integrate Leantime project management via MCP (leantime-mcp + MCPO)
- Add leantime-mcp Dockerfile (daniel-eder/leantime-mcp, SSE transport)
- Add leantime-mcp service to docker-compose.yml on effi-net
- Add Leantime env vars to .env.example (API_KEY, USER_EMAIL, URL)
- Update services.md: Leantime + leantime-mcp entries, dependency diagram, resource table
- Update mcp-et-n8n.md: MCPO config with leantime SSE server, new leantime-mcp section
- Add LEANTIME-INSTALLATION.md: full reinstall guide (XPenology + MCP)
2026-05-10 17:53:21 +02:00
Folzo 21674f6eaf feat: Add SearXNG for improved web search
- Add SearXNG service to docker-compose.yml (port 11112)
- Add SEARXNG_SECRET_KEY to .env.example
- Add searxng-data/settings.yml with FR engines (google, bing, ddg, qwant)
- Add docs/SEARXNG-INTEGRATION.md with OpenWebUI tool setup
2026-04-13 19:59:01 +02:00
Folzo 4f1a6cf0ce Add session doc: Joplin RAG integration + RAG config optimization
- Document Joplin export process (JEX = TAR archive)
- Clean 78 notes from 111 files (removed folders)
- Config RAG optimization: markdown headers, bge-m3, batch=32
- RAG test: 42 sources found, retrieval works
- Note: Prompt RAG needs improvement for more direct responses
2026-04-12 22:37:09 +02:00
Folzo fdcf513baf feat: add effi-ocr tool with Valves configuration and improved file search
- Added Valves (Pydantic) pattern for ocr_url configuration via wheel icon
- Inspired by Kreuzberg tool: multi-level file search (exact, substring, word matches)
- Support for multi-file OCR with extract_text_from_images
- Added search_files function for pattern matching
- effi-ocr runs on port 8301 (Tesseract with preprocessing)
2026-04-12 17:52:42 +02:00
Folzo 82ea2313f0 docs: add Effi system prompt - original and optimized versions
- Original prompt kept for reference (200+ lines, too verbose)
- New optimized prompt: ~40 lines, -75% tokens
- Added table for tools usage (Kreuzberg, web_search, sub-agent, etc.)
- Optimized version includes explicit Kreuzberg usage for OCR
2026-04-12 16:41:13 +02:00
Folzo 189ff4eaab docs: April 2026 optimizations - gemma4:e4b, RAG, Ollama service
- LLM principal: gemma4:e4b (9.6GB, 128K context, MMLU 82.6%)
- Ollama service systemd with optimization vars (FLASH_ATTENTION, KV_CACHE)
- RAG: RAG_SYSTEM_CONTEXT=True, ENABLE_RAG_HYBRID_SEARCH=True
- ComfyUI memory manager: fix timestamp parsing (execution_success)
2026-04-12 16:19:14 +02:00
Folzo 49d7afdf1f docs: restore Structure du Projet section 2026-04-12 14:36:53 +02:00
Folzo 8f472170f6 docs: add Beszel tool improvements + update README
- README: add Tool OpenWebUI section with current features
- README: update Historique with Tool section
- Tool doc: add Limitations and Future Improvements sections

Future improvements noted:
- Support historique (données N dernières minutes)
- Filtres par période
- Graphiques et alertes automatisées
2026-04-12 14:34:29 +02:00
Folzo cf406b764f fix: Beszel tool - correct PocketBase API endpoints
- Changed /api/auth/login to /api/collections/users/auth-with-password
- Changed /api/systems to /api/collections/systems/records
- Added proper error messages for connection issues
2026-04-12 13:59:50 +02:00
Folzo 26e6b89229 fix: Use Pydantic Valves pattern for OpenWebUI tool config
- Add BaseModel Valves class with configurable parameters
- beszel_url, beszel_user, beszel_password as configurable valves
- Matches ACE Step tool pattern for UI configuration
2026-04-12 13:46:20 +02:00
Folzo 6212aa6f27 fix: Use hardcoded config in Beszel tool - no env vars needed 2026-04-12 13:42:44 +02:00
Folzo 3dbd2bcc17 fix: Rename class to Tools for OpenWebUI compatibility 2026-04-12 13:39:12 +02:00
Folzo b42cfcabce feat: Add Beszel tool for OpenWebUI
Permet à Effi de:
- get_all_stats() - Stats de tous les systèmes
- get_system_stats('folzocorp') - Stats d'un système
- check_alerts() - Vérifier les alertes
- get_gpu_status('folzocorp') - Status GPU AMD
- can_run_comfyui() - Vérifier si ComfyUI peut tourner
2026-04-12 13:01:48 +02:00
Folzo 4fff805c3d feat(beszel): Add NAS Synology agent configuration 2026-04-12 12:51:00 +02:00
Folzo f425294473 fix: ComfyUI memory manager - only consider recent history (last 5min)
- Fix bug where old history entries were counted as recent activity
- Added recent_threshold parameter (default 300s)
- is_recent_history() now checks timestamp of last history item
2026-04-12 12:37:18 +02:00
Folzo 952a9da41a docs: Rewrite README.md with complete project overview
- Add full architecture diagram with all machines (FolzoCorp, EffiServer, NAS)
- Document all services on each machine with ports and roles
- Add memory management section (auto-unload scripts)
- Add project structure tree
- Update technologies list
- Add documentation links
2026-04-12 12:30:28 +02:00
Folzo b69dee1d3a docs: Mettre à jour journal de session 2026-04-12
- État final des scripts et services
- ComfyUI memory manager avec restart container
- Beszel wake service
- Résumé commits
2026-04-12 12:25:45 +02:00
Folzo 2ca4235b89 feat: Add ComfyUI memory manager that restarts container after inactivity
- Monitors VRAM, queue status, and history
- Restarts ComfyUI container after timeout if RAM > 5GB and VRAM < 1%
- More effective at freeing RAM than model unloading alone
2026-04-12 12:14:59 +02:00
Folzo 7439033edd fix: Corriger script ComfyUI monitor et service systemd
- Corriger extraction VRAM via API correcte
- Ajouter gestion signaux propre
- Ajouter TimeoutStopSec pour arrêt propre
- Ajouter service restart Beszel au réveil
2026-04-12 12:08:27 +02:00
Folzo e528e25bde feat: Add systemd services and startup script for memory monitors 2026-04-12 10:20:39 +02:00
Folzo cf5b39215e docs: Ajouter journal de session 2026-04-12 - RAM + Beszel 2026-04-12 10:01:55 +02:00
Folzo 8b6f967736 fix(beszel): Remove group_add video/render for Fedora compatibility 2026-04-12 09:43:30 +02:00
Folzo 5b677d840d fix(beszel): Mise à jour chemins d'installation
- Synology NAS: /volume1/docker/beszel
- EffiServer: ~/effi/beszel
- FolzoCorp: chemin projet Effi (inchangé)
2026-04-12 09:34:59 +02:00
Folzo 8b1338f824 feat(beszel): Installation Beszel monitoring infrastructure
- Ajout Hub Beszel pour Synology NAS (192.168.1.25)
  - docker-compose-hub.yml
- Ajout Agent FolzoCorp avec GPU AMD RX 7800 XT
  - docker-compose-agent-folzocorp.yml (amd_sysfs)
- Ajout Agent EffiServer (CPU only, SKIP_GPU)
  - docker-compose-agent-effiserver.yml
- Documentation: docs/BESZEL-INSTALLATION.md
- Script client Python: scripts/beszel_client.py
  - Permet à Effi d'interroger l'API Beszel
2026-04-12 09:29:59 +02:00
Folzo f69dda5e20 feat(memory): Ajout déchargement automatique mémoire sur FolzoCorp
- effi-stt: Déchargement Whisper après 300s inactivité (INACTIVITY_TIMEOUT)
  * Nouveaux endpoints: /unload, /reload, /stats
  * Modelo rechargé à la première requête
- ComfyUI: Script monitor qui décharge VRAM après inactivité
  * Vérifie usage VRAM toutes les 60s
  * Exécute workflow UnloadAllModelsNode après 300s inactivité
- Kreuzberg: Manager qui redémarre le container après seuil mémoire + inactivité
  * Restart si > 2GB pendant > 10min inactif
- Documentation: docs/MEMOIRE-GESTION.md
2026-04-12 09:26:29 +02:00
Folzo e501213959 feat(generate-song): add ACE-Step download script, remove legacy effi-ocr
- Add download-ace-step-full.sh script for easier model downloads
- Remove effi-ocr (migrated to effi-kreuzberg for OCR functionality)
- Generate Song v0.5.4 now fully functional with JK-AceStep-Nodes
2026-04-11 12:27:20 +02:00
Folzo 2ab1efd7e4 Fix _find_file to prioritize exact matches and word count 2026-04-11 03:27:17 +02:00
Folzo 58b439cf1d docs: add system prompt with OCR reminder to use extract_file tool 2026-04-11 02:45:36 +02:00
Folzo 263a942585 fix(kreuzberg): fix 'read of closed file' error by reading file content before requests 2026-04-11 02:42:54 +02:00
Folzo b72dafd66b feat(kreuzberg): improve tool - remove preprocessing, better file search, show available files on error
- Removed image preprocessing (Kreuzberg handles it internally)
- Improved file search (partial name matching)
- Shows available files when file not found
- Uses mimetypes for proper content-type
2026-04-11 02:36:32 +02:00
Folzo 33a463d5a4 fix(effi-ocr): revert to simpler preprocessing - grayscale + contrast 1.8x 2026-04-11 02:26:57 +02:00
Folzo 9a69d96999 fix(effi-ocr): improve preprocessing for dark/shadowy document areas
- Add median filter to reduce noise
- Increase contrast from x2 to x2.5
- Add brightness enhancement x1.2
2026-04-11 02:24:59 +02:00
Folzo eebebd64f1 fix(effi-ocr): explicitly set content-type from mimetypes when sending file 2026-04-11 02:17:57 +02:00