LITEOPSDOCS
Agents & SystèmesSailor

Modèle de données

Schéma complet de la base SQLite : documents, chunks, embeddings, sessions.

REF-SPEC/AG002-DB v1.0 — 2026-04-09

1. Vue d'ensemble

Sailor utilise SQLite (via better-sqlite3) en mode WAL comme base de données. Le schéma couvre les workspaces, les documents indexés, les chunks avec embeddings vectoriels, les sessions de chat et le contexte projet.

2. Tables principales

workspaces

Isolation multi-tenant par slug.

ColonneTypeDescription
idTEXT PKIdentifiant unique
slugTEXT UNIQUEURL-friendly identifier
nameTEXTNom du workspace
descriptionTEXTDescription
industryTEXTSecteur (assurance, banque, mutuelle, etc.)
created_atTEXTDate de création
updated_atTEXTDernière mise à jour

documents

Fichiers uploadés avec métadonnées.

ColonneTypeDescription
idTEXT PKIdentifiant unique
workspace_idTEXT FKWorkspace rattaché
filenameTEXTNom du fichier stocké
original_nameTEXTNom original du fichier
typeTEXTFormat (pdf, docx, xlsx, html, txt, md)
titleTEXTTitre du document
categorieTEXTCatégorie (procédure, contrat, spec, etc.)
auteurTEXTAuteur
date_creationTEXTDate de création du document
mots_clesTEXTMots-clés séparés par virgules
content_textTEXTContenu texte brut (pour chunking)
content_htmlTEXTContenu HTML (pour prévisualisation)
file_sizeINTEGERTaille en octets

chunks

Segments de documents avec embeddings vectoriels.

ColonneTypeDescription
idTEXT PKIdentifiant unique
document_idTEXT FKDocument source
workspace_idTEXT FKWorkspace (pour requêtes directes)
chunk_indexINTEGERPosition dans le document
contentTEXTContenu du chunk
tokens_approxINTEGEREstimation du nombre de tokens
embeddingBLOBVecteur Float32Array
embed_modelTEXTModèle utilisé (mistral, voyage, nomic)
embed_dimINTEGERDimensions du vecteur (768 ou 1024)

chunk_terms

Index BM25 pré-calculé.

ColonneTypeDescription
chunk_idTEXT FKChunk rattaché
termTEXTTerme normalisé
tfREALFréquence du terme dans le chunk

chat_sessions

Conversations persistantes.

ColonneTypeDescription
idTEXT PKIdentifiant unique
workspace_idTEXT FKWorkspace rattaché
titleTEXTTitre auto-généré
messagesTEXT (JSON)Tableau de messages user/assistant
created_atTEXTDate de création
updated_atTEXTDernière mise à jour

workspace_context

Métadonnées projet.

ColonneTypeDescription
idTEXT PKIdentifiant unique
workspace_idTEXT FK UNIQUEWorkspace rattaché
project_nameTEXTNom du projet
descriptionTEXTDescription du projet
objectivesTEXTObjectifs documentaires

3. Index

IndexTableColonnes
idx_chunks_workspacechunksworkspace_id
idx_chunks_documentchunksdocument_id
idx_chunk_terms_chunkchunk_termschunk_id
idx_chunk_terms_termchunk_termsterm
idx_documents_workspacedocumentsworkspace_id
idx_sessions_workspacechat_sessionsworkspace_id

4. Relations

workspaces ──< documents ──< chunks ──< chunk_terms
workspaces ──< chat_sessions
workspaces ──< workspace_context

On this page