smart_ide/docs/services.md
4NK 3f1894e21f Remove AnythingLLM VS Code extension; add Carbonyl service (upstream submodule)
- Delete extensions/anythingllm-workspaces; document migration to anythingllm-devtools
- Add services/carbonyl: shallow submodule fathyb/carbonyl, run-carbonyl.sh (Docker/native)
- Add scripts/open-carbonyl-preview-test.sh and smart_ide.preview_urls.test in example conf
- Docs: service-carbonyl, carbonyl-terminal-browser, architecture index updates
2026-04-03 22:13:34 +02:00

47 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Services sur lhô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](./deployment-target.md) et [platform-target.md](./platform-target.md)), en complément de [system-architecture.md](./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](./features/orchestrator-api.md)) et **`ia-dev-gateway`** ([features/ia-dev-service.md](./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 lhôte (souvent `127.0.0.1:11434` cô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 lhôte.
- Détail : [anythingllm-workspaces.md](./anythingllm-workspaces.md).
## ONLYOFFICE
- **Rôle** : bureautique métier (documents, feuilles, présentations), édition riche.
- Utilisé dans la couche **doc-services** de larchitecture ; 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/`](../services/local-office/).
- **Documentation** : [features/local-office.md](./features/local-office.md) et [repo/service-local-office.md](./repo/service-local-office.md).
- **Sécurité** : définir `API_KEYS` via variables denvironnement ou fichiers hors dépôt (voir `.env.example` dans `services/local-office/`). En production, préférer **bind `127.0.0.1`** derrière un reverse proxy TLS plutôt que `0.0.0.0` exposé.
- **Périmètre fonctionnel** : édition par commandes **docx** ; xlsx/pptx peuvent être stockés mais les commandes dédition peuvent renvoyer **400** selon limplé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>/data`** relatif à smart_ide) ; variable **`DOCV_PROJECTS_ROOT`** côté docv.
- **Documentation** : [features/docv-service-integration.md](./features/docv-service-integration.md), [repo/docv-services-directory.md](./repo/docv-services-directory.md), [API/docv.md](./API/docv.md).
## Micro-services HTTP sous `services/`
Services dappoint 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](./system-architecture.md), la **référence API** dans [`API/README.md`](./API/README.md), et lindex dexploitation [repo/README.md](./repo/README.md) (fichiers `repo/service-*.md`). **Carbonyl** (`services/carbonyl/`) nest pas un listener HTTP : navigateur terminal pour prévisualiser des URLs (ex. déploiement test) — [repo/service-carbonyl.md](./repo/service-carbonyl.md).
## Documentation liée
- [platform-target.md](./platform-target.md)
- [features/local-office.md](./features/local-office.md)
- [system-architecture.md](./system-architecture.md)
- [anythingllm-workspaces.md](./anythingllm-workspaces.md)
- [API/README.md](./API/README.md)
- [features/docv-service-integration.md](./features/docv-service-integration.md)