jin-zi-xuan/kaobuddy-pwa

一个帮你临时抱佛脚的项目

📚 KaoBuddy – AI駆動の試験勉強用ワークスペース(PWA)

何であるか

  • ローカルで実行する(または自前でデプロイする)ウェブアプリ。試験まで数日しかないときに、すべての勉強資料(PDF、DOCX、スキャンされた手書きノート、Bサイトの動画字幕など)をアップロードすると、内蔵AIがキーポイントを抽出し、学習カードを作成し、練習問題を生成し、模擬試験を構築し、さらに「直前フラッシュカードモード」も提供します。

なぜ存在するか

  • ほとんどの勉強ツールは、数週間または数ヶ月かけて知識ベースを整理できると仮定しています。KaoBuddyは逆の状況を前提としています:試験まで数日しかないため、混沌としたファイル群を構造的で学びやすい計画に素早く変換する必要があるのです。

主な機能

機能 機能内容
AI駆動の知識抽出 アップロードされたPDF、DOCX、RTF、プレーンテキスト、手書きノートの画像、Bサイト動画字幕を解析。AIが試験に関連する「知識ポイント」(例:"デッドロック"、"バンカーモデル")を特定し、難易度・重要度を割り当て、元の文を記録します。
毎日の学習計画 試験日、利用可能な学習時間、目標スコア、特定された弱点に基づいて、日ごとのスケジュールを生成。未完了の項目は自動的に翌日に持ち越されます。
インタラクティブな学習モジュール 各知識ポイントについて、初心者向けの説明を表示、3つ以上の練習問題を生成、または4~6枚の異なるタイプのフラッシュカード(概念、誤り、試験、記憶補助)を作成できます。
模擬試験ビルダー 長さと問題形式をカスタマイズ可能。AIが自らの資料から試験用紙を作成し、自動採点(選択肢、短答)が可能。また、AI自身が試験を解いて、自分の解答と比較することもできます。
直前フラッシュカードモード 知識ポイントを核心概念、語呂、典型的な出題角度、よくある落とし穴を含む簡潔なカードに凝縮。最終日向けに最適です。
誤答ノート 模擬試験で間違えた問題は、重大度でタグ付けされ、後で再確認できます。
オフライン優先のデータストレージ ユーザーデータ(プロジェクト、ファイル、計画、カード、試験結果)はすべてブラウザのIndexedDBに保存されます。JSONバックアップ/リストアにより、デバイス間の移行が可能。APIキーはlocalStorageに保存され、バックアップには含まれません。
アカウント不要 / クラウド同期なし プライバシー最優先:バックエンドを自前でホスティングしない限り、すべての資料はローカルに保持されます。

AI連携

  • OpenAI互換サービスであれば何でも対応。事前設定済みのプリセットにはDeepSeek、Kimi(CN/Intl)、OpenAI GPT-5.5/miniがあります。自身のAPIキー(BYOK)を提供するか、招待コードがあればホストされたクォータを利用できます。
  • 2種類のリクエストモード:テキストのみ(視覚機能なしのモデル向け)と、視覚対応(スキャンされたPDFや手書き画像向け)。バックエンドはキーと関連コンテンツをモデルに転送しますが、キーは永続化しません

始める方法

  1. WindowsReleasesページからzipをダウンロードし、解凍してstart-kaobuddy.batを実行。ローカルサーバー(http://127.0.0.1:8000)が起動します。
  2. macOSopen-kaobuddy.commandスクリプトを実行(Python 3 + Node LTSが必要)。現時点では署名済みバイナリは提供されていません。
  3. ソースから(任意のOS) – Python 3とNodeをインストール後、
    npm install
    npm run dev   # FastAPIバックエンド(8000)とVite開発サーバー(5173)を起動
    
  4. 自前でデプロイ – Dockerfile、Fly.io、Railway、およびDEPLOY.mdガイドが含まれています。コンテナはFastAPIバックエンドを実行し、ビルド済みReactアプリを提供します。

技術スタック

  • フロントエンド: React 19 + TypeScript、Vite 6、Framer-Motion、Phosphorアイコン、Service Worker + Web Manifest(PWA)。PDF処理はpdfjs-dist、エクスポートはjspdf/html2canvas
  • バックエンド: FastAPI + Uvicorn(非同期、SSEストリーミング)、httpxでOpenAI互換呼び出し。
  • データ: ブラウザのIndexedDB + localStorage(キー用)。
  • パッケージング: マルチステージDocker(node → python)、GitHub Actions CI(型チェック、pytest、フロントエンドテスト、ビルド検証)。
  • ライセンス: MIT。

対象ユーザー

  • 散在したデジタル/スキャン資料を持ち、試験まで数日しかない学生で、AIを活用して迅速に整理したい人。
  • AI強化ドキュメント処理、計画作成、フラッシュカード生成のPWA実例を手に入れたい開発者。

上記のすべての詳細は、リポジトリのREADMEから直接取得したものであり、追加機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト