¿Y si pudieras hablar con un LLM usando solo cat y echo? Sin SDKs, sin JSON, sin gestión de tokens de autenticación dispersos por el código. Solo operaciones de archivo estándar de Unix. Eso es exactamente lo que propone llm9p, un proyecto open source desarrollado por NERVsystems que expone modelos de lenguaje como un sistema de archivos virtual.
La premisa viene de uno de los sistemas operativos más influyentes de la historia: Plan 9 de Bell Labs, que popularizó el protocolo 9P — un protocolo ligero orientado a mensajes que trata cualquier recurso como archivos accesibles con operaciones estándar.
¿Cómo funciona llm9p?
llm9p monta un sistema de archivos virtual donde cada archivo representa una dimensión de la interacción con el modelo:
- Escritura en un archivo → envía un prompt al LLM.
- Lectura de un archivo → recibe la respuesta en streaming.
- Archivos de configuración → controlan parámetros como modelo, temperatura y system prompt.
- Archivos de historial → gestionan la persistencia de contexto y el estado de la conversación.
En la práctica, una sesión con un LLM puede verse así desde el terminal:
echo "¿Qué métricas debo revisar en mi MRR?" > /mnt/llm/prompt
cat /mnt/llm/responseSin librerías. Sin configuración de clientes HTTP. Sin gestión de autenticación en el código de la aplicación. Solo operaciones de archivo que cualquier herramienta Unix ya sabe hacer.
Backends soportados
En su estado actual, llm9p ofrece soporte para:
- API de Anthropic: integración directa con los modelos Claude mediante clave de API.
- Claude Code CLI: interacción con Claude a través de la interfaz de línea de comandos oficial.
- LLMs locales (en desarrollo): integración planificada con Ollama para modelos que corren completamente on-premise, sin dependencia de APIs externas.
La inclusión de modelos locales es especialmente relevante para equipos que trabajan con datos sensibles o que buscan reducir costos operativos de inferencia a escala.
Casos de uso que cambian el flujo de trabajo
La elegancia del enfoque abre tres casos de uso particularmente interesantes:
Automatización con Unix pipelines: cualquier script de shell puede incluir llamadas a un LLM sin importar librerías. Esto permite integrar IA en pipelines de CI/CD, procesamiento de logs, generación de reportes o análisis de datos con comandos simples. Para founders que construyen automatizaciones internas, esto reduce drásticamente la fricción de integración.
Agentes con estado persistente: la persistencia de contexto mediante archivos de historial permite construir agentes que mantienen el estado de la conversación entre ejecuciones. Con APIs HTTP estándar, esto requiere gestión manual de arrays de mensajes y serialización de estado. Con llm9p, el sistema de archivos lo maneja.
Compatibilidad universal: el protocolo 9P tiene soporte nativo en el kernel de Linux (v9fs), en Plan 9 y en Inferno OS. Cualquier entorno Unix puede montar el sistema de archivos de llm9p, lo que lo hace portable sin dependencias adicionales.
Por qué importa
llm9p es parte de una tendencia más amplia: la integración de IA directamente en el sistema operativo como una primitiva más, no como una capa adicional que hay que gestionar. Otros proyectos como los agentes con memoria persistente sin vector databases apuntan en la misma dirección: reducir la complejidad de infraestructura necesaria para hacer que la IA funcione en producción.
Para los desarrolladores que trabajan en entornos Unix y quieren incorporar capacidades de IA sin acumular deuda de dependencias, llm9p ofrece una abstracción elegante. No es para todos los casos de uso, pero para pipelines de automatización y scripting, la simplicidad tiene un valor que los ecosistemas de SDKs tienden a ignorar.
El proyecto está en desarrollo activo. La adición de soporte para Ollama lo haría especialmente relevante para equipos que ya corren modelos locales como alternativa a las APIs comerciales.

