- 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>
7.4 KiB
Memento
Une application de prise de notes intelligente et powered by IA. Comme Google Keep, mais avec des notebooks, la recherche semantique, des agents IA et un serveur MCP integre.
Read in English | Guide complet
Fonctionnalites
Notes et organisation
- Notes texte riche (style Notion), checklists, Markdown et texte brut
- Notebooks avec labels contextuels
- 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 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
- API REST pour integrations personnalisees
- Support de flux RSS
- Tableau blanc Canvas/Lab (Excalidraw)
Plateforme
- 15 langues (FR, EN, AR, DE, ES, FA, HI, IT, JA, KO, NL, PL, PT, RU, ZH)
- Progressive Web App (PWA)
- Systeme de rappels avec recurrence
- Export/import de donnees (JSON)
- Panneau admin pour providers IA, SMTP et parametres
Demarrage rapide
Docker (recommande)
Le script de deploiement interactif s'occupe de tout - configuration, build et demarrage :
git clone https://github.com/yourusername/Momento.git
cd Momento
# macOS / Linux
./scripts/deploy-docker.sh
# Windows PowerShell
.\scripts\deploy-docker.ps1
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 :
cp .env.docker.example .env.docker
# Editer .env.docker : definir NEXTAUTH_URL, NEXTAUTH_SECRET et ADMIN_EMAIL
docker compose up -d
Developpement local
git clone https://github.com/yourusername/Momento.git
cd Momento
# macOS / Linux
./scripts/deploy-local.sh
# Windows PowerShell
.\scripts\deploy-local.ps1
Ou manuellement :
cd Momento/memento-note
cp .env.example .env
# Editer .env avec DATABASE_URL, NEXTAUTH_SECRET, ADMIN_EMAIL, etc.
npm install --legacy-peer-deps
npx prisma migrate dev
npm run dev
Providers IA
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 |
| 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 :
# .env.docker
AI_PROVIDER_TAGS=ollama
AI_PROVIDER_EMBEDDING=ollama
OLLAMA_BASE_URL="http://ollama:11434"
AI_MODEL_TAGS="granite4:latest"
AI_MODEL_EMBEDDING="embeddinggemma:latest"
Tous les parametres IA sont aussi configurables depuis le panneau admin /admin/settings.
Serveur MCP
Connecter des agents IA a vos notes via le Model Context Protocol.
// claude_desktop_config.json
{
"mcpServers": {
"memento": {
"command": "docker",
"args": ["exec", "-i", "memento-mcp", "node", "index.js"]
}
}
}
22 outils disponibles - CRUD notes, notebooks, labels, rappels, recherche, export/import. Chaque cle API est scopee a un utilisateur : seules ses notes sont accessibles.
Pour N8N ou clients HTTP, utiliser le mode HTTP Streamable : http://localhost:3001/mcp avec le header x-api-key.
Stack technique
| Couche | Technologie |
|---|---|
| Framework | Next.js 16, React 19, TypeScript 5 |
| Style | Tailwind CSS 4, shadcn/ui |
| Base de donnees | PostgreSQL 16, Prisma ORM 5 |
| Auth | NextAuth.js v5 |
| IA | Vercel AI SDK (OpenAI, Ollama, DeepSeek, OpenRouter, Mistral, Z.AI, LM Studio) |
| MCP | @modelcontextprotocol/sdk |
| Nodemailer (SMTP) / Resend |
Documentation
Pour le guide complet d'installation, deploiement et configuration, voir GUIDE.md.
Structure du projet
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
│ ├── lib/ # Logique metier (IA, DB, mail, i18n)
│ ├── prisma/ # Schema + migrations
│ ├── locales/ # 15 fichiers i18n
│ └── Dockerfile # Build multi-stage
├── mcp-server/ # Serveur MCP (22 outils)
│ ├── index.js # Mode stdio
│ ├── index-sse.js # Mode HTTP Streamable
│ ├── tools.js # Definitions des outils
│ ├── auth.js # Authentification par cle API
│ └── Dockerfile # Build conteneur
└── n8n-memento-workflow.json # Workflow N8N preconfigure
Variables d'environnement
Voir .env.docker.example pour la liste complete. Variables cles :
| Variable | Requis | Description |
|---|---|---|
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 |
Contribuer
Les contributions sont bienvenues !
- Rapports de bugs : Ouvrir une issue
- Idees de fonctionnalites : Lancer une discussion
- Pull requests : Fork, creer une branche, et soumettre une PR
Soutenir
Si Memento vous est utile, pensez a soutenir son developpement :
- Ko-fi - Soutien ponctuel ou mensuel
- GitHub Sponsors - Parrainage recurrent
- Star le repo - C'est gratuit et ca aide la visibilite
Licence
Apache License 2.0 avec Commons Clause Restriction.
Usage personnel, educatif et non-commercial libre. Usage commercial soumis a autorisation ecrite de l'auteur. Voir LICENSE pour les details.