SunnyBoy-y/LearnGraph
LearnGraph 是一个 AI 驱动的智能学习平台。你只需说出一个真实的学习目标,AI 便会帮你生成可生长的知识路线图,并作为学习伙伴全程陪伴,引导你高效进入并掌握陌生领域。
LearnGraph – AI 拡張、自己ホスト型学習ワークスペース
それは何か
- ユーザーが具体的な学習目標を設定し、その目標のための 知識グラフ を構築し、AI エージェント が学習、練習、評価を通じてユーザーをガイドできるようにする、自己ホスト型の Web + Android アプリケーション。
- システムは、グラフと証拠の メモリ(ユーザーが読んだ、回答した、またはコーディングした内容)を継続的に更新し、エージェントが次のステップを推奨できるようにします。
主な機能
| 機能 | 得られるもの |
|---|---|
| 成長する知識グラフ | 自然言語の目標から、バックエンドはトピックと前提条件の関係のバージョン管理された編集可能なグラフを生成します。ユーザーはそれを監査および修正できます。 |
| エージェントネイティブ学習 | AI エージェントがアクションを計画します – ソースの取得、概念の説明、演習の作成、Docker サンドボックスでのコード実行、結果の記録。 |
| 全二重音声チューター | 音声認識と音声合成(DashScope ASR + Volcano TTS)が統合されています。話しながら同時に聞くことができ、話された文を強調表示するライブ字幕があります。 |
| Docker 分離サンドボックス | エージェントが実行するコードは、デフォルトでオフラインの Docker コンテナで実行されます。アウトバウンドネットワークには明示的な承認が必要で、強力なセキュリティ境界を提供します。 |
| Android クライアント | ネイティブ Kotlin/Jetpack-Compose アプリ(GeckoView)は Web UI をミラーリングし、カメラ、ファイル共有、QR スキャン、生体認証ログイン、TTS、プッシュ通知を追加します。 |
| イベントソーシング長期メモリ | すべてのインタラクションは不変のイベントとして保存されます。投影レイヤーはオンデマンドで検索可能なコンテキストを構築し、リプレイ、監査、プロンプトインジェクションからの保護を可能にします。 |
| インタラクティブ学習ページ | 各グラフノードは、教材、インタラクティブな実験、ミニゲーム、採点付きクイズを含む完全な学習ページを生成できます。進行状況は永続化され、再開できます。 |
| 「マジックカード」コンポーネント | AI 生成の UI ウィジェット(多肢選択、穴埋め、チャートなど)で、状態を持ち、学習ページ間で再利用できます。 |
| マルチモデルプロバイダーサポート | OpenAI、Anthropic、Qwen、DeepSeek、Ollama、Copilot などのプラグインアーキテクチャで、統一された資格情報処理を備えています。 |
アーキテクチャ概要
- フロントエンド:Web UI 用に React 19 + TypeScript (Vite)。Android 用に Kotlin/Jetpack-Compose。TanStack Query、React Flow、および AI が生成した安全な HTML のためのカスタム 信頼できるレンダラー を使用。
- バックエンド:FastAPI (Python 3.11+) が HTTP + SSE エンドポイントを公開。コアサービスは G-R-E-M-A 学習ループ(目標 → 表現 → 証拠 → 習得 → 行動)を実装。
- メモリ:SQLite (WAL) のイベントストアと、ハイブリッドベクトル + キーワード検索のためのレイヤー化された投影。
- サンドボックス:
sandboxdデーモンがエージェントツールを実行する Docker コンテナを制御。egress プロキシは「デフォルトオフライン、承認後にオンライン」ポリシーを強制。 - データ永続化:すべてのユーザーデータ、グラフバージョン、証拠、暗号化されたプロバイダーシークレットは Docker ボリューム(またはバインドマウントディレクトリ)に保存され、コンテナアップグレード後も保持されます。
試す方法
- Docker compose(推奨)
git clone https://github.com/SunnyBoy-y/LearnGraph.git cd LearnGraph docker compose up -d --build # web+API イメージとサンドボックスサービスをビルド- ブラウザで
http://127.0.0.1:18000を開きます。 - コンテナログに印刷された一時管理者パスワードでログインし、パスワードを変更します。
- ブラウザで
- 開発モード(貢献したい場合)
npm run dev:install # Node と Python の依存関係をインストールし、.env ファイルを作成 npm run dev # Vite フロントエンドと FastAPI バックエンドを起動- フロントエンド:
http://127.0.0.1:5173 - API:
http://127.0.0.1:8000
- フロントエンド:
- Android クライアント
mobile/nativeで Kotlin アプリをビルドするか、事前ビルドされた APK をインストールします。- ホストアドレス(例:
http://192.168.1.5:18000)を指定します。
典型的なワークフロー
- 学習目標を設定 – 「2 週間でデータ分析のための Python の基本を学ぶ。」
- 生成されたグラフを確認 – 変数、pandas、可視化 などのノードを承認します。
- エージェントとチャット – 説明を求めたり、コード例をリクエストしたり、エージェントに練習問題を作成させたりします。
- 演習を行う – UI はインタラクティブなページを表示し、結果は証拠として保存されます。
- 次の推奨を得る – システムは 習得 状態を更新し、次に影響の大きいノードを提案します。
誰が使うか
- 新しい分野への構造化された AI ガイド付きパスを望む個人学習者。
- エージェント駆動のチュータリング、メモリ監査、またはサンドボックス化されたツール実行を実験する研究者。
- 内部の知識オンボーディングパイプラインを構築する小規模チーム(自己ホストでデータをプライベートに保つ)。
現在の制限
- まだ 初期開発 段階。本番ワークロードには推奨されません。
- 音声機能はクラウドプロバイダー(DashScope、Volcano)に依存しており、音声をそれらのサービスに送信します。
- サンドボックスは Docker のみをサポート。Docker のない環境ではコード実行機能を実行できません。
- マルチユーザーコラボレーションは基本的な RBAC に限定されており、リアルタイムの共同学習はまだ実装されていません。
詳細情報
- 開発者ガイドとドキュメント:https://sunnyboy-y.github.io/LearnGraph/
- ソースコード:https://github.com/SunnyBoy-y/LearnGraph
- ライセンス:MIT(フォークして拡張しても構いません)。
LearnGraph は、知識グラフ計画、自律型チュータリングエージェント、音声対話、Docker 分離された実行サンドボックスを組み合わせた、本物のオープンソース AI エージェント学習プラットフォームです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト