runanywhere-sdks
RunAnywhere 是一套专为多平台设计的开源开发工具包,旨在帮助开发者轻松将人工智能功能直接集成到应用程序中,并完全在用户设备上运行。它支持大型语言模型对话、语音转文字、文字转语音以及图像生成等核心能力,无需依赖云端服务器。
这一方案有效解决了传统 AI 应用面临的数据隐私泄露、网络延迟高以及离线无法使用等痛点。由于所有计算均在本地完成,用户数据永不离开设备,既保障了隐私安全,又实现了极速响应。
RunAnywhere 主要面向移动应用和前端开发者,无论是使用 Swift、Kotlin 构建原生应用,还是通过 React Native、Flutter 或 Web 技术进行跨平台开发,都能快速接入。其独特的技术亮点在于提供了“生产级”的本地推理引擎,内置了从语音识别到大模型思考再到语音合成的完整流水线,并兼容 Llama、Mistral、Whisper 等多种主流开源模型。借助 RunAnywhere,开发者可以低成本打造出私密、离线且高性能的智能应用,让用户随时随地享受安全的 AI 服务。
使用场景
一家专注于户外探险的创业团队正在开发一款名为“荒野向导”的 iOS 应用,旨在为无网络信号的深山用户提供实时语音交互和路线建议。
没有 runanywhere-sdks 时
- 功能受限:由于依赖云端 API,用户在进入无信号区域后,核心的语音问答和路线规划功能完全瘫痪,应用变成“砖头”。
- 隐私顾虑:为了在弱网环境下勉强工作,不得不缓存用户录音上传,导致敏感的地理位置和语音数据存在泄露风险,难以通过严苛的隐私合规审查。
- 体验割裂:网络波动导致语音转文字(STT)和回答生成延迟高达数秒,甚至频繁超时失败,严重打断用户在紧急情况下的操作流。
- 成本高昂:随着用户量增长,云端 GPU 推理费用呈线性激增,且需额外投入运维资源处理高并发请求,压缩了初创团队的利润空间。
使用 runanywhere-sdks 后
- 全场景可用:集成其 Swift SDK 后,LLM 聊天、语音识别与合成全部在手机本地运行,即使在没有信号的无人区,用户也能流畅获取急救指南和路线建议。
- 数据主权回归:所有语音和对话数据仅在用户设备内部处理,绝不离开手机,天然满足最高级别的隐私安全标准,无需担心数据合规问题。
- 零延迟交互:得益于端侧推理,语音指令到反馈的延迟降低至毫秒级,实现了真正的“即说即答”,在紧急求救等关键场景中争取了宝贵时间。
- 架构轻量化:团队无需搭建和维护复杂的后端推理集群,大幅降低了服务器成本和运维复杂度,让开发者能更专注于业务逻辑创新。
runanywhere-sdks 通过将强大的 AI 能力彻底本地化,让应用在极端环境下依然保持智能、私密且高效,重新定义了移动端的离线交互体验。
运行环境要求
- iOS
- macOS
- Android
- Web (Browser)
- Linux
- 非必需(依赖 CPU 运行 GGUF 模型)
- Web 端需支持 WebGPU 的显卡
- Android 特定场景(如 Samsung 设备)可利用 GPU 加速
未说明(取决于所选模型大小,示例模型为 360M-4B 参数量)

快速开始
RunAnywhere
为所有平台提供设备端AI。
在本地运行大语言模型、语音转文本和文本转语音——私密、离线、快速。
实际演示
![]() 文本生成 LLM推理——100%在设备端 |
![]() 语音AI STT → LLM → TTS流水线——完全离线 |
|
![]() 图像生成 设备端扩散模型 |
![]() 视觉语言模型 设备端视觉与语言理解 |
|
RunAnywhere是什么?
RunAnywhere让你能够为你的应用添加完全在设备端运行的AI功能:
- LLM聊天——Llama、Mistral、Qwen、SmolLM等
- 语音转文本——Whisper驱动的转录
- 文本转语音——神经网络语音合成
- 语音助手——完整的STT→LLM→TTS流水线
无需云端。无延迟。数据不会离开设备。
SDK列表
| 平台 | 状态 | 安装方式 | 文档 |
|---|---|---|---|
| Swift (iOS/macOS) | 稳定 | Swift Package Manager | docs.runanywhere.ai/swift |
| Kotlin (Android) | 稳定 | Gradle | docs.runanywhere.ai/kotlin |
| Web (浏览器) | 测试版 | npm | SDK README |
| React Native | 测试版 | npm | docs.runanywhere.ai/react-native |
| Flutter | 测试版 | pub.dev | docs.runanywhere.ai/flutter |
快速入门
Swift (iOS / macOS)
import RunAnywhere
import LlamaCPPRuntime
// 1. 初始化
LlamaCPP.register()
try RunAnywhere.initialize()
// 2. 加载模型
try await RunAnywhere.downloadModel("smollm2-360m")
try await RunAnywhere.loadModel("smollm2-360m")
// 3. 生成
let response = try await RunAnywhere.chat("法国的首都是哪里?")
print(response) // "巴黎是法国的首都。"
通过Swift Package Manager安装:
https://github.com/RunanywhereAI/runanywhere-sdks
Kotlin (Android)
import com.runanywhere.sdk.public.RunAnywhere
import com.runanywhere.sdk.public.extensions.*
// 1. 初始化
LlamaCPP.register()
RunAnywhere.initialize(environment = SDKEnvironment.DEVELOPMENT)
// 2. 加载模型
RunAnywhere.downloadModel("smollm2-360m").collect { println("${it.progress * 100}%") }
RunAnywhere.loadLLMModel("smollm2-360m")
// 3. 生成
val response = RunAnywhere.chat("法国的首都是哪里?")
println(response) // "巴黎是法国的首都。"
通过Gradle安装:
dependencies {
implementation("com.runanywhere.sdk:runanywhere-kotlin:0.16.1")
implementation("com.runanywhere.sdk:runanywhere-core-llamacpp:0.16.1")
}
React Native
import { RunAnywhere, SDKEnvironment } from '@runanywhere/core';
import { LlamaCPP } from '@runanywhere/llamacpp';
// 1. 初始化
await RunAnywhere.initialize({ environment: SDKEnvironment.Development });
LlamaCPP.register();
// 2. 加载模型
await RunAnywhere.downloadModel('smollm2-360m');
await RunAnywhere.loadModel('smollm2-360m');
// 3. 生成
const response = await RunAnywhere.chat('法国的首都是哪里?');
console.log(response); // "巴黎是法国的首都。"
通过npm安装:
npm install @runanywhere/core @runanywhere/llamacpp
Flutter
import 'package:runanywhere/runanywhere.dart';
import 'package:runanywhere_llamacpp/runanywhere_llamacpp.dart';
// 1. 初始化
await RunAnywhere.initialize();
await LlamaCpp.register();
// 2. 加载模型
await RunAnywhere.downloadModel('smollm2-360m');
await RunAnywhere.loadModel('smollm2-360m');
// 3. 生成
final response = await RunAnywhere.chat('法国的首都是哪里?');
print(response); // "巴黎是法国的首都。"
通过pub.dev安装:
dependencies:
runanywhere: ^0.16.0
runanywhere_llamacpp: ^0.16.0 # LLM文本生成
# runanywhere_onnx: ^0.16.0 # 如果需要STT、TTS或语音功能,请添加此依赖
网页(浏览器)
import { RunAnywhere, TextGeneration } from '@runanywhere/web';
// 1. 初始化
await RunAnywhere.initialize({ environment: 'development' });
// 2. 加载模型
await TextGeneration.loadModel('/models/qwen2.5-0.5b-instruct-q4_0.gguf', 'qwen2.5-0.5b');
// 3. 生成
const result = await TextGeneration.generate('法国的首都是哪里?');
console.log(result.text); // "巴黎是法国的首都在。"
通过 npm 安装:
npm install @runanywhere/web
示例应用
展示 SDK 功能的全功能演示应用:
| 平台 | 源代码 | 下载 |
|---|---|---|
| iOS | examples/ios/RunAnywhereAI | App Store |
| Android | examples/android/RunAnywhereAI | Google Play |
| Web | examples/web/RunAnywhereAI | 从源码构建 |
| React Native | examples/react-native/RunAnywhereAI | 从源码构建 |
| Flutter | examples/flutter/RunAnywhereAI | 从源码构建 |
入门示例
在各个平台上快速上手 RunAnywhere 的最小化入门项目:
| 平台 | 仓库 |
|---|---|
| Kotlin (Android) | RunanywhereAI/kotlin-starter-example |
| Swift (iOS) | RunanywhereAI/swift-starter-example |
| Flutter | RunanywhereAI/flutter-starter-example |
| React Native | RunanywhereAI/react-native-starter-app |
实验室
使用 RunAnywhere 构建的、推动设备端 AI 边界的现实世界项目。每个项目都以可构建和运行的独立应用形式提供。
Android Use Agent
一个完全在设备上运行的自主 Android 助手,能够控制你的手机。只需给它一个目标,比如“打开 YouTube 并搜索 LoFi 音乐”,它就会通过无障碍 API 读取屏幕内容,利用设备上的 LLM(Qwen3-4B)推理下一步操作,并执行点击、滑动和文本输入——全程无需任何云端调用。内置三星前台加速功能,可将推理速度提升 15 倍;支持基于 Android Intent 的智能预启动;并具备循环检测与自动恢复功能。已在 Galaxy S24 上对四种 LLM 模型进行了基准测试。完整基准测试
设备端浏览器助手
一款 Chrome 扩展程序,完全在设备上使用 WebLLM 和 WebGPU 自动化浏览器任务。采用双代理架构——规划器负责将目标分解为步骤,导航器则与页面元素交互——同时支持基于 DOM 和视觉的页面理解。包含针对亚马逊、YouTube 等网站的特定工作流。所有 AI 推理在初始模型下载后均在本地 GPU 上运行。
Swift 入门应用
一款功能齐全的 iOS 应用,以简洁的 SwiftUI 界面展示了 RunAnywhere SDK 的核心 AI 能力。包括使用设备端语言模型进行 LLM 对话、基于 Whisper 的语音转文字、神经网络文语转换,以及将 STT、LLM 和 TTS 通过语音活动检测串联起来的完整语音流水线。是开发 iOS 上隐私优先 AI 功能的良好起点。
Linux 语音助手
一套完整的 Linux 设备端语音 AI 流水线(适用于 Raspberry Pi 5、x86_64 和 ARM64)。说出“Hey Jarvis”即可激活,自然对话并获得响应——全程本地运行,零云端依赖。将唤醒词检测(openWakeWord)、语音活动检测(Silero VAD)、语音转文字(Whisper Tiny EN)、LLM 推理(Qwen2.5 0.5B Q4)以及文语转换(Piper 神经网络 TTS)整合进一个 C++ 可执行文件中。
OpenClaw 混合助手
一种混合语音助手,将延迟敏感的组件保留在设备上(唤醒词、VAD、STT、TTS),而将推理部分通过 OpenClaw WebSocket 路由到云端 LLM。支持打断式交互(可通过说出唤醒词中断 TTS)、等待提示音以反馈云端响应,以及具有脉冲滤波功能的抗噪 VAD。专为设备端 LLM 太慢但又希望进行私密音频处理的场景设计。
功能特性
| 功能 | iOS | Android | Web | React Native | Flutter |
|---|---|---|---|---|---|
| LLM 文本生成 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 流式输出 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 语音转文字 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 文字转语音 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 语音助手流水线 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 视觉语言模型 | ✅ | — | ✅ | — | — |
| 模型下载 + 进度显示 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 结构化输出(JSON) | ✅ | ✅ | ✅ | 🔜 | 🔜 |
| 工具调用 | ✅ | ✅ | ✅ | — | — |
| 嵌入表示 | — | — | ✅ | — | — |
| Apple 基础模型 | ✅ | — | — | — | — |
支持的模型
LLM(GGUF 格式,通过 llama.cpp 加载)
| 模型 | 大小 | 所需内存 | 使用场景 |
|---|---|---|---|
| SmolLM2 360M | ~400MB | 500MB | 快速轻量级 |
| Qwen 2.5 0.5B | ~500MB | 600MB | 多语言支持 |
| Llama 3.2 1B | ~1GB | 1.2GB | 平衡性能 |
| Mistral 7B Q4 | ~4GB | 5GB | 高质量 |
语音转文字(Whisper,通过 ONNX 加载)
| 模型 | 大小 | 语言 |
|---|---|---|
| Whisper Tiny | ~75MB | 英语 |
| Whisper Base | ~150MB | 多语言 |
文字转语音(Piper,通过 ONNX 加载)
| 声音 | 大小 | 语言 |
|---|---|---|
| Piper 美式英语 | ~65MB | 英语(美) |
| Piper 英式英语 | ~65MB | 英语(英) |
仓库结构
runanywhere-sdks/
├── sdk/
│ ├── runanywhere-swift/ # iOS/macOS SDK
│ ├── runanywhere-kotlin/ # Android SDK
│ ├── runanywhere-web/ # Web SDK (WebAssembly)
│ ├── runanywhere-react-native/ # React Native SDK
│ ├── runanywhere-flutter/ # Flutter SDK
│ └── runanywhere-commons/ # 共享 C++ 核心
│
├── examples/
│ ├── ios/RunAnywhereAI/ # iOS 示例应用
│ ├── android/RunAnywhereAI/ # 安卓示例应用
│ ├── web/RunAnywhereAI/ # Web 示例应用
│ ├── react-native/RunAnywhereAI/ # React Native 示例应用
│ └── flutter/RunAnywhereAI/ # Flutter 示例应用
│
├── Playground/
│ ├── swift-starter-app/ # iOS AI 演示应用
│ ├── on-device-browser-agent/ # Chrome 浏览器自动化代理
│ ├── android-use-agent/ # 设备端自主安卓代理
│ ├── linux-voice-assistant/ # Linux 设备端语音助手
│ └── openclaw-hybrid-assistant/ # 混合语音助手(设备端 + 云端)
│
└── docs/ # 文档
系统要求
| 平台 | 最低版本 | 推荐版本 |
|---|---|---|
| iOS | 17.0+ | 17.0+ |
| macOS | 14.0+ | 14.0+ |
| Android | API 24 (7.0) | API 28+ |
| Web | Chrome 96+ / Edge 96+ | Chrome 120+ |
| React Native | 0.74+ | 0.76+ |
| Flutter | 3.10+ | 3.24+ |
内存: 最低 2GB,运行大型模型建议 4GB 以上
贡献
我们欢迎各类贡献。详情请参阅我们的 贡献指南。
# 克隆仓库
git clone https://github.com/RunanywhereAI/runanywhere-sdks.git
# 设置特定 SDK(以 Swift 为例)
cd runanywhere-sdks/sdk/runanywhere-swift
./scripts/build-swift.sh --setup
# 运行示例应用
cd ../../examples/ios/RunAnywhereAI
open RunAnywhereAI.xcodeproj
支持
- Discord: 加入我们的社区
- GitHub Issues: 报告问题或请求功能
- 邮箱: founders@runanywhere.ai
- Twitter: @RunanywhereAI
许可证
Apache 2.0 — 详情请参阅 LICENSE 文件。
版本历史
genie-v0.3.02026/03/20v0.19.72026/03/19genie-v0.1.02026/03/20runanywhere-v0.17.2-mac2026/02/25yaprun-v0.1-mac2026/02/24v0.19.62026/02/24v0.19.42026/02/23v0.19.32026/02/23v0.19.52026/02/23v0.19.22026/02/22commons-v0.1.62026/02/15v0.19.12026/02/15v0.19.02026/02/14v0.18.02026/02/13voice-assistant-v0.1.02026/01/30v0.17.52026/01/26v0.17.42026/01/22v0.17.32026/01/22v0.17.22026/01/22v0.17.12026/01/22常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器



