Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
YourMemory — Memoria de IA agéntica con decaimiento de la curva de olvido de Ebbinghaus. +16 pp mejor recuperación que Mem0 en LoCoMo. | Kitploit
Herramientas/GitHubGitHub/sachitrafa/yourmemory
Autenticación y AutorizaciónAnálisis ForensePrivacidadInteligencia de AmenazasGestión de Identidad y Acceso (IAM)Aprendizaje AutomáticoRespuesta a IncidentesSeguridad de IA
GitHubsachitrafa/yourmemory

YourMemory

Memoria de IA agéntica con decaimiento de la curva de olvido de Ebbinghaus. +16 pp mejor recuperación que Mem0 en LoCoMo.

Ver Repositorio
262216hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web
YourMemory

YourMemory

Tu IA tiene la memoria de un pez dorado. Ya no.

Memoria persistente y auto-mejorable para agentes de IA, construida sobre la ciencia de cómo recuerdan los humanos.

PyPI PyPI Downloads Python License: CC BY-NC 4.0 GitHub Stars

LoCoMo Recall@5 LongMemEval Recall@5 HotpotQA BOTH@5 MCP Native


▶ Prueba la demo interactiva en vivo · Sitio web · Evaluaciones comparativas


El problema

Cada mañana tu agente de IA te trata como a un extraño. El mismo contexto reexplicado. Las mismas preferencias olvidadas. Cada sesión empieza desde cero.

La mayoría de las herramientas de "memoria" pegan una base de datos vectorial a un agente y lo llaman listo — pero eso es solo almacenamiento. Acapara cada casi-duplicado hasta que la recuperación se ahoga en ruido. Un pez dorado con una pecera más grande.

YourMemory es diferente: memoria que funciona como un cerebro, no como una base de datos.

root@kitploit:~
flowchart LR
    A["🧠 Le dices algo<br/>a tu IA"] --> B["Extraer hechos<br/>duraderos"]
    B --> C["Dedup + incrustar<br/>+ enlazar grafo"]
    C --> D[("Almacén de<br/>memoria")]
    D -->|"los hechos relacionados se acumulan"| E["✨ Consolidar<br/>N → 1 resumen"]
    D -->|"obsoleto + no usado"| F["📉 Decaimiento<br/>+ poda"]
    D -->|"nueva sesión"| G["♻️ Recuperación<br/>híbrida + grafo"]
    E --> D
    G --> H["🤖 Tu agente<br/>retoma donde<br/>lo dejó"]
    style D fill:#0a2540,stroke:#19cdff,color:#fff
    style E fill:#0c2b3a,stroke:#5eead4,color:#fff
    style H fill:#0c2b3a,stroke:#19cdff,color:#fff

✨ Qué lo hace diferente

Un comando para instalar. DuckDB por defecto (cero configuración), Postgres + pgvector para equipos.


Tabla de Contenidos

  • 🏆 Evaluaciones Comparativas
  • 🚀 Inicio Rápido
  • 🧠 Cómo Funciona la Memoria
    • Consolidación
    • Decaimiento
    • Recuperación Híbrida
  • 🔒 Confianza y Pista de Auditoría
  • 👥 Pools de Memoria de Equipo
  • 🛡️ Derechos de Datos y Cumplimiento
  • 🎛️ Paneles de Control
  • 🔧 Herramientas MCP
  • ⚡ Preguntar sin Llamar a un LLM
  • 🔀 Proxy de API — Memoria Garantizada
  • 🏗️ Arquitectura y Stack
  • 🩺 Solución de Problemas
  • 🤝 Contribuir

🏆 Evaluaciones Comparativas

Tres conjuntos de datos externos. Cada número reproducible de forma independiente — el código de evaluación vive en el repositorio. Metodología completa en BENCHMARKS.md.

LoCoMo-10 — memoria conversacional multi-sesión

root@kitploit:~
xychart-beta
    title "Recall@5 · LoCoMo-10 (mayor es mejor)"
    x-axis ["Mem0", "Zep Cloud", "Supermemory", "YourMemory"]
    y-axis "Recall@5 percent" 0 --> 70
    bar [18, 28, 31, 59]

2× mejor recall que Zep Cloud en las 10 muestras. *Supermemory y Mem0 agotaron las cuotas del nivel gratuito a mitad de la evaluación; puntuaciones calculadas sobre los 1.534 pares completos.

LongMemEval-S — 500 preguntas, ~53 sesiones de distracción cada una

El benchmark estándar más difícil para memoria a largo plazo. Cada pregunta está enterrada en ~53 sesiones.

