Projectherinneringen verplaatsen of herstellen
opencode-mem koppelt projectshards aan een hash van de projectidentiteit. Een repository
verplaatsen (OS-migratie, padreorganisatie, overschakelen van een Windows-mount
naar een native pad) kan daarom de oude shard wees maken onder
~/.opencode-mem/data/projects/ terwijl een nieuwe lege shard wordt aangemaakt voor het
nieuwe pad.
Dit zijn OpenCode memory-toolaanroepen met JSON-argumenten, geen commands om
in een terminal te draaien. De issue-stijlnotatie memory migrate --from ... mappt
naar memory({ mode: "migrate", fromPath: "..." }).
1. Lokale verplaatsing wanneer je het oude pad nog kent
Open OpenCode in de nieuwe projectdirectory. Het doelproject mag nog geen herinneringen bevatten (migratie breekt ongewijzigd af bij conflict). Bekijk eerst de gedetecteerde bron, bestemming en bestandsacties voordat je iets wijzigt:
memory({ mode: "migrate", fromPath: "/old/path/to/project", dryRun: true });memory({ mode: "migrate", fromPath: "/old/path/to/project" });Voor de veiligheid weigert migratie een bron waarvan de opgeslagen projectdirectory nog
bestaat. Als je bewust een actieve bron wilt verplaatsen, bekijk eerst de dry-run-
output en geef daarna allowLinkedSource: true mee. Originele bronsshard-
bestanden blijven behouden als timestamped *.pre-path-migrate-*.bak-backups.
2. Oud pad is weg — ontdek eerst de wees-shard
memory({ mode: "list-shards" });memory({ mode: "migrate", fromHash: "fa645294d88bbae2" });list-shards rapporteert elke projecthash, opgeslagen projectPath, geheugenaantal,
en status (current, linked, orphaned, missing-file, empty, of
ambiguous). fromHash is de 16-tekens lowercase hexadecimale scopeHash
die deze call teruggeeft. Geef daaraan de voorkeur wanneer de oude directory niet meer bestaat of
meerdere shards hetzelfde opgeslagen pad bevatten, omdat git-gebaseerde identiteiten
niet altijd opnieuw kunnen worden berekend vanuit een ontbrekend pad.
3. Cross-machine backup / restore
// 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 schrijft een geversionneerd JSON-document zonder vectoren. Import remappt de
herinneringen naar het huidige project en herberekent embeddings met het momenteel
geconfigureerde model. Import voegt herinneringen toe aan een bestaand project, maar dubbele
memory-ID’s breken de hele import af vóór schrijven; dit verschilt van migrate,
dat een leeg doel vereist.
Exportbestanden zijn plaintext en kunnen geheugeninhoud, gebruikersnamen/e-mailadressen,
repository-URL’s en absolute projectpaden bevatten. Bewaar ze als andere
gevoelige backups en verwijder ze wanneer ze niet meer nodig zijn. Volledig private entries
worden weggelaten, en gebruikersprofielen en prompthistorie zijn niet inbegrepen. Het
document bevat schemaVersion: 1; imports weigeren nieuwere niet-ondersteunde schema-
versies in plaats van te gokken.