Le Dockerfile amont v0.60.0-beta.1 copie src/workspaces/templates dans l'image
runtime mais oublie src/workspaces/cli, alors que cliBinPath()
(/app/src/workspaces/cli/bin) est requis au runtime pour poser les shims
alice/alice-uta/traderhub sur le PATH des agents. Sans eux, l'agent ne peut pas
joindre le moteur de trading ("alice-uta introuvable sur mon PATH").
- build-openalice.yml : patch du Dockerfile cloné (COPY src/workspaces/cli) + guard
- tag image suffixé via IMAGE_PATCH=p1 → nouveau tag immuable, ArgoCD redéploie
- deployment.yaml → :v0.60.0-beta.1-p1
- doc admin/ia/openalice.md (correctifs locaux)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
3.3 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.
Où : 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 viahttp://openalice:3003in-cluster (outilask_alice). - Cerveau : pointé sur LiteLLM
storage-01:4000→ Qwen3-8B (OpenAI-compatible, gratuit) ; Claude ajoutable en credential pour basculer (hybride). OpenAlice supporte aussi l'overrideANTHROPIC_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: 1000pour 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.
Correctifs locaux (patch image)
- Shims CLI manquants (
-p1) : le Dockerfile amontv0.60.0-beta.1copiesrc/workspaces/templatesdans l'image runtime mais oubliesrc/workspaces/cli, alors quecliBinPath()=/app/src/workspaces/cli/binest requis au runtime pour poser les shimsalice/alice-uta(trading) /traderhubsur le PATH des agents. Sans eux, l'agent (Claude/codex) répond « alice-uta introuvable sur mon PATH » et ne peut pas joindre le moteur de trading / le broker. Corrigé dans la CI (build-openalice.yml, étape « Patch Dockerfile ») qui ajoute la copie manquante ; tag image suffixé-p1(IMAGE_PATCH). À signaler en amont / retirer si corrigé.
Onboarding (premier boot)
Voir checklist détaillée dans k8s/apps/openalice/README.md :
- Secret
ghcr-pulldansai(si absent). - 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(outilask_alice),k8s/apps/stt/.