Michael-A-Kuykendall/shimmy

⚡ Pure-Rust WebGPU inference engine — OpenAI-API compatible, GGUF native, runs on any GPU. No Python. No llama.cpp. Single binary.

Rust

5,967

196 commits

updated Aug 30, 2026

See the code

README

Shimmy Logo

Shimmy — Local Inference, OpenAI-Compatible

🔒 The 5MB alternative to Ollama — 100% Rust, zero dependencies 🚀

License: MIT Security CI Crates.io Downloads Rust GitHub Stars 💝 Sponsor this project Trans rights LGBTQ+ friendly

Languages: 简体中文 · 繁體中文

Shimmy is independently maintained and free forever. Sponsorship funds certification, compatibility work, and releases.

Shimmy will be free forever. No asterisks. No "free for now." No pivot to paid.


What Is Shimmy?

Shimmy is a single-binary OpenAI-compatible inference server for GGUF models. Point your existing AI tools at Shimmy and they just work — locally, privately, and free.

Shimmy is the server. Airframe is the engine. Under the hood, Shimmy runs on Airframe (v0.4.0), a pure-Rust WebGPU (WGSL) transformer engine. No C++ toolchain, no Python runtime, no backend flags. 26 models certified across 12 families. Version history: CHANGELOG · Airframe CHANGELOG.

Why this matters:

  • No Python runtime or C++ toolchain — Rust only, top to bottom
  • F32 accumulation precision with deterministic output (same model + seed + params → same output)
  • WGSL compute shaders via WebGPU — NVIDIA, AMD, Intel, integrated GPUs, Apple Silicon
  • Model spec auto-derived from GGUF metadata — no hardcoded per-model constants
  • YaRN RoPE scaling for extended context via SHIMMY_MAX_CTX (see Extended Context)

🎯 Supported Models

12 model families · 26 certified model/quant combinations — every model below passes Shimmy's 3-box certification regimen (MATH + INFERENCE + DETERMINISM) against the certification ledger. Certification applies to the named model/quant combination; architecture recognition does not automatically mean certification. GGUF files load as-is; no recompilation, no hardcoded per-model constants.

FamilyModelQuants
LlamaLlama-3.2-1B-InstructQ4_K_M · Q6_K
Llama-3.2-3B-InstructQ4_K_M
Llama-3.1-8B-InstructQ4_K_M
TinyLlama-1.1B-ChatQ4_0 · Q5_K_M · Q6_K
Qwen3Qwen3-0.6BQ4_K_M
Qwen3-1.7BQ4_K_M
Qwen3-4BQ4_K_M
Qwen3-4B-ThinkingQ4_K_M
Qwen3-8BQ4_K_M
Qwen2Qwen2-0.5B-InstructQ4_K_M
Qwen2-1.5B-InstructQ4_K_M
Qwen2-7B-InstructQ4_K_M
Qwen3.5Qwen3.5-9BQ4_K_M
Phi-3Phi-3.5-mini-InstructQ4_K_M
Phi-3-mini-4k-InstructQ4_0
Phi-2Phi-2Q4_K_M
Gemma-2Gemma-2-2B-itQ4_K_M
Gemma-2-9B-itQ4_K_M (supported; cert: see v2-roadmap)
Gemma-4Gemma-4-12B-coderQ4_K_M
Gemma-4-E4BQ4_K_M
DeepSeek-R1DeepSeek-R1-0528-Qwen3-8BQ4_K_M
MinistralMinistral-3-14B-ReasoningQ4_K_M
StarCoder2StarCoder2-3BQ4_K_M

SafeTensors format (.safetensors) is supported for model loading via safetensors_native. Full Airframe-native inference for SafeTensors remains roadmap work; see docs/v2-roadmap.md.

