RunAnywhere 优化了 M 系列芯片上的 LLM 推理性能,Mac 本地开发者可获得显著的速度提升。
和你的 Mac 对话,查询你的文档,全程无需云端。
RCLI 是一款运行在 macOS 设备端的语音 AI。完整的 STT + LLM + TTS + VLM 流水线原生运行于 Apple Silicon——支持通过语音执行 40 种 macOS 操作、对本地文档进行 RAG、使用设备端视觉能力分析摄像头和屏幕,端到端延迟低于 200ms。无需云端,也不需要 API keys。
底层由 MetalRT 驱动。这是 RunAnywhere, Inc. 专为 Apple Silicon 打造的专有 GPU 推理引擎。
以下是在 Apple Silicon 上实时录制的画面——没有云端处理,没有后期剪辑,也没有任何花招。
【重要】需要搭载 Apple Silicon 且运行 macOS 13 或更高版本。MetalRT 引擎需要 M3 或更新芯片。M1/M2 Mac 会自动回退到 llama.cpp。
curl -fsSL https://raw.githubusercontent.com/RunanywhereAI/RCLI/main/install.sh | bash
brew tap RunanywhereAI/rcli https://github.com/RunanywhereAI/RCLI.git
brew install rcli
rcli setup # required — downloads AI models (~1GB, one-time)
brew update
brew upgrade rcli
如果 brew install 或 brew upgrade 因 checksum error 而失败:
# Force-refresh the tap to pick up the latest formula
cd $(brew --repo RunanywhereAI/rcli) && git fetch origin && git reset --hard origin/main
brew reinstall rcli
如果仍然无效,请彻底重新添加 tap,并清除下载缓存:
brew untap RunanywhereAI/rcli
rm -rf "$(brew --cache)/downloads/"*rcli*
brew tap RunanywhereAI/rcli https://github.com/RunanywhereAI/RCLI.git
brew install rcli
rcli setup
rcli # interactive TUI (push-to-talk + text)
rcli listen # continuous voice mode
rcli ask "open Safari" # one-shot command
rcli ask "play some jazz on Spotify"
rcli vlm photo.jpg "what's in this image?" # vision analysis
rcli camera # live camera VLM
rcli screen # screen capture VLM
rcli metalrt # MetalRT GPU engine management
rcli llamacpp # llama.cpp engine management
MetalRT 与 llama.cpp、Apple MLX 在 Apple M3 Max 上的 decode throughput 对比。
STT 和 TTS 的 real-time factor——数值越低越好。MetalRT STT 的速度是实时处理的 714 倍。
https://www.runanywhere.ai/blog/metalrt-fastest-llm-decode-engine-apple-silicon
https://www.runanywhere.ai/blog/metalrt-speech-fastest-stt-tts-apple-silicon
https://www.runanywhere.ai/blog/fastvoice-on-device-voice-ai-pipeline-apple-silicon
一套完整的 STT + LLM + TTS 流水线运行在 Metal GPU 上,并使用三个并发线程:
VAD——使用 Silero 进行语音活动检测。
STT——Zipformer 流式识别,以及 Whisper / Parakeet 离线识别。
LLM——Qwen3 / LFM2 / Qwen3.5,支持 KV cache continuation 和 Flash Attention。
TTS——双缓冲、句子级语音合成,播放当前句子的同时渲染下一句。
Tool Calling——采用 LLM 原生的 tool call 格式,支持 Qwen3、LFM2 等模型。
多轮记忆——使用滑动窗口保存对话历史,并根据 token 预算进行裁剪。
使用设备端视觉语言模型分析图片、摄像头画面和屏幕区域。VLM 通过 Metal GPU 运行在 llama.cpp 引擎上——无需云端。
图片分析——使用 rcli vlm photo.jpg "describe this" 查询单张图片。
摄像头——在 TUI 中按 V,或运行 rcli camera 进行实时摄像头画面分析。
屏幕捕获——在 TUI 中按 S,或运行 rcli screen 分析屏幕区域。
模型——Qwen3 VL 2B、Liquid LFM2 VL 1.6B、SmolVLM 500M,可通过 rcli models vlm 按需下载。
注意:VLM 目前仅适用于 llama.cpp 引擎。MetalRT 对 VLM 的支持即将推出。
通过语音或文本控制你的 Mac。LLM 会识别并路由用户意图,再通过 AppleScript 和 shell commands 在本地执行相应操作。
运行 rcli actions 可以查看全部 40 种操作,也可以在 TUI 的 Actions 面板中启用或禁用它们。
提示:如果 tool calling 表现得不够可靠,可以在 TUI 中按 X 清除对话并重置上下文。对于小型 LLM,不断累积的上下文可能降低 tool-calling 的准确率——换用全新上下文通常就能解决。
RAG(本地文档问答)
为本地文档建立索引,然后通过语音查询。结合向量检索与 BM25 的混合检索方式,在包含 5K+ chunks 的索引上延迟约为 4ms。支持 PDF、DOCX 和纯文本。
rcli rag ingest ~/Documents/notes
rcli ask --rag ~/Library/RCLI/index "summarize the project plan"
这是一个终端 dashboard,支持按键说话、实时硬件监控、模型管理和操作浏览。
MetalRT 是 RunAnywhere, Inc. 专为 Apple Silicon 打造的高性能 GPU 推理引擎。它为 LLM、STT 和 TTS 提供速度最快的设备端推理——LLM throughput 最高可达 550 tok/s,语音端到端延迟低于 200ms。
需要 Apple M3 或更新芯片。MetalRT 使用 M3、M3 Pro、M3 Max、M4 及后续芯片提供的 Metal 3.1 GPU 特性。对 M1/M2 的支持即将推出。在 M1/M2 上,RCLI 会自动回退到开源的 llama.cpp 引擎。
执行 rcli setup 时会自动安装 MetalRT,请选择 MetalRT 或 Both。也可以单独安装:
rcli metalrt install
rcli metalrt status
支持的模型:Qwen3 0.6B、Qwen3 4B、Llama 3.2 3B、LFM2.5 1.2B(LLM)· Whisper Tiny/Small/Medium(STT)· 提供 28 种声音的 Kokoro 82M(TTS)。
MetalRT 采用专有许可证分发。如需咨询许可证事宜,请联系:founder@runanywhere.ai
RCLI 支持涵盖 LLM、STT、TTS、VLM、VAD 和 embeddings 的 20 多种模型。所有模型都在 Apple Silicon 本地运行。使用 rcli models 即可浏览、下载或切换模型。
LLM:LFM2 1.2B(默认)、LFM2 350M、LFM2.5 1.2B、LFM2 2.6B、Qwen3 0.6B、Qwen3.5 0.8B/2B/4B、Qwen3 4B。
STT:Zipformer(流式)、Whisper base.en(离线,默认)、Parakeet TDT 0.6B(WER 约为 1.9%)。
TTS:Piper Lessac/Amy、KittenTTS Nano、Matcha LJSpeech、Kokoro English/Multi-lang。
VLM:Qwen3 VL 2B、Liquid LFM2 VL 1.6B、SmolVLM 500M——可通过 rcli models vlm 按需下载,仅支持 llama.cpp 引擎。
默认安装(rcli setup):约 1GB——包含 LFM2 1.2B、Whisper、Piper、Silero VAD 和 Snowflake embeddings。VLM 模型按需下载。
rcli models # interactive model management
rcli models vlm # download/manage VLM models
rcli upgrade-llm # guided LLM upgrade
rcli voices # browse and switch TTS voices
rcli cleanup # remove unused models
仅使用 CPU、基于 llama.cpp + sherpa-onnx 的构建方式,不包含 MetalRT:
git clone https://github.com/RunanywhereAI/RCLI.git && cd RCLI
bash scripts/setup.sh
bash scripts/download_models.sh
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . -j$(sysctl -n hw.ncpu)
./rcli
所有依赖都已内置于项目中,或由 CMake 获取。需要 CMake 3.15+ 和 Apple Clang(C++17)。
rcli Interactive TUI (push-to-talk + text + trace)
rcli listen Continuous voice mode
rcli ask <text> One-shot text command
rcli vlm <image> [prompt] Analyze an image with VLM
rcli camera [prompt] Live camera capture + VLM analysis
rcli screen [prompt] Screen capture + VLM analysis
rcli actions [name] List actions or show detail
rcli rag ingest <dir> Index documents for RAG
rcli rag query <text> Query indexed documents
rcli models [llm|stt|tts|vlm] Manage AI models
rcli voices Manage TTS voices
rcli metalrt MetalRT GPU engine management
rcli llamacpp llama.cpp engine management
rcli setup Download default models
rcli info Show engine and model info
Options:
--models <dir> Models directory (default: ~/Library/RCLI/models)
--rag <index> Load RAG index for document-grounded answers
--gpu-layers <n> GPU layers for LLM (default: 99 = all)
--ctx-size <n> LLM context size (default: 4096)
--no-speak Text output only (no TTS)
--verbose, -v Debug logs
欢迎贡献。构建说明,以及如何添加新操作、模型或声音,请参阅 CONTRIBUTING.md。
RCLI 是采用 MIT License 的开源软件。
MetalRT 是 RunAnywhere, Inc. 开发的专有软件,采用单独的许可证分发。
由 RunAnywhere, Inc. 构建。