Years after this blog spent a whole lab series porting Inferno OS to a Raspberry Pi, someone just applied the same “everything is a file” philosophy to language models. llm9p exposes an LLM as a 9P filesystem: write a prompt to ask, read the response back. Model, temperature, and system prompt are just files too, and conversation state persists until you reset it.
What makes it genuinely Plan 9-flavored: it mounts through plan9port’s 9pfuse, Linux’s native 9P kernel module, or — best of all — Infernode, a hosted Inferno OS. No SDK, no API client, just files and pipes.
Backends are pluggable (Anthropic’s API today, Claude Code CLI, Ollama planned), and it streams responses incrementally through a stream/ directory.