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。
如何開始
- 從 App Store 或 Google Play 安裝(README 中有連結)。
- 開啟應用 → 菜單 ☰ → Models → 選擇適合您設備記憶體/儲存空間的模型並點選 Download(或從 Hugging Face 新增)。
- 點選 Load 並在 Chat 預覽開始對話。
開發者相關細節
- 技術棧 – React‑Native(v0.82.1)+ TypeScript,UI 使用 React‑Native‑Paper,狀態管理使用 MobX,持久化使用 WatermelonDB。原生橋接連接 JavaScript 與:
llama.rn(llama.cppGGUF 推理的 JSI 綁定)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 檔案。 - 建置說明 –
提交 PR 前請執行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 androidyarn lint && yarn typecheck && yarn test。 - 品質門檻 – ESLint、TypeScript 類型檢查、Jest 測試、語言包驗證,以及透過 Husky 強制執行 Conventional‑Commit。
社群與支援
- 討論、錯誤回報與功能請求請前往 GitHub Discussions 和 Issues。
- 翻譯由 Weblate 協調。
- 透過 GitHub Sponsors 贊助可協助維持應用無廣告狀態。
授權 – MIT(參見 LICENSE)。
總結 – PocketPal AI 是一款完全離線、以隱私為首要的行動 AI 助手,將真實的 LLM 推理與神經語音合成帶到您已擁有的手機上,並為希望探索設備內代理、工具使用與自訂角色的開發者提供乾淨、可擴充的程式碼庫。
相關
- 專案
- 專案
- 專案
- 專案
- Dispatch