a-ghorbani/pocketpal-ai

An app that brings language models directly to your phone.

PocketPal AI – 您手机上的私有、离线 AI

是什么 – PocketPal AI 是一款免费开源的 React‑Native 移动应用,可在 iOS 或 Android 设备上完全本地运行大型语言模型(LLMs)和神经文本转语音。下载模型后,无需账户、无需云端点,也无需互联网连接。

核心功能

  • 设备内聊天 – 通过 llama.cpp 引擎(llama.rn 桥接)支持 GGUF 量化模型(Gemma、Qwen、Phi、Llama 等)。推理在手机的 CPU、GPU(Metal / OpenCL)或高通 Hexagon NPU 上运行,当后端不可用时会优雅降级。
  • 神经 TTS – 使用 ONNX Runtime(Kokoro 及其他语音模型)在设备上进行语音合成,无需外部 API 调用。
  • Pals 与 PalsHub – 通过自定义系统提示和模型选择创建“个性”(助手或角色扮演)。可通过应用内市场在 palshub.ai 共享或购买社区制作的 Pals。
  • 工具(Talent)使用 – 内置 AgentRunner 使模型在对话中调用工具(计算器、日期时间、HTML 渲染器),实现简单的代理循环。
  • 模型管理 – 可直接从 Hugging Face 浏览并下载 GGUF 模型(包括通过个人令牌访问受保护模型),并本地存储。
  • 基准测试与排行榜 – 可测量每秒令牌数和内存使用量,可选择将结果提交至公开的 AI-Phone 排行榜。
  • 本地化 – UI 支持 11 种语言;全面支持 iPad。

如何开始

  1. App StoreGoogle Play 安装(README 中有链接)。
  2. 打开应用 → 菜单 ☰ → Models → 选择适合您设备内存/存储的模型并点击 Download(或从 Hugging Face 添加)。
  3. 点击 Load 并在 Chat 屏幕开始聊天。

开发者相关细节

  • 技术栈 – React‑Native(v0.82.1)+ TypeScript,UI 使用 React‑Native‑Paper,状态管理使用 MobX,持久化使用 WatermelonDB。原生桥接连接 JavaScript 与:
    • llama.rnllama.cpp GGUF 推理的 J​SI 绑定)
    • react-native-speech + ONNX Runtime(TTS)
  • 硬件后端 – CPU(降级备用)、GPU(iOS 上为 Metal,Android 上为 OpenCL)、NPU(高通 Hexagon)。引擎会自动选择最快可用路径。
  • 扩展应用 – 通过实现 TalentEngine 并在 src/services/talents/ 中注册,添加新 Talent(工具)。在 src/services/tts/engines/ 添加新 TTS 引擎,或在 src/locales/ 添加新语言 JSON 文件。
  • 构建说明
    git clone https://github.com/a-ghorbani/pocketpal-ai
    cd pocketpal-ai
    nvm use               # Node 22.21.0(在 .nvmrc 中固定)
    yarn install          # 安装 JS 依赖
    (cd ios && pod install)   # 仅 iOS
    yarn start            # Metro 打包器
    yarn ios   # 或 yarn android
    
    提交 PR 前请运行 yarn lint && yarn typecheck && yarn test
  • 质量门禁 – ESLint、TypeScript 类型检查、Jest 测试、语言包验证,以及通过 Husky 强制执行 Conventional‑Commit。

社区与支持

  • 讨论、错误报告和功能请求请前往 GitHub DiscussionsIssues
  • 翻译由 Weblate 协调。
  • 通过 GitHub Sponsors 赞助可帮助维持应用无广告状态。

许可证 – MIT(参见 LICENSE)。


总结 – PocketPal AI 是一款完全离线、以隐私为先的移动 AI 助手,将真正的 LLM 推理和神经语音合成带到了您已拥有的手机上,并为希望探索设备内代理、工具使用和自定义角色的开发者提供了干净、可扩展的代码库。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch