ModelDock¶
Why ModelDock?¶
Local LLMs are powerful, but managing them is painful. ModelDock eliminates the friction of discovering, downloading, organizing, and loading models — so you can focus on building.
Python-First API¶
One line to load a model. No terminal commands, no searching model names, no repetitive downloads.
Auto-Install If Missing¶
load() checks if the model is installed, downloads it if not, verifies integrity, and returns a ready-to-use client.
Searchable Registry¶
Browse models, categories, capabilities, and sizes without leaving Python. Dynamic catalog scraped from ollama.com.
Bulk Installation¶
Install entire categories of models at once. Set up your coding workspace in one command.
Smart Caching¶
Never re-download installed models. Content-addressed offline cache with 24-hour TTL.
Extensible Runtimes¶
Ollama ships first. LM Studio, llama.cpp, Jan AI, GPT4All, vLLM are drop-in adapters.
Architecture at a Glance¶
ModelDock follows Clean Architecture with SOLID principles. Dependencies point inward — the domain and ports layers are pure, concrete runtimes are adapters.
Interface: modeldock/__init__.py (SDK) + modeldock/cli (Typer)
Application: modeldock/core/ (services, LifecycleOrchestrator, ModelManager)
Domain: modeldock/domain/ (pure entities, no I/O)
Ports: modeldock/ports/ (typing.Protocol interfaces)
Adapters: modeldock/adapters/ (runtimes, registry, downloaders, cache, progress)
Common: modeldock/common/ (config, logging, platform, http, errors)
Quick Example¶
Supported Runtimes¶
| Runtime | Status | Notes |
|---|---|---|
| Ollama | :material-check-circle:{ style="color: #4caf50" } Shipped | First runtime, fully supported |
| LM Studio | :material-clock-outline:{ style="color: #ff9800" } Planned | Drop-in adapter |
| llama.cpp | :material-clock-outline:{ style="color: #ff9800" } Planned | Drop-in adapter |
| Jan AI | :material-clock-outline:{ style="color: #ff9800" } Planned | Drop-in adapter |
| GPT4All | :material-clock-outline:{ style="color: #ff9800" } Planned | Drop-in adapter |
| vLLM | :material-clock-outline:{ style="color: #ff9800" } Planned | Drop-in adapter |
Install¶
Requires Python 3.9+ and a local Ollama install for the first runtime.
ModelDock is created and maintained by Himanshu kumar (OpenAgentHQ).
Licensed under MIT.
