feat: 8 AI providers, rich text editor, agent notifications, UI contrast & font settings
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 1m25s

- Add DeepSeek, OpenRouter, Mistral, Z.AI, LM Studio as AI providers
  with editable model names via Combobox in admin settings
- Fix OpenRouter broken by normalizeProvider bug in config.ts
- Convert agent-created notes from Markdown to HTML (TipTap rich text)
- Add Notification model + in-app notifications for agent results
- Agent notification click opens the created note directly
- Add note count display on notebook and inbox headers
- Fix checklist toggle in card view (persist state via localCheckItems)
- Add checklist creation option in tabs/list view (dropdown on + button)
- Fix image description ENOENT error with HTTP fallback
- Improve UI contrast across all themes (input, border, checkbox visibility)
- Add font family setting (Inter vs System Default) in Appearance settings
- Fix CSS font-sans variable conflict (removed dead Geist references)
- Update README with new features and 8 providers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Sepehr Ramezani
2026-05-01 16:14:07 +02:00
parent 1345403a31
commit dbd49d6fcb
64 changed files with 4124 additions and 1392 deletions

109
GUIDE.md
View File

@@ -145,7 +145,26 @@ Navigateur -> Next.js App Router
- PostgreSQL 16
- npm
### Etapes
### Installation rapide (script interactif)
```bash
git clone https://github.com/votre-user/Momento.git
cd Momento
# macOS / Linux
./scripts/deploy-local.sh
# Windows PowerShell
.\scripts\deploy-local.ps1
```
Le script va :
1. Verifier que Node.js, npm et PostgreSQL sont installes
2. Demander la configuration (base de donnees, email admin, provider IA, etc.)
3. Generer le `.env` avec des secrets auto-generes
4. Installer les dependances et lancer les migrations
### Etapes manuelles
```bash
# 1. Cloner le depot
@@ -157,7 +176,7 @@ npm install --legacy-peer-deps
# 3. Configurer l'environnement
cp .env.example .env
# Editer .env avec vos valeurs (DATABASE_URL, NEXTAUTH_SECRET, etc.)
# Editer .env avec vos valeurs (DATABASE_URL, NEXTAUTH_SECRET, ADMIN_EMAIL, etc.)
# 4. Creer la base de donnees et appliquer les migrations
npx prisma migrate dev
@@ -171,15 +190,45 @@ npm run dev
### Premier lancement
1. Creez un compte via la page d'inscription
2. Le premier utilisateur inscrit devient automatiquement admin
1. Inscrivez-vous avec l'email defini dans `ADMIN_EMAIL`
2. Ce compte obtient automatiquement le role **ADMIN**
3. Accedez au panneau admin : `http://localhost:3000/admin/settings`
---
## Deploiement Docker
### Quick Start
### Installation rapide (script interactif)
```bash
git clone https://github.com/votre-user/Momento.git
cd Momento
# macOS / Linux
./scripts/deploy-docker.sh
# Windows PowerShell
.\scripts\deploy-docker.ps1
```
Le script va :
1. Verifier que Docker et Docker Compose sont installes
2. Demander la configuration (URL, email admin, PostgreSQL, provider IA, MCP, email, Ollama, recherche web)
3. Auto-generer `NEXTAUTH_SECRET` et `POSTGRES_PASSWORD`
4. Construire et demarrer tous les conteneurs
5. Lancer les migrations de base de donnees
**Options du script de deploiement :**
| Commande | Description |
|----------|-------------|
| `./scripts/deploy-docker.sh` | Setup complet (env + build + deploy) |
| `./scripts/deploy-docker.sh --env-only` | Generer `.env.docker` seulement |
| `./scripts/deploy-docker.sh --build` | Build + deploy (requiert `.env.docker` existant) |
| `./scripts/deploy-docker.sh --stop` | Arreter tous les conteneurs |
| `./scripts/deploy-docker.sh --logs` | Afficher les logs des conteneurs |
### Setup manuel
```bash
# 1. Cloner le depot
@@ -189,7 +238,7 @@ cd Momento
# 2. Configurer l'environnement
cp .env.docker.example .env.docker
nano .env.docker
# Modifier NEXTAUTH_URL et NEXTAUTH_SECRET (obligatoire)
# Modifier NEXTAUTH_URL, NEXTAUTH_SECRET et ADMIN_EMAIL (obligatoire)
# 3. Lancer les conteneurs
docker compose up -d
@@ -216,6 +265,7 @@ docker exec memento-ollama ollama pull embeddinggemma
|----------|-------------|
| `NEXTAUTH_URL` | URL publique de l'app (ex: `http://192.168.1.190:3000`) |
| `NEXTAUTH_SECRET` | Secret JWT - generer avec `openssl rand -base64 32` |
| `ADMIN_EMAIL` | Email qui obtient automatiquement le role ADMIN a l'inscription |
### Ports utilises
@@ -629,7 +679,9 @@ Les parametres `SMTP_SECURE` et `SMTP_IGNORE_CERT` sont configurables depuis le
### Panneau admin
Accessibles uniquement par le premier utilisateur inscrit (ou les utilisateurs avec le role admin).
Accessibles uniquement aux utilisateurs avec le role admin.
Le **premier utilisateur inscrit avec l'email defini dans `ADMIN_EMAIL`** obtient automatiquement le role ADMIN. Assurez-vous de definir cette variable dans votre `.env` ou `.env.docker` avant le deploiement.
**URL** : `/admin/settings`
@@ -679,6 +731,14 @@ Accessibles uniquement par le premier utilisateur inscrit (ou les utilisateurs a
| `DATABASE_URL` | - | Connection string PostgreSQL |
| `NEXTAUTH_SECRET` | - | Secret JWT (`openssl rand -base64 32`) |
| `NEXTAUTH_URL` | `http://localhost:3000` | URL publique de l'app |
| `ADMIN_EMAIL` | - | Email qui obtient automatiquement le role ADMIN a l'inscription |
#### Inscription et admin
| Variable | Defaut | Description |
|----------|--------|-------------|
| `ALLOW_REGISTRATION` | `true` | Autoriser l'inscription publique |
| `ADMIN_EMAIL` | - | Email qui obtient le role ADMIN a l'inscription |
#### PostgreSQL (Docker)
@@ -766,6 +826,37 @@ Accessibles uniquement par le premier utilisateur inscrit (ou les utilisateurs a
## Commandes utiles
### Scripts de deploiement
```bash
# Deploiement Docker (macOS / Linux)
./scripts/deploy-docker.sh # Setup complet (env + build + deploy)
./scripts/deploy-docker.sh --env-only # Generer .env.docker interactivement
./scripts/deploy-docker.sh --build # Build + deploy (requiert .env.docker existant)
./scripts/deploy-docker.sh --stop # Arreter tous les conteneurs
./scripts/deploy-docker.sh --logs # Afficher les logs des conteneurs
# Deploiement local (macOS / Linux)
./scripts/deploy-local.sh # Setup complet (env + install + migrate)
./scripts/deploy-local.sh --env-only # Generer .env interactivement
./scripts/deploy-local.sh --start # Demarrer l'app (mode dev ou prod)
./scripts/deploy-local.sh --migrate # Lancer les migrations
./scripts/deploy-local.sh --install # Installer les dependances npm
# Windows PowerShell
.\scripts\deploy-docker.ps1 # Setup Docker complet
.\scripts\deploy-docker.ps1 -EnvOnly # Generer .env.docker seulement
.\scripts\deploy-docker.ps1 -Build # Build + deploy
.\scripts\deploy-docker.ps1 -Stop # Arreter les conteneurs
.\scripts\deploy-docker.ps1 -Logs # Afficher les logs
.\scripts\deploy-local.ps1 # Setup local complet
.\scripts\deploy-local.ps1 -EnvOnly # Generer .env seulement
.\scripts\deploy-local.ps1 -Start # Demarrer l'app
.\scripts\deploy-local.ps1 -Migrate # Lancer les migrations
.\scripts\deploy-local.ps1 -Install # Installer les dependances
```
### Docker
```bash
@@ -829,7 +920,9 @@ npm start
npm run lint
```
### Deploy.sh (script de deploiement)
### deploy.sh (script de deploiement - legacy)
L'ancien script `memento-note/deploy.sh` reste disponible pour le Docker Compose standalone :
```bash
cd memento-note