Rework AI-Typewriter en application d'arrière-plan multi-profils

- Rollback gestion d'équations : écriture littérale caractère par caractère
  (suppression de math_format.py et de la normalisation Unicode).
- Nouveau profil par défaut 'Mathématiques (LaTeX)' : le modèle émet du
  LaTeX encadré [EQ]...[/EQ], intercepté par KeyStepper qui déclenche
  Alt+= en début d'équation et -> en fin.
- Config multi-profils dans %APPDATA%/ai-typewriter/config.json
  (ConfigStore + profils par défaut auto-créés).
- Icône de zone de notification (pystray) : Ouvrir les logs (temps réel),
  Ajouter/Modifier un profil, Gérer l'authentification, Quitter.
- Sélecteur de modèles : modèles locaux Ollama + recherche/téléchargement
  depuis la bibliothèque publique ; fournisseurs tiers (OpenAI, OpenRouter,
  Gemini, custom).
- Clés d'API stockées de façon sécurisée dans le Gestionnaire d'identifiants
  Windows via keyring (jamais en clair dans config.json).
- Tests : 44 tests verts (stepper, profils, clients IA, credentials,
  catalogue de modèles, moteur).
This commit is contained in:
Hermes Agent
2026-09-18 09:48:46 +02:00
parent d07bed60e6
commit 3e58380f80
30 changed files with 2461 additions and 491 deletions
+16 -5
View File
@@ -1,6 +1,8 @@
@echo off
setlocal
REM ============================================================
REM Build Windows one-file executable (icône zone de notification)
REM ============================================================
cd /d "%~dp0"
if not exist ".venv\Scripts\python.exe" (
@@ -18,10 +20,19 @@ if errorlevel 1 goto :error
echo [3/4] Nettoyage des anciens builds...
if exist build rmdir /s /q build
if exist dist rmdir /s /q dist
if exist ai-typewriter.exe.spec del /q ai-typewriter.exe.spec
if exist ai-typewriter.spec del /q ai-typewriter.spec
echo [4/4] Compilation Windows one-file...
".venv\Scripts\python.exe" -m PyInstaller --clean --onefile --paths src --name ai-typewriter.exe main.py
echo [4/4] Compilation Windows one-file (sans console)...
".venv\Scripts\python.exe" -m PyInstaller ^
--clean --onefile --windowed ^
--name ai-typewriter ^
--hidden-import keyring ^
--hidden-import keyring.backends ^
--hidden-import keyring.backends.Windows ^
--hidden-import pystray._win32 ^
--hidden-import PIL._tkinter_finder ^
--paths src ^
main.py
if errorlevel 1 goto :error
echo.
@@ -31,4 +42,4 @@ exit /b 0
:error
echo.
echo Build echoue.
exit /b 1
exit /b 1