- New smart-ide-global-api (127.0.0.1:37149): internal bearer, upstream proxy, X-OIDC forward - SSO gateway calls global API with GLOBAL_API_INTERNAL_TOKEN; logs to .logs/sso-gateway/ - Aggregated config example, docs, VERSION 0.0.2, claw proxy local URL hint
5.7 KiB
Services sur l’hôte (socle technique)
Vue fonctionnelle détaillée (périmètre de chaque service, usage IDE vs backends applicatifs des projets) : services-functional-scope.md.
Ce document décrit les services logiciels typiques sur l’hôte (serveur distant ou machine IA unique — voir deployment-target.md et platform-target.md), en complément de system-architecture.md. Ollama et AnythingLLM peuvent cohabiter sur le même hôte que les micro-services ; l’orchestrateur HTTP (features/orchestrator-api.md) et ia-dev-gateway (features/ia-dev-service.md) sont spécifiés pour unifier les appels depuis Lapce ou le front.
Ollama
- Rôle : inférence LLM locale.
- Accès : URL/port configurés sur l’hôte (souvent
127.0.0.1:11434côté serveur) ; depuis le client, tunnel SSH si besoin.
AnythingLLM
- Rôle : RAG, mémoire documentaire, un workspace par projet.
- Déploiement : souvent Docker sur le même hôte que les dépôts ; chemins de persistance sur l’hôte.
- Détail : anythingllm-workspaces.md.
ONLYOFFICE
- Rôle : bureautique métier (documents, feuilles, présentations), édition riche.
- Utilisé dans la couche doc-services de l’architecture ; ne pas confondre avec Local Office.
Local Office (services/local-office/)
- Rôle : API REST pour applications tierces ou agents : upload de fichiers Office, métadonnées, téléchargement, commandes programmatiques sur les docx (
replaceText,insertParagraph). Stockage fichiers + SQLite ; isolation par cléX-API-Key; rate limiting. - Emplacement dans le monorepo :
../services/local-office/. - Documentation : features/local-office.md et repo/service-local-office.md.
- Sécurité : définir
API_KEYSvia variables d’environnement ou fichiers hors dépôt (voir.env.exampledansservices/local-office/). En production, préférer bind127.0.0.1derrière un reverse proxy TLS plutôt que0.0.0.0exposé. - Périmètre fonctionnel : édition par commandes docx ; xlsx/pptx peuvent être stockés mais les commandes d’édition peuvent renvoyer 400 selon l’implémentation actuelle.
docv (hors monorepo, contrat sous services/docv/)
- Rôle : gestion documentaire métier pour les projets Enso ; processus HTTP dans le dépôt docv, pas dans smart_ide.
- Données : convention
${PROJECTS_CLONE_ROOT}/<projet>/data/(souvent../projects/<projet>/datarelatif à smart_ide) ; variableDOCV_PROJECTS_ROOTcôté docv. - Documentation : features/docv-service-integration.md, repo/docv-services-directory.md, API/docv.md.
Micro-services HTTP sous services/
Services d’appoint sur 127.0.0.1 (souvent auth Bearer) : Git devtools, anythingllm-devtools (AnythingLLM + RAG initial), LangExtract, recherche regex, proxy claw, ia-dev-gateway (agents / runs stub), smart-ide-orchestrator (routage intentions) — voir tableau dans system-architecture.md, la référence API dans API/README.md, et l’index d’exploitation repo/README.md (fichiers repo/service-*.md). Carbonyl (services/carbonyl/) n’est pas un listener HTTP : navigateur terminal pour prévisualiser des URLs (ex. déploiement test) — repo/service-carbonyl.md.
PageIndex (services/pageindex/) n’est pas un listener HTTP : outil Python (sous-module VectifyAI/PageIndex) pour produire un index arborescent sémantique sur PDF / Markdown, en complément du RAG AnythingLLM — repo/service-pageindex.md.
Chandra OCR (services/chandra/) n’est pas un listener HTTP : CLI (sous-module datalab-to/chandra) pour OCR PDF / images vers Markdown, HTML, JSON avec layout — repo/service-chandra.md. L’IDE peut piloter Chandra via services/smart-ide-tools-bridge/ — repo/service-smart-ide-tools-bridge.md.
smart-ide-tools-bridge (services/smart-ide-tools-bridge/) : API locale (registre + Carbonyl / PageIndex / Chandra) — API/smart-ide-tools-bridge-api.md.
smart-ide-global-api (services/smart-ide-global-api/) : agrégateur HTTP interne (Bearer partagé avec le SSO), proxy vers les micro-services avec jetons techniques — repo/service-smart-ide-global-api.md, API/global-api.md.
smart-ide-sso-gateway (services/smart-ide-sso-gateway/) : validation JWT docv / Enso puis proxy via l’API globale — features/sso-gateway-service.md, API/sso-gateway-api.md.
Configuration locale : config/services.local.env.example.