Keep/N8N-TECH-NEWS.md
sepehr f0b41572bc feat: Memento avec dates, Markdown, reminders et auth
Tests Playwright validés :
- Création de notes: OK
- Modification titre: OK
- Modification contenu: OK
- Markdown éditable avec preview: OK

Fonctionnalités:
- date-fns: dates relatives sur cards
- react-markdown + remark-gfm
- Markdown avec toggle edit/preview
- Recherche améliorée (titre/contenu/labels/checkItems)
- Reminder recurrence/location (schema)
- NextAuth.js + User/Account/Session
- userId dans Note (optionnel)
- 4 migrations créées

Ready for production + auth integration
2026-01-04 16:04:24 +01:00

308 lines
8.0 KiB
Markdown

# 🤖 Workflow N8N - Tech News to Memento
## 📋 Description
Ce workflow automatise la veille technologique en :
1. **Lisant** un flux RSS TechCrunch (ou autre source tech)
2. **Analysant** les articles avec GPT-4o-mini
3. **Sélectionnant** les 2 actualités les plus pertinentes
4. **Créant** automatiquement 2 notes dans Memento via MCP
## 🔧 Architecture du Workflow
### 1. **Schedule Trigger** ⏰
- Exécution automatique toutes les **6 heures**
- Configurable selon vos besoins
### 2. **RSS Feed Reader** 📰
- Source par défaut : TechCrunch Feed
- Alternatives possibles :
- Hacker News: `https://news.ycombinator.com/rss`
- The Verge: `https://www.theverge.com/rss/index.xml`
- Ars Technica: `https://feeds.arstechnica.com/arstechnica/index`
- MIT Technology Review: `https://www.technologyreview.com/feed/`
### 3. **Prepare AI Analysis** 🧮
- Formate les articles pour l'analyse IA
- Crée un prompt système optimisé
- Structure les données pour OpenAI
### 4. **OpenAI Agent** 🤖
**Modèle :** GPT-4o-mini
**Temperature :** 0.3 (réponses cohérentes)
**Max Tokens :** 500
**Prompt Système :**
```
Tu es un expert en analyse d'actualités technologiques.
Ta mission est de sélectionner les 2 articles les plus pertinents
et importants parmi une liste d'actualités.
Tu dois être objectif, privilégier l'innovation et l'impact réel.
Réponds UNIQUEMENT en JSON valide, sans markdown ni texte supplémentaire.
```
**Critères de sélection :**
- ✅ Innovation majeure ou rupture technologique
- ✅ Impact significatif sur l'industrie tech
- ✅ Actualité récente et importante
- ❌ Éviter articles marketing/promotionnels
- ✅ Privilégier annonces concrètes
### 5. **Parse Selection** 🔍
- Parse la réponse JSON de l'IA
- Gère les formats markdown et JSON brut
- Fallback sur les 2 premiers articles en cas d'erreur
### 6. **Format Note** 📝
Crée une note structurée avec :
- 📰 Titre de l'article
- 🔍 Raison de la sélection (par l'IA)
- 📝 Résumé/description
- 🔗 Lien vers l'article complet
- 📅 Date de publication
- 🏷️ Catégories/tags
**Couleur :** Bleu (tech)
**Labels :** `Tech News`, `Auto-Generated`, + catégories de l'article
### 7. **MCP - Create Note** 💾
- Appelle le MCP server sur `http://localhost:3001/sse`
- Utilise le tool `create_note`
- Format JSON-RPC 2.0
**Payload exemple :**
```json
{
"jsonrpc": "2.0",
"id": 1704380400,
"method": "tools/call",
"params": {
"name": "create_note",
"arguments": {
"title": "📰 Major AI Breakthrough Announced...",
"content": "📰 **Full Title**\n\n🔍 **Pourquoi cet article ?**\n...",
"color": "blue",
"type": "text",
"labels": ["Tech News", "Auto-Generated", "AI"]
}
}
}
```
### 8. **Extract Result & Summary** ✅
- Extrait l'ID et le titre des notes créées
- Crée un résumé d'exécution
- Status de succès/échec
## 🚀 Installation
### Prérequis
1. **N8N** installé et opérationnel
2. **MCP Server** tournant sur port 3001
3. **Clé API OpenAI** configurée
4. **Memento** accessible sur localhost:3000
### Étapes
1. **Démarrer le MCP Server**
```powershell
cd d:\dev_new_pc\Keep\mcp-server
node index-sse.js
```
2. **Vérifier que Memento tourne**
```powershell
cd d:\dev_new_pc\Keep\keep-notes
npm run dev
```
3. **Importer le workflow dans N8N**
- Ouvrir N8N (http://localhost:5678)
- Cliquer "Import from File"
- Sélectionner `n8n-tech-news-workflow.json`
4. **Configurer les credentials OpenAI**
- Node "OpenAI - Select Best Articles"
- Ajouter votre clé API OpenAI
- Tester la connexion
5. **Activer le workflow**
- Cliquer sur "Active" en haut à droite
- Le workflow s'exécutera toutes les 6 heures
## 🧪 Test Manuel
1. Ouvrir le workflow dans N8N
2. Cliquer sur "Execute Workflow" (éclair ⚡)
3. Vérifier les résultats :
- RSS feed récupéré ✅
- IA sélectionné 2 articles ✅
- 2 notes créées dans Memento ✅
## 📊 Monitoring
### Vérifier les notes créées
**Via l'interface Memento :**
- Ouvrir http://localhost:3000
- Chercher les notes avec label "Tech News"
- Notes en bleu avec icône 📰
**Via MCP :**
```bash
curl -X POST http://localhost:3001/sse \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_notes",
"arguments": {
"search": "Tech News"
}
}
}'
```
## 🎯 Personnalisation
### Changer la source RSS
Dans le node "RSS Feed - Tech News" :
```javascript
// Remplacer l'URL par :
"https://feeds.feedburner.com/venturebeat/SZYF" // VentureBeat
"https://www.wired.com/feed/rss" // Wired
"https://techcrunch.com/feed/" // TechCrunch Alt
```
### Modifier les critères de sélection
Dans le node "Prepare AI Analysis", modifier le prompt :
```javascript
Critères de sélection :
- Focus sur [IA / Blockchain / Cloud / DevOps / ...]
- Articles en français uniquement
- Durée de lecture < 10 min
- etc.
```
### Changer la fréquence
Dans le node "Schedule - Every 6 hours" :
- **Toutes les 3h** : `hoursInterval: 3`
- **Tous les jours à 9h** : `cronExpression: "0 9 * * *"`
- **Du lundi au vendredi** : `cronExpression: "0 9 * * 1-5"`
### Modifier le nombre d'articles
Dans "Prepare AI Analysis" :
```javascript
// Passer de 2 à 3 articles
"sélectionnez les 3 articles les PLUS PERTINENTS"
// Adapter la structure JSON
{
"selected": [
{ "index": 1, "reason": "..." },
{ "index": 2, "reason": "..." },
{ "index": 3, "reason": "..." }
]
}
```
### Changer la couleur/labels
Dans le node "Format Note" :
```javascript
color: 'orange', // ou red, green, purple, etc.
labels: ['AI News', 'Breaking', 'Important']
```
## 🐛 Troubleshooting
### Erreur "MCP Server not responding"
```bash
# Vérifier que le MCP server tourne
curl http://localhost:3001/sse
# Redémarrer si nécessaire
cd d:\dev_new_pc\Keep\mcp-server
node index-sse.js
```
### Erreur OpenAI "Rate limit exceeded"
- Attendre quelques minutes
- Réduire la fréquence du workflow
- Upgrader votre plan OpenAI
### Pas d'articles sélectionnés
- Vérifier le flux RSS (URL valide ?)
- Tester le prompt OpenAI manuellement
- Vérifier les logs N8N
### Notes non créées
```javascript
// Vérifier le payload MCP dans le node "MCP - Create Note"
console.log($json);
// Tester directement avec curl
curl -X POST http://localhost:3001/sse \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"create_note","arguments":{"title":"Test","content":"Test"}}}'
```
## 📈 Optimisations Possibles
1. **Multi-sources RSS**
- Ajouter plusieurs nodes RSS
- Merger les résultats
- Augmenter à 5-10 articles sélectionnés
2. **Filtering avancé**
- Ajouter des keywords à exclure
- Filtrer par date (dernières 24h uniquement)
- Éliminer les doublons
3. **Enrichissement**
- Scraper le contenu complet de l'article
- Générer un résumé avec GPT
- Ajouter des images via API
4. **Notifications**
- Envoyer email avec les articles sélectionnés
- Notification Slack/Discord
- Push notification mobile
5. **Analytics**
- Logger les articles sélectionnés
- Stats sur les sources les plus utilisées
- Tendances des sujets tech
## 🔐 Sécurité
- ⚠️ Ne pas exposer le MCP server sur internet
- ⚠️ Sécuriser la clé API OpenAI
- ✅ Utiliser variables d'environnement pour secrets
- ✅ Limiter rate limiting sur le RSS
## 📚 Ressources
- [N8N Documentation](https://docs.n8n.io/)
- [MCP Protocol Spec](https://modelcontextprotocol.io/)
- [OpenAI API](https://platform.openai.com/docs)
- [RSS Feeds Tech](https://github.com/awesome-rss/awesome-rss)
## 🎉 Résultat Attendu
Toutes les 6 heures, vous aurez automatiquement :
-**2 notes** dans Memento
- 📰 Sur les **actualités tech les plus importantes**
- 🤖 **Sélectionnées par IA**
- 🏷️ **Labellisées** et organisées
- 🔗 Avec **liens** vers articles complets
**Gain de temps :** ~30 min de veille manuelle par jour = **3.5h par semaine** ! 🚀