# shimmy_doc
**Repository Path**: fightcode/shimmy_doc
## Basic Information
- **Project Name**: shimmy_doc
- **Description**: shimmy 机翻文档
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-19
- **Last Updated**: 2025-09-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

# Ollama的隐私优先替代方案
### 🔒 本地AI,无锁定 🚀
[](https://opensource.org/licenses/MIT)
[](https://github.com/Michael-A-Kuykendall/shimmy/security)
[](https://crates.io/crates/shimmy)
[](https://crates.io/crates/shimmy)
[](https://rustup.rs/)
[](https://github.com/Michael-A-Kuykendall/shimmy/stargazers)
[](https://github.com/sponsors/Michael-A-Kuykendall)
**Shimmy将永远免费。** 没有星号,没有"暂时免费",没有转向付费。
### 💝 支持Shimmy的发展
🚀 **如果Shimmy对您有帮助,请考虑[赞助](https://github.com/sponsors/Michael-A-Kuykendall) - 100%的支持将用于保持其永远免费。**
- **$5/月**: 咖啡层级 ☕ - 永恒的感激 + 赞助者徽章
- **$25/月**: Bug优先处理 🐛 - 优先支持 + 名字列入[SPONSORS.md](SPONSORS.md)
- **$100/月**: 企业支持者 🏢 - Logo展示 + 每月办公时间
- **$500/月**: 基础设施合作伙伴 🚀 - 直接支持 + 路线图输入
[**🎯 成为赞助者**](https://github.com/sponsors/Michael-A-Kuykendall) | 查看我们优秀的[赞助者](SPONSORS.md) 🙏
---
## 本地LLM的即插即用OpenAI API替代方案
Shimmy是一个**5.1MB的单二进制文件**,为GGUF模型提供**100% OpenAI兼容的端点**。将您现有的AI工具指向Shimmy,它们就能正常工作 - 本地化、私有化且免费。
## 🤔 您正在用Shimmy构建什么?
**包含新的开发者工具和规范!** 无论您是分叉Shimmy用于应用程序还是将其作为服务集成,我们现在提供:
- **🔧 集成模板**: 在项目中嵌入Shimmy的复制粘贴指南
- **📋 开发规范**: 用于规划基于Shimmy功能的GitHub Spec-Kit方法
- **🛡️ 架构保证**: 确保Shimmy保持可靠和轻量的宪法原则
- **📖 完整文档**: 构建Shimmy基础所需的一切
**正在用Shimmy构建很酷的东西?** 这些工具帮助您系统可靠地完成。
### 🚀 **GitHub Spec-Kit集成**
Shimmy现在包含[GitHub全新的Spec-Kit方法](https://github.com/github/spec-kit) - 规范驱动的开发,于2025年9月刚刚推出!获得专业级的开发工作流:
- **🏗️ 系统化开发**: `/specify` → `/plan` → `/tasks` → 实现
- **🤖 AI原生工作流**: 与Claude Code、GitHub Copilot和其他AI助手配合使用
- **📋 专业模板**: 完整的规范和规划框架
- **🛡️ 宪法保护**: 内置治理和架构验证
[**📖 完整开发者指南 →**](DEVELOPERS.md) • [**🛠️ 学习GitHub Spec-Kit →**](https://github.com/github/spec-kit)
### 30秒内试用
```bash
# 1) 安装 + 运行
cargo install shimmy --features huggingface
shimmy serve &
# 2) 查看模型并选择一个
shimmy list
# 3) 测试OpenAI API
curl -s http://127.0.0.1:11435/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model":"REPLACE_WITH_MODEL_FROM_list",
"messages":[{"role":"user","content":"用5个词打招呼。"}],
"max_tokens":32
}' | jq -r '.choices[0].message.content'
```
## 🚀 与您现有工具配合使用
**无需代码更改** - 只需更改API端点:
- **VSCode扩展**: 指向 `http://localhost:11435`
- **Cursor编辑器**: 内置OpenAI兼容性
- **Continue.dev**: 即插即用的模型提供者
- **任何OpenAI客户端**: Python、Node.js、curl等
### 与OpenAI SDK一起使用
- Node.js (openai v4)
```ts
import OpenAI from "openai";
const openai = new OpenAI({
baseURL: "http://127.0.0.1:11435/v1",
apiKey: "sk-local", // 占位符,Shimmy会忽略它
});
const resp = await openai.chat.completions.create({
model: "REPLACE_WITH_MODEL",
messages: [{ role: "user", content: "用5个词打招呼。" }],
max_tokens: 32,
});
console.log(resp.choices[0].message?.content);
```
- Python (openai>=1.0.0)
```python
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:11435/v1", api_key="sk-local")
resp = client.chat.completions.create(
model="REPLACE_WITH_MODEL",
messages=[{"role": "user", "content": "用5个词打招呼。"}],
max_tokens=32,
)
print(resp.choices[0].message.content)
```
## ⚡ 零配置要求
- **自动发现模型** 从Hugging Face缓存、Ollama、本地目录
- **自动分配端口** 避免冲突
- **自动检测LoRA适配器** 用于专用模型
- **开箱即用** - 无需配置文件,无需设置向导
## 🎯 本地开发的完美选择
- **隐私**: 您的代码永远不会离开您的机器
- **成本**: 无需API密钥,无需按token计费
- **速度**: 本地推理,亚秒级响应
- **可靠性**: 无速率限制,无停机时间
## 快速开始 (30秒)
### 安装
#### **🪟 Windows**
```bash
# 推荐:使用预构建二进制文件(无需构建依赖)
curl -L https://github.com/Michael-A-Kuykendall/shimmy/releases/latest/download/shimmy.exe -o shimmy.exe
# 或者:从源码安装(需要LLVM/Clang)
# 首先安装构建依赖:
winget install LLVM.LLVM
# 然后安装shimmy:
cargo install shimmy --features huggingface
```
> **⚠️ Windows注意事项**:
> - **推荐使用预构建二进制文件**以避免构建依赖问题
> - 如果Windows Defender标记二进制文件,请添加排除项或使用`cargo install`
> - 对于`cargo install`:首先安装[LLVM](https://releases.llvm.org/download.html)以解决`libclang.dll`错误
#### **🍎 macOS / 🐧 Linux**
```bash
# 从crates.io安装
cargo install shimmy --features huggingface
```
### GPU加速
Shimmy支持多个GPU后端进行加速推理:
#### **🖥️ 可用后端**
| 后端 | 硬件 | 安装 |
|---------|----------|--------------|
| **CUDA** | NVIDIA GPU | `cargo install shimmy --features llama-cuda` |
| **Vulkan** | 跨平台GPU | `cargo install shimmy --features llama-vulkan` |
| **OpenCL** | AMD/Intel/其他 | `cargo install shimmy --features llama-opencl` |
| **MLX** | Apple Silicon | `cargo install shimmy --features mlx` |
| **所有GPU** | 全部 | `cargo install shimmy --features gpu` |
#### **🔍 检查GPU支持**
```bash
# 显示检测到的GPU后端
shimmy gpu-info
```
#### **⚡ 使用说明**
- GPU后端在运行时**自动检测**
- 如果GPU不可用则回退到CPU
- 可以编译多个后端,自动选择最佳的一个
- 使用`--gpu-backend `强制指定特定后端
### 获取模型
Shimmy自动从以下位置发现模型:
- **Hugging Face缓存**: `~/.cache/huggingface/hub/`
- **Ollama模型**: `~/.ollama/models/`
- **本地目录**: `./models/`
- **环境变量**: `SHIMMY_BASE_GGUF=path/to/model.gguf`
```bash
# 下载开箱即用的模型
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/
```
### 启动服务器
```bash
# 自动分配端口避免冲突
shimmy serve
# 或者使用手动端口
shimmy serve --bind 127.0.0.1:11435
```
将您的AI工具指向显示的端口 - VSCode Copilot、Cursor、Continue.dev都能立即工作。
## 📦 下载和安装
### 包管理器
- **Rust**: [`cargo install shimmy`](https://crates.io/crates/shimmy)
- **VS Code**: [Shimmy扩展](https://marketplace.visualstudio.com/items?itemName=targetedwebresults.shimmy-vscode)
- **npm**: `npm install -g shimmy-js` *(即将推出)*
- **Python**: `pip install shimmy` *(即将推出)*
### 直接下载
- **GitHub Releases**: [最新二进制文件](https://github.com/Michael-A-Kuykendall/shimmy/releases/latest)
- **Docker**: `docker pull shimmy/shimmy:latest` *(即将推出)*
### 🍎 macOS支持
**确认完全兼容!** Shimmy在macOS上完美运行,支持Metal GPU加速。
```bash
# 安装依赖
brew install cmake rust
# 安装shimmy
cargo install shimmy
```
**✅ 已验证工作:**
- Intel和Apple Silicon Mac
- Metal GPU加速(自动)
- Xcode 17+兼容性
- 所有LoRA适配器功能
## 集成示例
### VSCode Copilot
```json
{
"github.copilot.advanced": {
"serverUrl": "http://localhost:11435"
}
}
```
### Continue.dev
```json
{
"models": [{
"title": "Local Shimmy",
"provider": "openai",
"model": "your-model-name",
"apiBase": "http://localhost:11435/v1"
}]
}
```
### Cursor IDE
开箱即用 - 只需指向 `http://localhost:11435/v1`
## 为什么Shimmy将永远免费
我构建Shimmy是为了在我的AI开发中保持隐私优先的控制,并保持本地化和轻量化。
**这是我的承诺**: Shimmy保持MIT许可,永远。如果您想支持开发,请[赞助它](https://github.com/sponsors/Michael-A-Kuykendall)。如果不想,只需用它构建一些很酷的东西。
> 💡 **Shimmy为您节省时间和金钱。如果有用,请考虑[每月赞助$5](https://github.com/sponsors/Michael-A-Kuykendall) - 比您的Netflix订阅便宜,对开发者来说无限有用。**
## API参考
### 端点
- `GET /health` - 健康检查
- `POST /v1/chat/completions` - OpenAI兼容的聊天
- `GET /v1/models` - 列出可用模型
- `POST /api/generate` - Shimmy原生API
- `GET /ws/generate` - WebSocket流式传输
### CLI命令
```bash
shimmy serve # 启动服务器(自动端口分配)
shimmy serve --bind 127.0.0.1:8080 # 手动端口绑定
shimmy list # 显示可用模型
shimmy discover # 刷新模型发现
shimmy generate --name X --prompt "Hi" # 测试生成
shimmy probe model-name # 验证模型加载
```
## 技术架构
- **Rust + Tokio**: 内存安全,异步性能
- **llama.cpp后端**: 行业标准GGUF推理
- **OpenAI API兼容性**: 即插即用替代方案
- **动态端口管理**: 零冲突,自动分配
- **零配置自动发现**: 开箱即用™
## 社区和支持
- **🐛 Bug报告**: [GitHub Issues](https://github.com/Michael-A-Kuykendall/shimmy/issues)
- **💬 讨论**: [GitHub Discussions](https://github.com/Michael-A-Kuykendall/shimmy/discussions)
- **📖 文档**: [docs/](docs/) • [工程方法](docs/METHODOLOGY.md) • [OpenAI兼容性矩阵](docs/OPENAI_COMPAT.md) • [基准测试(可重现)](docs/BENCHMARKS.md)
- **💝 赞助**: [GitHub Sponsors](https://github.com/sponsors/Michael-A-Kuykendall)
### 星标历史
[](https://www.star-history.com/#Michael-A-Kuykendall/shimmy&Timeline)
### 🚀 发展势头快照
📦 **5 MB单二进制文件**
🌟 ** 星标数快速增长**
⏱ **<1秒启动**
🦀 **100% Rust,无Python**
### 📰 媒体报道
🔥 [**Hacker News**](https://news.ycombinator.com/item?id=45130322) • [**再次登上首页**](https://news.ycombinator.com/item?id=45199898) • [**IPE Newsletter**](https://ipenewsletter.substack.com/p/the-strange-new-side-hustles-of-openai)
**公司**: 需要发票?发送邮件至 [michaelallenkuykendall@gmail.com](mailto:michaelallenkuykendall@gmail.com)
## ⚡ 性能对比
| 工具 | 二进制大小 | 启动时间 | 内存使用 | OpenAI API |
|------|-------------|--------------|--------------|------------|
| **Shimmy** | **5.1MB** | **<100ms** | **50MB** | **100%** |
| Ollama | 680MB | 5-10s | 200MB+ | 部分 |
| llama.cpp | 89MB | 1-2s | 100MB | 无 |
## 质量和可靠性
Shimmy通过全面测试保持高代码质量:
- **全面的测试套件**,包含基于属性的测试
- **自动化CI/CD流水线**,包含质量门
- **运行时不变性检查**,用于关键操作
- **跨平台兼容性测试**
有关技术细节,请参阅我们的[测试方法](docs/ppt-invariant-testing.md)。
---
## 许可和理念
MIT许可证 - 永远如此。
**理念**: 基础设施应该是无形的。Shimmy就是基础设施。
**测试理念**: 通过全面验证和基于属性的测试实现可靠性。
---
**永久维护者**: Michael A. Kuykendall
**承诺**: 这永远不会成为付费产品
**使命**: 让本地AI开发无摩擦