MétricaPuntuación
Recall@5 (cualquier sesión correcta en top-5)89.4%
Recall-all@5 (todas las sesiones correctas en top-5)84.8%
nDCG@5 (calidad de ranking)87.4%

HotpotQA — 200 preguntas de múltiples saltos

SistemaBOTH_FOUND@5
YourMemory (vector + BM25 + grafo de entidades)71.5%
YourMemory (sin aristas de entidad)59.5%

Las aristas del grafo de entidades añaden +12 pp — se desplazan del Hecho 1 al Hecho 2 incluso cuando el Hecho 2 tiene baja similitud de incrustación con la consulta.

Artículo: Construí decaimiento de memoria para agentes de IA usando la curva de olvido de Ebbinghaus


🚀 Inicio Rápido

Python 3.11–3.14. Sin Docker, sin configuración de base de datos. Toda la memoria almacenada localmente en ~/.yourmemory/.

root@kitploit:~
pip install yourmemory
yourmemory-register <tu-token>
yourmemory-setup

Obtén tu token: visita yourmemoryai.xyz → ingresa tu correo → verifica con un código de 6 dígitos → copia tu token.

yourmemory-setup detecta y configura automáticamente Claude Code, Claude Desktop, Cursor, Windsurf y Cline, luego pregunta qué backend usar:

  • DuckDB — cero configuración, un solo archivo local (por defecto)
  • Postgres — compartido / producción; proporcionas una DATABASE_URL (necesita la extensión pgvector)

Opcional — extracción local más inteligente: YourMemory funciona de inmediato con heurísticas integradas. Para una extracción de hechos de mayor calidad y completamente local, instala Ollama y yourmemory-setup descarga el modelo (qwen2.5:7b, ~4.7 GB) automáticamente. ¿Prefieres la nube? Configura YOURMEMORY_EXTRACT_BACKEND=anthropic.

O instala desde un binario — sin necesidad de Python

¿Prefieres no tocar pip? Obtén el binario independiente para tu plataforma desde la última versión:

PlataformaArchivo
macOS (Apple Silicon)yourmemory-macos-arm64.tar.gz
macOS (Intel)yourmemory-macos-x86_64.tar.gz
root@kitploit:~
# macOS / Linux — descarga, extrae, ejecuta
tar -xzf yourmemory-macos-arm64.tar.gz
./yourmemory-macos-arm64 register <tu-token>
./yourmemory-macos-arm64 setup
./yourmemory-macos-arm64            # inicia el servidor

Un solo ejecutable maneja cada comando: register, setup, ask "<pregunta>", path, y (sin argumentos) inicia el servidor.

Completamente autónomo y sin conexión — el binario incluye Python, cada dependencia y ambos modelos de ML (el modelo de incrustación + spaCy). No se descarga nada en la primera ejecución. La contrapartida es el tamaño (~2 GB). Construye el tuyo propio con un solo comando — ./build-binary.sh — y los binarios de lanzamiento multi-plataforma se producen automáticamente por el flujo de trabajo de compilación.


🧠 Cómo Funciona la Memoria

YourMemory trata la memoria como un sistema vivo — crece, se consolida, olvida y conecta, como lo hace un cerebro.

Consolidación — N → 1

La mayoría de las herramientas de memoria solo siguen creciendo. YourMemory observa grupos de hechos relacionados y, una vez que se acumulan suficientes, los comprime en un solo resumen limpio — archivando los originales (nunca los elimina, así que nada se pierde).

root@kitploit:~
flowchart LR
    subgraph before [Los hechos relacionados se acumulan]
        A1["Railway usa Nixpacks"]
        A2["Railway en plan Pro"]
        A3["Las variables de entorno de Railway<br/>contienen la URL de Postgres"]
        A4["Despliega en Railway<br/>con Postgres"]
    end
    before --> C{"agrupar +<br/>resumir con LLM"}
    C --> S["✨ Resumen<br/>Despliega en Railway (Pro,<br/>Nixpacks) con Postgres<br/>mediante variables de entorno"]
    C -.->|"archivado, recuperable"| ARC[("archivo")]
    style S fill:#0a2540,stroke:#5eead4,color:#fff
    style C fill:#0c2b3a,stroke:#19cdff,color:#fff

Ejemplo real de un almacén en producción: 444 recuerdos → 16 resúmenes — mismo conocimiento, una fracción del ruido. La consolidación es impulsada por eventos (se activa cuando los recuerdos relacionados se acumulan), no un trabajo nocturno ciego.

Decaimiento — la curva de olvido

