AI News HubLIVE
サイト内リライト2 分で読了

OpenYoke – AI会話をグラフに分岐、ローカルまたはクラウドモデルに対応

OpenYoke は、オープンソースのデスクトップアプリで、ローカルまたはクラウドのAIモデルとチャットし、会話をツリー状に分岐して視覚的なグラフとして探索できます。プライバシー重視で、全てのデータはローカルに保存され、アカウント不要です。

ソースHacker News AI著者: saicv8

OpenYoke は、オープンソースのデスクトップアプリで、ローカルまたはクラウドのAIモデルとチャットし、会話をツリー状に分岐して視覚的なグラフとして探索できます。プライバシー重視で、全てのデータはローカルに保存され、アカウント不要です。

従来のリニアなチャットとは異なり、OpenYokeでは任意の時点から会話を分岐させ、異なる方向性を探ることができます。例えば、「Webアプリを構築するには?」という質問から、「どのフロントエンドフレームワークを選ぶか?」や「バックエンドはどうするか?」といった枝分かれが可能です。モデルは各ノードで、ルートからそのノードまでのパスのみを参照するため、兄弟ブランチ間での情報漏洩がありません。このコンテキスト分離は、UIだけでなくRustバックエンドで強制されます。

モデル管理はOllamaと統合されており、アプリ内でモデルの閲覧、ダウンロード、削除が可能です。Llama、Qwen、Mistral、Gemma、Phi、DeepSeekなどのオープンモデルに対応し、すべてのモデルウェイトはOllamaが管理します。アプリ内のモデル管理ページでは、プログレスバー付きのダウンロードやモデルライブラリの参照が行えます。

技術的には、Tauriフレームワークを採用し、フロントエンドはプレーンなWeb UI(HTML/CSS/JS)、バックエンドはRustで記述されています。Rustバックエンドは会話ツリーのロジック(tree.rs)、モデル通信とストリーミングチャット(ollama.rs)、ストレージ管理(storage.rs)、モデルライブラリカタログ(catalog.rs)を担当します。フロントエンドはTauriのinvokeブリッジを介してバックエンドと通信し、バックエンドはHTTPでローカルのOllamaインスタンスと通信します。これにより、アプリは軽量で高速に動作します。

ユーザーデータは完全にユーザーがコントロールします。初回起動時にストレージフォルダを選択し、会話履歴(conversations.json)や設定(settings.json)はJSON形式で保存されます。OSのアプリケーションデータディレクトリには、フォルダの場所を記録した小さな設定ファイル(config.json)のみが保存されます。モデルウェイトはOllamaのデフォルトディレクトリ(~/.ollama/)に保存され、ユーザーのマシン外に送信されることはありません。

ロードマップには、複数のバックエンドプロバイダ対応(プロバイダ抽象化層)、Ollamaのバンドルオプション(別途インストール不要)、ツール/関数呼び出し統合、マルチモデルエージェントモード(ブランチごとに異なるモデル)、ブランチまたはツリー全体のエクスポート(Markdown/JSON)が含まれています。プロジェクトはMITライセンスで公開されており、コミュニティの貢献を歓迎しています。