fix: unify theme system - fix theme switching persistence
- Unified localStorage key to 'theme-preference' across all components
- Fixed header.tsx using wrong localStorage key ('theme' instead of 'theme-preference')
- Added localStorage hybrid persistence for instant theme changes
- Removed router.refresh() which was causing stale data revert
- Replaced Blue theme with Sepia
- Consolidated auth() calls to prevent race conditions
- Updated UserSettingsData types to include all themes
This commit is contained in:
376
mcp-server/N8N-WORKFLOWS.md
Normal file
376
mcp-server/N8N-WORKFLOWS.md
Normal file
@@ -0,0 +1,376 @@
|
||||
# Workflows N8N pour Keep Notes MCP
|
||||
|
||||
## 📚 Introduction
|
||||
|
||||
Ce dossier contient 6 workflows N8N prêts à l'emploi pour votre serveur MCP Keep Notes. Chaque workflow est conçu pour une fonctionnalité spécifique et peut être importé directement dans N8N.
|
||||
|
||||
## 🚀 Workflows disponibles
|
||||
|
||||
### 1. **Create Note with Classification** (`n8n-workflow-create-note.json`)
|
||||
|
||||
**Description:** Crée des notes dans Keep Notes avec classification automatique par IA.
|
||||
|
||||
**Fonctionnalités:**
|
||||
- Création de notes avec titres, contenus, labels, notebooks
|
||||
- Classification automatique par IA pour suggérer:
|
||||
- Titres pertinents
|
||||
- Labels appropriés
|
||||
- Notebook optimal
|
||||
- Catégorie (work/personal/idea)
|
||||
|
||||
**Cas d'usage:**
|
||||
- Création rapide de notes depuis des conversations
|
||||
- Capture d'idées avec auto-organisation
|
||||
- Génération automatique de métadonnées
|
||||
|
||||
**Utilisation:**
|
||||
```json
|
||||
{
|
||||
"content": "Meeting with client next week to discuss project timeline",
|
||||
"color": "blue",
|
||||
"labels": ["work"]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2. **Search & Summary** (`n8n-workflow-search-summary.json`)
|
||||
|
||||
**Description:** Recherche des notes et génère un résumé avec IA.
|
||||
|
||||
**Fonctionnalités:**
|
||||
- Recherche par mot-clé dans titres et contenus
|
||||
- Filtrage intelligent des résultats
|
||||
- Génération de résumés par IA
|
||||
- Extraction des thèmes principaux
|
||||
- Identification des action items
|
||||
- Groupement de notes par thème
|
||||
|
||||
**Cas d'usage:**
|
||||
- Rapports hebdomadaires d'activité
|
||||
- Analyse de thématiques
|
||||
- Synthèse rapide de projets
|
||||
|
||||
**Utilisation:**
|
||||
```json
|
||||
{
|
||||
"searchQuery": "project timeline"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 3. **Notebook Manager** (`n8n-workflow-notebook-management.json`)
|
||||
|
||||
**Description:** Gestion complète des notebooks (créer, lister, modifier, supprimer).
|
||||
|
||||
**Fonctionnalités:**
|
||||
- **Create**: Créer de nouveaux notebooks avec icône et couleur
|
||||
- **List**: Récupérer tous les notebooks avec leurs notes
|
||||
- **Update**: Modifier nom, icône, couleur d'un notebook
|
||||
- **Delete**: Supprimer un notebook et son contenu
|
||||
|
||||
**Cas d'usage:**
|
||||
- Organisation thématique des notes
|
||||
- Restructuration de l'espace de travail
|
||||
- Archivage de projets terminés
|
||||
|
||||
**Utilisation:**
|
||||
```json
|
||||
{
|
||||
"action": "create",
|
||||
"name": "Work Projects",
|
||||
"icon": "💼",
|
||||
"color": "#3B82F6"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4. **Reminder Notifications** (`n8n-workflow-reminder-notifications.json`)
|
||||
|
||||
**Description:** Automatisation des rappels et notifications pour les notes.
|
||||
|
||||
**Fonctionnalités:**
|
||||
- Vérification automatique des rappels (toutes les 30 min)
|
||||
- Notifications Slack/Email
|
||||
- Marquage des rappels comme terminés
|
||||
- Gestion des rappels récurrents (daily, weekly, monthly, yearly)
|
||||
- Mise à jour automatique des dates de rappel
|
||||
|
||||
**Cas d'usage:**
|
||||
- Gestion de tâches avec échéances
|
||||
- Rappels de réunions importantes
|
||||
- Notifications d'événements récurrents
|
||||
|
||||
**Configuration:**
|
||||
- Déclencheur: Schedule (cron: `0 */30 * * * *`)
|
||||
- Canaux: Slack et Email (configurable)
|
||||
- Récurrences: daily, weekly, monthly, yearly
|
||||
|
||||
---
|
||||
|
||||
### 5. **Label Manager** (`n8n-workflow-label-management.json`)
|
||||
|
||||
**Description:** Gestion complète des labels avec suggestion automatique par IA.
|
||||
|
||||
**Fonctionnalités:**
|
||||
- **Create**: Créer des labels avec couleur et notebook
|
||||
- **List**: Récupérer tous les labels (optionnel par notebook)
|
||||
- **Update**: Modifier nom et couleur d'un label
|
||||
- **Delete**: Supprimer un label
|
||||
- **Suggest**: Suggestion automatique de labels par IA
|
||||
|
||||
**Cas d'usage:**
|
||||
- Organisation avancée par tags
|
||||
- Classification automatique de contenu
|
||||
- Gestion de taxonomie dynamique
|
||||
|
||||
**Utilisation:**
|
||||
```json
|
||||
{
|
||||
"action": "suggest",
|
||||
"title": "Budget planning for Q4",
|
||||
"content": "Need to plan budget for the next quarter..."
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse IA:**
|
||||
```json
|
||||
{
|
||||
"labels": ["finance", "budget", "quarterly", "planning"]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 6. **Email to Note** (`n8n-workflow-email-integration.json`)
|
||||
|
||||
**Description:** Conversion automatique d'emails en notes avec classification.
|
||||
|
||||
**Fonctionnalités:**
|
||||
- Déclenchement sur nouveaux emails (IMAP)
|
||||
- Extraction automatique de données email
|
||||
- Classification par IA:
|
||||
- Thème principal
|
||||
- Détection d'urgence
|
||||
- Suggestion de labels et notebooks
|
||||
- Gestion des emails urgents (pinned, couleur rouge)
|
||||
- Notification Slack après création
|
||||
|
||||
**Cas d'usage:**
|
||||
- Capture automatique d'emails importants
|
||||
- Gestion de boîte de réception
|
||||
- Intégration email → notes intelligentes
|
||||
|
||||
**Configuration:**
|
||||
- Déclencheur: Email Trigger (IMAP)
|
||||
- Filtre: Emails non lus uniquement
|
||||
- Urgence: Détection automatique par IA
|
||||
|
||||
---
|
||||
|
||||
## 📥 Importation des Workflows
|
||||
|
||||
### Méthode 1: Import direct
|
||||
|
||||
1. Ouvrir N8N
|
||||
2. Cliquer sur **"Import from File"**
|
||||
3. Sélectionner le fichier JSON souhaité
|
||||
4. Configurer les paramètres nécessaires (Slack, Email, etc.)
|
||||
5. Activer le workflow
|
||||
|
||||
### Méthode 2: Import via API
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:5678/rest/workflows/import \
|
||||
-H "Content-Type: application/json" \
|
||||
-d @n8n-workflow-create-note.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Configuration requise
|
||||
|
||||
### Variables d'environnement
|
||||
|
||||
Dans N8N, configurez les variables suivantes:
|
||||
|
||||
```bash
|
||||
KEEP_NOTES_API_URL=http://localhost:3000
|
||||
SLACK_WEBHOOK_URL=votre_slack_webhook_url
|
||||
EMAIL_ADDRESS=votre_email@gmail.com
|
||||
EMAIL_PASSWORD=votre_mot_de_passe_app
|
||||
OPENAI_API_KEY=votre_clé_openai
|
||||
```
|
||||
|
||||
### Connexions requises
|
||||
|
||||
1. **Keep Notes API**
|
||||
- URL: `http://localhost:3000/api`
|
||||
- Authentification: Si nécessaire
|
||||
|
||||
2. **Slack**
|
||||
- Webhook URL ou OAuth token
|
||||
|
||||
3. **Email (IMAP)**
|
||||
- Serveur IMAP (ex: `imap.gmail.com`)
|
||||
- Email et mot de passe/application password
|
||||
|
||||
4. **OpenAI API**
|
||||
- Pour la classification et la génération de résumés
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Personnalisation
|
||||
|
||||
### Modifier les délais de rappel
|
||||
|
||||
Dans "Reminder Notifications", modifiez l'expression cron:
|
||||
|
||||
```cron
|
||||
# Toutes les 15 minutes
|
||||
0 */15 * * * *
|
||||
|
||||
# Toutes les heures
|
||||
0 * * * *
|
||||
|
||||
# Toutes les 2 heures
|
||||
0 */2 * * *
|
||||
```
|
||||
|
||||
### Changer les couleurs par défaut
|
||||
|
||||
Dans "Create Note", modifiez la valeur par défaut:
|
||||
|
||||
```json
|
||||
{
|
||||
"color": "purple"
|
||||
}
|
||||
```
|
||||
|
||||
### Adapter les catégories de classification
|
||||
|
||||
Dans "Email to Note", modifiez le prompt IA pour inclure vos catégories personnalisées.
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Combinaison de Workflows
|
||||
|
||||
### Exemple: Pipeline complet Email → Classification → Rappel
|
||||
|
||||
```
|
||||
Email Trigger
|
||||
→ Extract Email Data
|
||||
→ AI Classify
|
||||
→ Create Note
|
||||
→ Set Reminder
|
||||
→ Notify Slack
|
||||
```
|
||||
|
||||
### Exemple: Recherche intelligente avec labels
|
||||
|
||||
```
|
||||
MCP Trigger (search)
|
||||
→ Get Notes
|
||||
→ Filter
|
||||
→ AI Suggest Labels
|
||||
→ Apply Labels
|
||||
→ Return Summary
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Monitoring et Logs
|
||||
|
||||
Activer les logs dans N8N pour suivre l'exécution:
|
||||
|
||||
1. Aller dans **Settings** → **Executions**
|
||||
2. Filtrer par workflow
|
||||
3. Voir les détails de chaque exécution
|
||||
4. Déboguer les erreurs éventuelles
|
||||
|
||||
---
|
||||
|
||||
## 🔒 Sécurité
|
||||
|
||||
### Bonnes pratiques
|
||||
|
||||
1. **Ne jamais** exposer des données sensibles dans les workflows
|
||||
2. Utiliser des **variables d'environnement** pour les clés API
|
||||
3. **Limiter** l'accès aux workflows MCP avec authentification
|
||||
4. **Valider** toutes les entrées utilisateur
|
||||
5. **Auditer** régulièrement les exécutions
|
||||
|
||||
### Accès MCP
|
||||
|
||||
Pour sécuriser l'accès MCP aux workflows:
|
||||
|
||||
1. Configurer l'authentification dans le **MCP Server Trigger**
|
||||
2. Utiliser des **Bearer tokens** ou **OAuth**
|
||||
3. Restreindre l'accès par IP si nécessaire
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Dépannage
|
||||
|
||||
### Erreur: "Connection refused to localhost:3000"
|
||||
|
||||
**Solution:** Vérifiez que Keep Notes est démarré sur le port 3000.
|
||||
|
||||
### Erreur: "AI classification failed"
|
||||
|
||||
**Solution:** Vérifiez votre clé OpenAI API et vos crédits.
|
||||
|
||||
### Erreur: "Email trigger not working"
|
||||
|
||||
**Solution:**
|
||||
- Activez l'accès "less secure apps" pour Gmail
|
||||
- Utilisez un "App Password" si 2FA activé
|
||||
|
||||
### Erreur: "Slack notification failed"
|
||||
|
||||
**Solution:** Vérifiez l'URL du webhook Slack et les permissions.
|
||||
|
||||
---
|
||||
|
||||
## 📚 Documentation complémentaire
|
||||
|
||||
- [N8N Documentation](https://docs.n8n.io)
|
||||
- [MCP Protocol](https://modelcontextprotocol.io)
|
||||
- [Keep Notes API](./README.md)
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Contribution
|
||||
|
||||
Pour ajouter de nouveaux workflows:
|
||||
|
||||
1. Créez le fichier JSON correspondant
|
||||
2. Ajoutez la documentation dans ce fichier
|
||||
3. Testez le workflow en local
|
||||
4. Partagez-le avec l'équipe
|
||||
|
||||
---
|
||||
|
||||
## 📝 Notes importantes
|
||||
|
||||
- Tous les workflows utilisent le protocole MCP
|
||||
- L'URL de l'API Keep Notes doit être configurée correctement
|
||||
- Les workflows nécessitent que le serveur Keep Notes soit en cours d'exécution
|
||||
- Les coûts OpenAI s'appliquent pour la classification et la génération de résumés
|
||||
|
||||
---
|
||||
|
||||
## 🎉 Résumé
|
||||
|
||||
| Workflow | Utilisation principale | Complexité |
|
||||
|----------|----------------------|-------------|
|
||||
| Create Note | Création avec IA | ⭐⭐ |
|
||||
| Search & Summary | Analyse de contenu | ⭐⭐⭐ |
|
||||
| Notebook Manager | Gestion notebooks | ⭐ |
|
||||
| Reminder Notifications | Automatisation rappels | ⭐⭐⭐ |
|
||||
| Label Manager | Gestion labels | ⭐⭐ |
|
||||
| Email to Note | Intégration email | ⭐⭐⭐⭐ |
|
||||
|
||||
**Total:** 6 workflows prêts à l'emploi! 🚀
|
||||
Reference in New Issue
Block a user