La fuerza de la memoria decae exponencialmente. La importancia y la frecuencia de recuerdo ralentizan ese decaimiento:

root@kitploit:~
effective_λ  = base_λ × (1 − importance × 0.8)
strength     = clamp(importance × e^(−effective_λ × active_days) × (1 + recall_count × 0.2), 0, 1)

active_days solo cuenta los días en que estuviste activo — las vacaciones no causan pérdida de memoria. Las memorias por debajo de fuerza 0.05 se podan automáticamente. Cada categoría envejece a su propio ritmo:

Poda consciente del grafo: una memoria decaída se mantiene viva si algún vecino del grafo aún es fuerte — el contexto de soporte sobrevive incluso cuando se consulta raramente de forma directa.

Recuperación Híbrida — Vector + BM25 + Grafo

La recuperación se realiza en dos rondas para que surja tanto lo que pediste como lo que olvidaste pedir:

root@kitploit:~
flowchart LR
    Q["consulta"] --> R1["Búsqueda híbrida<br/>Vector + BM25"]
    R1 --> R2["Expansión de grafo<br/>(lo que olvidaste pedir)"]
    R2 --> S["ordenar por<br/>similitud × fuerza"]
    S --> OUT["🎯 Recuerdos ordenados"]
    style OUT fill:#0a2540,stroke:#19cdff,color:#fff

La deduplicación consciente del sujeto se ejecuta antes de cada almacenamiento — incrusta el sujeto de cada oración para que "Sachit usa DuckDB" y "YourMemory usa DuckDB" permanezcan separados (diferentes entidades), mientras que "YourMemory usa DuckDB" y "YourMemory almacena datos en DuckDB" se fusionan (misma entidad). Sin listas de palabras fijas; se generaliza a cualquier idioma.


🔒 Confianza y Pista de Auditoría

Las empresas no permitirán que una caja negra opaca almacene sus datos. Por eso cada operación — lectura, escritura, actualización, eliminación, consolidación — se añade a un registro de auditoría encadenado por hash y a prueba de manipulaciones.

root@kitploit:~
flowchart LR
    E0["GÉNESIS"] --> E1
    subgraph E1 [Evento 1]
        H1["row_hash =<br/>sha256(prev + data)"]
    end
    E1 --> E2
    subgraph E2 [Evento 2]
        H2["row_hash =<br/>sha256(#1.hash + data)"]
    end
    E2 --> E3
    subgraph E3 [Evento 3]
        H3["row_hash =<br/>sha256(#2.hash + data)"]
    end
    E3 --> V{"GET /audit/verify"}
    V -->|cadena intacta| OK["✅ verificado"]
    V -->|cualquier fila alterada| BAD["❌ la cadena se rompe<br/>en esa fila"]
    style OK fill:#0a2540,stroke:#5eead4,color:#fff
    style BAD fill:#3a0c14,stroke:#fb7185,color:#fff

Cada fila registra la marca de tiempo, el usuario + agente actor, la acción, la operación, la memoria objetivo, la fuente (http vs mcp) y el hash de la fila anterior. Cambia cualquier registro histórico y verify_chain() señala exactamente dónde se rompió la cadena.

root@kitploit:~
GET  /audit            # navegar por el registro (filtrar por usuario / acción / operación)
GET  /audit/verify     # verificar criptográficamente que la cadena no ha sido manipulada
POST /audit/prune      # limpieza basada en retención (mínimo 90 días, nunca menos)

El registro de auditoría es fail-open — nunca bloquea una operación de memoria — y los eventos de lectura/listado del bucle de renderizado del panel están excluidos, para que el registro contenga señal, no ruido.


👥 Pools de Memoria de Equipo

Dale a los agentes de todo un equipo un cerebro compartido — sin filtrar el contexto privado de nadie. Los recuerdos son compartidos (visibles para el pool) o privados (visibles solo para su dueño).

root@kitploit:~
flowchart TB
    P(("🧠 Pool del Equipo<br/>memoria compartida"))
    A["Agente de Alicia"] <-->|compartido| P
    B["Agente de Bob"] <-->|compartido| P
    C["Agente de Carol"] <-->|compartido| P
    A -. privado .-> AP["🔒 Solo Alicia"]
    B -. privado .-> BP["🔒 Solo Bob"]
    style P fill:#0a2540,stroke:#19cdff,color:#fff
    style AP fill:#0c1424,stroke:#5a6b80,color:#8294a8
    style BP fill:#0c1424,stroke:#5a6b80,color:#8294a8

El acceso basado en roles se aplica por agente — lo que aprende el agente de un ingeniero, todo el equipo se beneficia de inmediato; el contexto sensible permanece limitado a su dueño.

