Ana içeriğe geç

Veri taşınabilirliği

Libre WebUI, Ayarlar → Veri Yönetimi üzerinden kullanıcıya özgü sürümlü JSON arşivini dışa ve içe aktarır. Desteklenen kişisel verileri kurulumlar arasında taşır veya hesaba geri yükler; tam sunucu yedeği değildir.

Arşiv sürümü 3

{
"format": "libre-webui-user-data",
"version": 3,
"integrity": {
"algorithm": "sha256",
"canonicalization": "libre-json-sort-v1",
"digest": "<64 lowercase hexadecimal characters>"
}
}

Sunucu dışa aktarımı kimliği doğrulanmış kullanıcı kapsamlı sorgulardan oluşturur. İçerik:

  • seçili yeniden kullanılabilir ses profili referansı hariç tercihler;
  • sohbet klasörleri;
  • oturumlar, mesajlar, dallar, dereceler, yapıtlar ve sohbet ayarları;
  • sabitleme durumuyla bağımsız Notlar;
  • bilgi koleksiyonları;
  • çıkarılmış belge içeriği, meta veriler, oturum/koleksiyon bağları ve metin parçaları.

Gömme verileri türetilmiş olduğundan dışa aktarılmaz; içe aktarmadan sonra yeniden üretin. Arşiv, özgün yükleme baytları yerine RAG metnini taşır ve özgün dosyayı bayt bayt oluşturamaz.

exclusions listesi sürüm 3’te şunları dışlar:

  • hesaplar, parolalar, giriş oturumları ve OAuth durumu;
  • sağlayıcı kimlik bilgileri ve şifreli eklenti değişkenleri;
  • biyometrik klon ses kayıtları ve metinleri;
  • personalar ve bellekleri;
  • üretilmiş görüntü, ses ve video;
  • Not sürüm geçmişi ve ekler;
  • Work görevleri, çalıştırmalar, kum havuzları ve Docker/Kubernetes birimleri.

Kanallar, bildirimler, takvimler ve otomasyonlar da örnek/ekip durumudur ve tam sunucu yedeğiyle taşınır.

Tam kurtarma için aynı ENCRYPTION_KEY ile veritabanı/veri dizini yedeği kullanın; Work ayrıca tutarlı birim yedeği ister. Bkz. SQLite yedekleme ve Work çalışma alanları.

Bütünlük ve dışa aktarma doğrulaması

Sürüm 3 yükü SHA-256 ile korur. libre-json-sort-v1, üst integrity alanını atlar, nesne anahtarlarını sözlük sırasına koyar, dizi sırasını korur ve sıkıştırılmış UTF-8 JSON’u özetler. Özet eşleşmezse sözdizimi geçerli olsa da reddedilir.

Bu bozulma ve sonradan değişikliği algılar; dijital imza değildir, oluşturucuyu doğrulamaz ve gizlilik sağlamaz. Arşivi özel sohbet ve Not kopyası gibi koruyun.

İndirmeden önce içe aktarmayla aynı şema, alan boyutu, ID ve sayı kontrolleri yapılır; biçimlendirilmiş JSON’un 50 MiB sınırını aşmaması da doğrulanır. Geri yüklenemeyecek dosya yerine açık hata döner.

Sınırlar:

  • 50 MiB arşiv;
  • 100 sohbet klasörü;
  • 5,000 oturum;
  • 100,000 mesaj;
  • 100 Not; başlık 200, içerik 200,000 karakter;
  • 5,000 koleksiyon;
  • 5,000 belge;
  • 100,000 belge parçası;
  • genel içerik 2,000,000, ID 256 karakter; kaynak daha dar olabilir.

Güvenli içe aktarma

Dosya seçimi sunucuda ön kontrol başlatır. Ayarlar gelen toplamları, oluşturma/üzerine yazma/atlama tahminlerini, ID eşlemelerini ve uyarıları son eylemden önce gösterir. Çakışma politikasını değiştirmek önizlemeyi yeniden hesaplar.

Ön kontrol özeti doğrular, eski biçimleri geçirir, tüm şemayı, sayıları, benzersiz ID’leri, zamanları, içerik sınırlarını ve ilişkileri kontrol eder ve yazmadan planlar. Boşta kalan klasör, koleksiyon, mesaj üstü veya belge bağı reddedilir. Gerçek içe aktarma kontrolleri yineler ve SQLite/PostgreSQL’de tek işlemde yazar; hata tüm kaynakları birlikte geri alır.

İki politika:

  • Yinelenenleri atla eşleşen ID’leri korur, yenileri ekler ve tercihleri mevcut tercihlerle birleştirir.
  • Mevcutların üzerine yaz eşleşen ID’leri değiştirir ve tercihleri Libre varsayılanları üzerine koyar. Arşivde olmayan kayıtlar asla silinmez.

İkisi de eşleşen ID’ler için idempotenttir. ID başka hesaba aitse Libre onu ve tüm başvuruları belirli biçimde yeniden eşler; başka kullanıcının kaynağını okumaz veya üzerine yazmaz. Dışlanan persona gibi kullanılamayan başvuru ön kontrolde oturumun ayrılacağı uyarısını verir.

Sonuç; klasör, oturum, Not, koleksiyon ve belge için oluşturulan, üzerine yazılan ve atlanan sayıları gösterir. Başarıdan sonra tercihler, sohbetler, klasörler ve belgeler yenilenir.

Eski arşivler

Sürüm 2 libre-webui-user-data kabul edilir ve doğrulamada 3’e geçirilir. Özet ve Not içermediğinden köken doğrulanamaz, hiç dışa aktarılmayan Notlar kurtarılamaz; önizleme ikisini söyler.

Eski libre-webui-export 1.0 da kabul edilir. Yalnız tercihler ve tarayıcıda yüklü oturumları içerirdi; documents boştu ve klasör, Not, koleksiyon veya parça yoktu. Sınırlar içe aktarmadan önce bildirilir.

HTTP uçları

Tümü kullanıcının bearer tokenını veya oturumunu ister:

YöntemAmaç
GET/api/preferences/exportGüncel v3 arşivini oluştur
POST/api/preferences/import/preflightYazmadan doğrula ve planla
POST/api/preferences/importİşlemsel doğrula ve içe aktar

Arayüz arşivi multipart/form-data içindeki archive, politikayı strategy alanıyla yollar. Sınır 50 MiB. Küçük API geçişleri JSON da kabul eder:

{
"data": { "format": "libre-webui-user-data", "version": 3 },
"strategy": "skip"
}

strategy, skip veya overwrite olur. Eski istemci için mergeStrategy: "merge"skip, mergeStrategy: "replace"overwrite.