RCLI:面向 macOS 的本地语音 AI——零云、极速
RCLI 是什么?
RCLI(RunAnywhere Command‑Line Interface)是一款完全本地、开源的 macOS 语音助手。它将语音识别(STT)引擎、大型语言模型(LLM)以及语音合成(TTS)整合在一起,全部在 Apple Silicon 的 GPU 上通过专有的 MetalRT 推理引擎运行。结果是,一台受语音激活的 Mac 能够控制应用程序,从本地文件获取信息,并实时响应——全程不将数据发往云端。
关键点:
- 38 种 macOS 操作(播放 Spotify、调节音量、截屏、打开 URL 等)可通过语音或文本触发。
- 本地检索增强生成(RAG),能够索引 PDF、DOCX 及纯文本文件,采用混合向量 + BM25 搜索,响应时间约 4 ms。
- 端到端延迟低于 200 ms,从说话到听到回复。
- 完全不依赖外部 API;不需要 API 密钥。
- 终端交互式 UI,可管理模型、操作以及 MetalRT 引擎。
安装
RCLI 可通过 Homebrew 或单一脚本安装。最快方式是运行:
curl -fsSL https://raw.githubusercontent.com/RunanywhereAI/RCLI/main/install.sh | bash
或使用 Homebrew:
brew tap RunanywhereAI/rcli https://github.com/RunanywhereAI/RCLI.git
brew install rcli
rcli setup # 第一次运行时下载约 1 GB 本地模型
若您的 Mac 运行 macOS 13+ 且配备 Apple Silicon 芯片(建议 M3 或更高),MetalRT GPU 引擎将自动使用。M1/M2 机器则回退到快速的开源 llama.cpp 推理实现。
快速开始命令
| 命令 | 功能说明 |
|---|---|
rcli |
启动交互式 TUI(按键触发或文本输入) |
rcli listen |
持续语音模式(您只需说话) |
rcli ask "open Safari" |
单次文本或语音指令 |
rcli metalrt |
MetalRT GPU 引擎管理 |
rcli llamacpp |
Llama.cpp 引擎管理 |
在 TUI 中,按 A 可开启或关闭操作,M 查看模型,R 导入文档用于 RAG,X 清除会话上下文。
详细功能
1. 全功能语音管线
- VAD – Silero 声音活动检测。
- STT – Whisper Tiny/Small/Medium 或 Zipformer 流式。
- LLM – Qwen3、LFM2 系列或 Qwen3.5;均加载至 MetalRT,配合 Flash Attention。
- TTS – Kokoro 语音或其他 TTS 引擎。
- 工具调用 – 支持 Qwen3 与 LFM2 原生工具调用,实现 macOS 操作。
2. 38 种 Mac 操作
RCLI 根据 LLM 的意图映射至 AppleScript 或 shell 命令。常见分类: - 生产力 – 创建便签、提醒或运行快捷方式。 - 通讯 – 发送消息、启动 FaceTime 通话。 - 媒体 – 控制 Spotify、Apple Music、调节音量。 - 系统 – 打开/退出应用、锁定屏幕、切换深色模式。 - 网页 – 搜索、打开 URL 或地图。
3. 本地 RAG
使用 rcli rag ingest ~/Documents 索引文件夹。查询时通过混合检索引擎完成,完全本地化。约 4 ms 响应时间,支持海量文档实时问答。
4. 基准测试
- MetalRT 解码吞吐量:最高 550 tokens/s,超过 llama.cpp 及 M3 Max 上的 Apple MLX。
- 实时率:MetalRT STT 速率为实时的 714 倍,整体管线低于 200 ms。
如何贡献
RCLI 欢迎 PR。贡献方式: - 新增或改进 macOS 操作。 - 支持更多模型(LLM、STT、TTS)。 - 改进 TUI 或添加新文档。
参阅 CONTRIBUTING.md 获取构建指南。
是否免费?
本仓库采用 MIT 许可证。MetalRT GPU 引擎为专有技术,个人或商业项目可在联系供应商后免费使用。
概述
RCLI 为 macOS 提供了极具吸引力的本地语音解决方案,消除对云服务和 API 密钥的依赖。凭借不断扩大的本地执行操作、实时 RAG 与闪电般的 MetalRT 推理,它是打造隐私优先语音助手或希望即时掌控 Mac 的高级用户的理想项目。
下一步:克隆仓库,通过 Homebrew 安装,并试验语音指令。欢迎在社区论坛分享自定义操作或提示,助力项目进展。