À propos du projet

sapphire-framework est une crate Rust qui fournit la base d'un espace de travail local-first basé sur des fichiers, conçu pour la collaboration entre humains et agents. Il indexe les fichiers texte brut (Markdown, JSON, JSONL, etc.) et propose une recherche plein texte via Tantivy, une recherche vectorielle optionnelle par le biais de FastEmbed ou de fournisseurs externes, ainsi qu'une API simple pour lire, écrire et lister les fichiers. L'espace de travail est détecté en remontant l'arborescence des répertoires pour trouver un répertoire marqueur, et chaque espace de travail se voit attribuer un UUID stable dérivé de son chemin. La configuration peut être fournie via un fichier config.toml ou des variables d'environnement, ce qui permet de choisir notamment le backend de stockage (redb ou aucun), le fournisseur d'embeddings, le modèle et les clés API. La bibliothèque prend en charge la synchronisation incrémentielle, la mise à jour automatique de l'index lors des modifications de fichiers et des backends distants optionnels pour l'édition simultanée, tandis que git est utilisé manuellement pour la gestion de versions. Elle est sous licence MIT ou Apache‑2.0.