Funk-lab/admin/ia/finlab.md
alkatrazz b649afd059 feat(finlab): console Claude Code finance in-cluster + toolkit d'analyse
Intègre finlab (ex-projet Projets/Finance) au lab comme une console Claude Code
web spécialisée finance — l'esprit OpenAlice, mais c'est le vrai Claude Code sur
l'abonnement (login persisté, pas d'API facturée), agentique, avec la boîte à
outils finlab (Yahoo Finance) branchée en MCP.

- tools/finlab/ : source finlab rapatriée + Dockerfile (Python 3.12 + Node +
  claude-code + ttyd) + persona workspace/CLAUDE.md + branchement MCP + entrypoint
  (seed du workspace no-clobber sur le PVC)
- .github/workflows/build-finlab.yml : build GHCR funk-finlab + bump manifest (main)
- k8s/apps/finlab/ : Deployment/Service/PVC/IngressRoute (finance.lab.local) +
  Middleware basicAuth (shell web protégé) ; PVC = HOME (login) + workspace
- k8s/apps-of-apps/apps/finlab.yaml : Application ArgoCD
- .mcp.json (racine) : outils finlab dans les sessions Claude Code du lab
- admin/ia/finlab.md + READMEs + CLAUDE.md : doc + enregistrement

Analyse/aide à la décision uniquement — aucun ordre réel (paper trading Alpaca
fictif seul exécutable).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 22:43:53 +02:00

3.1 KiB

FinLab — console Claude Code finance + toolkit d'analyse de marché

Quoi : boîte à outils d'analyse de marché maison (finlab, données Yahoo Finance gratuites)

  • une console Claude Code web spécialisée finance, déployée in-cluster. Remplace l'approche OpenAlice abandonnée (cf. admin/ia/openalice.md) par quelque chose de plus simple et plus puissant : ton vrai Claude Code (sur ton abonnement, pas l'API au compteur), agentique, avec les outils finlab branchés.

:

  • Source : tools/finlab/ (code finlab + Dockerfile + persona workspace/CLAUDE.md).
  • Image : CI .github/workflows/build-finlab.ymlghcr.io/alkatrazz24/funk-finlab.
  • Déploiement : ns ai, finance.lab.local, manifests k8s/apps/finlab/, app ArgoCD k8s/apps-of-apps/apps/finlab.yaml.
  • MCP local : .mcp.json (racine repo lab) → outils finlab dans les sessions Claude Code du lab.

Cadre : analyse/aide à la décision uniquement, aucun ordre réel (seul le paper trading Alpaca fictif est exécutable). Persona dans tools/finlab/workspace/CLAUDE.md (profil swing trader concentré tech/semis, philosophie R:R/concentration/discipline).

Architecture

Composant Détail
Console ttyd (terminal web :7681) → CLI claude (Claude Code) dans /home/finlab/workspace
Cerveau Abonnement Claude Code (login OAuth persisté dans ~/.claude sur le PVC) — pas de clé API facturée
Outils finlab en MCP (finlab.mcp_server, stdio) + CLI python -m finlab.cli ...
PVC finlab-data 5Gi NFS → /home/finlab : login + workspace (configs éditables + .cache)
Auth basicAuth Traefik (finlab-auth, middleware) — un shell web ne s'expose pas nu

Le workspace est seedé depuis l'image au 1er boot (cp -rn no-clobber) puis vit sur le PVC : edits (portefeuille) et login persistent ; rebuild d'image = seuls les fichiers manquants ajoutés.

Outils finlab

digest (vue d'ensemble compacte, à privilégier), portfolio_summary, opportunities/scan, technical_analysis/tech (RSI/MACD/MM50-200/Bollinger/ATR), fundamentals (PER/PEG/ROE/dette/ cible), trade_plan/plan (entrée/stop ATR/objectifs/taille/R:R), alerts_today, price, plus paper trading (paper_account/paper_positions/paper_order, clés Alpaca optionnelles).

Configs (workspace, éditables) : portfolio.yaml (positions Revolut), watchlists.yaml (thèmes chaîne IA/datacenter), alerts.yaml (règles).

Onboarding (premier boot)

Checklist détaillée : k8s/apps/finlab/README.md.

  1. Secrets manuels dans ai : ghcr-pull (pull GHCR) + finlab-auth (htpasswd basicAuth).
  2. Ouvrir finance.lab.localclaude/login (abonnement, persisté sur le PVC).

Accès programmatique

  • MCP dans le repo lab : .mcp.json racine pointe tools/finlab/.venv → outils finlab dans les sessions Claude Code du lab (approbation MCP au 1er lancement).
  • Headless : kubectl -n ai exec deploy/finlab -- python -m finlab.cli digest.

Liens

  • Source historique : ex-projet Projets/Finance (rapatrié ici).
  • Approche précédente abandonnée : admin/ia/openalice.md.