a-ghorbani/pocketpal-ai

An app that brings language models directly to your phone.

PocketPal AI – スマートフォン上のプライベートでオフラインのAI

何であるか – PocketPal AI は、無料でオープンソースの React‑Native モバイルアプリで、大規模言語モデル(LLM)とニューラルテキスト読み上げを iOS や Android デバイス上で完全にローカルで実行できます。モデルをダウンロードした後は、アカウントやクラウドエンドポイント、インターネット接続は一切不要です。

主な機能

  • デバイス内チャットllama.cpp エンジン(llama.rn ブリッジ)を介して GGUF 量子化モデル(Gemma、Qwen、Phi、Llama など)をサポート。推論はスマートフォンの CPU、GPU(Metal / OpenCL)または Qualcomm Hexagon NPU で実行され、バックエンドが利用できない場合はスムーズにフォールバックします。
  • ニューラル TTS – ONNX Runtime(Kokoro など)を用いたデバイス内音声合成。外部 API 呼び出しは一切不要です。
  • Pals と PalsHub – カスタムシステムプロンプトとモデル選択で「個性(アシスタントまたはロールプレイ)」を作成できます。コミュニティが作成した Pals をアプリ内マーケットプレイスで共有または購入できます。palshub.ai
  • ツール(Talent)の使用 – 内蔵の AgentRunner により、会話中に計算機、日時、HTML レンダラーなどのツールを呼び出すことができます。シンプルなエージェントループを実現します。
  • モデル管理 – Hugging Face から GGUF モデルを直接ブラウズ・ダウンロード可能(個人トークンでゲート付きモデルも対応)し、ローカルに保存できます。
  • ベンチマークとリーダーボード – トークン/秒とメモリ使用量を測定でき、結果を公開の AI‑Phone リーダーボードに送信することも可能です。
  • ローカライズ – UI は 11 言語に対応。iPad にも完全対応。

始める方法

  1. App Store または Google Play からインストール(README にリンクあり)。
  2. アプリを開く → メニュー ☰ → Models → デバイスの RAM/ストレージに合ったモデルを選択して 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(Qualcomm Hexagon)。エンジンは自動的に最速のパスを選択します。
  • アプリの拡張src/services/talents/TalentEngine を実装して登録することで、新しい 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