* 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> * fix(finlab): ttyd absent des dépôts bookworm → binaire statique GitHub Le build amont échouait (`E: Package 'ttyd' has no installation candidate`) : ttyd n'est pas packagé dans Debian bookworm. On récupère le binaire statique (musl, pin TTYD_VERSION=1.7.7) depuis les releases GitHub. Build complet validé en local (podman) : ttyd 1.7.7, claude-code 2.1.195, import finlab + seed OK. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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.
Où :
- Source :
tools/finlab/(code finlab + Dockerfile + personaworkspace/CLAUDE.md). - Image : CI
.github/workflows/build-finlab.yml→ghcr.io/alkatrazz24/funk-finlab. - Déploiement : ns
ai,finance.lab.local, manifestsk8s/apps/finlab/, app ArgoCDk8s/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.
- Secrets manuels dans
ai:ghcr-pull(pull GHCR) +finlab-auth(htpasswd basicAuth). - Ouvrir
finance.lab.local→claude→/login(abonnement, persisté sur le PVC).
Accès programmatique
- MCP dans le repo lab :
.mcp.jsonracine pointetools/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.