lore
lore
Búsqueda semántica en tus conversaciones de Claude Code. Encuentra cualquier cosa que hayas discutido, en todos los proyectos, todas las sesiones y cualquier rama.
Características
Búsqueda híbrida (vectorial + palabras clave) Combina embeddings de multilingual-e5-small con FTS5/BM25 mediante Reciprocal Rank Fusion. Encuentra resultados por significado y por términos exactos.
Totalmente local, sin claves API Todo se ejecuta en tu máquina. ONNX Runtime para embeddings, sqlite-vec para almacenamiento. Ningún dato sale de tu dispositivo.
Auto-indexación al finalizar la sesión Un hook de SessionEnd indexa automáticamente todas las sesiones nuevas en segundo plano. No se necesitan activadores manuales.
Indexación en segundo plano Los activadores de indexación manual responden al instante. Supervisa el progreso mientras sigues trabajando. Busca lo que ya está indexado mientras el resto se procesa.
Exclusión voluntaria por defecto Todos los proyectos se indexan automáticamente. Excluye los que no desees. No se requiere registro.
Fragmentación consciente de la conversación Divide por turnos lógicos (pregunta del usuario + cadena completa de respuesta del asistente), no por ventanas de tokens arbitrarias. Maneja correctamente las cadenas de uso de herramientas, bloques de pensamiento e interacciones de varios pasos.
Más de 100 idiomas Coreano, japonés, chino, inglés y más de 90 adicionales. Estimación de tokens consciente de CJK para una fragmentación precisa.
Inicio rápido
Añadir a Claude Code
# No install needed — always runs latest version
claude mcp add -s user lore -- npx getlore
# Or for a single project only
claude mcp add -s project lore -- npx getloreAñadir a OpenAI Codex CLI
# No install needed
codex mcp add lore -- npx getlorenpm install -g getlore
# Then register with your tool:
claude mcp add -s user lore -- getlore # Claude Code
codex mcp add lore -- getlore # Codex CLI
# Manage your install:
getlore --version # Check installed version
getlore update # Update to latestUso
Una vez conectado, la IA puede usar las herramientas de lore directamente:
You: "What did we discuss about auth refactoring last week?"
Claude: [calls lore search] Found 3 relevant conversations...
In your "my-webapp" project on March 15, you decided to...Configuración inicial:
Indexar --
index()escanea todos los proyectos automáticamente, se ejecuta en segundo planoBuscar -- pregunta cualquier cosa sobre conversaciones pasadas
Excluir (opcional) -- oculta proyectos ruidosos que no te interesan
Herramientas
Herramienta | Propósito |
| Excluir/incluir proyectos de la indexación (modelo de exclusión voluntaria) |
| Iniciar indexación en segundo plano. Todos los proyectos no excluidos. Modos: |
| Comprobar progreso de indexación, tiempo estimado, razones de omisión, estado de la BD |
| Búsqueda semántica + palabras clave en las conversaciones |
| Ampliar resultados de búsqueda con la conversación circundante |
| Explorar sesiones indexadas por proyecto |
Por qué existe esto
Claude Code almacena cada conversación como una transcripción JSONL en ~/.claude/projects/. Después de unas semanas, tienes cientos de sesiones en docenas de proyectos: discusiones sobre decisiones de arquitectura, sesiones de depuración, revisiones de código y exploraciones de diseño.
Pero no hay forma de buscarlas. No puedes preguntar "¿qué enfoque tomamos para el middleware de autenticación?" o "¿qué proyecto tuvo esa discusión sobre la migración de base de datos?".
Las herramientas existentes requieren APIs en la nube, generan procesos zombis o tratan las conversaciones como documentos genéricos. lore está diseñado específicamente para las sesiones de Claude Code: entiende los límites de los turnos, las cadenas de uso de herramientas y los bloques de pensamiento. Se ejecuta completamente local sin dependencias más allá de Node.js.
Cómo funciona
~/.claude/projects/*/*.jsonl
|
JSONL Parser (extracts user/assistant messages, skips noise)
|
Turn-pair Chunker (groups by logical conversation turns)
|
Transformers.js (multilingual-e5-small, INT8 quantized, 384d)
|
sqlite-vec + FTS5 (hybrid vector + keyword storage)
|
Reciprocal Rank Fusion (combines both signals for ranking)Almacenamiento: Un único archivo SQLite en ~/.lore/lore.db con modo WAL para lecturas concurrentes.
Configuración: Exclusiones de proyectos almacenadas en ~/.lore/config.json.
Variables de entorno
Variable | Por defecto | Descripción |
|
| Directorio de datos |
|
| Ruta de la base de datos |
|
| Ubicación de las transcripciones de Claude Code |
Medido en Apple Silicon (serie M):
Métrica | Valor |
Latencia de búsqueda | 20-30ms |
Velocidad de indexación | ~10 sesiones/seg |
Primera búsqueda (carga de modelo en frío) | ~5s |
Tamaño de BD | ~0.1MB por cada 10 sesiones |
Tamaño del modelo (descargado una vez) | ~112MB |
"No sessions found"
Ejecuta manage_projects con la acción list para ver los proyectos disponibles. Todos se indexan por defecto a menos que se excluyan.
Archivo de bloqueo obsoleto
Si la indexación se interrumpió, el archivo de bloqueo se limpia automáticamente en la siguiente ejecución (detección basada en PID).
Corrupción de BD
Elimina ~/.lore/lore.db y vuelve a indexar. Tus datos de origen (~/.claude/projects/) nunca se modifican.
Desarrollo
git clone https://github.com/hyunjae-labs/lore.git
cd lore
npm install
npm run build
npm test # 118 testsStack tecnológico
Model Context Protocol SDK -- transporte stdio
@huggingface/transformers -- multilingual-e5-small (INT8)
better-sqlite3 + sqlite-vec -- base de datos vectorial embebida
Reciprocal Rank Fusion -- ranking de búsqueda híbrida
Licencia
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hyunjae-labs/lore'
If you have feedback or need assistance with the MCP directory API, please join our Discord server