What NobodyWho Is
NobodyWho is an open-source inference engine that lets you run large language models locally and offline on virtually any device. It is built on top of llama.cpp for text, vision, embeddings, and reranking, and ONNX Runtime for speech-to-text, text-to-speech, and voice activity detection. There are no API keys, no hidden fees, and no cloud dependency.
Key Capabilities
- Local, offline inference — run chat LLMs such as Gemma, Qwen, and Mistral entirely on-device.
- Type-safe tool calling — structured grammars are generated automatically from your function signatures, so you do not need to write schemas by hand.
- Multimodal input — pass image and audio information to your model.
- Speech features — text-to-speech via Kokoro, Pocket TTS, and Supertonic backends; speech-to-text with Whisper; and voice activity detection with Silero.
- Model downloading — load models directly from Hugging Face or any HTTPS URL, with automatic caching.
- GPU acceleration — Vulkan and Metal support, with automatic CPU fallback and layer offloading based on free VRAM.
Supported Platforms and Bindings
NobodyWho ships official bindings for Kotlin (Maven Central), Swift (SPM), React Native / Expo (npm), Flutter (pub.dev), Python (PyPI), and Godot (AssetLib). Desktop covers Linux, macOS, and Windows. Mobile targets include Android, iOS, visionOS, and watchOS. A few known gaps: Godot has no iOS export, Windows ARM64 is not supported, and there is no web export yet.
Models and Requirements
Any model in GGUF format works. You can reference a model with hf:owner/repo:QUANT, an HTTPS URL, or a local path, and pass "auto" to fit a model to available memory. As a rule of thumb, a device needs roughly twice the model file size in available RAM. Small models under 1 GB run smoothly on most phones; Qwen3 0.6B at around 330 MB is a good starting point.
Getting Started
pip install nobodywho
from nobodywho import Chat
chat = Chat('hf:NobodyWho/Qwen_Qwen3-0.6B-GGUF:Q4_K_M')
response = chat.ask('What is the capital of Denmark?')
print(response.completed())An experimental local server implementing the OpenAI Chat Completions API is also available for desktop use.
Licensing
NobodyWho is licensed under EUPL-1.2. You may use it in proprietary and commercial projects free of charge; if you distribute modified versions of the code, those changes must be open sourced.