Features

  • ⚡ TurboShimmy INT4 KV Cache — About 7× lower KV-cache memory in tested configurations. Run Llama-3.2-3B on 4 GB GPUs.
  • 🚀 OpenAI SDK Compatibility — Chat completions, text completions, streaming, and model endpoints. Works with OpenAI SDKs and tools using that surface.
  • 🔧 Extended Context — YaRN RoPE scaling via SHIMMY_MAX_CTX.
  • 📦 Migrating from v1.x — llama.cpp, MLX, HuggingFace, and RustChain backends removed in v2.0+. Shimmy is now a pure Airframe product.
  • 🏆 Certification — Every model passes a 3-box certification regimen (MATH + INFERENCE + DETERMINISM). See docs/CERTIFICATION.md.
  • 🧠 MOE support — Mixture-of-Experts CPU offloading is on the Airframe roadmap.

Quick Start

cargo install shimmy
shimmy serve --model-path /absolute/path/to/model.gguf --bind 127.0.0.1:11435

Then in another terminal:

shimmy list --short
curl -s http://127.0.0.1:11435/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"tinyllama-1.1b","messages":[{"role":"user","content":"Say hi in 5 words."}],"max_tokens":32}'

Full install, model acquisition, GPU, VRAM sizing, platform-specific builds: docs/quickstart.md


Documentation

Start hereWhat you need
Quick StartInstall, models, GPU, VRAM
Supported ModelsCertified models and quantization
API CompatibilityEndpoints, SDKs, integration
ConfigurationEnv vars and config options
TroubleshootingGPU errors, model failures
Complete documentation index
SectionDocuments
Models & PerformanceTurboShimmy — INT4 KV cache compression · Extended Context — YaRN RoPE scaling, VRAM math · Performance — Tuning and token/sec · Model Expansion — Onboarding protocol
API & IntegrationAPI Reference · OpenAPI / Swagger UI · Integration Guides · Examples · Cross-Compilation
EngineArchitecture · GPU Pipeline · Quantization · Chat Templates
CertificationCertification · Methodology · Regression Testing · PPT Testing · Metrics
FAQFAQ · Features · Migration · Windows GPU

Development Testing

Shimmy maintains high code quality through comprehensive testing:

# Full test suite (default features = GPU engine)
cargo test --features airframe,huggingface

# Quick CPU-only tests (no GPU required)
cargo test --lib --no-default-features --features huggingface -- --test-threads=1

See docs/ppt-invariant-testing.md for technical details.


Community & Support

🚀 Momentum Snapshot

🌟 GitHub stars stars and climbing fast ⏱ <1s startup 🦀 100% Rust, no Python

🔥 Hacker News · Front Page Again · IPE Newsletter

Companies: Need invoicing? Email michaelallenkuykendall@gmail.com


Performance

ToolStartupMemoryAPI
Shimmy<1s~50MBChat, completions, streaming, models
Ollama5-10s200MB+Partial

Measured on RTX 3060, Shimmy v2.6.0, TinyLlama-1.1B. Your results vary by hardware.


Shimmy is independently maintained. Sponsorship funds certification, compatibility work, and releases.

  • $5/month: Coffee tier ☕ — Sponsor badge + name in SPONSORS.md
  • $25/month: Supporter 🐛 — Priority support + name in SPONSORS.md
  • $100/month: Corporate backer 🏢 — Logo placement + release recognition
  • $500/month: Infrastructure partner 🚀 — Office hours + roadmap consultation

Current sponsors: ZephyrCloudIO · alistairheath

🎯 Become a Sponsor · Invoicing


License & Philosophy

MIT License — see LICENSE. Shimmy will be free forever.

Promise: This will never become a paid product.

Shimmy is infrastructure: it should be invisible. Reliability through comprehensive validation and property-based testing.


Maintainer: Michael A. Kuykendall · Mission: Making local model inference simple and reliable


Support

This project is a safe space. Trans rights are human rights.

If you or someone you love needs support:

api-server
command-line-tool
developer-tools
gguf
huggingface
huggingface-models
huggingface-transformers
inference-server
llama
llamacpp
llm-inference
local-ai
machine-learning
ollama-api
openai-compatible
rust
rust-crate
transformers
webgpu
webgpu-shaders

Michael-A-Kuykendall/shimmy

⚡ Pure-Rust WebGPU inference engine — OpenAI-API compatible, GGUF native, runs on any GPU. No Python. No llama.cpp. Single binary.

