メインコンテンツまでスキップ

データとバックアップ

このページでは、データがどこに保存されるか、データディレクトリに何が含まれるか、ライブラリをエクスポート・インポート・バックアップする方法を説明します。

データディレクトリ

すべてのユーザーデータは 1 つのデータディレクトリに保存され、初回起動時に作成されます。正確な場所は設定 → データ に表示され、環境変数 NEOTA_DATA_DIR でサーバーを別の場所に向けられます。構成:

  • app.db — SQLite データベース: キャラクター、チャット、メッセージ、ロアブック、メモリエントリ、ペルソナ、プリセット、設定。WAL モード、外部キー有効、キャラクター・チャット・メッセージの全文検索付きで動作します。
  • files/ — オリジナルのユーザーファイル: アバター、背景、添付ファイル、音声、生成画像。派生的なデータではありません。
  • cache/ — 再生成可能なデータ: サムネイル、トークナイザーデータ、プラグインのダウンロード。キャッシュをクリアしてもオリジナルには触れません。
  • backups/ — UI から作成するバックアップアーカイブ。
  • logs/ — 編集済みのサーバーログ。
  • plugins/themes/ — インストール済みパッケージ。それぞれが自身のディレクトリに閉じています。

保存されるもの

キャラクターとそのカード、完全なメッセージ履歴とスワイプバリアントを持つチャット、ロアブック、メモリエントリ、ペルソナ、生成プリセット、接続プロファイル、テーマ、プラグイン、そしてあなたの設定。API キーは暗号化されたキーマネージャーにローカル保存され、ログ、ブラウザストレージ、診断エクスポートに書き込まれることは決してありません。

エクスポートとインポート

  • キャラクターカード は PNG または JSON としてエクスポートされ、チャットはアーカイブとしてエクスポートして保持したり別のマシンに移したりできます。キャラクター を参照してください。
  • SillyTavern マイグレーション は設定 → データ にあります: 完全なデータバックアップ ZIP を選ぶと、アプリはまず読み取り専用の分析を実行し、カテゴリごと — キャラクター、チャット、ペルソナ、ロアブック、プリセット — のオブジェクト、ネストされたレコード、破損、サイズ、競合を報告します。レポートを確認して確定するまで何も書き込まれません。その後、カテゴリと 1 つの明示的な競合ポリシー(既存を保持、コピーを作成、安全にマージ、アーカイブから置き換え)を選択します。シークレット、プラグイン、テーマ、サポートされていないカテゴリはスキップされたものとして一覧表示され、インポートを繰り返しても重複は作成されません。

バックアップ

バックアップは設定 → データ で完全に UI から作成・復元されます:

  • いつでも作成できます。作成してもデータの読み取りはブロックされません。
  • バックアップ画面には日付、サイズ、スキーマバージョン、ソース、状態が表示されます。
  • 復元 は確認を求め、最初に現在の状態の保護バックアップを作成し、その後アプリを再起動する必要があると伝えます。
  • 復元は整合性が検証された後にのみ成功として報告されます。失敗した場合、アプリは保護コピーへの自動復帰を提案します。

危険なスキーママイグレーションの前には、アプリが自らバックアップを作成します。WAL データベースと組み合わせることで、アップグレードや復元には常に既知の正常状態へのフォールバックがあります。アップグレード を参照してください。