3ヶ月のイテレーションから完全オープンソースへ:Open Minis の進化の道
2026年7月、Open Minis の創設者 Ethan Wang が X で iOS と Android のコードの完全オープンソース化を発表しました。このツイートはすぐに開発者コミュニティで爆発的な反響を呼びました — "possibly the best Agent app on your phone"。3〜4ヶ月の集中的なイテレーションを経て、このアプリはすでに数万人のユーザーの日常的なワークフローを支えています。
2026年8月現在、Open Minis は GitHub で 3,900+ Star、457 Fork を獲得し、モバイル AI Agent 分野で最も注目されているオープンソースプロジェクトとなっています。MacStories の Federico Viticci は "the most impressive indie app I've seen in a while" と評価し、知乎の評価では "Apple Intelligence を大幅に実現し、部分的には超越している" とされています。
Open Minis はまた別の ChatGPT ラッパーアプリではありません。その核心的な差別化は:AI モデルに真のコンピューターを与える — モバイルデバイス上で動作する完全な Linux 環境、ブラウザ自動化、深いデバイス統合、拡張可能なスキルシステムを備えています。
オンデバイス AI Agent が次の戦場である理由
クラウド Agent の限界
現在の主流の AI Agent フレームワーク — DeerFlow、CrewAI、AutoGen のいずれも — はすべてクラウドサーバー上で動作します。このアーキテクチャにはいくつかの根本的な制限があります:
- プライバシーの境界:ユーザーの健康データ、カレンダー、連絡先、写真は Agent が処理するためにクラウドにアップロードする必要があります
- 遅延の問題:各インタラクションはネットワークの往復を必要とし、即応 responses を不可能にします
- オフラインでの使用不可:飛行機内、地下鉄、信号の悪いエリアでは、Agent は完全に麻痺します
- 線形に増加するコスト:各ユーザーの各呼び出しはクラウドの計算リソースを消費し、規模が大きいほどコストが高くなります
オンデバイス Agent の構造的優位性
Open Minis が代表するオンデバイス AI アーキテクチャは、上記のすべての問題を解決します:
| 次元 | クラウド Agent | Open Minis(オンデバイス) |
|---|---|---|
| データプライバシー | データがデバイスを離れる | 完全にローカル処理 |
| 遅延 | 100-500ms ネットワーク往復 | <10ms ローカル呼び出し |
| オフライン能力 | 完全に使用不可 | コア機能は利用可能 |
| デバイス統合 | 追加の API 連携が必要 | ネイティブな深い統合 |
| コストモデル | トークンごとに線形増加 | 一度の開発、限界コストはゼロに収束 |
| システム権限 | API の範囲に制限 | 完全なデバイス能力 |
これはクラウド Agent に価値がないという意味ではありません — 複雑な推論タスクや大規模なデータ処理には依然としてクラウドの計算リソースが必要です。しかし、日常的な個人アシスタントのシナリオでは、オンデバイス Agent はプライバシー、遅延、ユーザー体験において構造的な優位性を持っています。
コアアーキテクチャ解析:iOS と Android デュアルプラットフォームの実装
全体的なアーキテクチャ
Open Minis のコードベースは明確に構造化されています:
src/ios/ iOS アプリ(Swift / SwiftUI)+ Share Extension + Widget + File Provider
src/android/ Android アプリ(Kotlin / Compose)+ JNI ネイティブコード
src/shared/ デュアルプラットフォーム共有リソース
deps/ ネイティブ依存関係のビルドスクリプトとベンダーソースコード
docs/specs/ アーキテクチャとインターフェース仕様
scripts/ ルートファイルシステムの準備と開発者ツール
プロジェクトは GPLv3 ライセンスを使用しています。これは GPLv3 の iSH(iOS)と GPLv2 の PRoot(Android)をリンクしているためです。
コアの革新:デバイス内の Linux サンドボックス
Open Minis の最も重要な技術的ブレークスルーは、モバイルデバイス内で完全な Linux 環境を実行することです。これは単純なターミナルエミュレータではなく、完全に機能するサンドボックスオペレーティングシステムです。
iOS 側:iSH プロジェクトの ARM64 フォークに基づいています。iSH は Linux ユーザーモードシミュレーションを実装し、iOS 上で Alpine Linux を実行します。Agent はパッケージをインストールし、スクリプトを実行し、実際のファイルを操作できます。
Android 側:PRoot のユーザースペース chroot に基づいています。PRoot は root 権限なしで隔離された Linux 環境を作成し、同様に Alpine Linux を実行します。
ビルドプロセスは非常に複雑です — 初回ビルドには30〜60分かかります。すべてのネイティブ依存関係がソースコードからコンパイルされるためです:
# iOS ビルドの順序が重要です:FFmpeg は LAME とリンク
./deps/build_lame.sh # LAME 3.100 静的ライブラリ
./deps/build_ffmpeg.sh # FFmpeg 6.1.2 フレームワークバンドル
./deps/build_ish.sh # iSH カーネルライブラリ
./deps/prepare_alpine_rootfs.sh # Alpine aarch64 minirootfs
# Android には NDK r28+ が必要
./deps/build_proot.sh && ./scripts/prepare_android_sandbox.sh
スキルシステム(Skills)
Open Minis のスキルシステムは、その拡張性の中核です。スキルは SKILL.md ファイルを含むフォルダです — 指示、オプションのスクリプト、参考資料、アセットを含みます。
重要な設計決定:Open Minis は専用のスキル作成を要求しません。Claude Code、Codex、OpenClaw、Hermes Agent 用に構築されたスキルは、通常 Minis で直接実行できます。Minis のツール環境に適応したスキルはより良く動作します — Linux シェル、デバイス統合、ネイティブアンロードに直接アクセスできるためです。
# サンプル SKILL.md 構造
---
name: health-analyzer
description: 健康データを分析しレポートを生成
triggers: [健康, 運動, 睡眠]
---
## 指示
ユーザーが健康データを尋ねたとき:
1. HealthKit/Google Fit API を通じてデータを取得
2. Linux サンドボックスで分析スクリプトを実行
3. Markdown 形式のレポートを生成
## スクリプト
- scripts/analyze.py: データ分析のメインスクリプト
- scripts/export_health.sh: データエクスポートツール
スキルリポジトリ OpenMinis/MinisSkills には、TTS、検索、メディアダウンロード、健康分析、クラウド API など、さまざまなスキルがすでに収録されています。
デバイス統合レイヤー
Open Minis はデバイスの能力を Agent が呼び出せるツールとして公開します:
| 統合項目 | iOS 実装 | Android 実装 |
|---|---|---|
| 健康データ | HealthKit | Google Fit / Health Connect |
| カレンダー | EventKit | Android Calendar Provider |
| リマインダー | Reminders | AlarmManager |
| 連絡先 | Contacts framework | ContactsContract |
| スマートホーム | HomeKit | 未実装 |
| Bluetooth | CoreBluetooth | BluetoothAdapter |
| クリップボード | UIPasteboard | ClipboardManager |
| ショートカット | Shortcuts app | 未実装 |
この深い統合は、Agent が単にチャットするだけでなく、ユーザーのデバイスを実際に操作できることを意味します。写真を撮って食べ物を認識し栄養データを記録する、Telegram グループからタスクを抽出してリマインダーに書き込む、Web コンテンツをカレンダーイベントに整理する。
ネイティブアンロード(Native Offloads)
重い計算やプラットフォーム固有の作業は、サンドボックス内で実行するのではなく、ネイティブコードにアンロードされます。これには以下が含まれます:
- メディア処理:FFmpeg と LAME はネイティブフレームワークとしてコンパイルされ、MP3 エンコーディング、ビデオトランスコーディングは直接ネイティブレイヤーで実行
- トークン化:中国語トークン化ライブラリ cppjieba はネイティブライブラリとしてコンパイル
- 数式レンダリング:KaTeX ネイティブレンダリング
- 音声認識:RealTimeCutVADLibrary はリアルタイム音声活動検出を実装
このハイブリッドアーキテクチャにより、Open Minis はサンドボックスの安全性を維持しながら、パフォーマンスクリティカルなパスの効率を犠牲にしません。
オンデバイス AI の技術的課題と解決策
課題 1:モデル推論の計算リソース制限
モバイルデバイスでは 70B パラメータの大きなモデルを実行できません。Open Minis の解決策は Bring Your Own Model(BYOM) です:
- Claude、GPT、Gemini などの主流プロバイダーをサポート
- ユーザーが独自の API キーまたはアカウントログインを持ち込む
- 推論はクラウドで実行されるが、データはデバイスのローカルで処理
これは純粋な「オンデバイス推論」ではなく、「オンデバイスオーケストレーション」です — Agent のオーケストレーションロジックはローカルにあり、推論はクラウドの計算リソースを借用できます。この実用的なアーキテクチャは、能力と実現可能性のバランスを取っています。
課題 2:メモリとストレージの管理
Linux サンドボックスには追加のメモリとストレージスペースが必要です。Open Minis の戦略:
- Alpine Linux minirootfs:最小限のルートファイルシステム、必要なツールのみを含む
- オンデマンドインストール:Agent はサンドボックス内で
apk addを使用して必要なパッケージをインストール可能 - ワークスペースの分離:異なるタスクは独立したワークスペースを使用し、
minis://workspace/でアドレス指定
課題 3:バッテリーと熱管理
継続的な Agent の活動はバッテリーを消費し、熱を発生させます。Open Minis は以下の方法で緩和します:
- ネイティブアンロード:重い計算はネイティブコードを経由し、サンドボックス内での実行より効率的
- バックグラウンド制限:iOS と Android のシステム制限により、過度なバックグラウンド活動が自然に防止
- ユーザー制御:ユーザーは Agent の活動権限とトリガー条件を設定可能
課題 4:セキュリティサンドボックスエスケープ
デバイス上で完全な Linux 環境を実行することは、セキュリティリスクをもたらします。Open Minis の多層防御:
- ユーザーモードシミュレーション:iSH と PRoot のいずれもカーネル権限を必要とせず、ハードウェアに直接アクセスできない
- ファイルシステムの分離:サンドボックスのファイルシステムはメインシステムから分離
- ネットワーク権限制御:Agent のネットワークアクセスはアプリケーション権限に準拠
- オープンソース監査:完全なコードがオープンソースであり、セキュリティコミュニティが審査可能
クラウド Agent との比較
| 機能 | DeerFlow | CrewAI | Open Minis |
|---|---|---|---|
| 実行環境 | クラウドサーバー | クラウドサーバー | モバイルデバイス |
| プログラミング言語 | Python | Python | Swift/Kotlin |
| マルチ Agent 協力 | ✅ サポート | ✅ コア機能 | ❌ シングル Agent |
| デバイス統合 | ❌ なし | ❌ なし | ✅ 深い統合 |
| オフライン能力 | ❌ 使用不可 | ❌ 使用不可 | ✅ コア機能は利用可能 |
| プライバシー保護 | ❌ データがクラウドに | ❌ データがクラウドに | ✅ ローカル処理 |
| 複雑な推論 | ✅ 強力 | ✅ 強力 | ⚠️ 外部モデルに依存 |
| デプロイの複雑さ | 中程度 | 中程度 | 高い(ネイティブ依存関係のコンパイルが必要) |
Open Minis はクラウド Agent フレームワークを置き換えるものではなく、個人アシスタントのシナリオでより優れた解決策を提供します。マルチ Agent 協力や大規模なデータ処理が必要なシナリオでは、DeerFlow や CrewAI が依然としてより良い選択です。
オープンソースコード構造の深層分析
iOS アーキテクチャ
src/ios/
├── Minis.xcodeproj/ # Xcode プロジェクト設定
├── Minis/ # メインアプリケーション
│ ├── App/ # アプリケーションのエントリポイントとライフサイクル
│ ├── Views/ # SwiftUI ビュー
│ ├── Models/ # データモデル
│ ├── Services/ # ビジネスロジックサービス
│ ├── Agent/ # Agent コアロジック
│ │ ├── Runtime/ # ランタイム環境
│ │ ├── Tools/ # ツール定義
│ │ └── Skills/ # スキルローダー
│ └── Integrations/ # デバイス統合
│ ├── HealthKit/
│ ├── Calendar/
│ └── Shortcuts/
├── MinisShare/ # Share Extension
├── AgentWidgetExtension/ # Widget
└── MinisFileProvider/ # File Provider
iOS 側は Swift 6.0 と SwiftUI を使用し、ターゲットバージョンは iOS 26.2 です。プロジェクトには複数のターゲットが含まれています:メインアプリケーション、Share Extension(他のアプリケーションからの共有を受け取るため)、Widget、File Provider。
Android アーキテクチャ
src/android/
├── app/ # メインアプリケーションモジュール
│ ├── src/main/
│ │ ├── java/ # Kotlin コード
│ │ │ └── app/openminis/
│ │ │ ├── ui/ # Compose UI
│ │ │ ├── agent/ # Agent コア
│ │ │ ├── sandbox/ # PRoot サンドボックス管理
│ │ │ └── tools/ # ツールとデバイス統合
│ │ └── jni/ # JNI ネイティブコード
│ └── build.gradle.kts
└── buildSrc/ # ビルド設定
Android 側は Kotlin と Jetpack Compose を使用し、JDK 17 です。JNI レイヤーは PRoot サンドボックスのネイティブインタラクションを処理します。
クロスプラットフォーム共有
src/shared/ には両プラットフォームで共有されるリソースが含まれていますが、コアロジックは各プラットフォームで独立して実装されています。この「共有リソース、独立ロジック」の戦略は、React Native や Flutter などのクロスプラットフォームフレームワークよりも、深いシステム統合が必要なアプリケーションに適しています。
開発者が Open Minis を基に独自のモバイル Agent を構築する方法
クイックスタート
# リポジトリをクローン(サブモジュールを含む)
git clone --recurse-submodules https://github.com/OpenMinis/OpenMinis.git
cd OpenMinis
# iOS ビルド
./deps/build_lame.sh && ./deps/build_ffmpeg.sh
./deps/build_ish.sh && ./deps/prepare_alpine_rootfs.sh
open src/ios/Minis.xcodeproj
# Android ビルド
./deps/build_proot.sh && ./scripts/prepare_android_sandbox.sh
cd src/android && ./gradlew :app:assembleDebug
カスタムスキルの開発
SKILL.mdを含むスキルフォルダを作成- トリガー条件と指示を定義
- オプションでスクリプトと参考資料を追加
- MinisSkills リポジトリに提出
ビルド設定
初回ビルドの前に、設定テンプレートをコピーする必要があります:
cp src/ios/Configs/ProviderCustomization.xcconfig.example \
src/ios/Configs/ProviderCustomization.xcconfig
cp src/android/app/provider-customization.properties.example \
src/android/app/provider-customization.properties
空のままにするとコンパイルして実行できます — API キーログインにはカスタム設定は必要ありません。
実際の使用シナリオとユーザー体験
コミュニティのフィードバックと公式ドキュメントに基づき、Open Minis の高頻度使用シナリオ:
栄養追跡:写真を撮って食べ物を認識し、カロリーとマクロ栄養素を推定し、自動的に Apple Health に書き込む。
朝のブリーフィング:Shortcuts が Minis をトリガーして X タイムラインを取得し、要約を生成し、音声を合成し、アラームとして再生。
タスク抽出:Telegram グループからメッセージを取得し、バグとアクションアイテムを抽出し、重複を排除して Apple Reminders に書き込む。
ノート管理:Obsidian ボルトをマウントし、研究し、クリーンアップし、Markdown ノートを書き戻す。
カレンダーイベント:iOS Share Sheet を通じて任意のコンテンツを Minis に共有し、時刻と場所を含むカレンダーイベントを自動作成。
ユーザー評価は一般的に肯定的です — "これは私がここ数年使った中で最高のアプリかもしれません。毎日新しい可能性を探求しています"、"素晴らしい製品!体験は絹のように滑らかです!"。
限界と将来の方向性
現在の限界
- PR サポートなし:リポジトリはプライベート開発ツリーのミラーであり、Pull Request を受け付けず、Issue からのフィードバックのみ
- 初回ビルドが複雑:30〜60分のコンパイル時間、複数のネイティブ依存関係を順番にビルドする必要がある
- 純粋なオンデバイス推論ではない:依然としてクラウドモデル API に依存し、真のオンデバイス推論ではない
- プラットフォームの差異:一部の機能(HomeKit、ショートカットなど)は iOS のみサポート、Android 側の機能は少ない
- GPLv3 ライセンス:商業利用には制限がある
将来の方向性
- より多くのネイティブアンロード:より多くの重い計算をネイティブコードに移行
- Android 機能の補完:HomeKit の対応物、ショートカットの代替案
- スキルエコシステムの拡張:コミュニティからの貢献によるより多くのスキル
- マルチ Agent 協力:DeerFlow に似たマルチ Agent アーキテクチャの導入の可能性
- オンデバイス小型モデルのサポート:Phi-3、Gemma などの小型ローカルモデルの統合
総合評価
Open Minis はモバイル AI Agent の成熟したアーキテクチャを代表しています。単純なモデルラッパーではなく、完全なオンデバイスコンピューティングプラットフォームです — AI に真のコンピューターを与え、ファイルシステムを操作し、Web を閲覧し、デバイスの能力を統合できるようにします。
強み: - 真のオンデバイス Agent、プライバシーと遅延の明確な優位性 - チャットボットの範囲を超える深いデバイス統合 - 既存の Agent エコシステムと互換性のある拡張可能なスキルシステム - 完全にオープンソース、コミュニティが監査と貢献可能
弱み: - ビルドの複雑さが高く、初心者には参入障壁が急 - 依然としてクラウドモデルに依存し、純粋なオンデバイス推論ではない - PR を受け付けないオープンソースモードは少し型破り
誰に適しているか: - プライバシーを重視する個人 AI アシスタントユーザー - モバイル Agent を深くカスタマイズしたい開発者 - オンデバイス AI アーキテクチャに興味のある研究者
Open Minis は一つのことを証明しています:AI の時代において、技術設計とコードはもはや製品の優位性ではありません。最高の Agent はユーザーとの密接なフィードバックループから生まれます — 彼らの期待と報告が製品に収束する力です。 だからこそ、チームは完全なオープンソースを選択しました — コミュニティが共に製品の未来を形作るために。
参考リンク: - GitHub リポジトリ:https://github.com/OpenMinis/OpenMinis - 公式ウェブサイト:https://openminis.app - スキルリポジトリ:https://github.com/OpenMinis/MinisSkills - AwesomeMinis:https://github.com/OpenMinis/AwesomeMinis