Por qué IA local
Las motivaciones detrás de correr recuperación e inferencia en tu propia máquina.
Los servicios de chat hosteados son geniales, hasta que el contexto es privado. Notas personales, un repo privado, una spec no publicada — estas son las cosas que no pegarías en un chatbot público, y son exactamente para lo que LocalLens fue construido.
Optimiza por cuatro cosas.
1. Los archivos nunca dejan la máquina
QVAC carga los modelos de chat y embedding localmente y los corre en tu proceso. Descubrimiento, chunking, embedding, recuperación, prompting, completion — cada paso ocurre en tu hardware. Nada se sube.
2. Las respuestas se mantienen fundamentadas
El builder de prompts en src/rag.ts
le dice al modelo que responda solo desde los chunks recuperados.
Si la respuesta no está ahí, el modelo lo dice. Las citas con
corchetes como [1] y [2] apuntan de vuelta al chunk exacto del
que vino una afirmación.
Esto es una decisión técnica, no estética. Los prompts fundamentados cortan el modo de falla "seguro y equivocado" que pega a los asistentes generales cuando los apuntas a contenido especializado.
3. Cloud-opcional
Desconecta la red y LocalLens sigue funcionando. La CLI y la UI del navegador corren offline. El único tráfico de red es la descarga inicial de modelos, y QVAC la cachea a disco.
Si después quieres compartir un cerebro con un compañero, puedes — pero esa es una elección que haces en código, no un default que manda datos afuera a tus espaldas.
4. Suficientemente pequeño para leerse
Ocho archivos TypeScript en src/. Puedes leer todo el codebase en
una tarde y extenderlo sin aprender un framework nuevo. Sin sistema
de plugins, sin interfaz abstracta de repositorio, sin contenedor de
DI — ninguno de esos es un cuello de botella real a este tamaño.
Hasta dónde esto deja de ser suficiente
LocalLens no es un sistema de gestión documental para producción. Es una referencia deliberadamente pequeña. Si necesitas permisos, acceso multiusuario, o un backup-and-restore decente, te quedará chico — y está bien. El punto es darte una línea de salida clara.
Lectura adicional
- Documentación de QVAC — el SDK que hace el trabajo pesado.
- Documentación de Bun — el runtime sobre el que se asienta LocalLens.