Orb:先にメッセージを送ってくるセルフホストAIアシスタント
Orbは、オープンソースのセルフホスト型AIバックエンドで、ユーザーからの問い合わせを待たずに、プロジェクトを監視し、状況モデルを維持し、本当に価値のある時にだけメッセージを送ります。マルチモデルルーティング、音声対話、バックグラウンドタスク委任などをサポートし、データはローカルに保持されます。
Orbは、オープンソースのセルフホスト型AIアシスタントのバックエンドであり、iOSアプリと連携します。最大の特徴は、ユーザーが話しかけるのを待つのではなく、自ら積極的にメッセージを送信することです。バックグラウンドでプロジェクトを監視し、常に更新される状況モデルを維持し、将来のニーズを予測し、本当に注意を払う価値がある場合にのみ通知します。
主な機能は以下の通りです。
- 音声サーバー:WebSocketを介した音声ループで、スピーチ入力(ローカルWhisper)とニューラルTTSによる自然な会話を実現。ウェイクワード不要。
- エージェントスパイン:モデル自身が発話とアクションを判断する軽量ループ。約60の内蔵ツール(天気、メール、ファイル、株価、画面、セッション、ミッション、リマインダー、通知など)。
- マルチブレインルーター:Claude(自身のClaude Code CLI経由)、Grok、Codex、またはローカルモデルを統一された音声で切り替え可能。会話中に変更しても人格は変わりません。
- マインド:会話の合間に実行されるプロセスで、生活やプロジェクトの状況モデルを維持し、変化を検知し、予測を行い、実際の作業を提案し、承認されたタスクを監督します。
- セッション:長時間のジョブ(ビルド、研究、トレーニング)をバックグラウンドエージェントに委任し、スマートフォンから監視、メッセージ送信、停止が可能。
- プッシュ通知:APNsを使用し、重複排除、レート制限、完全メッセージペイロード、配信確認を実装。
実行方法
現在はWindowsが優先(macOSバックエンドは計画中)。Python 3.11+が必要です。リポジトリをクローンし、仮想環境を作成して依存関係をインストールし、setup.pyでガイド付き設定を行い、supervisor.pyでサーバーを起動します。スマートフォンからアクセスできるアドレスを設定し(例:Tailscale)、iOSアプリでペアリングします。セルフホスティングガイドで詳細が説明されています。Claude Codeを使用して自動セットアップすることもできます。
すべてを持ち込み
Orbは「すべてを持ち込む」モデルを採用:モデルアクセス(デフォルトはClaude Code CLI)、APNsプッシュキー、Gmailアプリパスワードを自分で用意します。バックエンドは認証情報を一切内蔵しません。すべての変数は.env.exampleとSELF_HOSTING.mdに文書化されています。
アーキテクチャ
プロジェクトの構造:server_win.py(サーバー、音声ループ、通知)、agent.py(エージェントループ)、brain.py(モデルルーティング)、tool_registry.pyとotools/(ツール)、mcp_http.pyとorb_mcp.py(MCPインターフェース)、proactive_engine.py(主動エンジン)、mind.py(会話間の自律行動)、supervisor.py(サーバーの維持とホットリロード)。
iOSアプリ
iOSアプリはApp Storeで無料公開されています。アプリ自体はクローズドソースですが、バックエンドはオープンソースです。アプリはWebSocketとHTTP APIでバックエンドと通信します。独自のクライアントを構築することも可能です。
設計思想
- ローカルファースト:すべてのデータはユーザーのマシンに収集され、そこに留まります。
- キーを持ち込み:バックエンドは資格情報を提供しません。
- 構造的安全性:自律的な表面は破壊的なツールにアクセスできず、世界に影響を与える操作には明示的な承認が必要で、すべての自律的なステップはログに記録されます。
- 沈黙は機能:主動層は「言う価値がない」ことを正しい第一級の結果として扱います。
今後の計画
- 完全オフラインのローカルモデル層(Ollama / Qwen)を第一級のデフォルトとして。
- macOSバックエンド。
- アプリ内QRペアリング。
ライセンス
バックエンドはMITライセンスです。Orb iOSアプリとブランドは対象外です。
開発者:ninjahawk。