需先下载 1–8 GB 的模型文件,离线使用前必须完成下载;CUDA 需兼容的 NVIDIA 驱动,否则自动走 CPU;从源码构建要先在 frontend 目录执行 npm ci && npm run build 再 cargo build;非本机访问需认证并配置 TLS 或显式确认明文。
Camelid
timtoole02MIT活跃维护Rust 原生本地推理后端,支持 GGUF 模型和量化,在 Apple Silicon 与 Windows 上跑 LLM,并提供 OpenAI 兼容接口。
Camelid: a Rust-native local inference backend with evidence-gated model compatibility.
camelid pull 3b_instruct_q8
camelid serve --model models/Llama-3.2-3B-Instruct-Q8_0.ggufApple Silicon 用 Metal,受支持的 NVIDIA 路径用 CUDA,无兼容驱动时回退 CPU;Windows、macOS、Linux 均可运行。README 未给出具体显存要求,仅说明模型文件通常 1–8 GB。
Rust 编写的本地推理后端,单二进制跑 GGUF 模型,带桌面、浏览器和 OpenAI 兼容 API
Rust 原生本地推理后端,支持 GGUF 模型和量化,在 Apple Silicon 与 Windows 上跑 LLM,并提供 OpenAI 兼容接口。
核心能力
- 引擎与 Web UI 打包成单个 Rust 二进制,运行时无需 Python、Node.js 或 Docker
- 支持 Metal、CUDA 加速,Windows/macOS/Linux 可回退 CPU
- 模型兼容性对照固定版本 llama.cpp 验证,并标注各配置的明确限制
- 内置聊天、项目上下文、文件预览与代码会话,可审批文件改动和命令
- 提供 OpenAI 兼容 API 和 MCP 工具连接(预览特性)
容易踩的坑
- v0.8.0最新正式版2026-10-14 · 2026-10-14 23:15 UTC
Knowledge Library and Memory
- Keep a persistent Knowledge Library, organize documents into collections, and let collections watch local folders for changes.
- Search attached documents, selected collections, or the whole library. Hybrid retrieval combines keyword and semantic search when the encoder is available; verified citations open the supporting source text.
- Read more document formats, including HTML and source code, with improved PDF fallback and section-aware chunking. Semantic indexing includes CUDA and Apple Silicon Metal paths where available.
- Enable Memory to keep facts and preferences across chats. Memory is off by default, every suggestion requires approval, and saved facts can be edited or forgotten. Failed storage writes now leave both the saved facts and the on/off switch unchanged and show an error.
Chat, inference, and reliability
- Reuse supported CUDA conversation caches and respond to cancellation during prompt processing as well as generation.
- Add opt-in GPU min-p sampling with guarded CPU fallback, seeded replay, and KV-history regression checks. Existing model-support boundaries remain unchanged.
- Improve exact document excerpts, reply-variant continuations, desktop storage coordination, and bounded engine diagnostics.
- Restore native generation-rate display for the experimental Gemma multi-pass path without labeling native measurements as browser measurements.
- Update frontend and Rust dependencies to resolve the current npm audit findings and eight RustSec vulnerabilities, including TLS and HTTP/2 fixes.
Validation
Release QA covered the frontend build and browser/contract suites; Rust unit and integration tests; a live Windows/NVIDIA server with library persistence, repeated Llama 3.2 1B Q8_0 chat, streaming completion, cancellation, and recovery; and full-model CUDA min-p checks across contiguous, paged, and CPU-prefix routes. These checks do not expand model-support or performance claims beyond the project's existing exact model and backend evidence.
Cross-platform CI and the full release workflow passed. All five package checksums and all 11 asset digests were verified after download. The Windows server and desktop engine passed additional local startup checks, and the Windows executables and installer have valid signatures.
Full Changelog: https://github.com/timtoole02/Camelid/compare/v0.7.8...v0.8.0
- v0.7.82026-09-16 · 2026-09-16 15:23 UTC
查看更新说明
Voice dictation and local-network sharing
- Dictate chat prompts with the new microphone button. Record up to 30 seconds, stop to transcribe, then review and edit the text before sending. Existing draft text is preserved; dictation never sends automatically.
- Speech preprocessing and Whisper tiny.en inference run locally in Rust using Candle, without a C++ speech runtime. First use downloads a checksum-verified English model (about 154 MB); later transcription works offline.
- Canceling a recording or changing chats closes the microphone and discards late results. macOS desktop bundles include the microphone permission description and audio-input entitlement.
- Turn local-network sharing on or off from Settings without restarting the engine (#777).
Voice input is initially English-only. Recordings are processed by the configured Camelid server: locally when using a local server, or on that server when connecting remotely. Browser microphone access requires HTTPS or localhost. Allow microphone access when prompted. Real-device microphone behavior and Windows transcription performance remain to be validated.
Includes #778 and #777. Feature CI passed across Linux, macOS, and Windows, plus frontend, desktop, privacy, and validation checks. Release packages passed artifact and startup verification; all 11 expected assets are included, and the five published archive checksums match GitHub’s uploaded-asset digests.
Full Changelog: https://github.com/timtoole02/Camelid/compare/v0.7.7...v0.7.8
- v0.7.72026-09-16 · 2026-09-16 00:30 UTC
查看更新说明
Coding agent recovery and Chrome previews
- Coding agents recover from malformed Qwen3 tool responses with constrained actions and bounded recovery context.
- Approved file writes can create missing parent folders, with existing approval and undo controls.
- Start, open in Chrome, and stop static site previews directly from the Preview panel or through coding tools, including when shell commands are disabled.
- Preview servers stay available after an agent finishes and reuse their local URL until stopped or the engine closes.
Static previews serve HTML, CSS, JavaScript, and supported assets; framework development servers and application backends are not started by this feature. Opening Chrome is not treated as a passing interaction test.
Includes #776. Windows, macOS, Linux, frontend, desktop, and validation CI passed for the feature. The installed Windows build was also checked with a real coding task and Chrome preview.
Full Changelog: https://github.com/timtoole02/Camelid/compare/v0.7.6...v0.7.7
- v0.7.62026-09-15 · 2026-09-15 19:41 UTC
查看更新说明
Model loading fixes
- Weight memory budgets now derive from detected host RAM or explicit configuration, removing the fixed 6 GiB cutoff that could leave an 8B model loaded but unavailable for Chat.
- Large first-use weight reads no longer block health polling and the interface.
- Models and Chat show file-check progress and the engine's actual readiness explanation.
- Unchanged repeat loads reuse a verified process-local checksum, avoiding another full-file read.
Both the affected Llama 3B Q4_K_M and Llama 3.1 8B Q8_0 models passed targeted chat checks. Cold loads from slow storage can still take several minutes. These fixes do not expand the documented model support or parity guarantees.
Includes #775. Full Linux, macOS, Windows, frontend, desktop, and validation CI passed for the loading fix.
What's Changed
- Fix model loading responsiveness and derive weight budgets from host RAM by @timtoole02 in https://github.com/timtoole02/Camelid/pull/775
Full Changelog: https://github.com/timtoole02/Camelid/compare/v0.7.5...v0.7.6
- v0.7.52026-09-15 · 2026-09-15 17:53 UTC
查看更新说明
Highlights
- Desktop shutdown: closing the main window now exits Camelid Desktop and stops its engine, including when startup is still in progress.
- Bonsai 27B on Windows: the hash-identified Bonsai-27B Q1 GGUF now defaults to strict CUDA arithmetic, fixing the reproduced repeated
Haberoutput. Strict arithmetic may reduce throughput; the fast kernels have not been requalified. - CUDA chat: device text decoding now uses the existing short-cycle guard to stop runaway repetition.
The Bonsai mitigation is scoped to the exact artifact on Windows. Model support tiers are unchanged.
If an earlier conversation contains repeated gibberish, start a fresh chat after updating.
What's Changed
- Fix desktop shutdown and Windows Bonsai CUDA repetition in #774.
Full Changelog: v0.7.4...v0.7.5
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
🐪 Camelid
Local AI, powered by Rust.
Chat, work with files, and code with supported GGUF models on your own hardware. Use the desktop app, a desktop or mobile browser, the terminal, or an OpenAI-compatible API.
Download · Quick start · Features · Screenshots · Models · Documentation

Why Camelid?
- Private local inference. Run language, vision, and embedding models on your own hardware, offline after downloading the model files.
- One Rust engine. The engine and web UI ship as a single binary, with no Python, Node.js, or Docker required at runtime.
- Hardware acceleration. Use Metal on Apple Silicon, CUDA on supported NVIDIA paths, or CPU fallback on Windows, macOS, and Linux.
- Tested compatibility. Supported model files and quantizations are validated against a pinned llama.cpp reference, with explicit limits for each tested configuration.
Features
| Feature | What you can do |
|---|---|
| Everyday chat | Stream replies with Markdown, code highlighting, math, and diagrams. Edit and resend, regenerate replies, continue unfinished answers, and pin, tag, archive, or export conversations. |
| Projects and context | Group chats with shared instructions and reference files. Choose what each conversation inherits and inspect the sources included in the next request. Guide · Screenshot |
| Files and previews | Browse generated files beside the conversation, switch between Preview and Source, and download outputs. On the local engine, review a proposed file change before applying it, with conflict checks and Undo. Guide |
| Code in Chat | Work in a local project with a live plan, read-only helper agents, file reviews, individually approved commands, checks, and project previews, including a managed local preview server for Chrome. Pause, steer, queue a follow-up, or return to a saved session. Guide |
| Web and connected tools | Use Web Auto for web research with reply sources. Connect local or remote MCP servers, choose tools per conversation, and approve each tool call. MCP is a preview feature. MCP guide |
| Mobile browser chat | Chat from your phone with a compact model selector, project context, and file previews. Inference stays on your computer; browser history and context stay separate on each device. Remote setup |
| Models and developer tools | Browse the model catalog, inspect local GGUF metadata, check compatibility evidence, explore API examples, and inspect request telemetry. Model and tool availability follow the active engine's capabilities. |
Local chat works offline once model files are downloaded. Web research and remote MCP services need network access; Code requires an exact certified tool-capable model and a local engine connection.
Quick start
Model downloads are typically 1–8 GB. For the simplest setup, install the desktop app and download a model from its Models page.
Desktop app
Windows 10 or 11 (x86_64):
irm https://raw.githubusercontent.com/timtoole02/Camelid/main/scripts/get-desktop-windows.ps1 | iex
This installs the signed app per user and bundles the CUDA runtime. A compatible NVIDIA driver is still required for CUDA; otherwise Camelid uses the CPU.
macOS 12 or newer (Apple Silicon):
curl -fsSL https://raw.githubusercontent.com/timtoole02/Camelid/main/scripts/get-desktop-macos.sh | bash
This installs Camelid Desktop in /Applications. Run the same command again to update without removing models or settings.
Portable downloads and engine archives for Windows, macOS, and Linux are available from the latest release. See the desktop documentation for manual installation and packaging details.
Command line
After downloading and unpacking an engine archive, start a browser chat with:
camelid pull 3b_instruct_q8
camelid serve --model models/Llama-3.2-3B-Instruct-Q8_0.gguf
Camelid opens http://127.0.0.1:8181. Use camelid chat for the terminal UI, or add --no-open to run the server without opening a browser.
Run camelid pull without an argument to list the curated model catalog.
[!NOTE] To chat from another device, see the remote browser chat guide. Non-loopback listeners require authentication and either TLS or an explicit cleartext acknowledgement.
Screenshots
Desktop
Preview and download generated files without leaving the conversation. Code adds project activity, helper assignments, and explicit file reviews.

Mobile
The responsive browser UI keeps chat, project context, and downloadable file previews close at hand. These captures show the restricted remote-chat surface; local coding and engine administration are not exposed there.
Use a trusted private LAN or private Tailscale HTTPS access with authentication. See remote browser chat for setup. Screenshots were captured from the current frontend with isolated demo data; capture details and reproduction commands are included.
Supported models
Bonsai 2 2B, 4B, 9B, and 27B PTQ1_0 support text, GUI image chat, and function calling on Windows x86_64 with CPU or CUDA language decoding. Downloads include the matching vision projector. All four passed CUDA production GUI/API checks through the native server harness, matched benchmarks, and the final state and memory regression suite. The CUDA manifest records the qualified artifacts. CUDA drafting improves selected workloads, including all three measured 27B cases, but can also slow a request. See Bonsai 2 for the full comparison and tested limits.
Start with one of these five options. Support applies to exact model files, quantizations, and tested execution paths; see the compatibility ledger for each model's limits.
| Best for | Model | Pull ID |
|---|---|---|
| First chat | Llama 3.2 3B Instruct Q8_0 | 3b_instruct_q8 |
| Small end-to-end test (~1.2 GB) | TinyLlama 1.1B Chat Q8_0 | tinyllama |
| Compact Windows CPU or tested M4 Metal chat (~2.9 GB) | LFM2.5 2.6B Q8_0 | lfm2_5_2_6b |
| Local embeddings (CPU) | Nomic Embed Text v1.5 Q8_0 | nomic |
| Chat on a 16 GB Apple Silicon Mac | Mistral 7B Instruct v0.3 Q8_0 | mistral |
Llama 3.2 3B and LFM2.5 have support limited to the documented exact-file smoke tests; broader context, hardware, and behavior do not inherit that support.
Browse the full catalog and validation details, including coding, vision, and experimental models. Gemma 4 12B-It QAT Q4_0 is available for a tested 16 GB M4 Mac, with validation pending. Download availability does not imply verified support.
For image chat and embeddings and reranking, see the model guide for supported files and setup.
For voice input, use the microphone beside Send. A one-time 154 MB English speech-model download enables local Rust transcription into an editable prompt.
Ways to use Camelid
| Interface | Start it with | Best for |
|---|---|---|
| Desktop app | Install from Quick start | Native app with bundled engine |
| Browser chat | camelid serve --model <gguf> | Everyday local chat |
| Phone or tablet | Open the authenticated remote chat URL | Browser chat with inference on your computer |
| Terminal UI | camelid chat | Shell and SSH workflows |
| HTTP API | Start camelid serve | Chat, image input, embeddings, and reranking |
| Code in Chat | Choose Code in the local web UI | Reviewed edits, approved commands, and a live agent sidebar |
| Agent mode | camelid chat --agent --model <gguf> | Approval-gated tools in a repository |
| Workspace (preview) | Open Workspace in the web UI | Read-only analysis of a local folder |
The Code guide covers project folders, approvals, helper agents, checks, previews, saved workflows, follow-ups, and Undo. Code requires an exact certified tool-capable artifact and a loopback engine connection.
Agent mode confines file tools to a workspace root and keeps network access off unless enabled. Workspace is read-only and resumable. Both require a model marked tool_capable in the compatibility ledger. Review the agent documentation and every requested action before enabling additional tools or network access.
OpenAI-compatible API
camelid serve exposes the browser UI and API on the same port. Read the loaded model ID from GET /v1/models, then call the chat-completions endpoint:
curl http://127.0.0.1:8181/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Llama 3.2 3B Instruct",
"messages": [{"role": "user", "content": "Why is local inference useful?"}],
"max_tokens": 128,
"temperature": 0
}'
Camelid also supports /v1/responses, /v1/embeddings, /v1/rerank, streaming, local image input on supported VLM rows, function tools, structured text formats, conversations, and optional local SQLite storage. The machine-readable route and feature inventory is available from /api/capabilities.
Platform support
| Platform | Distribution | Acceleration |
|---|---|---|
| Windows x86_64 | Desktop installer, portable app, engine archive | Supported CUDA exact-row paths; CPU fallback |
| macOS Apple Silicon | Desktop DMG or engine archive | Metal and CPU |
| Linux x86_64 | Engine archive | CUDA compiled in; CPU fallback |
Hardware support is row- and configuration-specific. Consult COMPATIBILITY.md before relying on a particular GPU, model, or quantization combination.
Build from source
Camelid uses the toolchain pinned in rust-toolchain.toml. The React/Vite web UI in frontend/ is embedded in the engine binary.
(cd frontend && npm ci && npm run build)
cargo build --release --locked --bin camelid
See the contributor quick start for prerequisites and development setup.
Documentation
- Documentation index
- Model catalog and validation
- Remote browser chat
- Projects and conversation context
- Output previews and file review
- Code in Chat
- Connected tools (MCP preview)
- Configuration reference
- CUDA continuous batching and model residency
- Architecture
- Validation matrix
- Roadmap
Contributing
Contributions are welcome. Start with CONTRIBUTING.md, SECURITY.md, and the contributor quick start.
License
Camelid is released under the MIT License. llama.cpp (MIT, © the ggml authors) serves as the reference oracle for supported rows; see THIRD_PARTY_NOTICES.md for attribution.