Rust

5,967

196 commits

updated Aug 30, 2026

See the code

README

Shimmy Logo

Shimmy — Local Inference, OpenAI-Compatible

🔒 The 5MB alternative to Ollama — 100% Rust, zero dependencies 🚀

License: MIT Security CI Crates.io Downloads Rust GitHub Stars 💝 Sponsor this project Trans rights LGBTQ+ friendly

Languages: 简体中文 · 繁體中文

Shimmy is independently maintained and free forever. Sponsorship funds certification, compatibility work, and releases.

Shimmy will be free forever. No asterisks. No "free for now." No pivot to paid.


What Is Shimmy?

Shimmy is a single-binary OpenAI-compatible inference server for GGUF models. Point your existing AI tools at Shimmy and they just work — locally, privately, and free.

Shimmy is the server. Airframe is the engine. Under the hood, Shimmy runs on Airframe (v0.4.0), a pure-Rust WebGPU (WGSL) transformer engine. No C++ toolchain, no Python runtime, no backend flags. 26 models certified across 12 families. Version history: CHANGELOG · Airframe CHANGELOG.

Why this matters:

  • No Python runtime or C++ toolchain — Rust only, top to bottom
  • F32 accumulation precision with deterministic output (same model + seed + params → same output)
  • WGSL compute shaders via WebGPU — NVIDIA, AMD, Intel, integrated GPUs, Apple Silicon
  • Model spec auto-derived from GGUF metadata — no hardcoded per-model constants
  • YaRN RoPE scaling for extended context via SHIMMY_MAX_CTX (see Extended Context)

🎯 Supported Models

12 model families · 26 certified model/quant combinations — every model below passes Shimmy's 3-box certification regimen (MATH + INFERENCE + DETERMINISM) against the certification ledger. Certification applies to the named model/quant combination; architecture recognition does not automatically mean certification. GGUF files load as-is; no recompilation, no hardcoded per-model constants.

FamilyModelQuants
LlamaLlama-3.2-1B-InstructQ4_K_M · Q6_K
Llama-3.2-3B-InstructQ4_K_M
Llama-3.1-8B-InstructQ4_K_M
TinyLlama-1.1B-ChatQ4_0 · Q5_K_M · Q6_K
Qwen3Qwen3-0.6BQ4_K_M
Qwen3-1.7BQ4_K_M
Qwen3-4BQ4_K_M
Qwen3-4B-ThinkingQ4_K_M
Qwen3-8BQ4_K_M
Qwen2Qwen2-0.5B-InstructQ4_K_M
Qwen2-1.5B-InstructQ4_K_M
Qwen2-7B-InstructQ4_K_M
Qwen3.5Qwen3.5-9BQ4_K_M
Phi-3Phi-3.5-mini-InstructQ4_K_M
Phi-3-mini-4k-InstructQ4_0
Phi-2Phi-2Q4_K_M
Gemma-2Gemma-2-2B-itQ4_K_M
Gemma-2-9B-itQ4_K_M (supported; cert: see v2-roadmap)
Gemma-4Gemma-4-12B-coderQ4_K_M
Gemma-4-E4BQ4_K_M
DeepSeek-R1DeepSeek-R1-0528-Qwen3-8BQ4_K_M
MinistralMinistral-3-14B-ReasoningQ4_K_M
StarCoder2StarCoder2-3BQ4_K_M

SafeTensors format (.safetensors) is supported for model loading via safetensors_native. Full Airframe-native inference for SafeTensors remains roadmap work; see docs/v2-roadmap.md.

Features

  • ⚡ TurboShimmy INT4 KV Cache — About 7× lower KV-cache memory in tested configurations. Run Llama-3.2-3B on 4 GB GPUs.
  • 🚀 OpenAI SDK Compatibility — Chat completions, text completions, streaming, and model endpoints. Works with OpenAI SDKs and tools using that surface.
  • 🔧 Extended Context — YaRN RoPE scaling via SHIMMY_MAX_CTX.
  • 📦 Migrating from v1.x — llama.cpp, MLX, HuggingFace, and RustChain backends removed in v2.0+. Shimmy is now a pure Airframe product.
  • 🏆 Certification — Every model passes a 3-box certification regimen (MATH + INFERENCE + DETERMINISM). See docs/CERTIFICATION.md.
  • 🧠 MOE support — Mixture-of-Experts CPU offloading is on the Airframe roadmap.

