データと同期
データベース管理
IndexedDBによるローカルファースト設計、データベース管理画面の使い方
BluePeriod は Local-First の設計思想に基づき、すべてのデータをブラウザの IndexedDB に保存します。このページでは、ローカルデータベースの仕組みと管理画面の使い方について解説します。
Local-First とは
BluePeriod では、データはまずローカルデバイスに保存され、サーバーはあくまで補助的な役割を果たします。
| 特徴 | 説明 |
|---|---|
| 高速アクセス | IndexedDB へのローカルアクセスにより、データの読み書きが高速 |
| プライバシー | データがサーバーに送信されるのは、クラウド同期を有効にした場合のみ |
知っておくべき制約
Local-Firstとはいえ、いくつか重要な制約があります。
Web版の場合:
- IndexedDBのデータはブラウザの オリジン(ドメイン) に紐づいています。アプリにアクセスするにはドメイン(
blueperiod.blue)が稼働している必要があります - もしドメインにアクセスできなくなった場合(更新忘れ、サービス終了等)、IndexedDB上にデータが物理的に残っていても、それにアクセスする手段がなくなります
- 事前のバックアップが重要です —
.blueperiod(アプリ全体)や.blueproject(プロジェクト単位)でエクスポートしておけば、新しい環境でデータを復旧できます(import-export を参照) - 現在、オフライン時の完全な動作は未対応です(Service Workerのキャッシュ戦略が調整中)
Desktop版の場合:
- ローカルアプリケーションとして動作するため、ドメインの可用性に依存しません
- インターネット接続なしでも起動・利用可能です
- ローカルLLM(Ollama / LM Studio)を併用すれば、完全オフラインで全機能を利用できます
データベース管理画面
/database-management にアクセスすると、ローカルデータベースの管理ができます。以下のタブが用意されています。
長期記憶タブ
AI の長期記憶データを閲覧・管理します。
- 記憶の閲覧 — 保存されている記憶の一覧表示(検索・フィルタリング・ページネーション対応)
- 記憶の編集・削除 — 不要な記憶の修正や削除
メンテナンスタブ
長期記憶の保守機能を提供します。
- エクスポート/インポート —
.bluememory形式での記憶データの書き出し・読み込み - ベクトル再計算(Re-vectorize) — 埋め込みモデルを変更した際に、既存の記憶を新しいモデルで再ベクトル化
- 埋め込みモデルの切り替え — 使用する埋め込みモデルの選択
モデルキャッシュタブ
AIモデルのキャッシュを管理します。
- キャッシュサイズの確認 — 現在のキャッシュ容量を表示
- キャッシュクリア — キャッシュを削除してディスク容量を解放
記憶の削除やキャッシュのクリアを実行する際には、確認ダイアログが表示されます。
データの安全性
auto-save との連携
執筆中の原稿は変更検出後2秒で自動的に IndexedDB に保存されます(manuscript-editing を参照)。ブラウザを誤って閉じても、次回起動時に前回の状態が復元されます。
ブラウザの注意点
- ブラウザのデータをクリアすると、ローカルデータも消去されます — 「閲覧履歴の消去」等を実行する前に、エクスポートでバックアップを取ってください
- シークレットモード — シークレットブラウジングでは、セッション終了時にデータが消去されます
- ストレージ容量 — 非常に大きなプロジェクトを多数保存している場合、ブラウザのストレージ制限に達する可能性があります
次のステップ
- import-export — データのバックアップと移行
- cloud-sync — E2E暗号化クラウド同期(Pro機能)