Mémoire seconde pour Claude Code & Claude Desktop

Le cerveau persistant
qui ne quitte jamais vos GPUs.

Chaque conversation nourrit un graphe de connaissances vivant — extrait, consolidé et rappelé par vos modèles, sur votre infra. Exportable en un clic. Zéro lock-in, zéro fuite.

10 s
extraction par souvenir importé
0
token vers un LLM externe
100 %
cerveau exportable · spongram-brain/v1
2
éditions · cloud & desktop
10 s
Portabilité prouvée

Export cloud → import desktop : chaque souvenir est ré-extrait et re-daté en ~10 secondes. Format spongram-brain/v1, portable d'une instance à l'autre.

0
Fuite externe

Extraction, embeddings, consolidation : tout tourne sur vos GPUs, sur votre infra — jamais un tiers.

3D
Cortex vivant

Chaque entité est un nœud du Cortex 3D, mis à jour en direct par SSE à chaque nouvelle mémoire.

FR·EN
Intégral

Produit, explorateurs et admin entièrement bilingues — parité de traduction vérifiée clé par clé.

Portabilité

Votre mémoire vous appartient.

Le cerveau entier — épisodes, entités, faits datés — s'exporte et se réimporte au format ouvert spongram-brain/v1. Aucune donnée n'est prisonnière de l'instance qui l'a créée.

Export / import spongram-brain/v1

Un fichier JSON versionné contient tout le cerveau. Réimporté ailleurs, chaque épisode est ré-extrait et re-daté — rien n'est écrasé, rien n'est perdu.

Cloud → desktop en 10 secondes

