a-ghorbani/pocketpal-ai
效率与系统工具在手机上本地运行 GGUF 语言模型、语音识别与合成的开源 AI 助手应用。
项目介绍
PocketPal AI 是一个 React Native 编写的 iOS/Android 应用,把语言模型放到手机本地运行,而不是把提示词发到服务器。它支持 GGUF 量化模型(Gemma、Qwen、Phi、Llama 等),通过 whisper.cpp 做端侧语音识别,提供神经语音合成,并支持在对话循环中调用工具。适合想要私密聊天助手的普通用户,也适合研究或扩展端侧推理栈的开发者。
应用分为四层:React Native 界面与工具调用层、原生桥接层(llama.rn、whisper.rn 等)、推理引擎层(llama.cpp、whisper.cpp、ONNX Runtime、Phonon)以及硬件后端层(CPU、iOS Metal、Android OpenCL、Qualcomm Hexagon NPU)。AgentRunner 负责流式输出,并在模型发起调用时分发「Talents」工具(计算器、日期时间、HTML 渲染、可选的联网搜索与网页读取)。
快速使用
最直接的路径是安装商店版本,在应用内下载模型:
- 从 App Store 或 Google Play 安装 PocketPal。
- 打开菜单(☰)→ Models,选择适合手机内存和存储的模型并下载;也可点 + 从 Hugging Face 或本地存储添加 GGUF 模型。
- 点 Load(或聊天输入框旁的箭头)加载模型,进入 Chat 开始对话。
使用带权限限制的 Hugging Face 模型时,先按 Hugging Face 令牌文档 创建访问令牌,再到 Settings → Set Token 粘贴保存。核心端侧聊天不需要后端密钥或账号。
从源码构建需要 .nvmrc 中钉住的 Node 版本(见 .nvmrc)和 Yarn 1 Classic:
git clone https://github.com/a-ghorbani/pocketpal-ai
cd pocketpal-ai
nvm use
yarn install
(cd ios && pod install) # 仅 iOS
yarn start
yarn ios # 或:yarn android
iOS 构建需要带 Metal Toolchain 的 Xcode,模拟器构建需要 Apple silicon Mac;Android 需要 Android Studio 及 SDK/NDK。平台前置条件可参考 React Native 环境搭建。
使用约束
- 模型选择受设备内存和存储限制,应用会要求选择与设备匹配的量化版本;完整硬件后端不可用时会降级或部分卸载图层。
- 隐私承诺有例外:联网搜索、网页读取、远程服务器或手机系统在线语音会把数据送出设备。模型与语音下载、PalsHub、内购、启动时从 CDN 获取的设备兼容规则、可选加入的跑分排行榜以及主动提交的反馈也会联网,但不会附带聊天内容。
- 商店版本提供一次性购买的「PocketPal Plus」解锁免提语音;源码构建已包含该功能。
- 开发者修改
package.json、原生模块、ios/、android/、Podfile 或build.gradle后必须重新执行pod install并双端重建,仅重载 JS 不会生效。提交 PR 前运行yarn lint && yarn typecheck && yarn test。 - 项目采用 MIT 许可证,界面已本地化为 16 种语言,翻译通过 Weblate 协作。
HotRepo 点评
HotRepo 记录到该项目在 2026-11-10 的 TypeScript 日榜上为 9,157 Star、1,063 Fork,当日新增 50 Star,该榜单最好名次为第 10 名。由于没有全语言日榜名次记录,目前可见的只是单次语言榜快照,而非持续趋势。仓库有与这份关注相匹配的端侧实现——GGUF + llama.cpp、whisper.cpp、基于 ONNX 的语音以及明确的 CPU/GPU/NPU 降级路径,而不只是应用外壳;对比较本地推理移动客户端的读者,以及寻找可维护 React Native 参考实现的开发者,都有参考价值。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。