Proje belleklerini taşıma veya kurtarma
opencode-mem proje shard’larını proje kimliğinin bir karmasıyla anahtarlar. Bir
depoyu taşımak (OS migrasyonu, yol yeniden düzenleme, Windows bağlama noktasından
yerel bir yola geçiş) bu nedenle eski shard’ı
~/.opencode-mem/data/projects/ altında yetim bırakabilir; yeni yol için yeni
boş bir shard oluşturulurken.
Bunlar terminalde çalıştırılacak komutlar değil, JSON argümanlı OpenCode
memory araç çağrılarıdır. Issue tarzı memory migrate --from ... notasyonu
memory({ mode: "migrate", fromPath: "..." }) ile eşleşir.
1. Eski yolu hâlâ bildiğinizde yerel taşıma
OpenCode’u yeni proje dizininde açın. Hedef proje zaten bellek içermemelidir (çatışmada migrasyon değişmeden iptal edilir). Herhangi bir şeyi değiştirmeden önce algılanan kaynağı, hedefi ve dosya eylemlerini önizleyin:
memory({ mode: "migrate", fromPath: "/old/path/to/project", dryRun: true });memory({ mode: "migrate", fromPath: "/old/path/to/project" });Güvenlik için migrasyon, saklanan proje dizini hâlâ var olan bir kaynağı reddeder.
Aktif bir kaynağı kasıtlı olarak taşımak istiyorsanız önce dry-run çıktısını
inceleyin ve ardından allowLinkedSource: true geçirin. Orijinal kaynak shard
dosyaları zaman damgalı *.pre-path-migrate-*.bak yedekleri olarak saklanır.
2. Eski yol yok — önce yetim shard’ı keşfedin
memory({ mode: "list-shards" });memory({ mode: "migrate", fromHash: "fa645294d88bbae2" });list-shards her proje karmasını, saklanan projectPath’i, bellek sayısını
ve durumu (current, linked, orphaned, missing-file, empty veya
ambiguous) bildirir. fromHash, bu çağrı tarafından döndürülen 16 karakterlik
küçük harf onaltılık scopeHash’tir. Eski dizin artık yoksa veya birden fazla
shard aynı saklanan yolu içeriyorsa bunu tercih edin; çünkü git tabanlı kimlikler
eksik bir yoldan her zaman yeniden hesaplanamaz.
3. Makineler arası yedekleme / geri yükleme
// on the source machine / old checkoutmemory({ mode: "export", outputPath: "./memories.json" });
// on the destination machine / new checkoutmemory({ mode: "import", inputPath: "./memories.json", dryRun: true });memory({ mode: "import", inputPath: "./memories.json" });Export, vektörsüz sürümlü bir JSON belgesi yazar. Import, bellekleri mevcut
projeye yeniden eşler ve şu anda yapılandırılmış modelle embedding’leri yeniden
hesaplar. Import, mevcut bir projeye bellek ekler; ancak yinelenen bellek
kimlikleri yazmadan önce tüm import’u iptal eder; bu, boş bir hedef gerektiren
migrate’ten farklıdır.
Export dosyaları düz metindir ve bellek içeriği, kullanıcı adları/e-posta
adresleri, depo URL’leri ve mutlak proje yolları içerebilir. Bunları diğer
hassas yedekler gibi saklayın ve artık gerekmediğinde silin. Tamamen özel
girdiler atlanır; kullanıcı profilleri ve prompt geçmişi dahil edilmez. Belge
schemaVersion: 1 içerir; import’lar tahmin etmek yerine daha yeni desteklenmeyen
şema sürümlerini reddeder.