Statut du projet : bêta privée. Cette documentation est générée à
partir du code réel du dépôt
haki (routes FastAPI, schémas Pydantic,
SDK) — chaque exemple de requête/réponse provient d’un fichier source
cité, jamais d’une supposition.Haki, en une phrase
Imaginez un collègue brillant, atteint d’amnésie : chaque nouvelle conversation repart de zéro. C’est ce que vit un agent IA aujourd’hui. Haki est le cahier de notes infaillible de cet agent : il note ce qui compte, retrouve la bonne information au bon moment, barre ce qui n’est plus vrai sans jamais l’effacer, et peut montrer la preuve exacte derrière chaque souvenir utilisé. Ce cahier appartient à votre agent, quel que soit son modèle (OpenAI, Anthropic, un modèle local…) et quel que soit son corps (code Python, workflow n8n, Cursor…). Vous gardez votre stack ; Haki ajoute la mémoire.Trois idées
Des faits, pas un historique
Haki n’archive pas vos conversations : il en extrait des faits
structurés (préférences, contraintes, décisions), reliés à leur
preuve — l’événement source exact qui les a produits.
La vérité d'aujourd'hui
Chaque fait a une date de validité et un statut. Quand l’utilisateur
change d’avis, l’ancien fait est remplacé (superseded) — jamais
supprimé en silence, jamais servi comme actuel.
La preuve à chaque réponse
Chaque paquet de mémoire injecté est accompagné de ses sources, de ses
dates et d’une trace expliquant ce qui a été retenu, écarté ou
bloqué — et pourquoi.
Comment ça marche
- Capture — votre application envoie un événement (message, action, résultat d’outil) ; Haki l’enregistre comme preuve immuable et répond en millisecondes, sans doublon en cas de retry.
- Consolidation — en arrière-plan, Haki extrait ce qui mérite de devenir un fait durable, déduplique, détecte les changements d’avis (supersession) et les contradictions (conflit).
- Context — avant chaque réponse, votre agent demande la mémoire ; Haki ne renvoie que les faits actifs, valides, dans le bon périmètre, triés par pertinence, sous un budget de tokens strict.
- Inspect — à tout moment, la trace montre chaque mémoire retenue, écartée ou bloquée, avec la raison exacte.
- Forget — correction ou effacement : l’oubli se propage à tout ce qui en dérive, avec un reçu horodaté.
Quatre façons d’utiliser Haki
Agent codé — SDK + CLI
Trois lignes autour de votre appel LLM, en Python ou TypeScript.
client.context(...) avant l’appel, capture_turn(...) après.Cursor — serveur MCP + Hooks
Installation en un clic (
haki mcp) ou capture garantie via Cursor
Hooks (haki hooks). Quatre outils, une Project Rule.Gateway compatible OpenAI
Changez
base_url, gardez votre code : la mémoire s’injecte et se
capture automatiquement à chaque appel chat.completions.Console web
Landing + app branchée sur l’API réelle : mémoires, timeline, traces,
conflits, clés. Non couverte par ce site — voir
console/README
dans le dépôt.Performance (mesurée, pas promesse)
Benchmark reproductible :uv run python scripts/benchmark_context.py
(100 requêtes par taille, embeddings locaux, machine de dev Windows).
Remesuré le 10 août 2026 — le tableau ci-dessous remplace une mesure
antérieure dont les chiffres avaient dérivé (voir l’historique git du
script pour les anciennes valeurs si besoin).
Ce chiffre de 249 ms (p95, 10 000 faits) est la seule mesure de performance
citée dans cette documentation en dehors de son contexte exact — ne le
généralisez pas à un autre budget de tokens, une autre volumétrie ou une
autre machine. Il tient parce que les embeddings sont calculés
localement (ONNX CPU, modèle multilingue 384 dimensions) : aucun appel
réseau dans le chemin critique de
/v1/context.
Par où commencer
Démarrage en 2 minutes
Docker Compose, migrations, première clé API, premier
capture → context.
Référence API
Tous les endpoints
/v1/*, schémas de requête/réponse exacts, codes
d’erreur typés.
