Self-hosted inference server that serves embedding, reranking, OCR, extraction, safety and LLM models from one cluster through an OpenAI-compatible API.
Michael-A-Kuykendall/shimmy
A single-binary, pure-Rust inference server that runs GGUF models on any GPU through WebGPU and exposes an OpenAI-compatible API.
- Stars
- 5,988
- Forks
- 587
- Open issues
- 10
- Last commit
- 4 days ago
What is it?
Shimmy is a local inference server for GGUF models that exposes OpenAI-compatible endpoints, so existing tools and SDKs can point at it without code changes. It ships as a single binary and does not need a Python runtime or a C++ toolchain.
Under the hood, Shimmy runs on Airframe, a Rust transformer engine that executes WGSL compute shaders through WebGPU. This targets NVIDIA, AMD and Intel GPUs, integrated graphics and Apple Silicon. The project lists 26 model and quantization combinations across 12 families, including Llama, Qwen, Phi, Gemma and DeepSeek-R1 distills, each passing its own certification checks.
Other notable capabilities include an INT4 KV cache option (TurboShimmy) to reduce memory use, YaRN RoPE scaling for longer context via the SHIMMY_MAX_CTX variable, and deterministic output for the same model, seed and parameters.
Key features
- 01Serves chat completions, text completions, streaming and model listing over OpenAI-style endpoints.
- 02Loads GGUF models directly, with model specs derived from GGUF metadata.
- 03Runs on WebGPU across NVIDIA, AMD, Intel and Apple GPUs without backend flags.
- 04Offers an INT4 KV cache option to reduce memory use on smaller GPUs.
- 05Supports YaRN RoPE scaling for extended context windows.
- 06Provides a CLI for serving and listing models.
Use cases
- Running a private, offline chat backend for tools that already speak the OpenAI API.
- Serving small quantized models on a consumer GPU laptop or desktop.
- Deploying a self-contained inference binary without a Python or C++ build environment.
- Testing applications against a local OpenAI-compatible endpoint.
Quick start
- 1
Install Shimmy with Cargo
cargo install shimmy --locked - 2
Start the server with a local GGUF model file
shimmy serve --model-path /absolute/path/to/model.gguf --bind 127.0.0.1:11435
Things to know
- Only GGUF models are fully supported for native inference; SafeTensors inference is still roadmap work.
- The README lists 26 certified model and quantization combinations, so other models may not be certified.
- The README says MIT licensed while the metadata says Apache-2.0, so check the LICENSE file before relying on it.
Topics
FAQ
- What is shimmy?
- A single-binary, pure-Rust inference server that runs GGUF models on any GPU through WebGPU and exposes an OpenAI-compatible API. Shimmy is a local inference server for GGUF models that exposes OpenAI-compatible endpoints, so existing tools and SDKs can point at it without code changes. It ships as a single binary and does not need a Python runtime or a C++ toolchain.
- Is shimmy free to use? What license does it have?
- shimmy is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is shimmy still maintained?
- Actively maintained. The last commit to shimmy was on Oct 19, 2026.
- What can I use shimmy for?
- Running a private, offline chat backend for tools that already speak the OpenAI API. Serving small quantized models on a consumer GPU laptop or desktop. Deploying a self-contained inference binary without a Python or C++ build environment. Testing applications against a local OpenAI-compatible endpoint.
- How do I install shimmy?
- Install Shimmy with Cargo: cargo install shimmy --locked Start the server with a local GGUF model file: shimmy serve --model-path /absolute/path/to/model.gguf --bind 127.0.0.1:11435
- Where can I get shimmy?
- The source code and installation instructions are on GitHub: https://github.com/Michael-A-Kuykendall/shimmy
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source agentic API server that exposes OpenAI-compatible endpoints and routes requests to any model or backend.
Distributes and runs open LLMs as a single executable file that works across most operating systems and CPU architectures without installation.
Rust-based LLM inference engine serving OpenAI- and Anthropic-compatible APIs, with quantization, multimodal models, and agent tooling.
A narrow native inference engine for running DeepSeek V4 Flash and other selected large models on consumer Metal, CUDA and ROCm hardware.
React Native binding of llama.cpp for running GGUF LLMs on-device in iOS and Android apps.