- New service: tools bridge (port 37147) registry + Carbonyl/PageIndex/Chandra POST jobs - config/services.local.env.example and gitignore for services.local.env - .env.example for repos-devtools, regex-search, ia-dev-gateway, orchestrator, claw proxy, langextract - Orchestrator intents: tools.registry, tools.carbonyl.plan, tools.pageindex.run, tools.chandra.ocr - Docs: API + repo service fiche, architecture index; do not commit dist/
5.0 KiB
Services sur l’hôte (socle technique)
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.
Configuration locale : config/services.local.env.example.