CBKS – Un système de connaissances cognitif, local-first
Un système maison avec une vraie profondeur technique : event sourcing, cache de graphe, LLM locaux et un modèle d’agents inspiré des aires cérébrales – entièrement hors cloud.

Les dépôts de connaissances classiques – dossiers, wikis, systèmes vectoriels statiques – figent le savoir. Ils ne montrent ni les contradictions dans le temps, ni l’évolution de sa propre pensée, ni les pondérations émotionnelles. Alors j’ai construit CBKS moi-même : conception, architecture et implémentation en solo – backend (FastAPI), CLI (Typer), frontend 3D (React + Three.js) et l’ensemble de la stack de modèles locaux.
Stack technique : FastAPI · SQLite · NetworkX · FAISS · Ollama · Qwen3 · bge-m3 · RX 6900 XT
Event sourcing plutôt qu’un instantané
Au cœur du système : un event sourcing allégé. SQLite comme unique source de vérité, NetworkX comme cache de graphe volatil, FAISS (IndexFlatIP) pour les embeddings (bge-m3). Des LLM locaux via Ollama (Qwen3:8b, VLM qwen2.5vl:7b) pilotent des agents spécialisés – cortex préfrontal, lobe temporal, système limbique, glande pinéale, résolveur d’entités. Le frontmatter des notes et documents est mappé sur des aires cérébrales ; un partage hémisphérique sépare la logique (gauche, analytique) et le design (droite, créatif). Un taux de décroissance modélise une mémoire à long terme – le savoir s’estompe dans le classement sans jamais être supprimé. Du context engineering plutôt qu’une recherche vectorielle naïve, le tout local-first sur une RX 6900 XT.
Ce qui tourne réellement
Réellement implémenté (Living Spec v1.2) : 12 commandes CLI, une API REST, un graphe 3D avec LOD, une analyse de sentiment et de contradiction, une déduplication d’entités, un TTS allemand et un import de vault – entièrement fonctionnel sans aucun cloud. Le choix des modèles repose sur un benchmark maison plutôt que sur le feeling.
Ce que j’en retiens
Un journal d’événements en append-only rend le système réparable : un « rebuild » rejoue tout depuis le début, idéal lors d’un changement de modèle ou de schéma. FAISS IndexFlatIP surpasse IVF jusqu’à environ 100k vecteurs – pas d’entraînement nécessaire, suppression propre. Et : la spec et le code doivent rester synchronisés comme un document vivant, sinon les deux se dégradent.