RWKV_APP
跨平台端侧 RWKV 大模型聊天应用,模型推理完全本地运行,隐私零泄漏,支持 Android/iOS/桌面端
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
跨平台端侧 RWKV 大模型聊天应用,模型推理完全本地运行,隐私零泄漏,支持 Android/iOS/桌面端
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
痛点场景:2024年的某一天,你正在地铁上想和 AI 聊聊技术方案,但公司的 AI 助手要求联网、把对话数据传到云端——隐私顾虑让你不得不作罢。与此同时,你手机里装着好几个大模型 Demo App,每个都需要申请 API Key、等待审核、支付费用。你开始想:如果能在自己的手机上跑大模型,而且不需要任何网络,那会是什么样?
RWKV App 正是为这个场景而生。这是一个用 Flutter 构建的跨平台应用,让用户可以在手机、平板和桌面电脑上直接运行 RWKV 系列大语言模型,实现完全本地化、隐私优先的 AI 对话体验。模型加载后,所有推理过程在本地设备上完成,数据永远不会离开你的手机。

在深入了解 App 之前,有必要理解 RWKV 这个模型架构本身的意义。
传统的 Transformer 模型(如 GPT 系列)在处理长文本时,KV Cache(键值缓存)会随着上下文长度线性增长——上下文越长,显存占用越高,生成速度也越慢。这对于需要在手机等资源受限设备上运行大模型是一道天然的障碍。
RWKV(Receptance Weighted Key Value)是一种混合架构,将 Transformer 的并行训练能力与 RNN(循环神经网络)的高效推理特性结合在一起。它的核心创新在于:
这意味着,在同等硬件条件下,RWKV 可以在端侧设备上实现更长的上下文和更稳定的推理速度。RWKV App 正是基于这个特性,将模型推理能力带到了普通用户的手机和电脑上。
RWKV App 不只是一个聊天界面,而是一个围绕本地大模型推理的完整工具集。
AI 对话(Chat) 是最核心的功能。用户可以从 Hugging Face 下载不同尺寸的 RWKV 模型(从 0.1B 到 7B 参数不等),在本地加载并与 AI 展开多轮对话。支持切换不同模型进行横向对比,用户可以直观感受不同规模模型在速度和质量上的差异。
语音合成(TTS) 功能允许 AI 将回复内容转换为自然语音输出。这意味着用户可以"听"AI 回答,在驾驶、散步或双手不便的场景下继续使用 AI。TTS 完全在本地运行,不依赖任何云端语音服务。
视觉理解(Vision) 支持用户上传图片,AI 基于图片内容进行问答。这使得 RWKV App 不局限于纯文本对话,可以处理图文混合的交互场景。
本地 OpenAI 兼容 API 是桌面端的一个亮点功能。开启后,RWKV App 会在本地暴露一个兼容 OpenAI API 格式的 HTTP 端点,其他工具(如 SillyTavern、anythingLLM)可以直接连接使用,将 RWKV App 作为后端推理引擎。这是一个非常实用的特性,极大拓展了 App 的生态位。
Benchmark 内置评测 功能允许用户在真实硬件上运行标准基准测试(如 Lambada),量化评估模型的困惑度表现,为选择适合自己设备的模型提供数据参考。
RWKV App 的技术栈选型非常务实:以 Flutter 为 UI 框架,通过 Dart 语言实现跨平台开发,一次代码同时覆盖 Android、iOS、Windows、macOS 和 Linux 五个平台。
项目采用 Riverpod(v2.6.1)作为状态管理方案,这是 Flutter 生态中目前最推荐的响应式状态管理库。相比早期的 Provider,Riverpod 提供了编译时依赖注入、更好的测试支持以及更清晰的依赖图。在 RWKV App 中,聊天状态、模型加载状态、后端状态等核心数据均通过 Riverpod Provider 管理。
从目录结构可以看到 lib/store/ 下存在大量状态文件:backend.dart(推理后端状态)、chat.dart(对话状态)、benchmark.dart(评测状态)等,每个状态文件对应一个独立的业务领域,职责划分清晰。
本地数据持久化使用 Drift(原名 Moor),这是 Flutter 生态中功能最完善的 SQLite ORM。Drift 不仅提供类型安全的数据库操作,还支持增量编译时代码生成(drift_dev + build_runner)。项目中的 lib/db/db.dart 和 lib/db/db.steps.dart 定义了数据库表结构和迁移步骤,用于存储聊天历史、对话配置和模型参数等持久化数据。
Drift 的优势在于它将 SQLite 的能力与 Dart 的类型系统深度结合,查询结果直接映射为 Dart 数据类,不需要手动解析 SQL 结果集。
RWKV 模型在移动端的推理依赖于 rwkv_mobile_flutter 这个底层库(通过 Git 依赖引入),它是 RWKV 官方提供的 Flutter 原生绑定,负责在 ARM 处理器上执行 INT4/INT8 量化的 RWKV 权重推理。Android 平台还额外使用了 QNN(Qualcomm Neural Network) 加速库,在高通芯片上实现硬件级别的神经网络加速。
项目工程化水平相当成熟:
.rubocop 配置)整体来看,这不是一个"玩具级"项目,而是一个生产级别的端侧 AI 应用。
RWKV App 的部署模式与传统的服务端项目有本质区别——它是一个面向终端用户的客户端应用,而非服务端程序。
移动端(Android / iOS):可直接从 Google Play(Android)或 App Store(iOS)下载安装包,无需任何配置。Android 还支持直接安装 APK 文件。项目使用标准 Flutter 构建流程,android/ 和 ios/ 目录包含完整的原生平台配置。
桌面端(Windows / macOS / Linux):从官方下载页 https://rwkv.halowang.cloud/ 获取对应平台的安装包。桌面端额外支持本地 API Server 功能,可以作为后台服务运行。
容器化支持:项目中不存在 Dockerfile 或 docker-compose,因此不支持容器化部署。这是合理的设计选择——Flutter 客户端应用本身不需要 Docker 化,Android/iOS APK 和桌面可执行文件已经是最优的交付形态。
移动端部署支持:完整支持(Android APK / iOS App Store)
客观地说,RWKV App 存在几个需要正视的局限性:
模型能力上限:RWKV 作为 RNN 变体,在某些复杂推理任务(特别是需要精确多步推导的数学证明、代码生成)上与同尺寸的 Transformer 模型相比仍有差距。在手机上运行的量化模型(通常为 3B 参数左右)的能力上限远低于云端 GPT-4 级别模型。用户应将 RWKV App 定位为"随身 AI 助手"而非"通用超级智能"。
移动端推理速度:即便 RWKV 已经对端侧推理做了大量优化,在中低端手机上运行 3B 参数模型仍然可能感到迟缓。生成一个完整回复可能需要等待数秒到十几秒不等,这取决于设备芯片和模型大小。
隐私的双面性:虽然对话数据完全在本地处理,但模型权重文件(通常数 GB)需要从 Hugging Face 下载——首次下载过程会经过网络。后续使用则完全离线。
RWKV App 代表了一个正在壮大的趋势:端侧 AI(On-Device AI)的大众化。
从 Apple 的 Core ML、Google 的 ML Kit,到高通、联发科陆续推出专用的 NPU(神经网络处理单元),移动芯片的 AI 推理能力正在快速提升。RWKV App 踩在这个时间节点上,用开源的方式让普通用户也能享受端侧 AI 的隐私和离线优势。
更重要的是,RWKV 的架构创新为端侧 AI 提供了一条新的技术路径——不需要等待芯片算力追上来,通过算法层面的优化(O(1) 状态更新、无 KV Cache)就能让现有硬件跑得动大模型。这条路线的价值正在被越来越多的研究者和工程师认识到。
| 维度 | 评估 |
|---|---|
| 定位 | 端侧本地 AI 对话应用(跨平台客户端) |
| 模型 | RWKV 系列(0.1B ~ 7B,支持 Hugging Face 下载) |
| 技术栈 | Flutter + Dart, Riverpod, Drift, rwkv_mobile_flutter |
| 部署方式 | Android APK / iOS App / 桌面可执行文件 |
| 容器化 | 不支持(应用本身即交付物) |
| 快速部署 | 不支持服务端部署 |
| 移动端 | ✅ 完整支持(Google Play / App Store) |
| 代码质量 | 高(Freezed, Drift, Sentry, 多语言国际化) |
| 隐私性 | 极高(模型推理完全本地离线运行) |
| 适合人群 | 注重隐私的用户、端侧 AI 研究者、RWKV 社区爱好者 |