root@kitploit:~
POST   /pools                          # crear un pool
POST   /pools/{id}/members             # añadir un miembro (con rol)
POST   /pools/{id}/memories            # contribuir con una memoria compartida
POST   /pools/{id}/retrieve            # recuperar en todo el pool

🛡️ Derechos de Datos y Cumplimiento

Porque la memoria que almacena datos reales necesita los controles para ser confiable:

Combinado con la pista de auditoría encadenada por hash y el mínimo de 90 días de retención, esto se asigna directamente a los controles documentados en SECURITY.md (alineado con SOC 2).


🎛️ Paneles de Control

Dos interfaces de usuario integradas en el navegador — sin configuración adicional, se inician automáticamente con el servidor.

Panel de Memoria — http://localhost:3033/ui

Una vista completa de lectura/escritura con pestañas Memorias · Auditoría · Pools: barra de estadísticas (Fuerte / Desvaneciéndose / Cerca de poda), pestañas por agente, tarjetas de memoria con barras de fuerza en vivo, filtros por categoría, el registro de auditoría y gestión de pools.

Visualizador de Grafos — http://localhost:3033/graph

Un mapa interactivo basado en fuerzas de cómo se conectan los recuerdos — memoria raíz como un nodo brillante, vecinos codificados por colores según la categoría, grosor de arista = fuerza de conexión. Arrastra, acerca y haz clic en cualquier nodo para ver el contenido completo.

root@kitploit:~
http://localhost:3033/graph?memoryId=42&userId=alex&depth=2

🔧 Herramientas MCP

Tres herramientas, llamadas por tu IA automáticamente.

root@kitploit:~
# Almacenar con contexto espacial
store_memory(
    "Alex prefiere tabs sobre espacios en Python",
    importance=0.9, category="fact",
    context_paths=["/projects/backend"],
)

# Próxima sesión — el refuerzo espacial se activa al trabajar en ese directorio
recall_memory("formato Python", current_path="/projects/backend")
# → {"content": "Alex prefiere tabs sobre espacios en Python", "strength": 0.87}

⚡ Preguntar sin Llamar a un LLM

El único sistema de memoria que puede responder preguntas sin hacer ninguna llamada a la API de un LLM:

root@kitploit:~
yourmemory ask "qué base de datos usa este proyecto"
# → YourMemory usa DuckDB localmente y Postgres en producción.

yourmemory ask "cómo arreglo un despliegue de kubernetes"
# → No hay suficiente contexto de memoria para responder sin un LLM.

Cuando la memoria es lo suficientemente fuerte, responde al instante — cero tokens, cero coste de nube, cero latencia. Cuando no lo es, declina limpiamente en lugar de alucinar. Tu consulta nunca sale de tu máquina.


🔀 Proxy de API — Memoria Garantizada

Las herramientas MCP se llaman a discreción de la IA. El proxy de API elimina esa incertidumbre — intercepta cada llamada al LLM, inyecta recuerdos relevantes automáticamente y maneja store_memory / update_memory sin configuración de modelo.

Inicia el servidor (yourmemory), luego apunta tu cliente a localhost:3033:

root@kitploit:~
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-ant-...",
    base_url="http://localhost:3033/proxy/anthropic",
    default_headers={"X-YourMemory-User": "alex"},  # memoria por usuario
)

# La memoria se inyecta automáticamente — no se necesitan otros cambios
response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "¿Qué base de datos uso?"}],
)

OpenAI funciona de manera idéntica mediante base_url="http://localhost:3033/proxy/openai".


🏗️ Arquitectura y Stack

root@kitploit:~
flowchart LR
    C["Tu cliente de IA<br/>Claude · Cursor · cualquier MCP"] <--> Y["🧠 YourMemory"]
    Y --> M[("Almacén de<br/>memoria")]
    Y --> A[("Libro contable<br/>de auditoría")]
    style Y fill:#0a2540,stroke:#19cdff,color:#fff
    style M fill:#0c1a2c,stroke:#5eead4,color:#fff
    style A fill:#0c1a2c,stroke:#5eead4,color:#fff

🩺 Solución de Problemas

Las escrituras se cuelgan / agotan el tiempo de espera (bloqueo de escritor único de DuckDB). Si tanto el servidor MCP como el servidor HTTP se ejecutan a la vez, compiten por el bloqueo de escritura de DuckDB. Solución:

root@kitploit:~
pkill -f yourmemory 2>/dev/null || true
rm -f ~/.yourmemory/memories.duckdb.wal ~/.yourmemory/memories.duckdb.lock 2>/dev/null || true
# reinicia tu cliente

¿Ejecutas Claude Desktop (MCP) y Claude Code (hooks) simultáneamente? Usa SQLite en su lugar — maneja lectores/escritores concurrentes limpiamente: DATABASE_URL=sqlite:///~/.yourmemory/memories.db


🤝 Contribuir

Las PRs son bienvenidas — consulta CONTRIBUTORS.md.

📚 Referencias de Conjuntos de Datos

  • LoCoMo — Maharana et al. (2024)
  • LongMemEval — Wu et al. (2024)
  • HotpotQA — Yang et al. (2018)

📄 Licencia

Copyright 2026 Sachit Misra — Licenciado bajo CC-BY-NC-4.0.

Gratuito para uso personal, educativo, investigación académica y proyectos de código abierto. Uso comercial requiere un acuerdo por escrito separado → [email protected]


Dale a tu IA una memoria que valga la pena conservar.
pip install yourmemory
Descargar herramienta
CaracterísticaQué hace
🧠ConsolidaciónCuando se acumulan suficientes hechos relacionados, se comprimen en un resumen limpio y los originales se archivan. La memoria se vuelve más nítida con el tiempo, no más hinchada.
📉Decaimiento biológicoCada memoria envejece según una curva de olvido de Ebbinghaus. Los hechos obsoletos y no usados se desvanecen; los importantes y recordados con frecuencia persisten.
🔗Grafo de entidadesLos recuerdos se enlazan por personas, lugares y conceptos compartidos — así la recuperación saca a la luz lo que olvidaste pedir.
♻️Sobrevive a reinicios de contextoCuando la ventana de contexto se compacta, YourMemory devuelve el contexto de trabajo — sin necesidad de releer archivos para saber dónde estabas.
🔒Pista de auditoría a prueba de manipulacionesCada lectura/escritura/eliminación se registra en un libro contable encadenado por hash. Altera un registro y la cadena se rompe.
👥Pools de memoria de equipoMemoria compartida basada en roles, para que los agentes de todo un equipo se basen en el mismo conocimiento institucional — con recuerdos privados mantenidos en privado.
🛡️Derechos de datos integradosExportación con un solo comando (derecho de acceso) y derecho al olvido (purga), además de controles alineados con SOC 2.
🔌Nativo MCP y local-firstFunciona con Claude, Cursor, Cline, Windsurf o cualquier cliente MCP. Se ejecuta completamente en tu máquina — sin clave API, nada sale de tu sistema.
Linux (x86-64)yourmemory-linux-x86_64.tar.gz
Windows (x86-64)yourmemory-windows-x86_64.exe.zip
CategoríaVida mediaMejor para
estrategia~38 díasPatrones que funcionaron, decisiones arquitectónicas
hecho~24 díasPreferencias, identidad, conocimiento estable
suposición~19 díasContexto inferido, creencias inciertas
fallo~11 díasErrores, enfoques incorrectos, problemas específicos del entorno
DerechoEndpointQué hace
Acceso (exportación DSAR)GET /users/{id}/exportExportación completa de todo lo almacenado para un usuario
Supresión (derecho al olvido)DELETE /users/{id}/memoriesPurga con un solo comando de los recuerdos de un usuario
PortabilidadPOST /users/{id}/importReimportar una exportación anterior
RecuperabilidadGET /users/{id}/archiveRecuperar originales consolidados
HerramientaCuando tu IA la llamaQué hace
recall_memory(query, current_path?)Al inicio de cada tareaRecupera recuerdos ordenados por similitud × fuerza de decaimiento; refuerzo espacial para recuerdos que coinciden con la ruta
store_memory(content, importance, category?, context_paths?)Después de aprender algo nuevoIncrusta, deduplica, almacena con decaimiento; etiqueta rutas de archivo/directorio opcionales
update_memory(id, new_content, importance)Cuando un hecho almacenado está desactualizadoReincrusta y reemplaza; registra el cambio en la pista de auditoría
ComponenteRol
DuckDBAlmacén vectorial por defecto — cero configuración, similitud coseno nativa
PostgreSQL + pgvectorOpcional — para equipos o grandes conjuntos de datos
NetworkXBackend de grafo por defecto (~/.yourmemory/graph.pkl)
Neo4jBackend de grafo opcional
sentence-transformersIncrustaciones locales (multi-qa-mpnet-base-dot-v1, 768 dims)
spaCyPLN local para deduplicación y extracción de entidades
APSchedulerDecaimiento + poda automáticos