**Motivations:** - Seed AnythingLLM workspace from cloned repo using gitignore-style filters **Root causes:** - N/A **Correctifs:** - N/A **Evolutions:** - Template 4nkaiignore.default; server copies after clone; extension uploads via POST /api/v1/document/upload - New commands /workspace-sync; settings initialSync*; dependency ignore **Pages affectées:** - extensions/anythingllm-workspaces/* - services/repos-devtools-server/* - docs/features/initial-rag-sync-4nkaiignore.md
36 lines
1.9 KiB
Markdown
36 lines
1.9 KiB
Markdown
# Synchronisation RAG initiale et `.4nkaiignore`
|
||
|
||
**Author:** 4NK
|
||
|
||
## Objectif
|
||
|
||
À la **création du clone** (ou chargement sync), disposer d’un **workspace AnythingLLM** aligné sur le dépôt et importer une **première vague de fichiers** utiles au RAG, en excluant le bruit via un fichier **`.4nkaiignore`** (syntaxe **identique à `.gitignore`**).
|
||
|
||
## Comportement
|
||
|
||
1. **Serveur `repos-devtools-server`** : après `git clone` réussi, copie **`templates/4nkaiignore.default`** vers **`<repo>/.4nkaiignore`** si absent.
|
||
2. **Extension 0.3.0** : après `/repos-clone-sync`, `/repos-load-sync`, ou sur **`/workspace-sync <nom>`**, si l’option **`anythingllm.initialSyncAfterClone`** n’est pas à `false` :
|
||
- assure **`.4nkaiignore`** depuis le template bundlé si toujours absent ;
|
||
- parcourt le dépôt, applique règles de base + `.4nkaiignore` ;
|
||
- envoie chaque fichier accepté via **`POST /api/v1/document/upload`** avec **`addToWorkspaces`** = slug du workspace.
|
||
|
||
## Fichier type
|
||
|
||
- **`extensions/anythingllm-workspaces/templates/4nkaiignore.default`**
|
||
- **`services/repos-devtools-server/templates/4nkaiignore.default`** (même contenu ; à maintenir en parité).
|
||
|
||
L’utilisateur renomme / copie en **`.4nkaiignore`** à la racine du projet et adapte les règles.
|
||
|
||
## Prérequis AnythingLLM
|
||
|
||
Le **collecteur / processeur de documents** doit être joignable par l’instance AnythingLLM ; sinon l’upload API échoue avec le message renvoyé par le serveur.
|
||
|
||
## Modalités d’analyse
|
||
|
||
- Compter les champs **`uploaded`**, **`skipped`**, **`errors`**, **`capped`**, **`dotfileCreated`** dans la section **Initial RAG sync** du panneau Dev tools.
|
||
- Vérifier les logs AnythingLLM / collector en cas d’échec systématique des uploads.
|
||
|
||
## Modalités de déploiement
|
||
|
||
- Rebuild et redémarrage de **repos-devtools-server** ; repackaging / réinstallation de l’extension **0.3.0+**.
|