Michael-A-Kuykendall/shimmyView GitHub Homepage for Latest Official Releases
輕量級本地AI推論伺服器,僅5MB單一二進制檔案,提供OpenAI API相容介面,支援GGUF模型和LoRA適配器
MITRustshimmyMichael-A-Kuykendall 2.8k Last Updated: October 04, 2025
Shimmy - 輕量級本地AI推論伺服器
專案概述
Shimmy是一個5.1MB的單一二進位檔本地推論伺服器,為GGUF模型提供OpenAI API相容的端點。它被設計為「隱形基礎設施」,讓本地AI開發變得順暢無阻。
核心特色
🚀 極致輕量
- 二進位檔大小: 僅5.1MB(相較於Ollama的680MB)
- 啟動時間: <100ms(相較於Ollama的5-10秒)
- 記憶體開銷: <50MB(相較於Ollama的200MB+)
🔧 零配置運行
- 自動連接埠分配: 避免連接埠衝突
- 模型自動探索: 支援多種模型來源
- Hugging Face快取:
~/.cache/huggingface/hub/
- Ollama模型:
~/.ollama/models/
- 本地目錄:
./models/
- 環境變數:
SHIMMY_BASE_GGUF=path/to/model.gguf
- Hugging Face快取:
🎯 完美相容性
- 100% OpenAI API相容: 直接取代現有工具
- 開箱即用: VSCode、Cursor、Continue.dev等工具無需修改
- 跨平台支援: Linux、macOS、Windows
技術架構
核心技術堆疊
- 語言: Rust + Tokio(記憶體安全、非同步效能)
- 推論引擎: llama.cpp後端(業界標準GGUF推論)
- API設計: OpenAI相容(即插即用取代)
支援的模型格式
- GGUF模型: 主要支援格式
- SafeTensors: 原生支援,載入速度提升2倍
- LoRA轉接器: 一流支援,從訓練到生產API僅需30秒
安裝與使用
快速安裝
方式1: 透過Cargo安裝
cargo install shimmy
方式2: 下載預建置二進位檔(Windows)
curl -L https://github.com/Michael-A-Kuykendall/shimmy/releases/latest/download/shimmy.exe
方式3: macOS安裝
# 安裝依賴項
brew install cmake rust
# 安裝shimmy
cargo install shimmy
基本使用
1. 下載模型
# 下載相容模型
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf --local-dir ./models/
huggingface-cli download bartowski/Llama-3.2-1B-Instruct-GGUF --local-dir ./models/
2. 啟動伺服器
# 自動分配連接埠
shimmy serve
# 手動指定連接埠
shimmy serve --bind 127.0.0.1:11435
3. 配置AI工具
VSCode配置:
{
"github.copilot.advanced": {
"serverUrl": "http://localhost:11435"
}
}
Continue.dev配置:
{
"models": [{
"title": "Local Shimmy",
"provider": "openai",
"model": "your-model-name",
"apiBase": "http://localhost:11435/v1"
}]
}
命令列工具
基本指令
shimmy serve # 啟動伺服器(自動連接埠分配)
shimmy serve --bind 127.0.0.1:8080 # 手動連接埠綁定
shimmy list # 顯示可用模型
shimmy discover # 重新整理模型探索
shimmy generate --name X --prompt "Hi" # 測試生成
shimmy probe model-name # 驗證模型載入
API端點
核心端點
GET /health
- 健康檢查POST /v1/chat/completions
- OpenAI相容聊天GET /v1/models
- 列出可用模型POST /api/generate
- Shimmy原生APIGET /ws/generate
- WebSocket串流傳輸
使用範例
# 測試API
curl -X POST http://localhost:11435/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "your-model",
"messages": [{"role": "user", "content": "Hello!"}]
}'
效能比較
指標 | Shimmy | Ollama | llama.cpp |
---|---|---|---|
二進位檔大小 | 5.1MB 🏆 | 680MB | 89MB |
啟動時間 | <100ms 🏆 | 5-10s | 1-2s |
記憶體使用 | 50MB 🏆 | 200MB+ | 100MB |
OpenAI API | 100% 🏆 | 部分支援 | 無 |
優勢特點
🔒 隱私優先
- 程式碼保留在本地機器
- 無資料外洩風險
- 完全離線運行
💰 成本效益
- 無按Token計費
- 無限查詢次數
- 一次安裝,永久使用
⚡ 效能優異
- 本地推論,亞秒級回應
- 低記憶體佔用
- 快速啟動
🔄 彈性部署
- 單一二進位檔
- 無外部依賴
- 跨平台相容
擴展功能
LoRA轉接器支援
Shimmy提供一流的LoRA轉接器支援,可以快速從訓練模型部署到生產API:
# 載入LoRA轉接器
shimmy serve --lora-adapter path/to/adapter
熱模型切換
支援在執行時動態切換模型,無需重新啟動伺服器。
GPU加速
- macOS: 自動Metal GPU加速
- 跨平台: 支援各種GPU後端
社群與支援
社群資源
- 錯誤報告: GitHub Issues
- 討論: GitHub Discussions
- 文件: docs/
- 贊助: GitHub Sponsors
總結
Shimmy是一個革命性的本地AI推論解決方案,它證明了有時候「少即是多」。透過極致輕量化設計和零配置理念,Shimmy為開發者提供了一個真正「即開即用」的本地AI基礎設施,同時保持了企業級的效能與相容性。無論你是AI應用開發者、研究人員還是隱私意識強的使用者,Shimmy都是一個值得考慮的優秀選擇。