mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 23:34:42 +02:00
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>
58 lines
3.1 KiB
Markdown
58 lines
3.1 KiB
Markdown
# 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`.
|