API Mémoire Kronvex
Trois endpoints. Contexte persistant. En production en moins de 5 minutes.
https://api.kronvex.io · All endpoints require X-API-Key header · EU hostedGuide rapide
Obtenez votre clé API
Créez un compte ou demandez une clé de démo.
Créez un agent
Un namespace mémoire isolé par utilisateur, bot ou session.
Stocker → Rappeler → Injecter
Stockez après les interactions, rappelez sémantiquement avant de répondre.
# pip install kronvex from kronvex import Kronvex client = Kronvex("kv-your-key") agent = client.agents("my-agent") # Store a memory agent.remember("User is based in Paris, prefers concise answers") # Recall semantically results = agent.recall(query="user location", top_k=5) # Inject LLM-ready context block context = agent.inject_context("What does the user prefer?") print(context.context_block) # prepend to your system prompt
import requests # Auth header H = {"X-API-Key": "kv-your-key"} BASE = "https://api.kronvex.io" # 1. Create agent agent = requests.post(f"{BASE}/api/v1/agents", headers=H, json={"name": "sales-bot"}).json() agent_id = agent["id"] # 2. Store a memory requests.post(f"{BASE}/api/v1/agents/{agent_id}/remember", headers=H, json={"content": "User prefers async comms", "memory_type": "episodic"}) # 3. Recall semantically r = requests.post(f"{BASE}/api/v1/agents/{agent_id}/recall", headers=H, json={"query": "communication style", "top_k": 5}) print(r.json())
const H = {'X-API-Key':'kv-your-key','Content-Type':'application/json'}; const BASE = 'https://api.kronvex.io'; // 1. Create agent const agent = await fetch(`${BASE}/api/v1/agents`,{ method:'POST',headers:H, body:JSON.stringify({name:'sales-bot'}) }).then(r=>r.json()); // 2. Store memory await fetch(`${BASE}/api/v1/agents/${agent.id}/remember`,{ method:'POST',headers:H, body:JSON.stringify({ content:'User prefers async comms', memory_type:'episodic' }) }); // 3. Recall const r = await fetch(`${BASE}/api/v1/agents/${agent.id}/recall`,{ method:'POST',headers:H, body:JSON.stringify({query:'comms',top_k:5}) }); console.log(await r.json());
# 1. Create agent curl -X POST https://api.kronvex.io/api/v1/agents \ -H "X-API-Key: kv-your-key" -H "Content-Type: application/json" \ -d '{"name":"sales-bot"}' # 2. Store a memory (use agent UUID from step 1) curl -X POST https://api.kronvex.io/api/v1/agents/{id}/remember \ -H "X-API-Key: kv-your-key" -H "Content-Type: application/json" \ -d '{"content":"Prefers async comms","memory_type":"episodic"}' # 3. Recall curl -X POST https://api.kronvex.io/api/v1/agents/{id}/recall \ -H "X-API-Key: kv-your-key" -H "Content-Type: application/json" \ -d '{"query":"comms","top_k":5}'
Authentification
All requests require an X-API-Key header. Keys look like kv-XXXXXXXXXXXXXXXX.
Get a demo key
No sign-up required. Call POST /auth/demo to get a free API key instantly delivered to your inbox.
/auth/demoGet a free demo API key
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | required | Your email address — key will be sent here | |
| name | string | optional | Your name (used in welcome email) |
| usecase | string | optional | What you're building — helps us improve |
curl -X POST https://api.kronvex.io/auth/demo \ -H "Content-Type: application/json" \ -d '{"email":"[email protected]","name":"Alex","usecase":"support bot"}' # Response: {"message":"Key sent to your email","plan":"demo"} # Demo plan: 1 agent · 100 memories · 30 req/min
Stocker une mémoire
/api/v1/agents/{id}/rememberStore a memory
| Parameter | Type | Required | Description |
|---|---|---|---|
| content | string | required | The memory text |
| memory_type | enum | optional | episodic | semantic | procedural (default: episodic) |
| session_id | string | optional | Pin to a specific session |
| ttl_days | integer | optional | Auto-expire after N days (1–3650) |
| pinned | boolean | optional | Pinned memories never expire |
/api/v1/agents/{id}/recallSemantic recall
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | required | Natural language search query |
| top_k | integer | optional | Results count (default 5, max 20) |
| threshold | float | optional | Min similarity score (default 0.5) |
| session_id | string | optional | Filter by session |
| memory_type | string | optional | Filter by type |
/api/v1/agents/{id}/inject-contextReady-to-use context block
Returns a pre-formatted context string ready to inject directly into your LLM system prompt.
| Parameter | Type | Required | Description |
|---|---|---|---|
| agent_id | string | required | Agent identifier |
| message | string | required | User message (used as search query) |
/api/v1/agents/{agent_id}/memories/{id}Delete a memory
Permanently removes a memory by UUID. Returns 204 No Content. GDPR-compliant targeted deletion.
Rappel sémantique
Search your agent's memory semantically. Returns memories ranked by vector similarity.
semantic, episodic, proceduralimport requests response = requests.post( "https://api.kronvex.io/api/v1/agents/{agent_id}/recall", headers={"X-API-Key": "kv-your-key"}, json={ "query": "user communication preferences", "top_k": 5, "threshold": 0.5 } ) # Returns: {query, results: [{memory, similarity}], total_found}
Injecter le contexte
The most powerful endpoint. Pass the user's latest message — get back a formatted context block ready to inject into your LLM system prompt.
ctx = requests.post(
"https://api.kronvex.io/api/v1/agents/{agent_id}/inject-context",
headers={"X-API-Key": "kv-your-key"},
json={"message": user_message}
).json()["context_block"]
# Inject into your LLM
response = openai.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": ctx + your_system_prompt},
{"role": "user", "content": user_message}
]
)
Agents
Each agent has an isolated memory namespace. Create one per use case or customer.
Returns all agents for your API key with memory count.
Supprimer une mémoire
Delete a specific memory or all memories for an agent.
| Method | Path | Description |
|---|---|---|
| DELETE | /api/v1/agents/{id}/memories/{mem_id} | Delete one memory by ID |
| DELETE | /api/v1/agents/{id}/memories | Delete ALL memories for an agent |
Memory Types
SEMANTIC
Facts and persistent knowledge about the user or world.
EPISODIC
Past events and interactions — what happened in previous sessions.
PROCEDURAL
How the user wants things done — behavioral preferences.
TTL & Expiration
Set ttl_days to auto-expire memories. Use pinned: true to prevent any expiry.
# Expire in 30 days (e.g. trial period) requests.post(f"{BASE}/memories", headers=H, json={"agent_id":"bot","content":"Trial active","ttl_days":30}) # Pin permanently — never expires requests.post(f"{BASE}/memories", headers=H, json={"agent_id":"bot","content":"VIP customer","pinned":True})
Score de confiance
Each recalled memory includes a confidence score (0–1). Higher = more relevant. The score combines semantic similarity, recency, and access frequency.
confidence = similarity × 0.6 + recency × 0.2 # sigmoid, 30-day inflection + frequency × 0.2 # log-scaled access count
threshold parameter on /recall to filter results below a minimum confidence score.
SDKs & Intégrations
Official SDKs for Python and Node.js. Both sync and async clients available. The SDK mirrors the REST API exactly — use whichever style you prefer.
Python SDK
pip install kronvex # Async support: pip install "kronvex[async]"
from kronvex import Kronvex client = Kronvex("kv-your-key") # Get or create an agent (idempotent) agent = client.agents("my-agent") # Store a memory agent.remember("User is based in Paris, prefers concise answers") # Recall semantically results = agent.recall(query="user location", top_k=5) # Inject context into your LLM system prompt context = agent.inject_context("What does the user prefer?") print(context.context_block) # paste into your system prompt
Node.js / TypeScript SDK
npm install kronvex # or: pnpm add kronvex / yarn add kronvex
import { Kronvex } from 'kronvex'; const client = new Kronvex('kv-your-key'); const agent = client.agents('my-agent'); await agent.remember('User prefers dark mode and concise replies'); const ctx = await agent.injectContext('What UI preferences does the user have?'); console.log(ctx.contextBlock); // inject into your LLM system prompt
requests / fetch if you prefer.
Codes d'erreur
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_REQUEST | Missing or malformed parameters |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 402 | LIMIT_REACHED | Memory or agent quota exceeded |
| 404 | NOT_FOUND | Agent or memory not found |
| 429 | RATE_LIMITED | Too many requests — back off and retry |
| 500 | INTERNAL_ERROR | Server error — contact support |
Limites de débit
All plans are billed monthly. The Demo plan is free forever. Upgrade at any time from your dashboard.
| Plan | Price | Agents | Memories | Req/min | Req/day |
|---|---|---|---|---|---|
| Demo | Free | 1 | 100 | 30 | 500 |
| Builder | €29/mo | 5 | 20,000 | 60 | 5,000 |
| Startup | €99/mo | 15 | 75,000 | 120 | 20,000 |
| Business | €349/mo | 50 | 500,000 | 300 | 100,000 |
| Enterprise | Custom | Unlimited | Unlimited | Custom | Custom |
Rate limit response headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
LIMIT_REACHED error fires, memories or agents are capped. Upgrade your plan or delete old memories from the dashboard.
Integrations
Kronvex works with any AI framework. Below are quickstarts for popular tools. All integrations use the same REST API and SDKs — there's nothing framework-specific to install beyond the base SDK.
🦜 LangChain
Use Kronvex as a custom memory store in LangChain conversation chains. The pattern: store memories after each interaction, recall relevant ones before each LLM call.
Install
pip install kronvex langchain langchain-openai
Custom memory class
from kronvex import Kronvex
from langchain.memory import BaseMemory
from langchain.schema import BaseMessage
from typing import Dict, Any, List
class KronvexMemory(BaseMemory):
"""Persistent cross-session memory powered by Kronvex."""
client: Any = None
agent: Any = None
memory_key: str = "history"
def __init__(self, api_key: str, agent_id: str, **kwargs):
super().__init__(**kwargs)
self.client = Kronvex(api_key)
self.agent = self.client.agent(agent_id)
@property
def memory_variables(self) -> List[str]:
return [self.memory_key]
def load_memory_variables(self, inputs: Dict[str, Any]) -> Dict[str, Any]:
query = inputs.get("input", "")
ctx = self.agent.inject_context(query=query, top_k=5)
return {self.memory_key: ctx.context}
def save_context(self, inputs: Dict[str, Any], outputs: Dict[str, Any]) -> None:
user_msg = inputs.get("input", "")
ai_msg = outputs.get("output", "")
if user_msg:
self.agent.remember(content=user_msg, memory_type="episodic")
if ai_msg:
self.agent.remember(content=ai_msg, memory_type="episodic")
def clear(self) -> None:
pass # Use Kronvex dashboard to manage memories
Use in a chain
from langchain_openai import ChatOpenAI
from langchain.chains import ConversationChain
memory = KronvexMemory(
api_key="kv-your-api-key",
agent_id="your-agent-id"
)
chain = ConversationChain(
llm=ChatOpenAI(model="gpt-4o"),
memory=memory,
verbose=True
)
# Context from Kronvex is automatically injected
response = chain.predict(input="What are my preferences?")
session_id in inject_context() to scope memories per conversation thread.
🤖 CrewAI
Give your CrewAI agents persistent memory across runs. Agents can recall past interactions and store new knowledge automatically.
Install
pip install kronvex crewai
Memory tool for CrewAI agents
from crewai import Agent, Task, Crew
from crewai.tools import tool
from kronvex import Kronvex
kv = Kronvex("kv-your-api-key")
agent_mem = kv.agent("your-agent-id")
@tool("Recall from memory")
def recall_memory(query: str) -> str:
"""Search past memories relevant to the query."""
result = agent_mem.recall(query=query, top_k=5)
return "
".join([m.content for m in result.memories])
@tool("Store in memory")
def store_memory(content: str) -> str:
"""Store a new piece of information in long-term memory."""
agent_mem.remember(content=content, memory_type="semantic")
return "Memory stored successfully."
# Attach tools to your agent
sales_agent = Agent(
role="Sales Assistant",
goal="Help customers based on their history",
tools=[recall_memory, store_memory],
verbose=True
)
⚙️ n8n
Official community node available — install n8n-nodes-kronvex v0.1.1 directly from your n8n instance's Community Nodes settings. Or use the HTTP Request node with the REST API.
Settings → Community Nodes → Install → n8n-nodes-kronvex
Store a memory
| FIELD | VALUE |
|---|---|
| Method | POST |
| URL | https://api.kronvex.io/api/v1/agents/{{AGENT_ID}}/remember |
| Header | X-API-Key: kv-your-api-key |
| Body (JSON) | {"content": "{{$json.content}}", "memory_type": "episodic"} |
Recall memories
POST https://api.kronvex.io/api/v1/agents/{{AGENT_ID}}/recall
X-API-Key: kv-your-api-key
{
"query": "{{ $json.userMessage }}",
"top_k": 5,
"session_id": "{{ $json.sessionId }}"
}
Ce que vous pouvez construire avec Kronvex
Du support client à la recherche juridique — tout agent IA B2B qui interagit avec des humains s'améliore mesurément avec une mémoire persistante.
Agents support qui connaissent vos utilisateurs
Votre agent IA de support connaît l'historique complet d'un utilisateur — tickets passés, préférences, niveau de compte, résolutions précédentes. Plus jamais "pouvez-vous répéter le problème ?" — l'agent sait déjà.
client.agents("support-bot").remember(
"Utilisateur Jean préfère les mises à jour par email, plan Pro depuis janvier, problème de facturation en mars"
)
ctx = client.agents("support-bot").inject_context("question de renouvellement")
Agents commerciaux avec mémoire parfaite des deals
Chaque appel, chaque objection, chaque signal d'achat — votre agent IA commercial s'en souvient et reprend la prochaine conversation exactement là où vous vous étiez arrêté.
# Après chaque appel commercial, persister le contexte du deal
client.agents("sales-bot").remember(
"Acme Corp : budget 50k€, décision avant Q3, frein principal : audit sécurité IT",
memory_type="episodic"
)
Assistants de code avec mémoire de projet
Votre outil IA de développement se souvient des décisions d'architecture, des conventions de nommage, de la dette technique et des préférences de l'équipe — produisant du code qui s'adapte à votre vrai codebase.
Enterprise
Architecture multi-tenant, RGPD par défaut, hébergement de données en UE. Conçu pour les entreprises qui déploient des agents IA à leurs propres clients — pas seulement pour les développeurs qui construisent pour eux-mêmes.
Fonctionnalités Enterprise
Tout ce dont vous avez besoin pour déployer la mémoire des agents IA à grande échelle, avec les garanties de conformité que les entreprises européennes exigent.
Sécurité & Conformité
🔒 Conforme RGPD
Conformité RGPD complète par conception — hébergement UE, droit à l'effacement (Art. 17), minimisation des données (Art. 5), DPA disponible (Art. 28).
📋 DPA inclus
Accord de Traitement des Données (RGPD Art. 28) disponible pour tous les plans payants. Signable sur demande pour les contrats entreprise.
🇪🇺 Données en UE
Toutes les données stockées sur Supabase PostgreSQL, AWS eu-central-1 Francfort. Zéro transfert de données transfrontalier.
🔐 Chiffrement
AES-256 au repos · TLS 1.3 en transit · Clés API hachées SHA-256, jamais stockées en clair.
Pourquoi la mémoire Enterprise ?
Tarification Enterprise
- ✓ 50 agents
- ✓ 500k mémoires
- ✓ Intégrations Webhook
- ✓ Support prioritaire
- ✓ Hébergement UE · RGPD Art. 17
- ✓ Agents & mémoires illimités
- ✓ Accord de Traitement des Données (DPA)
- ✓ SLA <4h de temps de réponse
- ✓ Account manager dédié
- ✓ Session d'onboarding personnalisée
- ✓ Facturation sur facture (pas de CB)
- ✓ Export de journaux d'audit
Comparer
Hébergé en UE et natif RGPD par défaut. Similarité cosinus pgvector, score de confiance, aucune infrastructure à gérer. Votre première mémoire en moins de 5 minutes.
Problèmes avec les alternatives
Chaque autre option a un coût caché.
Tableau de comparaison des fonctionnalités
| Fonctionnalité | ★ Kronvex | Mem0 | Zep | Pinecone |
|---|---|---|---|---|
| API gérée (sans infrastructure) | ✓ | ✓ | ✓ | ✓ |
| Hébergement UE (RGPD natif) | ✓ | ✗ | ✗ | ✗ |
| Recherche sémantique (pgvector cosinus) | ✓ | ✓ | ✓ | ✓ |
| Score de confiance (récence + fréquence) | ✓ | ✗ | ✓ | ✗ |
| Support multi-agents | ✓ | ✓ | ✓ | ✗ |
| Pas de LLM à l'écriture | ✓ | ✗ | ✓ | ✓ |
| Endpoint inject-context | ✓ | ✗ | ✗ | ✗ |
| Tarification à partir de | 29€/mois | À partir de $19/mois | À partir de $475/mois | À l'usage |
Kronvex est jusqu'à 25× moins cher que Zep Cloud — avec l'hébergement UE inclus à chaque niveau de plan.
Connectez votre agent IA en une commande.
Détecte automatiquement Claude Desktop, Claude Code, Cursor, Windsurf, Cline et Gemini CLI. Demande votre clé API et configure tout en quelques secondes.
npx @kronvex/setup
Détecte les agents installés et écrit la configuration MCP automatiquement. Ou suivez un guide manuel ci-dessous. Obtenez votre clé gratuite.
npx @kronvex/setup --key kv-your-key --agent your-agent-id
Passez --key et --agent pour ignorer les questions interactives — utile pour le provisionnement automatisé.
Claude Desktop & Claude Code
Ajoutez une mémoire persistante inter-sessions aux propres clients d'Anthropic — Claude Desktop (Mac & Windows) et Claude Code CLI. Le serveur MCP Kronvex expose trois outils que l'agent appelle automatiquement : remember, recall, et inject_context.
Lancez l'assistant de configuration — il détecte automatiquement Claude Desktop et Claude Code sur votre machine et modifie le bon fichier de configuration :
npx @kronvex/setup
Sans options ? L'assistant vous guidera de manière interactive. Obtenez votre clé gratuite.
Règles Agent — apprendre à Claude à utiliser la mémoire automatiquement
Ajoutez ces instructions dans votre CLAUDE.md pour que Claude charge et sauvegarde automatiquement le contexte à chaque tâche :
## Memory Protocol (Kronvex)
BEFORE every task:
- Call `kronvex_recall` with the current task description as the query
- Inject any returned memories into your working context
AFTER every task:
- Call `kronvex_remember` to store:
- Key decisions made
- Patterns or preferences discovered
- Architecture choices and their rationale
- Anything that would help in future sessions
Memory types to use:
- `procedural` — how to do things (preferred approaches, commands, style rules)
- `semantic` — facts about the project (stack, team, constraints)
- `episodic` — what happened (bugs fixed, features shipped, blockers hit)
Demandez à Claude : "Use Kronvex to remember that I prefer TypeScript strict mode."
→ Claude appelle kronvex_remember et confirme : "Memory stored."
Demandez à Claude : "What are my coding preferences?"
→ Claude appelle kronvex_recall et retourne la mémoire ci-dessus.
Cursor
Donnez au mode agent de Cursor une mémoire persistante sur chaque session de code. Kronvex se souvient de l'architecture de votre projet, des conventions, des décisions passées et des préférences — pour que vous ne vous répétiez jamais.
Étape 1 — Créez ou modifiez .cursor/mcp.json
{
"mcpServers": {
"kronvex": {
"command": "npx",
"args": ["@kronvex/mcp"],
"env": {
"KRONVEX_API_KEY": "kv-your-key",
"KRONVEX_AGENT_ID": "your-agent-uuid"
}
}
}
}
Étape 2 — Redémarrez Cursor (Cmd/Ctrl+Shift+P → "Developer: Reload Window").
Règles Cursor — mémoire automatique à chaque tâche
Ajoutez cette règle dans .cursor/rules/kronvex.mdc :
---
description: Persistent memory via Kronvex MCP
globs: ["**/*"]
alwaysApply: true
---
## Kronvex Memory Protocol
BEFORE starting any task:
1. Call `kronvex_recall` with the task description as query
2. Read returned memories and incorporate them into your plan
AFTER completing any task:
1. Call `kronvex_remember` to store:
- Architecture decisions made
- Patterns and conventions established
- Bugs fixed and their root causes
- Preferences expressed by the user
Use memory_type: "procedural" for how-to knowledge, "semantic" for project facts.
Cline (VS Code)
Ajoutez la mémoire persistante à Cline dans VS Code. Cline gère les serveurs MCP nativement via l'interface des paramètres.
Étape 1 — Ouvrez les paramètres MCP de Cline
Dans VS Code : barre latérale Cline → bouton ⚙️ → "MCP Servers" → "Edit Config".
Étape 2 — Ajoutez la configuration Kronvex
{
"mcpServers": {
"kronvex": {
"command": "npx",
"args": ["@kronvex/mcp"],
"env": {
"KRONVEX_API_KEY": "kv-your-key",
"KRONVEX_AGENT_ID": "your-agent-uuid"
}
}
}
}
Étape 3 — Sauvegardez et relancez Cline. Le serveur Kronvex apparaîtra dans la liste des serveurs MCP connectés.
Windsurf
Ajoutez la mémoire persistante à Windsurf. Le fichier de config MCP est ~/.codeium/windsurf/mcp_config.json.
{
"mcpServers": {
"kronvex": {
"command": "npx",
"args": ["@kronvex/mcp"],
"env": {
"KRONVEX_API_KEY": "kv-your-key",
"KRONVEX_AGENT_ID": "your-agent-uuid"
}
}
}
}
Redémarrez Windsurf après avoir sauvegardé la configuration. Le serveur Kronvex sera détecté automatiquement.
Gemini CLI
Ajoutez la mémoire persistante à Gemini CLI. Modifiez ~/.gemini/settings.json :
{
"mcpServers": {
"kronvex": {
"command": "npx",
"args": ["@kronvex/mcp"],
"env": {
"KRONVEX_API_KEY": "kv-your-key",
"KRONVEX_AGENT_ID": "your-agent-uuid"
}
}
}
}
Relancez Gemini CLI après modification. Testez avec : gemini mcp list
GitHub Copilot
Ajoutez la mémoire persistante à GitHub Copilot dans VS Code. Ajoutez la configuration dans vos paramètres VS Code (settings.json) :
{
"mcp": {
"servers": {
"kronvex": {
"command": "npx",
"args": ["@kronvex/mcp"],
"env": {
"KRONVEX_API_KEY": "kv-your-key",
"KRONVEX_AGENT_ID": "your-agent-uuid"
}
}
}
}
}
Rechargez la fenêtre VS Code (Cmd/Ctrl+Shift+P → "Developer: Reload Window"). Copilot utilisera Kronvex pour stocker et rappeler le contexte dans le mode Agent.
Kilo Code
Kilo Code supporte les serveurs MCP via son interface de configuration. Ajoutez Kronvex depuis le panneau des paramètres Kilo Code dans VS Code.
{
"mcpServers": {
"kronvex": {
"command": "npx",
"args": ["@kronvex/mcp"],
"env": {
"KRONVEX_API_KEY": "kv-your-key",
"KRONVEX_AGENT_ID": "your-agent-uuid"
}
}
}
}
OpenCode
Ajoutez la mémoire persistante à OpenCode CLI. Modifiez votre fichier de configuration OpenCode (~/.config/opencode/config.json) :
{
"mcp": {
"kronvex": {
"command": "npx",
"args": ["@kronvex/mcp"],
"env": {
"KRONVEX_API_KEY": "kv-your-key",
"KRONVEX_AGENT_ID": "your-agent-uuid"
}
}
}
}
ChatGPT Desktop
ChatGPT Desktop (macOS & Windows) supporte les serveurs MCP. Ajoutez Kronvex pour donner à ChatGPT une mémoire persistante entre les conversations.
Fichier de configuration ChatGPT Desktop :
- Mac :
~/Library/Application Support/ChatGPT/mcp.json - Windows :
%APPDATA%\ChatGPT\mcp.json
{
"mcpServers": {
"kronvex": {
"command": "npx",
"args": ["@kronvex/mcp"],
"env": {
"KRONVEX_API_KEY": "kv-your-key",
"KRONVEX_AGENT_ID": "your-agent-uuid"
}
}
}
}
Redémarrez ChatGPT Desktop après avoir sauvegardé. Le serveur Kronvex sera disponible dans le mode de conversation.
Performance
Chiffres réels de l'infrastructure pgvector de Kronvex — latence, précision et débit à grande échelle. Toutes les mesures sur une fenêtre glissante de 7 jours du trafic de production.
Mesurée de la réception de la requête HTTP à Railway (EU West) à l'envoi de la réponse. Inclut le round-trip Supabase et la recherche d'embedding si applicable. p50 / p95 / p99 sur fenêtre glissante de 7 jours.
| Opération | p50 | p95 | p99 |
|---|---|---|---|
|
POST /recall
Top-5 mémoires · similarité cosinus
|
<45ms | <140ms | <280ms |
|
POST /inject-context
Rappel + assemblage du prompt
|
<55ms | <160ms | <320ms |
|
POST /remember
Écriture + embedding + stockage
|
<120ms | <380ms | <700ms |
|
GET /agents
Liste des agents · recherche indexée
|
<30ms | <90ms | <180ms |
Le coût dominant dans /remember est l'appel d'embedding OpenAI (~80ms). La latence pure d'écriture DB est <20ms.
La similarité cosinus brute seule manque deux signaux importants pour les agents : la récence d'une mémoire et la fréquence à laquelle elle a été consultée. Kronvex combine les trois en un score de confiance composite.
confidence = similarity × 0.6 + recency × 0.2 # sigmoïde 30 jours + frequency × 0.2 # log-scaled access count
Cela garantit que les mémoires récemment consultées et fréquemment utiles remontent en tête — même si leur similarité cosinus brute est légèrement inférieure à une mémoire plus ancienne et plus obsolète.
Tout client MCP
Kronvex est un serveur MCP standard — compatible avec tout client supportant le Model Context Protocol.
Appelez l'outil : kronvex_recall avec { "agent_id": "test-agent", "query": "test" }
→ Doit retourner une liste vide (pas encore de mémoires) — confirme que la connexion fonctionne.
Python SDK
Client officiel Python pour Kronvex. Supporte le mode synchrone et asynchrone, avec des extras pour LangChain et CrewAI.
Installation
pip install kronvex
# Extras disponibles :
pip install kronvex[langchain] # adaptateur LangChain
pip install kronvex[crewai] # plugin CrewAI
pip install kronvex[async] # client asyncio (httpx)
Utilisation de base
from kronvex import Kronvex
client = Kronvex("kv-your-key")
agent = client.agents("my-agent")
# Stocker une mémoire
agent.remember("L'utilisateur préfère les réponses concises en français")
# Rappel sémantique
results = agent.recall(query="préférences utilisateur", top_k=5)
# Injecter le contexte dans un prompt système
context = agent.inject_context("Quelles sont les préférences de l'utilisateur ?")
print(context.context_block) # à ajouter dans votre system prompt
Mode asynchrone (asyncio)
from kronvex import AsyncKronvex
async def main():
client = AsyncKronvex("kv-your-key")
agent = await client.agents("my-agent")
await agent.remember("User completed onboarding step 3")
results = await agent.recall(query="onboarding", top_k=3)
print(results)
Node.js SDK
Client officiel TypeScript/JavaScript pour Kronvex. Types complets inclus, compatible ESM et CommonJS.
Installation
npm install kronvex
# ou
pnpm add kronvex
Utilisation TypeScript
import { Kronvex } from "kronvex";
const client = new Kronvex("kv-your-key");
const agent = await client.agents("my-agent");
// Stocker une mémoire
await agent.remember("User prefers dark mode and TypeScript strict");
// Rappel sémantique
const results = await agent.recall({ query: "user preferences", topK: 5 });
// Injecter dans un prompt
const { contextBlock } = await agent.injectContext("What are the user's coding preferences?");
// prepend contextBlock to your system message
import (ESM) et require (CJS) sans configuration supplémentaire.
AutoGen
Ajoutez de la mémoire persistante aux conversations multi-agents Microsoft AutoGen. Stockez des résumés d'interactions et rappellez le contexte avant chaque tour d'agent.
Installation
pip install kronvex pyautogen
Utilisation
from kronvex import Kronvex
import autogen
kv = Kronvex("kv-your-key")
agent = kv.agents("autogen-agent")
# Avant la conversation — injecter le contexte passé
context = agent.inject_context(query="préférences et historique utilisateur")
# Lancer AutoGen avec le contexte dans le system message
assistant = autogen.AssistantAgent(
name="assistant",
system_message=f"You are a helpful assistant.\n\n{context['prompt']}"
)
# Après la conversation — stocker ce qui s'est passé
agent.remember("L'utilisateur a demandé X, résolu avec Y")
results = agent.recall(query="test", top_k=1)
print(results) # [] si aucune mémoire encore — connexion OK
OpenAI Agents SDK
Ajoutez de la mémoire persistante à l'OpenAI Agents SDK officiel. Stockez des traces, rappelez le contexte et injectez-le avant chaque run.
Installation
pip install kronvex openai-agents
Pattern de base — mémoire avant/après chaque run
from kronvex import Kronvex
from agents import Agent, Runner
kv = Kronvex("kv-your-key")
mem = kv.agents("openai-agent")
# Avant chaque run — charger le contexte mémorisé
ctx = mem.inject_context(query="user context and preferences")
system_prompt = f"You are a helpful assistant.\n\n{ctx['prompt']}"
agent = Agent(name="assistant", instructions=system_prompt)
result = Runner.run_sync(agent, "Quelle est ma préférence pour les frameworks ?")
# Après le run — stocker les décisions importantes
mem.remember(f"User asked about frameworks. Response: {result.final_output[:200]}")
memory_type="episodic" pour les faits de session et "semantic" pour les préférences stables.
REST API (curl)
Si votre outil peut faire une requête HTTP POST, il fonctionne déjà avec Kronvex. Voici les exemples curl prêts à l'emploi.
Stocker une mémoire
curl -X POST https://api.kronvex.io/api/v1/agents/{agent_id}/remember \
-H "X-API-Key: kv-your-key" \
-H "Content-Type: application/json" \
-d '{"content": "User prefers TypeScript strict mode", "memory_type": "semantic"}'
Rappel sémantique
curl -X POST https://api.kronvex.io/api/v1/agents/{agent_id}/recall \
-H "X-API-Key: kv-your-key" \
-H "Content-Type: application/json" \
-d '{"query": "coding preferences", "top_k": 5}'
Injecter le contexte (bloc system prompt)
curl -X POST https://api.kronvex.io/api/v1/agents/{agent_id}/inject-context \
-H "X-API-Key: kv-your-key" \
-H "Content-Type: application/json" \
-d '{"query": "user preferences and history", "top_k": 5}'
# Response:
# {
# "context_block": "## Mémoires pertinentes\n- User prefers TypeScript strict mode...",
# "memories_used": 3,
# "prompt": "## Mémoires pertinentes\n..."
# }