diff --git a/admin/k8s/n8n.md b/admin/k8s/n8n.md index 252cd1d..cc50ac2 100644 --- a/admin/k8s/n8n.md +++ b/admin/k8s/n8n.md @@ -289,6 +289,17 @@ curl -s "http://n8n.lab.local/api/v1/executions?limit=5" \ --- +## Workflow « Rapport Portefeuille Hebdo — Ghostfolio » + +Rapport hebdomadaire commenté du portefeuille (idée : données exactes via API, narration par le LLM local). + +- **Déclencheur** : Schedule, cron `0 18 * * 0` (dimanche 18h, TZ Europe/Paris). +- **Pipeline** : `Get Performance` (GET `http://ghostfolio.ai.svc.cluster.local:3333/api/v2/portfolio/performance?range=1w`) → `Get Holdings` (`/api/v1/portfolio/holdings`) → `Préparer Données` (Code : exclut `assetClass=LIQUIDITY` = cash/Livret A, calcule valeur, perf 7j, top/flop, concentration ; poids **relatifs au portefeuille actions**) → `Analyse LLM` (LiteLLM `:4000`, modèle `hermes-default`/Qwen) → `Mise en forme` (HTML) → email (credential SMTP « Postfix local »). +- **Règle LLM** : le modèle **commente uniquement** les chiffres fournis — interdiction d'inventer des nombres, de conseiller achat/vente ou de prédire le marché (les chiffres sont calculés en amont dans le nœud Code). +- ⚠️ **Auth Ghostfolio** : compte anonyme → header `Authorization: Bearer ` codé en dur dans les 2 nœuds GET. Le JWT **expire** (celui en place : **2026-12-12**). À renouveler avant, ou passer à l'échange du *jeton de sécurité* (`POST /api/v1/auth/anonymous`) pour auto-renouvellement. + +--- + ## Workflow « Alertes Prometheus → Résumé LLM → Gmail » — parsing du webhook > ⚠️ **Piège corrigé le 2026-06-15.** Le nœud Webhook n8n imbrique le payload HTTP sous