Le système qui décide
ce que votre IA voit.
La couche d'ingénierie de contexte pour les agents IAUn seul binaire des deux côtés du modèle. LeanCTX perçoit, compresse, se souvient, route et gouverne le cycle de vie complet du contexte IA, des lectures de fichiers aux sorties vérifiées.
Qu'est-ce qu'une couche de contexte cognitive ?
Une Couche de Contexte Cognitive est l'infrastructure entre vos outils IA et votre base de code. Elle contrôle quels fichiers sont lus, comment la sortie est compressée, quelle connaissance persiste au fil des sessions et si les résultats répondent aux normes de qualité avant d'être livrés.
Le plan de construction
La topologie du processus du binaire livré : sept points d'entrée, un temps d'exécution, un ensemble de magasins locaux. Chaque boîte ci-dessous correspond à un module, port ou fichier réel sur le disque.
lean-ctx lean-ctx serve lean-ctx serve --daemon lean-ctx -c "<cmd>" lean-ctx proxy start lean-ctx dashboard lean-ctx watch · gain --live Ce qu'il arrive à une seule lecture
La feuille 2 suit une requête à travers le temps d'exécution, étape par étape, y compris le court-circuit du cache qui rend les lectures répétées presque gratuites. Le chemin shell s'exécute en parallèle avec la même comptabilité.
ctx_read(path, mode) · lean-ctx read - PathJail
core/pathjail.rsCanonicalises the path and rejects escapes outside the workspace root before any I/O happens.
- Session cache
hit → ~13 tokensContent-addressed lookup keyed by path + mtime/hash. Unchanged files collapse to a stub instead of re-sending content.
- AST extraction
26 languagestree-sitter parses the file into a syntax tree: signatures, imports, call edges — Lua, Luau, Kotlin and GDScript are graph-indexed too. Regex fallback for unsupported languages.
- Mode selection
10 modesauto picks the optimal of 10 read modes (full, map, signatures, diff, task, reference, aggressive, entropy, lines:N-M) from task intent and file size; structure_first biases cold medium-file code reads toward map, and a file flagged suspect on a fix task is forced to full.
- Compression
adaptive thresholdsShannon-entropy line filtering, U-curve attention placement (LITM), TF-IDF codebook and query-conditioned Information-Bottleneck fusion — an anti-inflation guard ships the file verbatim whenever framing would cost more tokens than the raw bytes.
- Token accounting
core/tokens.rsExact tiktoken counts (o200k_base; cl100k_base approximation for Claude-family models) on input and output.
- Ledger + stats
savings sign / verify-batchSavings are appended to the local ledger (Ed25519-signable), stats and the gain score update, the result streams back.
lean-ctx -c "cargo test" · IDE bash hook Les deux chemins se terminent par le même grand livre : chaque événement de compression est compté avec une mathématique de tokeniseur exacte et alimente gain, le tableau de bord et le grand livre d'économies signé.
Fiche de données d'ingénierie
Les tables de référence derrière les dessins : chaque surface avec son transport et son cycle de vie, le plan sur disque, les couches d'apprentissage adaptatif, et les limites de sécurité que l'exécution applique.
AModèle de processus
Toutes les surfaces sont le même binaire dans différents rôles. Rien ne nécessite une connexion cloud ; tout est lié localement en premier.
| REF | SURFACE | TRANSPORT | ENDPOINT | LIFECYCLE | COMMANDE |
|---|---|---|---|---|---|
| 01 | MCP server (stdio) | JSON-RPC over stdin/stdout | spawned per editor session | child process of the editor | lean-ctx |
| 02 | MCP server (HTTP) | MCP Streamable HTTP | localhost, configurable --host/--port | foreground or service | lean-ctx serve |
| 03 | IPC daemon | Unix Domain Socket | OS data dir, e.g. ~/Library/Application Support/lean-ctx/daemon.sock | launchd / systemd autostart | lean-ctx serve --daemon |
| 04 | Shell hook | process exec, compressed stdout | wraps IDE bash calls + interactive shells | per command | lean-ctx -c "<cmd>" |
| 05 | API proxy | HTTP (LLM API pass-through) | localhost:4444 (default) | on demand | lean-ctx proxy start |
| 06 | Web dashboard | HTTP + bearer token | localhost:3333 (default, --port) | on demand | lean-ctx dashboard |
| 07 | Terminal UI | TTY (in-place redraw) | live event stream / 1 s refresh | interactive | lean-ctx watch · gain --live |
BDisposition du stockage — répertoires XDG locaux
L'état persistant est constitué de fichiers simples sous les répertoires de base XDG : inspectables, exportables et supprimables. Aucun bases de données cachées au-delà de ces dossiers locaux.
| ARTEFACT | FORM | OBJET |
|---|---|---|
config.toml | TOML | Single config file — integration mode, compression, providers, opt-outs (config dir) |
cache/ | content-addressed | Session file cache; unchanged re-reads collapse to ~13-token stubs (cache dir) |
bm25 index | inverted index | Lexical search over code chunks + provider documents (data dir) |
context_graph/ | property graph | Imports, calls, types across files and repos — powers map mode + deep queries (data dir) |
knowledge | SQLite | Persistent facts, decisions, rooms — recalled across sessions, CCP (data dir) |
savings ledger | append-only JSONL | Every compression event; Ed25519-signable for audit (data dir) |
litm_calibration.json | JSON | Learned context-position hit rates (lost-in-the-middle calibration) (cache dir) |
events.jsonl | event stream | Live feed consumed by watch, dashboard and efficacy reports (state dir) |
CCouches d'apprentissage adaptatif
Sept mécanismes d'apprentissage en ligne ajustent la compression à votre utilisation réelle, localement, à partir de signaux de qualité tels que les rebonds et les échecs d'édition. Plongée profonde : Apprentissage adaptatif →
- L1 Adaptive thresholds Online-learned compression aggressiveness from quality signals (bounces, edit failures, clean runs)
- L2 LITM calibration Empirical placement of critical context at positions the model actually attends to
- L3 Stigmergic scent field Multi-agent coordination via decaying markers: claimed, done, stuck, hot, avoid
- L4 Delta playbook Incremental checkpoint snapshots that survive context compaction
- L5 Query-conditioned IB Information-Bottleneck compression fused with query relevance
- L6 Theta-gamma chunking Wakeup facts grouped in attention-friendly bursts
- L7 Semantic dedup Likelihood-scored redundancy filtering across the session
DFrontières de sécurité
Garanties matérielles appliquées au moment de l'exécution. Modèle de sécurité →
- PathJail Every file access is canonicalised and confined to the workspace root
- IDE config-dir jail Home-level IDE/agent config dirs (~/.claude, ~/.codex, ~/.codebuddy, …) are writable only when allow_ide_config_dirs is opted in; otherwise PathJail blocks them
- Shell allowlist Deny-by-default command policy for agent-issued shell executions
- Local-first All processing on-device; dashboard binds to localhost and requires a bearer token
- Signed evidence Savings ledger entries are Ed25519-signable and batch-verifiable
Un binaire. Trois façons d'entrer.
LeanCTX sélectionne automatiquement le mode d'intégration optimal pour chaque agent : CLI-Redirect pilote la CLI de LeanCTX à travers les règles des éditeurs avec une surcharge MCP nulle, Hybrid combine les lectures mises en cache MCP avec des hooks de compression shell, et Full MCP fournit un accès maximal aux outils pour les éditeurs basés sur protocole uniquement.
lean-ctx -c / read / grep MCP cache + CLI shell/search 81 tools via MCP + lazy tool set Quoi qu'il arrive, LeanCTX choisit le bon mode pour votre éditeur, automatiquement. Voir les plus de 30 outils pris en charge
Toujours actif. Toujours vôtre.
Un petit service d'arrière-plan maintient votre session active, de sorte que les hits de cache sont instantanés et la mémoire est toujours disponible. Il démarre automatiquement lors de la configuration, se redémarre lorsque vous mettez à jour, et s'auto-nettoie, rien à gérer.
Chaque capacité, un binaire.
Tout ce qui se trouve entre votre code et l'IA, géré.
Smart I/O
Lecture déterministe, compression shell, recherche, visibilité complète du contexte + 99% de jetons en moins
Compression des requêtes
Un proxy local optionnel compresse chaque requête vers le modèle — prompt système, historique et résultats d'outils — sécurisé contre le cache de prompt.
Intelligence
Routage d'intention, sélection de mode, pipeline adaptatif
Memory
Sessions, connaissances de projet, graphes, transferts
Governance
Rôles, budgets, SLOs, portes de flux de travail, politiques
Verification
Preuves formelles Lean4, vérification basée sur des affirmations, Niveaux de Qualité 0-4
Integrations
MCP, HTTP, SDK, 29+ IDEs, Cloud, Team Server
Shared Sessions
Partage de sessions par espace de travail et par canal entre agents
Context Bus
Flux d'événements en temps réel pour les changements de contexte via SSE
SDK & API
SDK TypeScript et API REST pour les intégrations externes
Chaque sortie est accompagnée d'une preuve
LeanCTX génère des artefacts de preuve pour chaque session : quels fichiers ont été lus, ce qui a été compressé, quelles vérifications ont réussi et comment les jetons ont été dépensés. Cela rend le travail IA auditable, rejouable et fiable.
LeanCTX (abréviation de Lean Context) est la couche d'ingénierie de contexte open-source pour les agents IA. Un binaire Rust local décide ce que les agents lisent (10 modes de lecture, 60–90% moins de jetons, re-lectures mises en cache de ~13 jetons), se souvient de ce qu'ils apprennent (sessions persistantes, graphe de connaissances), protège ce qu'ils touchent (PathJail, rédaction de secrets, budgets, détection d'injection), prouve ce qu'ils sauvegardent (grand livre signé Ed25519, référence reproductible) et rejoue ce qu'ils ont vu (instantanés de contexte signés et ancrés dans git que vous pouvez restaurer ou partager) ; un proxy local optionnel compresse ce qu'ils envoient — le prompt système, l'historique et la sortie des outils de chaque requête, sécurisé par rapport au cache du prompt sur le fil. La compression — côté lecture et côté fil — est l'un des cinq sous-systèmes, et chaque original reste localement récupérable. Fonctionne avec plus de 30 outils de codage IA via MCP et des hooks shell ; s'intègre dans tout agent via une API /v1 versionnée avec des SDK Python, TypeScript et Rust. L'utilisation locale est gratuite pour toujours, garantie par CI.
Lire l'histoire complète