Quick Start

cargo install shimmy
shimmy serve --model-path /absolute/path/to/model.gguf --bind 127.0.0.1:11435

Then in another terminal:

shimmy list --short
curl -s http://127.0.0.1:11435/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"tinyllama-1.1b","messages":[{"role":"user","content":"Say hi in 5 words."}],"max_tokens":32}'

Full install, model acquisition, GPU, VRAM sizing, platform-specific builds: docs/quickstart.md


Documentation

Start hereWhat you need
Quick StartInstall, models, GPU, VRAM
Supported ModelsCertified models and quantization
API CompatibilityEndpoints, SDKs, integration
ConfigurationEnv vars and config options
TroubleshootingGPU errors, model failures
Complete documentation index
SectionDocuments
Models & PerformanceTurboShimmy — INT4 KV cache compression · Extended Context — YaRN RoPE scaling, VRAM math · Performance — Tuning and token/sec · Model Expansion — Onboarding protocol
API & IntegrationAPI Reference · OpenAPI / Swagger UI · Integration Guides · Examples · Cross-Compilation
EngineArchitecture · GPU Pipeline · Quantization · Chat Templates
CertificationCertification · Methodology · Regression Testing · PPT Testing · Metrics
FAQFAQ · Features · Migration · Windows GPU

Development Testing

Shimmy maintains high code quality through comprehensive testing:

# Full test suite (default features = GPU engine)
cargo test --features airframe,huggingface

# Quick CPU-only tests (no GPU required)
cargo test --lib --no-default-features --features huggingface -- --test-threads=1

See docs/ppt-invariant-testing.md for technical details.


Community & Support

🚀 Momentum Snapshot

🌟 GitHub stars stars and climbing fast ⏱ <1s startup 🦀 100% Rust, no Python

🔥 Hacker News · Front Page Again · IPE Newsletter

Companies: Need invoicing? Email michaelallenkuykendall@gmail.com


Performance

ToolStartupMemoryAPI
Shimmy<1s~50MBChat, completions, streaming, models
Ollama5-10s200MB+Partial

Measured on RTX 3060, Shimmy v2.6.0, TinyLlama-1.1B. Your results vary by hardware.


Shimmy is independently maintained. Sponsorship funds certification, compatibility work, and releases.

  • $5/month: Coffee tier ☕ — Sponsor badge + name in SPONSORS.md
  • $25/month: Supporter 🐛 — Priority support + name in SPONSORS.md
  • $100/month: Corporate backer 🏢 — Logo placement + release recognition
  • $500/month: Infrastructure partner 🚀 — Office hours + roadmap consultation

Current sponsors: ZephyrCloudIO · alistairheath

🎯 Become a Sponsor · Invoicing


License & Philosophy

MIT License — see LICENSE. Shimmy will be free forever.

Promise: This will never become a paid product.

Shimmy is infrastructure: it should be invisible. Reliability through comprehensive validation and property-based testing.


Maintainer: Michael A. Kuykendall · Mission: Making local model inference simple and reliable


Support

This project is a safe space. Trans rights are human rights.

If you or someone you love needs support:

api-server
command-line-tool
developer-tools
gguf
huggingface
huggingface-models
huggingface-transformers
inference-server
llama
llamacpp
llm-inference
local-ai
machine-learning
ollama-api
openai-compatible
rust
rust-crate
transformers
webgpu
webgpu-shaders

Project health

crates.io

Latest release

2.6.4 · Aug 30, 2026

Releases this year

21

Significant stargazers

(top 24 of 55)

Ce Gao

3,383 followers · starred Oct 2025

svjack

102 followers · starred May 2026

CYJiang

241 followers · starred Sep 2025

Miguel de Icaza

5,288 followers · starred Sep 2025