# 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
Shimmy Logo # Ollama的隐私优先替代方案 ### 🔒 本地AI,无锁定 🚀 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Security](https://img.shields.io/badge/Security-Audited-green)](https://github.com/Michael-A-Kuykendall/shimmy/security) [![Crates.io](https://img.shields.io/crates/v/shimmy.svg)](https://crates.io/crates/shimmy) [![Downloads](https://img.shields.io/crates/d/shimmy.svg)](https://crates.io/crates/shimmy) [![Rust](https://img.shields.io/badge/rust-stable-brightgreen.svg)](https://rustup.rs/) [![GitHub Stars](https://img.shields.io/github/stars/Michael-A-Kuykendall/shimmy?style=social)](https://github.com/Michael-A-Kuykendall/shimmy/stargazers) [![💝 赞助此项目](https://img.shields.io/badge/💝_赞助此项目-ea4aaa?style=for-the-badge&logo=github&logoColor=white)](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) ### 星标历史 [![Star History Chart](https://api.star-history.com/svg?repos=Michael-A-Kuykendall/shimmy&type=Timeline)](https://www.star-history.com/#Michael-A-Kuykendall/shimmy&Timeline) ### 🚀 发展势头快照 📦 **5 MB单二进制文件** 🌟 **![GitHub stars](https://img.shields.io/github/stars/Michael-A-Kuykendall/shimmy?style=flat&color=yellow) 星标数快速增长** ⏱ **<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开发无摩擦