ElectricCodeGuy/SupabaseAuthWithSSR

Supabase Auth + AI Stack for Next.js 16 with SSR and React Server Components (RSC), Welcome to a production-ready template combining Supabase SSR authentication with AI capabilities: document chat (RAG), web search, and multiple LLM support. Features include secure file storage, vector search (pgvector), and persistent chat history.

SupabaseAuthWithSSR – Next.js 用の本格的AIチャットスターター

何であるか – Next.js 16、Supabase SSR認証、およびClaude(Anthropic)LLMを組み合わせた、すぐに実行可能なウェブアプリ。全データベーススキーマ(テーブル、RLSポリシー、トリガー、ストレージポリシー、検索関数、モデルカタログ)を1つのSQLファイルで作成。クローン後、依存関係のインストール、setup.sqlスクリプトの実行、いくつかのAPIキーの追加だけで、以下の機能を備えたライブチャット製品が利用可能になります:

機能 動作方法
セキュアな認証 Supabase SSRの登録/ログイン/マジックリンクフロー。サーバーサイドセッション処理と、すべてのテーブルに対する行レベルセキュリティ。
8つのAIツール ドキュメントRAG(PDF OCR → エンベッディング → ハイブリッドベクトル/キーワード検索)、ウェブ検索(Exa)、アーティファクトワークスペース(バージョン管理されたMarkdown)、長期記憶、会話検索、インタラクティブなチャート生成、PDF作成、ローカルテキストから画像生成(Qwen-Image-2.1)。
コスト意識の高い使用状況 各生成ステップでトークン数とキャッシュメタデータをmessage_parts行のJSONとして保存。ダッシュボードはユーザー別および管理者レベルのKPI、キャッシュヒット率、推定コストを集計。
プロンプトキャッシュ 2段階のAnthropicキャッシュ(静的システムプロンプト+移動ブレークポイント)により、複数ステップのツールターンの入力トークンコストを約10%に削減。
バージョン管理されたアーティファクト 「アーティファクト」サイドパネルはAIが生成したMarkdownをリアルタイムでストリーミング。作成/更新は追加テーブルなしでバージョンとして永続化。
PDFおよびチャートレンダリング スタイル付きPDFには@react-pdf/renderer、インタラクティブな可視化にはクライアントサイドチャートライブラリ(Chart.js、ECharts、D3など)を使用。
セルフホスト画像生成 オプションのローカルサーバー(Qwen-Image-2.1)がOpenAI互換の/v1/images/generationsエンドポイントを公開し、画像ごとのAPI料金を回避。
管理者コンソール is_adminフラグが立ったユーザーは、組織全体の使用状況、上位のコストユーザー、ユーザー権限の管理を可能に。

技術スタック

  • フレームワーク: Next.js 16(appルーター、サーバーアクション)
  • 認証&DB: Supabase(PostgreSQL、pgvector、RLS、ストレージバケット)
  • LLM: Vercel AI SDK(v7)経由のAnthropic Claudeモデル
  • エンベッディング: Voyage AI(voyage-4-large)
  • OCR: Mistral OCRモデル(mistral-ocr-latest)
  • ウェブ検索: Exa API
  • 画像生成: ローカルで実行(FastAPIまたはvLLM-Omni)のQwen-Image-2.1
  • PDF: @react-pdf/renderer
  • チャート: CDNから読み込むクライアントサイドライブラリ(chart.js、echarts、d3、mermaid、three)
  • スタイリング: Tailwind CSS(Next.jsスターターから暗黙的に提供)

クイックスタート(READMEから)

git clone https://github.com/ElectricCodeGuy/SupabaseAuthWithSSR.git
cd SupabaseAuthWithSSR
npm install
cp .env.local.example .env.local   # キーを入力
npm run dev
  1. Supabaseダッシュボードでdatabase/setup.sqlを実行 – スキーマはすべてidempotent(再実行可能)。
  2. userfilesという名前のプライベートストレージバケットを作成(RLSポリシーは既に定義済み)。
  3. .env.localに必要なキー(Supabase、Anthropic、Mistral、Voyage、Exa、オプションの画像サーバーURL)を記入。
  4. http://localhost:3000/signupで登録し、メールを確認。
  5. (オプション)SQLで管理者権限を付与:UPDATE public.users SET is_admin = true WHERE email = 'you@example.com';

一般的な利用例

  • 法務または知識ベースアシスタント – PDFをアップロードし、AIに抜粋を検索・引用させる(このリポジトリはデンマークの法務AIプラットフォームを支えている)。
  • レポート生成 – アシスタントにデータ分析、チャート作成、洗練されたPDFエクスポートを依頼。
  • クリエイティブな画像生成 – 第三者コストなしでオンプレミスでロゴやイラストを生成。
  • マルチツールワークフロー – 1つのユーザーのプロンプトで、ウェブ検索、ドキュメント検索、チャート作成、PDF生成を1ターンでトリガー。全推論プロセスが永続化。
  • コスト監視 – トークン単位の会計により、製品チームはコストを追跡し、キャッシュ最適化を実施可能。

ライセンス

MIT – 商用・個人利用ともに無料。


上記のすべての詳細は、リポジトリのREADMEから直接取得。追加機能は一切推測されていない。

関連

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