Funk-lab/admin/ia/openalice.md
ALI YESILKAYA c2f7255da0
feat(openalice): déploiement in-cluster de l'agent IA financier (back-end finance d'Asa) (#61)
Déploie TraderAlice/OpenAlice (AGPL-3.0) dans le namespace ai comme back-end de
connaissances financières pour Asa, consommé via le connecteur MCP Ask.

- CI build-openalice.yml : rebuild depuis le Dockerfile amont (ref épinglée v0.60.0-beta.1)
  → ghcr.io/alkatrazz24/funk-openalice, bump manifest sur main
- k8s/apps/openalice : Deployment (restricted + fsGroup, Recreate), PVC 5Gi NFS /data,
  Service web:47331 + mcpask:3003, IngressRoute openalice.lab.local
- ArgoCD app + doc admin/ia/openalice.md (RAG) + MAJ CLAUDE.md
- Cerveau hybride : LiteLLM/Qwen3-8B local (gratuit) + Claude basculable ; données
  TraderHub (sans clé) + FMP gratuit. Lecture/recherche seule — aucun broker, zéro trading.

Onboarding premier boot (Web UI) imposé : credentials scellés dans /data par design.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 12:39:35 +02:00

2.6 KiB

OpenAlice — agent IA financier

Quoi : TraderAlice/OpenAlice (AGPL-3.0), agent autonome de recherche financière multi-actifs (actions, crypto, commodités, forex, macro). Déployé in-cluster comme back-end financier d'Asa.

: namespace ai, openalice.lab.local, manifests k8s/apps/openalice/, app ArgoCD k8s/apps-of-apps/apps/openalice.yaml. Image rebuild par CI depuis le Dockerfile amont (.github/workflows/build-openalice.yml, ref épinglée OPENALICE_REF) → ghcr.io/alkatrazz24/funk-openalice.

Mode d'usage : lecture/recherche uniquement — aucun broker (UTA) connecté, donc pas de trading réel. Données via TraderHub (hébergé, sans clé) + clé FMP gratuite optionnelle pour les cours live (les K-lines/quotes ne sont pas sur le hub).

Architecture

  • Process Alice : runtime agent + Web UI (:47331) + serveur MCP interne + connecteur MCP Ask (:3003).
  • MCP Ask : entrée pour agents externes — askWithSession(message, sessionId) → Alice répond (elle reste autonome, pas un simple fournisseur d'outils). C'est ce qu'Asa consomme via http://openalice:3003 in-cluster (outil ask_alice).
  • Cerveau : pointé sur LiteLLM storage-01:4000 → Qwen3-8B (OpenAI-compatible, gratuit) ; Claude ajoutable en credential pour basculer (hybride). OpenAlice supporte aussi l'override ANTHROPIC_BASE_URL.

Particularités

  • Credentials scellés : OpenAlice chiffre ses credentials au repos dans /data (sealing.js). → impossible de seeder une clé en clair via ConfigMap. La config IA + clés vendor + activation MCP Ask se font au premier boot via la Web UI (persisté/scellé dans le PVC).
  • Token admin (256 bits) généré au 1er boot : kubectl -n ai logs deploy/openalice | grep -i token.
  • PodSecurity restricted (ns ai) : uid 1000 + fsGroup: 1000 pour que le NFS soit inscriptible. Sondes TCP (la Web UI 401 derrière le gate admin).
  • Ressources : req 512Mi / lim 1.5Gi (nœuds 8 Go, OOM actif) — runtime Node + CLIs agent embarqués (claude-code, codex) ; surveiller la conso réelle après déploiement.

Onboarding (premier boot)

Voir checklist détaillée dans k8s/apps/openalice/README.md :

  1. Secret ghcr-pull dans ai (si absent).
  2. Web UI → AI Provider (LiteLLM OpenAI-compat + Claude option), Market Data (FMP), Connectors → activer MCP Ask :3003.

Liens

  • Présentation/MCP Ask : docs/ du dépôt amont (mcp-ask-connector.md).
  • Intégration Asa : admin/ia/stt.md (outil ask_alice), k8s/apps/stt/.