Un chat local-first sobre tus archivos, sin la nube

LocalLens convierte cualquier carpeta en un brain privado. Haces preguntas, recibes respuestas con citas — todo en tu máquina. Construido con Bun, TypeScript y el SDK de QVAC.

bun run cli examples/sample-brain "your question"

Brain de ejemplo

12 archivos · indexados localmente

listo
Pregúntale a este brain sobre sus archivos locales

Todo el loop, en ocho archivos TypeScript

Descubrimiento de archivos, chunking, retrieval, prompts, completion, persistencia y dos puntos de entrada. Lo bastante pequeño para enseñarlo, lo bastante completo para extenderlo.

Descubrimiento de archivos

Recorre cualquier carpeta, filtra por extensiones seguras, ignora cachés y lockdirs, y normaliza las rutas para el file picker del navegador.

RAG local

QVAC ragChunk + ragIngest + ragSearch hacen retrieval con grounding — sin vector database en la nube, sin API keys.

Inferencia en el dispositivo

QWEN3 1.7B (Q4) para el chat, GTE-Large FP16 para embeddings. Incluye un fallback de 600M para máquinas más modestas.

Respuestas con citas

Cada respuesta trae citas entre corchetes que apuntan al chunk exacto del archivo original.

Almacenamiento en JSON

Los brains y los chunks viven en .locallens/store.json. Los inspeccionas con cat, los respaldas con cp y los comparas con git diff.

CLI + navegador

Dos puntos de entrada sobre el mismo core. Pruebas la pipeline en la terminal y luego la sirves con Bun.serve para tener UI real.

IA local por diseño

Los archivos no salen de tu máquina

QVAC corre los modelos localmente. La ingesta y la búsqueda pasan en proceso — ningún documento se sube a ningún lado.

Respuestas con grounding

El prompt builder obliga al modelo a citar los chunks recuperados o a decir abiertamente que no sabe. Sin rutas inventadas.

Cloud opcional

Desconectas la red y LocalLens sigue funcionando. Más adelante puedes abrir un túnel si quieres compartir un brain con alguien.

Lo suficientemente pequeño para leerlo

Ocho archivos TypeScript en src/, divididos por responsabilidad. Te lees todo el código en una tarde.

Construido con Bun, TypeScript y QVAC · Licencia MIT