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
- Supabaseダッシュボードで
database/setup.sqlを実行 – スキーマはすべてidempotent(再実行可能)。 userfilesという名前のプライベートストレージバケットを作成(RLSポリシーは既に定義済み)。.env.localに必要なキー(Supabase、Anthropic、Mistral、Voyage、Exa、オプションの画像サーバーURL)を記入。http://localhost:3000/signupで登録し、メールを確認。- (オプション)SQLで管理者権限を付与:
UPDATE public.users SET is_admin = true WHERE email = 'you@example.com';
一般的な利用例
- 法務または知識ベースアシスタント – PDFをアップロードし、AIに抜粋を検索・引用させる(このリポジトリはデンマークの法務AIプラットフォームを支えている)。
- レポート生成 – アシスタントにデータ分析、チャート作成、洗練されたPDFエクスポートを依頼。
- クリエイティブな画像生成 – 第三者コストなしでオンプレミスでロゴやイラストを生成。
- マルチツールワークフロー – 1つのユーザーのプロンプトで、ウェブ検索、ドキュメント検索、チャート作成、PDF生成を1ターンでトリガー。全推論プロセスが永続化。
- コスト監視 – トークン単位の会計により、製品チームはコストを追跡し、キャッシュ最適化を実施可能。
ライセンス
MIT – 商用・個人利用ともに無料。
上記のすべての詳細は、リポジトリのREADMEから直接取得。追加機能は一切推測されていない。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト