BluePeriod Docs
開発

BluePeriod Project Overview

BluePeriodのプロジェクト全体像 — 機能、技術、開発規約

BluePeriod Project Overview

このドキュメントは、AIアシスタントおよびエージェント向けに、BluePeriodプロジェクトの全体像を伝えるエントリーポイントです。ブランド定義は 00_verbal_identity を、設計思想は 00_philosophies_of_blueperiod を参照してください。

1. プロジェクト概要

BluePeriodは、次世代のWeb文芸プラットフォームです。 「AI小説投稿サイト」ではなく、小説・技術書・エッセイ・漫画など、あらゆる「本(Book)」をAIと共に構築(Architect)し、公開(Publish)するための統合環境です。

コア・フィロソフィー

BluePeriod は確固たる信念に基づいて設計されています。詳細は 00_philosophies_of_blueperiod を参照してください。

  1. Serenity (静謐): 創造のための境界ある静寂。ノイズの排除とデータの安らぎ。
  2. Symbiosis (共生): 人間・AI・文化・言語が対等に交響する創作のバイオーム。
  3. Serendipity (邂逅): 文脈と質による、思わぬ発見。

2. 主要機能 (Product Features)

2.1 Bookshelf(プロジェクト管理)

ユーザーが作成したすべてのプロジェクトを一覧・管理するダッシュボードです。

  • 新規プロジェクト作成、インポート、削除
  • プロジェクトのメタデータ編集(タイトル、著者、カバー画像等)
  • グローバル検索・フィルタリング

2.2 Project Editor(執筆環境)

単一のプロジェクトに特化した執筆ワークスペースです。3パネルレイアウトで構成されます。

  • 左パネル(プロット): Part → Arc → Chapter → Story → Section の階層構造で物語を設計
  • 中央パネル(原稿): セクションごとの執筆・編集。AIによるリライト・推敲機能
  • 右パネル(AIアシスタント): プロジェクトコンテキストを理解したAIとの対話

2.3 AI Chat(AI対話機能)

AIとのチャット機能を提供する独立ページです(/ai)。

  • 通常チャットモード: シンプルな質疑応答
  • エージェントモード: LangGraph.jsによる自律型エージェント。Web検索、プロジェクトデータ参照、長期記憶を活用した複雑なタスク実行
  • Long-Term Memory: Orama + Transformers.jsによるブラウザ内ベクトル検索。過去の会話を記憶・検索
  • Session Artifacts: エージェントが収集した情報を「机の上の資料」として管理・再利用

2.4 Explore(作品探索)

公開された作品を閲覧・検索するページです(/explore)。「オンライン書店」のような役割を持ちます。

  • ランキングではなく、AIレビューに基づく探索
  • インライン・エクスパンダーによるスムーズな閲覧体験
  • タグ・コレクションによる発見

2.5 Prompts(プロンプト管理)

アプリケーション全体で使用するAIプロンプトアセットを管理します(/prompts)。

  • プロンプトカードの作成・編集・削除
  • タグによる分類・検索
  • クラウド同期対応

2.6 Sync(クラウド同期)

Local-Firstデータを安全にクラウドへ同期します。

  • Simple Full Sync: IndexedDB全体を単一のバックアップファイルとしてエクスポートし、暗号化してクラウドにアップロードします。復元時はクラウド上のファイルをダウンロード・復号化し、ローカルデータを完全に置き換えます
  • E2E暗号化: ユーザーのSync Keyでクライアントサイド暗号化。Zero-Knowledge Architecture
  • 競合解決: 自動マージは行わず、常にユーザーの選択に基づきます(Cloud Newer / Local Newer / Synced の判定)
  • Supabase Storage: 暗号化されたバックアップファイルを user_backups/[user_id]/full_db_dump_sync/backup.enc に保存

2.7 Publish(作品公開)

執筆した作品を公開するためのウィザードです(/project/{id}/publish)。

  • AIレビューによる品質チェック
  • カバー画像、OGP設定
  • 静的化してWeb書籍として公開

3. 技術的特徴 (Technical Overview)

3.1 アーキテクチャ概要

  • MPA (Multi-Page Application): 明確に責務が分離された複数ページで構成
  • Local-First: データはまずIndexedDBに保存。オフライン動作可能(PWA)
  • BFFパターン: 外部LLMとの通信はNext.js API Routesがプロキシ

詳細: 01_architecture

3.2 主要技術スタック

カテゴリ技術
FrameworkNext.js 16 (App Router), React, TypeScript
State ManagementJotai (Atomic Model)
Local StorageDexie.js (IndexedDB wrapper)
Remote BackendSupabase (PostgreSQL, Auth, Storage)
StylingTailwind CSS v3, shadcn/ui (Radix UI)
AI IntegrationLangChain.js, LangGraph.js
Vector SearchOrama (ブラウザ内検索エンジン)
EmbeddingTransformers.js (ブラウザ内ベクトル化)
Landing PageAstro 4+

詳細: 02_technology_stack

3.3 AIエージェント機能

  • Client-Side LangGraph: エージェントの「脳」はブラウザ内で実行。ローカルデータに直接アクセス
  • ReActパターン + Router: 雑談と調査を分類し、適切な処理ルートへ振り分け
  • ツール群: Web検索(Tavily)、プロジェクトデータ参照、URLオープン、メモリ操作、アーティファクト編集
  • Session Artifacts: ツール実行結果を資料として保存・再利用

詳細: 12_ai_agent_architecture

3.4 デザインシステム

  • 哲学: 「静謐なアトリエ(A Serene Atelier)」。創作者の集中を妨げるノイズを排除
  • テーマ: 青とグレーを基調としたミニマルなデザイン
  • セマンティックトークン: bg-primarytext-muted-foreground 等、意味に基づいたトークン使用。Raw Colorの使用は禁止
  • Beyond Numbers: ランキングなどの数値指標を表示せず、文脈と定性的フィードバックを重視

詳細: 09_design_system

3.5 状態管理(Jotai)

  • Atomic Model: 状態を小さな「アトム」に分割し、不要な再レンダリングを抑制
  • 関心の分離: 状態定義、永続化、ビジネスロジック、UIを明確に分離

詳細: 03_state_management

3.6 Local-First & E2E暗号化同期

ユーザーのプライバシーを保護するため、Zero-Knowledge Architectureを採用しています。

  • Simple Full Sync: dexie-export-import を使用してIndexedDB全体を単一のバックアップファイル(Blob)としてエクスポート
  • Local Storage: データはまず Dexie.js (IndexedDB) に保存されます
  • Sync Key: ユーザーデバイス上で生成される12単語のニーモニック(BIP39互換)。サーバーには送信されません
  • Encryption Flow:
    1. Local Data (JSON) -> Gzip圧縮
    2. Sync Key から PBKDF2 (100k iterations) で AES-256-GCM 鍵を導出
    3. クライアントサイドで暗号化
    4. 暗号化されたBlobを Supabase Storage (backup.enc) にアップロード
  • Restore Flow:
    1. Supabase Storageから backup.enc をダウンロード
    2. Sync Keyで復号化
    3. dexie-export-import でローカルIndexedDBをクリアして復元(アトミックインポート)
  • Security: 運営者(管理者)であっても、ユーザーの原稿データを閲覧・復号することは技術的に不可能です

詳細: 10_sync_architecture

3.7 AI Review System(品質保証)

作品公開(Publish)前に、AIエージェントによる自動査読が行われます。「思想警察」ではなく、「品質保証(QA)」としての役割を持ちます。

Review Schema (Zod Definition):

const ReviewReportSchema = z.object({
  overall_assessment: z.object({
    is_publishable: z.boolean(), // 掲載可否
    summary: z.string(),         // 公開用レビューコメント
  }),
  completion_status: z.object({
    is_complete: z.boolean(),    // 完結しているか(エタり防止)
  }),
  prohibitions: z.array(z.object({
    category: z.enum(["hate_speech", "sexual_violence", "graphic_violence", "other"]),
    evidence: z.string(),
  })),
  detailed_ratings: z.object({   // 5段階評価
    originality: RatingSchema,
    plot_structure: RatingSchema,
    character_development: RatingSchema,
    readability: RatingSchema,
  }),
});

4. Systemドキュメント索引 (System Documentation Index)

各ドキュメントの詳細情報を確認してください。

ドキュメント内容
00_verbal_identityブランド定義(タグライン、ブランドステートメント、パーパス、禁止用語集)
00_philosophies_of_blueperiod設計思想(3S、クラウンシャイネス、タグライン)
document_architectureドキュメント構造、命名規則、メンテナンスフローの定義
01_architectureアーキテクチャ設計、MPA構成、BFFパターン、データフロー
02_technology_stack使用ライブラリ・フレームワークの一覧と選定理由
03_state_managementJotaiによる状態管理の哲学と実装
04_database_schemaIndexedDB(Dexie.js)のスキーマ定義
04_database_schema_supabaseSupabase(PostgreSQL)のスキーマ定義
05_api_specificationAPIエンドポイントの仕様
05_migration_guideマイグレーション履歴とガイド
06_development_guidelinesコーディング規約、命名規則、実装前チェックリスト
06_routing_architectureルーティング構造の定義
08_git_commit_conventionsコミットメッセージ規約
09_design_systemデザイン哲学、カラースキーム、UI/UXガイドライン
09_sync_components同期機能のコンポーネント
10_sync_architecture同期アーキテクチャの詳細(Simple Full Sync)
12_ai_agent_architectureAIエージェントのアーキテクチャ、ツール、ノード定義
13_hybrid_architectureハイブリッドアーキテクチャ
14_ai_provider_integration_guideAIプロバイダー統合ガイド

5. 開発時の注意事項 (Constraints)

  1. App Router Only: pages/ ディレクトリは使用しない(Astroを除く)。すべて app/ ディレクトリ内のServer Components / Client Components構成とする
  2. Strict Typing: any 型の使用は原則禁止。Zodスキーマを活用し、型安全性を確保する
  3. Performance: useEffect の乱用を避け、可能な限りServer ActionsやReact Query、Jotaiを活用する
  4. Semantic Tokens: UI実装では必ずセマンティックトークン(bg-primary等)を使用。Raw Color(bg-blue-500等)の使用は禁止

関連

On this page