mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 18:04:43 +02:00
docs(n8n): rapports portefeuille (hebdo+quotidien) auth durable + news + recommandations
Auth via jeton de securite (auto-renouvelle, plus d'expiration JWT). News par action via Yahoo RSS dans le noeud Code. Analyse approfondie + recommandations. Caveat: Qwen 8B peut se tromper sur les chiffres -> se fier au tableau exact. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
69818c29a8
commit
047785be1a
1 changed files with 10 additions and 6 deletions
|
|
@ -289,14 +289,18 @@ curl -s "http://n8n.lab.local/api/v1/executions?limit=5" \
|
|||
|
||||
---
|
||||
|
||||
## Workflow « Rapport Portefeuille Hebdo — Ghostfolio »
|
||||
## Workflows « Rapport Portefeuille » — Ghostfolio + Qwen
|
||||
|
||||
Rapport hebdomadaire commenté du portefeuille (idée : données exactes via API, narration par le LLM local).
|
||||
Deux workflows (rapport commenté du portefeuille : données exactes via API, narration + actus par le LLM local) :
|
||||
- **Hebdo** (`Rapport Portefeuille Hebdo — Ghostfolio`) : cron `0 18 * * 0` (dimanche 18h), `range=1w`, analyse approfondie (max_tokens 1500).
|
||||
- **Quotidien** (`Rapport Portefeuille Quotidien — Ghostfolio`) : cron `0 8 * * *` (tous les jours 8h), `range=1d`, format digest concis (max_tokens 900).
|
||||
|
||||
- **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 <JWT>` 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.
|
||||
**Pipeline** (identique, paramétré) : `Trigger` → `Auth Ghostfolio` → `Get Performance` → `Get Holdings` → `Préparer Données` → `Analyse LLM` → `Mise en forme` → `Envoyer`.
|
||||
|
||||
- **Auth durable** : nœud `Auth Ghostfolio` = `POST /api/v1/auth/anonymous` avec le **jeton de sécurité** (compte anonyme) → renvoie un JWT frais à chaque run (les nœuds GET utilisent `=Bearer {{ $('Auth Ghostfolio').first().json.authToken }}`). **Plus d'expiration à gérer.** Le jeton de sécurité est stocké dans le body du nœud Auth (base n8n, non versionné).
|
||||
- **Préparer Données** (Code) : exclut `assetClass=LIQUIDITY` (cash/Livret A) ; calcule valeur, perf, top/flop, concentration (poids **relatifs au portefeuille actions**) ; **récupère les actus par action** (top 6 par poids) via Yahoo RSS `feeds.finance.yahoo.com/rss/2.0/headline?s=<sym>` avec `this.helpers.httpRequest` (wrap try/catch → si échec, le rapport part sans news).
|
||||
- **Analyse LLM** : LiteLLM `:4000`, modèle `hermes-default` (Qwen). Le prompt autorise des **recommandations/pistes** + signale bonne/mauvaise nouvelle par action, en s'appuyant UNIQUEMENT sur données + news fournies.
|
||||
- ⚠️ **Caveat précision** : Qwen 8B **peut se tromper sur les chiffres** dans sa prose. L'email inclut donc TOUJOURS le **tableau de positions exact** (calculé par n8n) : se fier au tableau pour les nombres, à la prose pour le contexte. Le LLM ne navigue pas — c'est n8n qui apporte les news.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue