Ana içeriğe geç

Platform Temeli

Libre WebUI yerel solo ve paylaşılan team profillerini destekler. Solo; SQLite, şifreli yerel nesneler, şifreli gömülü vektörler, yerel koordinasyon ve gömülü kalıcı işleyici kullanır. Team; PostgreSQL, özel S3 uyumlu nesneler, PGVector, Redis ve harici işleyici kullanır. Başlangıç, durumu yerel ve ortak arka uçlara sessizce bölmek yerine karışık profili reddeder.

Güncel Aşama

AlanUygulanan temelÇağıranlarda kalan iş
KalıcılıkSQLite/PostgreSQL depoları, değişmez geçişler, havuz işlemleriYeni alanlar depo sınırlarını kullanmalı
NesnelerŞifreli yerel/S3 akış depoları, aralıklar, sağlama toplamları, kalıcı kotalarEkleri, avatarları ve kalan satır içi ikili alanları taşıma
VektörlerŞifreli gömülü vektörler, PGVector ACL ve silmeye dayanıklı dizin yenilemeYeni gömme çağrıları yetki ve yaşam döngüsü sözleşmesini korumalı
KoordinasyonYerel/Redis olayları, önbellek, kiralar, hız sınırları, geçersiz kılma, sağlıkRedis yetkili olmamalı
İşler/olaylarSQLite/PostgreSQL kuyrukları, işlemsel olaylar, işleyiciler, yeniden deneme, iptal, yönetimHer yeni yan etki eşgüçlülük veya çıkış kutusu tasarımı ister
İşletimSağlık kapıları, imzalı/şifreli arşivler, temiz hedef kurtarma, doğrulamaHer dağıtımda kurtarma ve çoğaltmalar arası kabulü sınama

Çalışma Zamanı Profilleri

LIBRE_PLATFORM_MODE=solo varsayılan olarak SQLite, yerel nesneler, gömülü vektörler, yerel koordinasyon ve gömülü işleyiciyi seçer. Solo içinde Redis seçilebilir ancak SQLite veya yerel dosyaları çoğaltmalar arasında güvenli yapmaz.

LIBRE_PLATFORM_MODE=team şunları birlikte gerektirir:

  • DATABASE_BACKEND=postgres ve DATABASE_URL;
  • BLOB_STORE_BACKEND=s3;
  • VECTOR_STORE_BACKEND=pgvector;
  • COORDINATION_BACKEND=redis ve REDIS_URL; ve
  • JOB_WORKER_MODE=external.

Bu seçiciler tutarlı kümedir. Ortak bağımlılık eksik veya yerel arka uç karışmışsa team başlatılmaz.

Mevcut Solo Kurulumunu Taşıma

Geçişten önce tüm Libre uygulamalarını ve işleyicileri durdurun. Örnekler npm/Homebrew kurulu libre-webui komutunu kullanır; yoksa npx --yes libre-webui@latest kullanın. Kaynaktan bir kez derleyip libre-webui migrate-postgres yerine npm run migrate:postgres -- kullanın. Hedef PostgreSQL, S3 ve sürümlü anahtar ortamını team dağıtımıyla aynı ayarlayın, önce salt okunur çözümleme yapın:

libre-webui migrate-postgres \
--source /absolute/path/to/data.sqlite \
--plugins /absolute/path/to/plugins \
--mode dry-run

Yalnız raporun belirlediği boş hedefe uygulayın. Hata sağlama toplamlı içe aktarma günlüğü bırakır; ilgisiz aktarım başlatmak yerine aynı kaynak/hedefi sürdürün:

libre-webui migrate-postgres \
--source /absolute/path/to/data.sqlite \
--plugins /absolute/path/to/plugins \
--mode apply

# Only after an interrupted apply of this exact source and target:
libre-webui migrate-postgres \
--source /absolute/path/to/data.sqlite \
--plugins /absolute/path/to/plugins \
--mode apply --resume

libre-webui migrate-postgres \
--source /absolute/path/to/data.sqlite \
--plugins /absolute/path/to/plugins \
--mode validate

Tamamlanma işareti ilişkisel satırlar, eklentiler, yerel şifreli nesneler, gömülü vektörler ve eski persona vektörleri PostgreSQL/S3/PGVector’a taşınıp doğrulanana dek verilmez. Komut kaynak anahtarı uydurmaz: ENCRYPTION_KEY, .encryption_key ile eşleşmeli; STORAGE_ENCRYPTION_KEYS etkin anahtarla legacy girdisini içermelidir.

Paketli Team Profilini Çalıştırma

Güvenli biçimde kapalı başarısız olan şablonla başlayın. Tam ortam dosyasını depo dışında, yalnız işletmecinin erişiminde tutun:

cp deploy/team/.env.example /absolute/path/to/libre-team.env
chmod 600 /absolute/path/to/libre-team.env

Tüm REPLACE_* değerlerini değiştirin. PostgreSQL parolasını openssl rand -hex 32 gibi adres güvenli alfabe ile oluşturun; aynı değer sunucu parolası ve DATABASE_URL içindedir. ENCRYPTION_KEY ve STORAGE_ENCRYPTION_KEYS değerleri tam 64 onaltılık karakter olmalıdır. Yeni kurulumda legacy, ENCRYPTION_KEY değerine; SQLite geçişinde ikisi kaynağa eşit olmalıdır. Yeni nesne yazmaları için farklı etkin anahtar kullanın, envanter kullanılmadıklarını kanıtlayana dek eskileri koruyun.

Aynı dosya POSTGRES_MIGRATION_MODE, POSTGRES_POOL_MAX, PostgreSQL zaman aşımları, REDIS_CONNECT_TIMEOUT_MS, OLLAMA_BASE_URL, OLLAMA_TIMEOUT, OLLAMA_LONG_OPERATION_TIMEOUT, OLLAMA_MAX_CONTEXT değerlerini ayarlar; Compose uygulama ve işleyiciye aynı aktarır. Sağlayıcı zaman aşımları 1.000–3.600.000 ms, bağlam 128–2.097.152 belirteç alır, uzun süre normalden kısa olamaz; bozuk değer durum oluşmadan iki girişi durdurur. Ana makine Agent CLI ve Codex OAuth dosyaları harici işleyicide desteklenmez; team bunları kapalı sabitler. Çoğaltmaları, işleyiciyi, PostgreSQL/PGVector, Redis, sürümlü MinIO ve geçidi başlatın:

docker compose --env-file /absolute/path/to/libre-team.env \
-f docker-compose.team.yml up --build --scale libre-webui=3 -d
docker compose --env-file /absolute/path/to/libre-team.env \
-f docker-compose.team.yml ps

Temel team Docker yuvası bağlamaz; Docker Work kullanılamaz. Tüm yaşam döngüsü komutlarında üretim geçersiz kılmasını ekleyerek açın:

docker compose --env-file /absolute/path/to/libre-team.env \
-f docker-compose.team.yml -f docker-compose.team.work.yml \
up --build --scale libre-webui=3 -d
docker compose --env-file /absolute/path/to/libre-team.env \
-f docker-compose.team.yml -f docker-compose.team.work.yml ps

Geçersiz kılma uygulama ve işleyiciyi iç ağdaki filtreli yuva vekiline yöneltir. Ham yuva ve grup verilmez, ana makine klasörlü Work kapalıdır. Vekil yalnız info, images, containers, exec, volumes, networks ve gereken yazma yöntemlerini sunar. API’yi daraltır ancak kiracı sınırı oluşturmaz: kapsayıcı ana makine yolu bağlayabilir. Ana makine yalıtımı için adanmış sanal makine veya ayrı/rootless Work hizmeti kullanın.

Compose PostgreSQL, Redis ve MinIO hizmetlerini açmayın. Yönetilen bağımlılıklarda TLS doğrulamalı Helm team kullanın; Compose PostgreSQL TLS’yi yalnız özel ağda kapatır. Harici işleyici olmadan hazırlık başarısızdır.

Kalıcılık ve Geçiş Sınırı

Kimlik ve yetki zaman uyumsuz depolar kullanır. İşlem geri çağrısı aynı bağlantıya bağlı iş birimi alır; içeride genel depo reddedilir. Bu, SQLite davranışını koruyan PostgreSQL havuz sınırıdır.

SQLite geçiş düzenleyicisi var olan kurulumu gereken şemayı doğruladıktan sonra kabul eder. Numaralı ad ve sağlama toplamı kaydeder, her başlangıçta denetler, yeni/bilinmeyen/uyuşmayan günlükleri reddeder ve hata başlangıcı durdurur. Hazırlık ve kurtarma aynı sözleşmeyi kullanır.

Durumlu hizmetlerden önce başlangıç SQLite ile etkin WAL/SHM’yi özel geçici dizine kopyalayıp denetler. PLATFORM_PREFLIGHT_TMP_DIR veritabanı ve WAL için yeterli olmalıdır. Docker/Helm ayrılmış disk geçici alanı bağlar, sınırlı /tmp belleğine dayanmaz. Eksik eski anahtar veya iç içe veri dizini yeni anahtar, veritabanı veya eklenti durumu yaratılmadan başlangıcı engeller.

Şema v4 şifreli kimlik e-postası için anahtarlı eşitlik belirteci ekler. Kurtarma her belirteci zorunlu ve eşleşmiş ister. v4 kaydından sonraki dar çökme aralığında, depo başlatmanın doldurmayı bitirmesi için doğrulanmış e-postalı eksik belirteç veya zarf olmayan eski değer kabul edilir. Eski sürümler boş değerle alanı temizlerdi; kabul boş olmayanı korur, boşu NULL yapar. Bozuk zarf biçimi ve uyumsuzluk ön denetimi durdurur.

Uygulama hizmetleri zaman uyumsuz lehçe depolarını kullanır. Yerel SQLite yalnız bağdaştırıcı, geçiş/kurtarma incelemesi ve açık sağlık kontrolüyle sınırlıdır. Çalışma deposu seçili Persistence üzerinden başlatılır; PostgreSQL SQLite tekiline veya çalışma dizini JSON’una dönmez.

Ortak kalıcı iş çalışma zamanı sürücüden bağımsızdır. Ajan yetkisi kimlik deposundan okunur, yerel iş deposu tek bağdaştırıcı bileşim sınırında kurulur. İşlemsel yayıncı SQLite’ta opak eşzamanlı, PostgreSQL’de işleme bağlı yürütücü alır; better-sqlite3 almaz. Sınır testi yerel sürücü tutamaçlarını iş, kaynak, kimlik, sohbet ve Work sözleşmelerinde reddeder.

Nesne ve Vektör Depolama Temeli

Galeri medyası ve belge kaynakları BlobStore; belge RAG ve persona belleği VectorStore kullanır. Eski SQLite galeri satırları iki yoldan okunur ve ilk erişimde nesne başvurusuna alınır. İlişkisel üst veri ve kalıcı başvuru yetkilidir; sağlayıcı adresi ve fiziksel S3 anahtarı uygulama içeriği olarak saklanmaz. Ekler, avatarlar ve diğer satır içi ikili alanlar henüz taşınmamıştır.

Kurtarma her kalıcı nesneyi ve vektör zarfını açık toplam sınırlar altında sırayla doğrular. Tanınan eski metin zarfları ve kayıtlı ses ikili zarfları ENCRYPTION_KEY ile sıkı doğrulanır; özgünü döndüren uyumluluk yedeği kullanılmaz. Kaynak başlatılmaz, onarılmaz, yeniden yazılmaz veya silinmez; bozuk şifreli metin, yanlış anahtar, kanonik olmayan düzen ve aşılmış sınır görüntüyü engeller.

Varsayılan sınırlar 250.000 yerel nesne, 64 GiB şifreli/düz nesne baytı, 250.000 vektör satırı, 4 GiB vektör şifreli metni, 500 milyon bileşendir. Testler RecoveryInventoryOptions üzerinden değiştirebilir; CLI örneklemez veya fazlayı atlamaz.

Eski şifreli metin doğrulaması bir milyon dolu alan ve 16 GiB saklanan/doğrulanan düz baytla sınırlıdır. Eski şemaların gerçek düz metni işaret olmadığından uyumludur; yalnız doğrulanmış zarflar sayılır. Kayıtlı ses zarfları kesindir, ek veri olarak profil/sahip/alanı kullanır.

Şifreli Yerel Nesneler

BlobStore sahip kapsamlıdır; akışlı put/read, metadata/stat, kapsayıcı bayt aralıkları ve eşgüçlü silme sunar. LocalEncryptedBlobStore, uygulama kökü altında UUID nesneleri yazar; hedef ${DATA_DIR}/blobs. Özel hazırlama dosyası, fsync, atomik yeniden adlandırma, 0700 dizin ve 0600 dosya kullanır.

Her nesnenin rastgele 256 bit veri anahtarı vardır. AES-256-GCM özel üst veriyi şifreler, sınırlı gövde parçalarını ayrı doğrular. Ek doğrulanmış veri nesne kimliği, sahip, amaç, parça dizini ve düz uzunluğu bağlar. Sürümlü anahtarlık veri anahtarını sarar. Açıklayıcı düz boyut, SHA-256, içerik türü, zaman, biçim sürümü ve anahtar kimliği tutar. Tam okuma SHA-256’yı, aralık okuması dokunulan parçaları doğrular.

Kota akıştan önce kapasite ayırır, gerçek baytı tüketir, yalnız atomik görünürlükten sonra kaydeder ve başarısız ayırmayı bırakır. SQLite BEGIN IMMEDIATE; PostgreSQL sıralanabilir işlemler ve satır kilitleri kullanır. S3 üst verisi ve kota tek veritabanı işleminde kaydolur/geri alınır. Başlangıç süresi dolan ayırmaları ve fiziksel nesnesi olmayan kayıtları uzlaştırır. BLOB_QUOTA_BYTES_PER_USER sahip sınırını, BLOB_QUOTA_RESERVATION_TTL_MS terk süresini belirler.

BLOB_STORE_BACKEND=s3 özel S3 uyumlu kova kullanır. Libre opak anahtar ve şifreli parça akışı yükler, açıklayıcıları PostgreSQL’de saklar, HTTP aralıklarını ve düz/şifreli SHA-256’yı destekler, eşgüçlü siler. Silinen satır fiziksel ve atomik üst veri/kota silinmesine dek kalır; uzlaştırma kesilen silmeyi yineler ve eski artığı kaldırır. MinIO takımı çoğaltmalar arası okuma/silme, kiracı yalıtımı, kota çekişmesi, tüketilmemiş akış ve veritabanı hatalarını kapsar.

Şifreli Gömülü Vektörler

VectorStore her sorgu/değişimde bir aktör ister. Kayıtlar ad alanı, opak kiracı kimliği, sahip, kaynak, gömme modeli, boyut, sürüm, kaynak revizyonu, eşitlik nitelikleri ve kullanıcı/grup izinleri taşır.

SQLite, şifreli gömme veritabanından çıkmadan ad alanı/model/boyut/sürüm, sahip/izin, kaynak ve nitelik koşullarını uygular. Yalnız sınırlı yetkili aday çözülüp kosinüsle puanlanır. Aynı opak kimlik, diğer kiracıyı açığa çıkarmadan sahip başına yalıtılır. Güncelleme gömme, ACL ve nitelikleri atomik değiştirir; silme sahip kapsamlı ve zincirlidir.

Gömmeler kimlik/model üst verisini ek doğrulanmış veri yapan AES-256-GCM kullanır. Sorgulanabilir kimlik, izin, model, sürüm, revizyon ve süzgeç üst verisi düzdür; sır konmamalıdır. Gömmeler hassas türetilmiş veridir.

VECTOR_STORE_BACKEND=pgvector, tüm koşulları uzaklık sırası ve LIMIT ile aynı SQL’de uygular. Genel en yakın komşuları sonradan süzmek yasaktır. Grup yetkisi her sorguda güvenilir güncel üyelikten çözülür; çağıranın groupIds değeri yok sayılır. Geri alma anlık, sahte talep etkisizdir.

Belge alma ve gömme yenileme işe başlamadan tek değişmez belirtim yakalar: etkinlik, model, vektör/parçalayıcı sürümü, boyut, örtüşme, eşik. Aynı belirtim parça, ilişkisel yayın, vektör güncelleme ve sorguyu yönetir; çalışma sırasında tercih değişimi model veya eşik karıştırmaz. Belge üst verisi toplu revizyon ve belirtimi yazar; SQL dizin bildirimidir.

Yenileme belge başına otomatik uzayan kira tutar ve sahip satırı ile silme mezarını yayın öncesi, değişim öncesi/sonrası denetler. Silme güncelleme sırasında kaydolabilir; son denetim yeniden oluşan vektörü kaldırır. PostgreSQL/team okumaları PGVector’ı değiştirmez. SQLite yalnız bildirim kesin güncel modeli ve parçalamayı kanıtlarsa kirayla tembel yayınlar; meşgul/geçersiz revizyon anahtar sözcük veya açık yenilemeye kalır.

Belge dizinleri en çok 1.000 vektörlük dengelenmiş kümelerde değiştirilir; kesin denetim tam bildirimi sayfalar. Belge en çok 100.000 parça yayımlar; 100.001. parça gömme/yayın öncesi reddedilir ve yeniden denenmeden başarısız kuyruğa girer. Parça boyutunu artırın veya fazla paragraf ayırın.

Bildirim öncesi solo veritabanında model/parçalayıcı bilgisi olmayan doğrulanmış satır içi vektör olabilir. İlk anlamsal kullanım varlığı yükseltme sinyali sayar: yetkili belge metnini yeniden parçalar ve güncel belirtimle tüm vektörleri kira altında üretir. Eski yükü kopyalamaz veya bugünkü tercihle etiketlemez. Sağlayıcı hatası ya da meşgul kira eski satırı anahtar sözcükle aranabilir bırakır.

SQLite’tan team’e geçiş, eski belge güncel doğrulanmış bildirim ve kesin şifreli platform diziniyle tam kapsanmıyorsa kapalı başarısız olur. Güncel tercihler tarihî modeli kanıtlamaz. Deneme engeli bildirirse aynı DATA_DIR ve ENCRYPTION_KEY ile solo/SQLite başlatın, gömme modelini seçin, her sahip için Settings -> Documents -> Regenerate embeddings kullanıp denemeyi yineleyin. Sonra team satır içi şifreli metni yok sayıp kanıtlı vektörleri taşır.

Gizlilik arka uca göre değişir. SQLite ACL’den sonra gömmeyi AES-256-GCM ile şifreler. PGVector sayısal gömmeyle çalışır, sütunu uygulama düzeyinde şifrelemez. TLS, şifreli PostgreSQL birimi/yedeği, en az yetkili rol, sınırlı yönetim ve içeriksiz SQL günlüğü kullanın. Kaynak metin, persona belleği, galeri üst verisi ve açıklayıcılar zarfla şifreli kalır. Vektör nitelikleri düz ve sırsız olmalıdır.

Depolama Şifreleme Anahtarları

Sürümlü anahtarlık kullanırken kararlı 64 karakterli ENCRYPTION_KEY, STORAGE_ENCRYPTION_KEYS içinde aynı legacy değeri ve STORAGE_ENCRYPTION_ACTIVE_KEY_ID gerekir. Yazma etkin anahtarı, okuma aşamalı dönüş için tüm kimlikleri kullanır. Bu, eski hizmetin ayrı anahtar oluşturmasını engeller. Tüm nesne ve vektör yeniden yazılıp doğrulanana dek eskileri tutun.

Harita yoksa bağdaştırıcı 64 karakterli ENCRYPTION_KEY değerini legacy kabul eder veya ${DATA_DIR}/.encryption_key okur. Fabrika yalnız normal, simgesel bağlantısız, özel izinli dosyayı kabul eder; oluşturmaz/değiştirmez. Ortamla kalıcı anahtar çatışırsa başlangıç kapanır. Dönüşte eski anahtar yeniden yazma/doğrulamaya dek legacy kalır. Eksik, bozuk, uyumsuz, bilinmeyen anahtar kapalı başarısız olur.

Gömülü sorgular SQLite’ta ACL/üst veri koşullarını uygular, sonra şifreli metni Node’a döndürmeden aday sayısı, şifreli bayt ve boyut başı puanlama işini toplar. Bütçe aşılırsa sorgu kapanır, kapsam daraltılmalıdır.

Koordinasyon

Sözleşme olay, süresi dolan önbellek, çitli kira ve sabit pencereli hız sınırı sunar. Yerel uygulama tek solo çoğaltması içindir. Redis ayrı komut/abonelik istemcileri, sınırlı yükler, sağlık, ad alanı, atomik betikler, eşsiz sahip belirteçleri, süre ve çitleme kullanır. Redis hatasından sonra yerel yedek yoktur.

Redis gerçek kaynak değildir. Yetki, kalıcı işler ve yeniden oynatılabilir olaylar veritabanında kalır; Redis uyandırma, geçersiz kılma, varlık, kota ve koordinasyon katmanıdır. Kritik iş yan etki öncesi veritabanı kirasını/çitini doğrular.

Uygulama biletleri, önbellekler, ortak geçersiz kılma, bağlantı sınırları, Work olayları ve dağıtık kilitler bu sınırı kullanır. Yalnız Redis yerel kalıcılığı ortak yapmaz; tam team gerekir.

Kalıcı İşler ve Olaylar

SQLite geçişi v3 kalıcı iş, deneme, akış başı ve sıralı olay tabloları oluşturur. Sözleşme eşgüçlü kuyruğa alma, sınırlı yineleme, iptal, ilerleme, kira kalp atışı/geri alma, başarısız kuyruk ve genel imleçle oynatmayı destekler. Şifreli JSON, iş/olay kimliğini ek veri yapan platform anahtarlığını; başvurular opak sınırlı kimlikleri kullanır.

SQLite v13 ve PostgreSQL v12, üretim kapsamlı oynatma için (stream_id, subject_id, global_cursor) dizinini ekler. Akış/konu süzgeci yakalama sınırından önce uygulanır; eski üretimler bütçeyi tüketmez veya tam tarama yaptırmaz.

Uygulama ve bağımsız işleyici belge alma, medya sürdürme ve kaynak temizliği için denetimli işleyicileri kaydeder. Yönetici sınırı sınırlı inceleme/iptal sunar. Kuyruğa alma eşgüçlüdür, ilişkisel oluşturma/silme işi aynı işlemde ekler. Temizlik vektör, özel nesne, başvuru, önbellek ve kaynak işi yeniden denemeye güvenli kaldırır.

Kurtarma durum/sonuçları, akış/imleçleri sayar, etkin işi engeller, şifreli yükü doğrular. Baş uyuşmazlığını ve kesintili akış sırasını reddeder.

Tekdüze kira belirteçleri eski işleyicileri sonraki kayıtlardan çitler. Bu tam bir kez çalıştırma sağlamaz: işleyici dış yan etkiyi yapıp başarıyı kaydetmeden düşebilir. Sağlayıcı eşgüç anahtarı veya işlemsel çıkış/giriş kutusu ve yan etki öncesi ajan yetki denetimi gerekir.

SQLite v4 rastgele kimlik şifreli metni yanına eşsiz anahtarlı e-posta arama belirteci ekler. Uygulama anahtarı altında HMAC’tir; düz metin veya belirlenimci şifreleme olmadan yinelenen e-postayı atomik engeller. Başlangıç eski e-postaları trafik öncesi doğrular ve doldurur.

Sağlık ve Kurtarma

Dağıtım denetimleri işlem canlılığı ile bağımlılık hazırlığını ayırır:

  • /health ve /health/live yalnız işlemi denetler;
  • /health/ready veritabanı, şema günlüğü, yazılabilir veri ve gereken bağımlılıkları ayrıntıları gizleyerek denetler; isteğe bağlı sağlayıcıları beklemez; ve
  • /health/deep güncel yönetici ister, SQLite bütünlük/dış anahtar denetimini HTTP döngüsü dışında sınırlı işleyicide yapar. Ollama gibi isteğe bağlı sağlayıcılar hazırlığı değiştirmeden uyarıdır.

libre-webui recovery-check --json; kaynaktan npm run recovery:check -- --json çalıştırın. Salt okunur envanter şema/anahtar kimliği, nesne kökü, eski/platform vektörleri, nesne/vektör, uygulama/ses ve iş/olay şifreli yüklerini doğrular; boyut, eklenti konumu, medya, Work kaynağı/etiketi, kontrol noktası, etkin iş, engel ve dışlamaları bildirir. Yedek öncesi kapıdır, tam yedek değildir. Kurtarma Hazırlığı sayfasına bakın.

Onaylı Çoklu Çoğaltma İşletimi

Team; PostgreSQL, PGVector, Redis, S3, ortak gizler ve JOB_WORKER_MODE=external birlikteyken üç veya fazla uygulama çoğaltması ve harici işleyici için onaylıdır. Helm oluşturma anında zorlar: tam team olmadan birden fazla çoğaltma kurulmaz. Geçişler PostgreSQL danışman kilidiyle lider seçer, sürüm yarışını önler.

Onay çalıştırılabilir: sürüm hattı gerçek görüntüyle üç çoğaltma tatbikatı (npm run test:team-platform) yapar; çoğaltmalar arası akış sürdürme, yazma sırasında işleyici ölümü ve belirlenimci oynatma, Redis kesintisiyle yetkili SQL, koordinatör kaybında erişim geri alma, ortak hız sınırı, S3 silme yinelemesi ve kiracı yalıtımını sınar. secrets.existingSecret ve networkPolicy.enabled ile güçlendirilebilir. Bölme güvenliği root olmayan, salt okunur kök, bırakılmış yetenekler, seccomp RuntimeDefault, ayrıcalık yükseltmeme kullanır.

Bilinen Kalan Geçişler

Temel her ikili alanın nesne olduğu anlamına gelmez. Kayıtlı ses, ek, avatar ve gelecekteki eklenti ikilileri açık başvuru üst verisi, ikili okuma/doldurma, saklama ve silme testleri ister. Her gömme çağrısı model, boyut, sürüm, kaynak revizyonu, sahip, kaynak kapsamı ve güvenilir izinleri VectorStore üzerinden taşımalıdır; doğrudan tablo erişimi kabul edilmez.

Yeni uzun veya dışa görünen yan etkiler kalıcı kaynak hedefi kaydetmeli, iptal/yinelemeyi desteklemeli ve ilişkisel değişimle işlemsel kuyruk/çıkış sınırı kullanmalıdır. Team içinde açmadan önce kaynağı çoğaltmalar arası yükleme, okuma, arama, silme, yedek ve kurtarma kapılarına ekleyin.