# 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. **Où** : - Source : `tools/finlab/` (code finlab + Dockerfile + persona `workspace/CLAUDE.md`). - Image : CI `.github/workflows/build-finlab.yml` → `ghcr.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.local` → `claude` → `/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`.