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

View File

@@ -9,21 +9,24 @@ Une application de prise de notes intelligente et powered by IA. Comme Google Ke
## Fonctionnalites
**Notes et organisation**
- Notes texte, checklists et Markdown (avec LaTeX/KaTeX)
- Notes texte riche (style Notion), checklists, Markdown et texte brut
- Notebooks avec labels contextuels
- Grille masonry responsive avec drag-and-drop
- Grille masonry responsive et vue onglets (style OneNote)
- Upload d'images, partage de notes, archive et corbeille
- 10 themes pastel + mode sombre
- Historique des notes avec restauration de versions
- Reorganisation des cartes par drag-and-drop
**IA et automatisation**
- Recherche semantique par embeddings
- Generation automatique de tags et suggestions de titre
- Agents IA configurables avec instructions personnalisees
- Agents IA configurables avec instructions personnalisees et planification
- Conversations chat IA persistees
- Memory Echo - decouverte de connexions entre notes
- Organisation automatique par batch et labels intelligents
- Resumes de notebooks generes par IA
- Workflows visuels
- Notifications in-app pour les resultats des agents
**Integrations**
- Serveur MCP avec **22 outils** - connecter Claude Desktop, N8N, ou tout client MCP
@@ -44,30 +47,48 @@ Une application de prise de notes intelligente et powered by IA. Comme Google Ke
### Docker (recommande)
Le script de deploiement interactif s'occupe de tout - configuration, build et demarrage :
```bash
git clone https://github.com/yourusername/Momento.git
cd Momento
cp .env.docker.example .env.docker
# macOS / Linux
./scripts/deploy-docker.sh
# Modifier ces deux valeurs obligatoires :
# NEXTAUTH_URL="http://VOTRE_IP_SERVEUR:3000"
# NEXTAUTH_SECRET="generer avec : openssl rand -base64 32"
docker compose up -d
# Windows PowerShell
.\scripts\deploy-docker.ps1
```
Ouvrir `http://localhost:3000` - le premier utilisateur inscrit devient admin.
Le script demande votre `ADMIN_EMAIL` (le premier utilisateur inscrit avec cet email obtient le role ADMIN), le provider IA et d'autres parametres. Les secrets sont generes automatiquement.
Ou manuellement :
```bash
cp .env.docker.example .env.docker
# Editer .env.docker : definir NEXTAUTH_URL, NEXTAUTH_SECRET et ADMIN_EMAIL
docker compose up -d
```
### Developpement local
```bash
git clone https://github.com/yourusername/Momento.git
cd Momento
# macOS / Linux
./scripts/deploy-local.sh
# Windows PowerShell
.\scripts\deploy-local.ps1
```
Ou manuellement :
```bash
cd Momento/memento-note
cp .env.example .env
# Editer .env avec DATABASE_URL, NEXTAUTH_SECRET, etc.
# Editer .env avec DATABASE_URL, NEXTAUTH_SECRET, ADMIN_EMAIL, etc.
npm install --legacy-peer-deps
npx prisma migrate dev
npm run dev
@@ -77,13 +98,18 @@ npm run dev
## Providers IA
Memento supporte trois providers IA, configurables independamment pour les tags, embeddings et chat :
Memento supporte 8 providers IA, configurables independamment pour les tags, embeddings et chat :
| Provider | Type | Configuration |
|----------|------|---------------|
| **Ollama** | Local, gratuit | `docker compose --profile ollama up -d` |
| **OpenAI** | Cloud, payant | Definir `OPENAI_API_KEY` |
| **Custom** | OpenRouter, Groq, Together, Mistral... | Definir `CUSTOM_OPENAI_API_KEY` + `CUSTOM_OPENAI_BASE_URL` |
| **DeepSeek** | Cloud, payant | Definir `DEEPSEEK_API_KEY` |
| **OpenRouter** | Cloud, payant | Definir `OPENROUTER_API_KEY` |
| **Mistral AI** | Cloud, payant | Definir `MISTRAL_API_KEY` |
| **Z.AI** | Cloud, payant | Definir `ZAI_API_KEY` |
| **LM Studio** | Local, gratuit | Definir `LMSTUDIO_BASE_URL` |
| **Custom** | Toute API compatible OpenAI | Definir base URL + cle API |
Exemple avec Ollama :
```bash
@@ -129,7 +155,7 @@ Pour N8N ou clients HTTP, utiliser le mode HTTP Streamable : `http://localhost:3
| Style | Tailwind CSS 4, shadcn/ui |
| Base de donnees | PostgreSQL 16, Prisma ORM 5 |
| Auth | NextAuth.js v5 |
| IA | Vercel AI SDK (OpenAI, Ollama, Custom) |
| IA | Vercel AI SDK (OpenAI, Ollama, DeepSeek, OpenRouter, Mistral, Z.AI, LM Studio) |
| MCP | @modelcontextprotocol/sdk |
| Email | Nodemailer (SMTP) / Resend |
@@ -147,6 +173,11 @@ Pour le guide complet d'installation, deploiement et configuration, voir **[GUID
Momento/
├── docker-compose.yml # Orchestration multi-conteneurs
├── .env.docker.example # Template environnement Docker
├── scripts/ # Scripts de deploiement
│ ├── deploy-docker.sh # Deploiement Docker (macOS/Linux)
│ ├── deploy-local.sh # Deploiement local (macOS/Linux)
│ ├── deploy-docker.ps1 # Deploiement Docker (Windows)
│ └── deploy-local.ps1 # Deploiement local (Windows)
├── memento-note/ # Application Next.js
│ ├── app/ # App Router (pages, actions, API)
│ ├── components/ # Composants React
@@ -173,6 +204,7 @@ Voir [.env.docker.example](.env.docker.example) pour la liste complete. Variable
|----------|--------|-------------|
| `NEXTAUTH_URL` | Oui | URL publique de l'app |
| `NEXTAUTH_SECRET` | Oui | Secret JWT (`openssl rand -base64 32`) |
| `ADMIN_EMAIL` | Oui | Email qui obtient automatiquement le role ADMIN a l'inscription |
| `POSTGRES_PASSWORD` | Rec. | Mot de passe PostgreSQL (defaut : `memento`) |
| `AI_PROVIDER_TAGS` | Non | Provider IA pour tags : `ollama`, `openai`, `custom` |
| `OPENAI_API_KEY` | Si OpenAI | Cle API OpenAI |