A Windows desktop AI chat client for OpenRouter — manage conversations, browse models, and work with streaming chat completions in a clean, distraction-free interface.
- Overview
- Key Features
- Quick Start
- Usage
- Project Structure
- Tech Stack
- Building from Source
- Contributing
- License
ModelDocker is a native Windows desktop application that provides a polished interface for chatting with AI models hosted on OpenRouter. It handles streaming completions, multi-session conversation management, model browsing with capability hints, and theme customization — all stored locally with no cloud dependency.
- OpenRouter desktop client with streaming chat completions
- Model browser with search, capability hints, pricing, and context information
- Multi-session history — conversations can be reopened, renamed, or deleted
- Power-user composer with model filters, temperature control, attachments, image actions, and video actions where supported
- Dark and light themes with settings saved locally
- Local conversation storage under
%USERPROFILE%\.modeldocker\ - Role and memory management for persistent context across sessions
- Download ModelDocker.exe.
- Double-click the executable.
- Paste your OpenRouter API key when prompted.
- Pick a model and start chatting.
git clone https://github.com/Skynet-Pro-Plus/modeldocker.git
cd modeldocker
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python main.py- Launch ModelDocker.
- Enter your OpenRouter API key (stored securely via
keyring). - Browse available models using the model browser — filter by capabilities and pricing.
- Start a new conversation, choose a model, and send a message.
- Use the session panel to manage conversation history.
modeldocker/
├── main.py # Application entry point
├── launch.pyw # Windowed launcher
├── openrouter_client.py # OpenRouter API client
├── memory_store.py # Conversation memory storage
├── role_store.py # Role/prompt template management
├── requirements.txt # Runtime dependencies
├── requirements-build.txt # Build dependencies (PyInstaller)
├── ModelDocker.spec # PyInstaller spec file
├── build_onefile.ps1 # Build script for single-file EXE
├── resources/ # Icons, fonts, and static assets
└── dist/ # Built executables
- Language: Python 3.10+
- GUI Framework: PySide6 (Qt 6)
- HTTP Client: httpx
- Credential Storage: keyring
- Packaging: PyInstaller (single-file Windows EXE)
# Install build dependencies
pip install -r requirements-build.txt
# Build single-file executable
.\build_onefile.ps1
# Output
# dist/ModelDocker.exe- Fork the repository.
- Create a feature branch (
git checkout -b feature/your-feature). - Commit your changes (
git commit -m 'Add your feature'). - Push to the branch (
git push origin feature/your-feature). - Open a Pull Request.
See CONTRIBUTING.md for additional guidelines.
This project is licensed under the MIT License.