Exportez depuis l'admin cloud, importez dans l'app desktop (ou l'inverse) : le format est identique des deux côtés, la migration ne demande aucun script.

Sauvegarde desktop intégrée

L'édition Desktop embarque une carte Sauvegarde dédiée dans les réglages — export planifiable, restauration en un clic, aucune base externe requise.

Oubli granulaire, jamais imposé

Entité, fait ou instance entière : vous choisissez ce qui reste. Zéro rétention forcée, zéro export bridé.

Le poste de commande

Le produit tel qu'il tourne, pas une maquette.

Quatre écrans réels de l'admin cloud en production — dark-first, dôme Cortex vivant, explorateurs plein écran.

Écran de connexion admin Spongram, thème sombre
Connexion — dark-first, une seule surface visuelle du desktop au cloud.
Liste des instances Spongram dans l'admin
Flotte d'instances — statut, cerveaux isolés par tenant, bundles en un clic.
Dôme Cortex 3D en direct dans l'admin
Le pont + le dôme — Cortex 3D live, SSE, chaque pensée devient un nœud.
Overlay explorateur plein écran du graphe
Explorateur plein écran — graphe, wiki et code map, mêmes tokens visuels partout.

Spongram en 90 secondes

Création d'un cerveau, installation du plugin Claude Code, première mémoire ajoutée puis rappelée, vue Cortex 3D en direct, export cloud → import desktop cross-instance, explorateurs en plein écran et sauvegarde desktop — capturé sur le produit réel, pas une maquette.

Pourquoi Spongram

100% on-prem, données et inférence

Postgres + Neo4j + Graphiti + LLM auto-hébergés. Aucun token d'épisode ne sort de votre réseau. Compatible Docker Swarm ou compose simple.

Multi-tenant natif

Isolation stricte par `group_id` injecté côté serveur, anti-tampering. Une instance, N cerveaux, zéro fuite croisée.

Branché à Claude Code en une commande

Bundle `.plugin` généré à la volée par tenant : marketplace, SKILL.md, hook SessionStart. `claude plugin install spongram` et la mémoire est là.

Bi-temporel par construction

Chaque fait porte `valid_at` / `invalid_at`. Quand vous corrigez une info, l'ancienne version est superseded — l'historique reste auditable.

Provider d'inférence pluggable

Ollama, LM Studio, vLLM local, OpenAI, Anthropic, Mistral, Groq ou n'importe quel endpoint OpenAI-compat. Switch à chaud depuis l'admin, zéro restart, zéro lock-in. Validation 3-layer (chat / tool_calls / json_schema strict) en un clic.

Carte du code incluse

Extraction AST déterministe (tree-sitter) de vos repos → graphe structurel multi-tenant interrogeable par 5 outils MCP. Mesuré en banc réel : −68% de coût sur les questions d'architecture, ~2× plus rapide que grep/read.

Ce que Spongram fait aujourd'hui

Toutes les capacités listées ici sont vérifiables dans le code livré.

Fondations

Self-host on-prem
Stack docker-compose ou Swarm + Portainer. Aucune dépendance cloud externe.
Inférence pluggable & hot-swap
Page admin Settings + dropdown 9 presets + probe 3-layer (chat / tool_calls / json_schema strict). Changement de provider effectif à la requête suivante, sans redémarrer aucun conteneur.
Plugin Claude Code one-command
Bundle .plugin généré par tenant : marketplace, SKILL.md, hook SessionStart.
Édition Desktop native (macOS)
App Tauri signée Developer ID : sidecar Python gelé (PyInstaller), FalkorDB embarqué, 100 % offline. Mémoire, Carte du code, Cortex 3D, Wiki, Recherche, Pulse, Réglages — sans Docker ni base externe. Windows et Linux en préparation.
Licence Lemon Squeezy intégrée (desktop)
Activation de licence dans l'app, validation locale, licence à vie par poste.

Mémoire & multi-tenant

Multi-tenant strict
group_id injecté côté serveur, rejet anti-tampering. Une instance, N cerveaux, zéro fuite croisée.
Faits bi-temporels
valid_at / invalid_at hérités de Graphiti — supersession automatique sur contradiction.
Mémorisation proactive
Les agents (Claude Code, Claude Desktop) déclenchent add_memory tout seuls dès qu'un fait, une préférence ou une décision est énoncé — pas besoin de leur demander.
Mémoire « globale » cross-projet & cross-client
Un fait tagué project=global (dit dans n'importe quel projet, ou depuis Claude Desktop) est rappelé depuis TOUS vos projets : un seul cerveau partagé entre toutes vos codebases et tous vos clients. Les faits spécifiques restent scopés par projet ; la recherche garde par défaut le projet courant + le global et écarte le bruit des autres projets.
Validation d'autorité à l'ingestion (couche constitutionnelle)
Gate de provenance optionnel au seuil d'add_memory : un épisode doit porter les tags attendus (project=, et client= depuis une allow-list configurée) avant d'entrer dans le cerveau, sinon il est rejeté avant même la file durable. Déterministe, sans dépendance, activable par flag. Répond à la critique classique « stocke n'importe quoi sans valider l'autorité des entités ».
File d'épisodes durable
Chaque add_memory est persisté en Postgres avant d'atteindre Graphiti. Aucune perte au redémarrage du conteneur, retry automatique sur erreur transitoire (écriture via la file, lecture via retry/backoff borné sur le chemin Graphiti). Les épisodes surdimensionnés (>32k tokens) sont auto-découpés avant extraction pour ne jamais être rejetés par le LLM.
Confidence sur les faits
Chaque relation porte un score de confiance qui monte sur corroboration multi-source. Filtrage par seuil exposé via /v1/graph/data.
Oubli granulaire (3 niveaux)
Entité (clic dans le Cortex 3D), fait spécifique (DELETE /forget/fact/{uuid}, GDPR-grade avec audit log), instance entière (DELETE qui purge automatiquement Neo4j et Postgres).

Carte du code

Carte du code (code-map structurelle)
Extraction AST client-side via tree-sitter (~30 langages) : fichiers, classes, fonctions, imports, appels — y compris les appels qualifiés module.attr() inférés par AST. 276 fichiers → 2 143 nœuds / 4 509 arêtes en ~14 s sur le repo Spongram. Graphe portable Neo4j (cloud) et FalkorDB (desktop), isolé par tenant, mis à jour par hook git post-commit.
5 outils MCP code_map_* + onglet 3D dédié
code_map_query / neighbors / god_nodes / shortest_path / stats. Les souvenirs qui citent un fichier ou un symbole remontent automatiquement leurs nœuds de code liés dans search_nodes. Une mini-carte (~110 tokens) est injectée au SessionStart : taille du repo, dossiers, fichiers centraux — l'agent est orienté avant son premier appel d'outil.

Science de fond

Sleep-time compute (Sleeper)
Worker en fond qui synthétise les Summary nodes et les pages Wiki, en concurrence bornée (plusieurs entités en parallèle, cap configurable via SPONGRAM_SLEEPER_CONCURRENCY). Idempotent : ré-exécute uniquement les entités dont l'ensemble d'épisodes a réellement changé (hash sha256).
Dream cycle (consolidation périodique)
Détection des doublons par similarité cosine, décroissance temporelle des edges (courbe d'Ebbinghaus exp(-Δt/τ)), propagation des communautés (LPA), boost sur corroboration multi-source.
Résolution de doublons non-destructive + co-évolution (A-MEM)
Le Dream relie les entités de même nom normalisé par un edge :SAME_AS — sans fusion, zéro perte de données : recall et UI les traitent comme une seule. Les alias co-évoluent (pattern A-MEM, NeurIPS 2025) : quand l'un porte un résumé plus frais, l'autre est re-synthétisé au tick suivant au lieu de diverger.
Score d'importance à l'ingestion
Chaque entité reçoit un score 1-10 calculé sur le nombre de sources et la densité de connexions (formule log-base). Sert de 3e axe de retrieval (cosine + récence + importance) via reciprocal rank fusion.
Recherche multi-hop par PageRank personnalisé
Personalized PageRank style HippoRAG sur le sous-graphe à 2-hops des top-K cosine, fusion par reciprocal rank. Observable (métriques Prometheus rerank / fallback par raison / latence), timeout sous-graphe accordé pour que le rerank tourne vraiment au lieu de retomber silencieusement. Activable par flag, prêt pour A/B mesuré.
Cache chaud sur la recherche
LRU + TTL au-dessus de search_nodes / search_memory_facts, scopé par tenant. Recall répété servi en ~2 ms (≈100× plus rapide, mesuré en local), invalidation immédiate à l'écriture (y compris via la file d'ingestion), hit-rate exposé en Prometheus. Activable par flag (pattern Memory³).
Mémoire procédurale (skills)
Namespace :Skill séparé des faits. MCP tools record_skill / recall_skill — recall scoré name > intent > body, isolation multi-tenant stricte.
Réflexion sur les échecs
MCP tool reflect_on_failure : capture verbale d'un échec (intent + lesson) transcodée en épisode tagué failure_pattern avec importance boostée. Pattern Reflexion (Shinn et al. 2023) sans weight update.

Wiki & Cortex 3D

Wiki block-by-block (style Karpathy)
Page Markdown déterministe par entité : header, résumé Sleeper, sources, liens [[wiki]]. Seul le résumé vient du LLM, le reste est rendu par Python pur — versionné, exportable en ZIP Obsidian.
Communautés et thèmes
LPA en Cypher pur sur le graphe Neo4j (zéro plugin GDS), endpoint /v1/wiki/themes.json. Chaque communauté reçoit un label déterministe (membres clés par importance, sans LLM donc sans hallucination), généré par le Dream après détection, puis roulé en un digest niveau-tenant (abstraction hiérarchique au-dessus des communautés). Le Wiki et l'admin rendent une section « Thèmes » nommée par tenant.
UI Cortex 3D incluse
Explorateur de graphe rendu via 3d-force-graph (zéro pipeline bundler). SSE live updates, filtres par projet, suppression d'entité à la souris, pagination serveur pour explorer les grands graphes par fenêtres.

Hardening prod

Admin web complète
Settings inference, instances, activité par tenant, ledger d'usage 90 jours, téléchargement de bundles, gestion des tokens et marketplace. Authentification SPONGRAM_ADMIN_TOKEN.
Hardening production
/healthz multi-composant (Postgres, Neo4j, Graphiti, 3 workers), /metrics Prometheus, circuit breakers sur LLM et embedder, audit Postgres ↔ Neo4j, migrations idempotency-checked, endpoint /orphans/{gid}/purge pour rattrapage.
Rate limiting par instance
100 requêtes/minute par tenant, 429 au-delà (spec §8.4). Protège l'inférence partagée : un tenant bruyant ne peut pas affamer les autres.
Bench recall-quality reproductible
Suite pytest tests/bench/ qui rejoue un sous-ensemble LongMemEval (knowledge_update) avec LLM-as-judge. Le banc attend la vidange réelle de la file ET le plateau d'extraction avant de mesurer (plus de baseline tronquée). Rapport précision / latence p50-p95 / tokens, baseline figée en JSON, comparaison ON / OFF des features de retrieval.

i18n intégral

Produit entièrement bilingue
Admin (296 clés), desktop (127 clés), landing et surfaces serveur (/v1/graph, /v1/wiki, /v1/codemap via ?lang=) — FR/EN de bout en bout, parité vérifiée clé par clé à chaque lot.

D'autres produits couvrent ce terrain — comparez par vous-même :

La carte du code : moins de tokens, meilleures réponses

Spongram cartographie vos repos par AST (tree-sitter) et expose le graphe à Claude Code via 5 outils MCP. Tout ce qui suit est mesuré en sessions claude -p réelles, sur le repo de Spongram lui-même — protocole et runner livrés avec le produit (docs/BENCH_CODEMAP_2026-06-10.md).

Question de navigation de codeSans Spongram (grep/read)Avec Spongram (code-map)Δ coût
Fichiers / symboles les plus centraux $0.329 — sous-agent + 29 greps, classement estimé $0.105 — 1 appel god_nodes, degré exact du graphe −68 %
Vue d'ensemble d'un package $0.291 $0.178 −39 %
Qui appelle cette fonction ? $0.086 $0.106 — appelants prod + tests en 1 appel +23 %*
Contenu d'un module (classes, méthodes) $0.128 $0.181 +41 %*
Chemin de dépendance A → B $0.107 $0.129 +20 %*
Total (6 questions) $1.05 $0.83 −21 %
Temps de réponse cumulé 293 s 151 s −48 %

* Sur le ponctuel, grep reste moins cher — et c'est exactement ce que la SKILL livrée dit à l'agent : chaque outil à sa place. Banc A/B en sessions claude -p réelles (Sonnet), 1 question par session, outils en lecture seule, repo de 276 fichiers ; total entre −12 % et −21 % selon les runs.

Extraction AST déterministe, zéro LLM

tree-sitter côté client (~30 langages) : 276 fichiers → 2 143 nœuds / 4 509 arêtes en ~14 s. Aucun coût d'indexation, résultat reproductible au commit près.

5 outils MCP dédiés

code_map_query, neighbors, god_nodes, shortest_path, stats — y compris les appels qualifiés module.attr() inférés par AST, que grep rate souvent.

Mini-carte au SessionStart

~110 tokens injectés à l'ouverture : taille du repo, dossiers, fichiers centraux. L'agent est orienté avant son premier appel d'outil.

Mémoire et code reliés

Un souvenir qui cite un fichier ou un symbole remonte automatiquement ses nœuds de code dans search_nodes. La carte reste fraîche via le hook git post-commit.

Dans les deux éditions

Onglet 3D « Carte du code » ; graphe portable Neo4j (cloud) / FalkorDB embarqué (desktop), isolé par tenant.

Choisissez votre inférence

Spongram parle OpenAI-compat. 9 presets, plus un mode Custom pour n'importe quel endpoint. Changement à chaud depuis l'admin, validation 3-layer intégrée.

hosted
SPT Models
Stack hébergée Sponge Theory (défaut)
local
Ollama
Workstation locale, port 11434
local
LM Studio
Desktop Mac/Win, port 1234
local
vLLM
GPU server NVIDIA, port 8000
local
llama.cpp server
Léger, GGUF, port 8080
cloud
OpenAI
Cloud, gpt-4.1 family
cloud
Anthropic Claude
Cloud via LiteLLM adapter
cloud
Mistral
Cloud, mistral-large
cloud
Groq
Cloud, llama-3.3 sub-second

Tous gérés par la même page admin Settings. Bouton « Tester la connexion » → 3-layer probe (chat / tool_calls / json_schema strict) → vous savez en 3 secondes si votre provider est Graphiti-compatible.

L'architecture en une diapositive

Une seule instance FastAPI sert le MCP, l'admin, l'explorateur 3D et la landing. Le reste est du Postgres et du Neo4j, hébergés côte à côte.

Claude Code Claude Desktop MCP client Spongram auth + group_id /mcp /admin/api /v1/graph (cortex) SPT Models LLM (Qwen/Gemma) jina-embeddings-v5 Graphiti bi-temporal extraction Postgres instances episodes Neo4j nodes edges Sleeper background Summary + Wiki
  • Client (Claude Code, Claude Desktop) → MCP HTTP → Spongram (auth Bearer spt_brain_*)
  • Spongram injecte `group_id`, route vers Graphiti, rejette toute tentative de tampering
  • Graphiti écrit dans Neo4j (graphe) et Postgres (épisodes/instances), interroge SPT Models pour LLM + embeddings
  • Sleeper boucle en fond pour générer Summary nodes et pages Wiki déterministes

Deux éditions, un même cerveau

Achat direct via Lemon Squeezy. Même moteur de mémoire, même carte du code — choisissez où ça tourne.

Spongram Cloud

Self-host multi-tenant, pour équipes et infra GPU

  • Stack Docker complète (Postgres + Neo4j + Graphiti) sur VOTRE infra — compose simple ou Swarm
  • Multi-tenant strict : une instance, N cerveaux isolés par group_id anti-tampering
  • Admin web complète : instances, bundles Claude Code par tenant, usage 90 j, Prometheus
  • Provider d'inférence pluggable : 9 presets OpenAI-compat, hot-swap sans restart
Acheter l'édition Cloud →

Licence self-host, source incluse, documentation de déploiement.

Spongram Desktop

App native, 100 % offline, zéro Docker

macOS Windows · en préparationLinux · en préparation
  • Application macOS native signée (Apple Silicon + Intel), sidecar Python gelé embarqué
  • FalkorDB embarqué — aucune base externe, vos données restent dans votre session utilisateur
  • Mémoire, Carte du code, Cortex 3D, Wiki, Recherche, Pulse — 7 onglets natifs
  • Sauvegarde intégrée aux réglages : export/import spongram-brain/v1, restauration en un clic
  • Inférence locale au choix : Ollama, LM Studio… votre machine, vos données, point final
Acheter l'édition Desktop →

Licence à vie par poste, activation Lemon Squeezy intégrée à l'app.

Installation, version courte

À l'achat, vous recevez les images Docker et le template d'environnement. Trois étapes, 10 minutes sur une machine avec Docker.

  1. 01

    Configurer l'environnement

    cp .env.example .env
    # ajustez SPONGRAM_ADMIN_TOKEN + SPONGRAM_INFERENCE_API_KEY
    # pointez SPONGRAM_INFERENCE_BASE_URL sur votre endpoint OpenAI-compat
  2. 02

    Lancer la stack

    docker compose up -d
    # Postgres + Neo4j + Spongram démarrent ;
    # migrations SQL appliquées automatiquement
  3. 03

    Créer un cerveau puis brancher Claude Code

    # Espace admin : http://localhost:8091/admin/
    # créez une instance, copiez la clé spt_brain_ (affichée une seule fois)
    claude marketplace add https://votre-domaine.tld/admin/api/spongram/marketplace.json
    claude plugin install spongram

Pour la prod : Docker Swarm derrière Traefik, déploiement via Portainer. Documentation complète livrée à l'achat.

Questions fréquentes

Qu'est-ce que Spongram exactement ?

Une mémoire long-terme multi-tenant pour agents Claude. Spongram emballe Graphiti, ses bundles client, son admin et son inférence dans un produit cohérent que vous déployez chez vous.

Pourquoi pas un produit open-source du marché ?

Vous le pouvez. Si votre contrainte primaire est multi-tenant strict + 100% on-prem + intégration Claude Code en un clic, Spongram coche les trois cases en V1 avec un livrable de production. Sinon, allez vers le produit qui couvre votre besoin.

Vous dépendez de quel modèle LLM ?

Aucun en particulier — Spongram parle OpenAI-compat. Vous choisissez votre provider depuis l'admin (dropdown 9 presets : SPT Models, Ollama, LM Studio, vLLM local, OpenAI, Anthropic via adapter, Mistral, Groq, ou Custom). Switch à chaud, zéro restart. Une probe 3-layer valide que votre provider supporte tool_calls + json_schema strict avant que vous ne sauvegardiez.

La carte du code, ça change quoi pour mes tokens Claude Code ?

Sur les questions structurelles, beaucoup : « quels sont les fichiers centraux » coûte −68% (un appel code_map_god_nodes remplace un sous-agent + 29 greps, et donne la seule réponse exacte), une vue d'ensemble de package −39%. Sur l'ensemble d'un banc de 6 questions réelles : ≈ −17% de coût et ~2× plus rapide. Sur un simple « où est défini X », grep reste moins cher — et c'est ce que la SKILL dit à l'agent. Chiffres et protocole reproductibles livrés avec le produit.

C'est combien ?

Deux éditions en achat direct via Lemon Squeezy : Spongram Desktop (licence à vie par poste — macOS disponible, Windows/Linux en préparation) et Spongram Cloud (licence self-host, source incluse). Pour un déploiement accompagné, multi-site ou des volumes : contact@sponge-theory.ai.