Promotion turns possibility into obligation.
Intent opens a possibility space. Only relevant work is promoted into explicit obligations; what was merely considered can remain “checked, not bound.”
Ollmo
Ollmo is a state-native runtime for local AI. A model can say “done”; Ollmo records what the runtime can prove happened: which outputs exist, which work remains open, and why. Runtime results become inspectable artifacts and continuable runtime state.
Local by default. Use compatible models through Ollama, MLX, or llama.cpp. Backend packages and model weights are installed separately.
Inside a durable response
An Ollmo response can hold the current intent, a graph of connected work, the evidence behind each branch, the outputs that actually exist, and what remains open. The visible reply is only one view of that state.
Intent opens a possibility space. Only relevant work is promoted into explicit obligations; what was merely considered can remain “checked, not bound.”
Required outputs, branches, dependencies, artifacts, and open state stay connected instead of being flattened into one stream of prose.
At a recorded boundary, Ollmo preserves what is fulfilled, blocked, or still open. Runtime evidence is reviewed before the frame can honestly report completion.
One response, opened up
Ask for one webpage with three different local images. Ollmo can represent that request as four required artifacts linked by dependencies instead of flattening it into a single answer.
Completion still has to be earned. An image prompt is not an image. A code block is not a saved webpage. A placeholder link is not a finished result.
“Create a webpage with three different local images.”
One webpage branch, three local image branches, and the dependencies needed to bind their saved paths.
Each branch produces a concrete saved artifact or remains visibly open with a reason.
Ollmo checks each required output and link against runtime evidence and, where needed, reviews whether the finished set still fits the current intent before the frame can report fulfillment.
All four artifacts satisfy their branch contracts, exist as saved outputs, and their links resolve.
The runtime underneath
Ollmo connects compatible local backends, supported media capabilities, durable artifacts, and canonical Responses endpoints so work can be executed, inspected, and continued.
Run Ollama, MLX, and llama.cpp side by side from one control plane – including multiple instances of the same model. Pull compatible models, add Hugging Face repositories or local GGUF files, remove local copies, and start or stop each instance independently.
Route text and image generation, voice input and transcription, text-to-speech, vision, and OCR work to compatible local capabilities, then keep saved results as previewable artifacts.
Inspect outputs and response state, open compatible link-checked bundles, revisit saved work, or connect through canonical Responses endpoints.
Third-party providers. Ollmo can optionally use an explicitly enabled third-party provider (currently ChatGPT), directly or through Ollmo's routing. For those turns, the current prompt, only the context Ollmo promotes as relevant, and any explicitly selected files or Ollmo artifacts leave your device and are processed by that provider – by OpenAI for the current ChatGPT integration. Ollmo also offers an optional companion skill that helps ChatGPT inspect runtime truth, work with canonical outputs, and execute requests through Ollmo. Local operation does not depend on either.
Local setup
Ollmo itself can start before a backend or model is available. Local inference needs one supported runtime and at least one compatible model; neither the runtime nor its model weights are bundled.
Install Ollama, MLX, or llama.cpp using that project's own setup.
Add or select at least one model the chosen runtime can actually run. After Ollmo starts, its Models view can manage compatible models and instances.
From the repository checkout, create the Python environment, install the requirements, and launch Ollmo.
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
./ollmo start