- Add services/anythingllm-devtools HTTP API (repos + AnythingLLM + RAG) - Rename gitea-issues to git-issues across smart_ide agents and docs - Add projects/builazoo, builazoo README, cron fragment, ssh-config.example - Add ensure-ia-dev-project-link.sh; wrapper delegates smart_ide id - Bump ia_dev submodule (git-issues rename, project symlinks) - Align 4nkaiignore templates; update API index and project docs
37 lines
2.1 KiB
Markdown
37 lines
2.1 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. **Service `anythingllm-devtools`** (ou extension héritée) : après `/repos-clone-sync`, `/repos-load-sync`, ou sur **`/workspace-sync <nom>`**, si la synchro initiale n’est pas désactivée (`ANYTHINGLLM_INITIAL_SYNC_AFTER_CLONE` côté service, ou `anythingllm.initialSyncAfterClone` côté extension) :
|
||
- assure **`.4nkaiignore`** depuis le template 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
|
||
|
||
- **`services/anythingllm-devtools/templates/4nkaiignore.default`** (référence)
|
||
- **`services/repos-devtools-server/templates/4nkaiignore.default`** (même contenu ; à maintenir en parité)
|
||
- **`extensions/anythingllm-workspaces/templates/4nkaiignore.default`** (copie héritée)
|
||
|
||
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** et de **anythingllm-devtools** ; repackaging / réinstallation de l’extension uniquement si vous conservez encore la surface IDE.
|