Migracja Matrix
Ta strona opisuje aktualizacje z poprzedniego publicznego pluginumatrix do bieżącej implementacji.
Dla większości użytkowników aktualizacja odbywa się na miejscu:
- plugin pozostaje
@openclaw/matrix - kanał pozostaje
matrix - konfiguracja pozostaje pod
channels.matrix - zapisane poświadczenia pozostają pod
~/.openclaw/credentials/matrix/ - stan środowiska uruchomieniowego pozostaje pod
~/.openclaw/matrix/
Co migracja robi automatycznie
Gdy gateway się uruchamia oraz gdy uruchamiaszopenclaw doctor --fix, OpenClaw próbuje automatycznie naprawić stary stan Matrix.
Zanim jakikolwiek praktyczny krok migracji Matrix zmodyfikuje stan na dysku, OpenClaw tworzy lub ponownie wykorzystuje ukierunkowaną migawkę odzyskiwania.
Gdy używasz openclaw update, dokładny wyzwalacz zależy od sposobu instalacji OpenClaw:
- instalacje ze źródeł uruchamiają
openclaw doctor --fixpodczas procesu aktualizacji, a następnie domyślnie restartują gateway - instalacje przez menedżera pakietów aktualizują pakiet, uruchamiają nieinteraktywny przebieg doctor, a następnie polegają na domyślnym restarcie gateway, aby uruchamianie mogło dokończyć migrację Matrix
- jeśli użyjesz
openclaw update --no-restart, migracja Matrix wspierana przez uruchomienie zostanie odroczona, dopóki później nie uruchomiszopenclaw doctor --fixi nie zrestartujesz gateway
- utworzenie lub ponowne użycie migawki sprzed migracji w
~/Backups/openclaw-migrations/ - ponowne użycie zapisanych poświadczeń Matrix
- zachowanie tego samego wyboru konta i konfiguracji
channels.matrix - przeniesienie najstarszego płaskiego magazynu synchronizacji Matrix do bieżącej lokalizacji ograniczonej do konta
- przeniesienie najstarszego płaskiego magazynu kryptograficznego Matrix do bieżącej lokalizacji ograniczonej do konta, gdy docelowe konto można bezpiecznie rozpoznać
- wyodrębnienie wcześniej zapisanych kluczy deszyfrowania kopii zapasowej kluczy pokoju Matrix ze starego magazynu rust crypto, jeśli taki klucz istnieje lokalnie
- ponowne użycie najbardziej kompletnego istniejącego katalogu głównego magazynu skrótu tokena dla tego samego konta Matrix, homeservera i użytkownika, gdy token dostępu później się zmieni
- skanowanie sąsiednich katalogów głównych magazynu skrótu tokena w poszukiwaniu oczekujących metadanych przywracania stanu zaszyfrowanego, gdy token dostępu Matrix się zmienił, ale tożsamość konta/urządzenia pozostała taka sama
- przywracanie zapisanych kluczy pokoju do nowego magazynu kryptograficznego przy następnym uruchomieniu Matrix
- OpenClaw zapisuje plik znacznika w
~/.openclaw/matrix/migration-snapshot.jsonpo pomyślnym utworzeniu migawki, aby kolejne przebiegi uruchamiania i naprawy mogły ponownie użyć tego samego archiwum. - Te automatyczne migawki migracji Matrix wykonują kopię zapasową tylko konfiguracji i stanu (
includeWorkspace: false). - Jeśli Matrix ma tylko stan migracji z ostrzeżeniami, na przykład dlatego, że nadal brakuje
userIdlubaccessToken, OpenClaw nie tworzy jeszcze migawki, ponieważ żadna modyfikacja Matrix nie jest jeszcze możliwa do wykonania. - Jeśli krok tworzenia migawki się nie powiedzie, OpenClaw pomija migrację Matrix w tym przebiegu zamiast modyfikować stan bez punktu odzyskiwania.
- najstarszy płaski magazyn Matrix (
~/.openclaw/matrix/bot-storage.jsoni~/.openclaw/matrix/crypto/) pochodził z układu pojedynczego magazynu, więc OpenClaw może zmigrować go tylko do jednego rozpoznanego celu konta Matrix - starsze magazyny Matrix już ograniczone do konta są wykrywane i przygotowywane osobno dla każdego skonfigurowanego konta Matrix
Czego migracja nie może zrobić automatycznie
Poprzedni publiczny plugin Matrix nie tworzył automatycznie kopii zapasowych kluczy pokojów Matrix. Zapisywał lokalny stan kryptograficzny i żądał weryfikacji urządzenia, ale nie gwarantował, że Twoje klucze pokojów zostały zapisane na homeserverze. To oznacza, że niektóre zaszyfrowane instalacje można zmigrować tylko częściowo. OpenClaw nie może automatycznie odzyskać:- lokalnych kluczy pokojów, które nigdy nie zostały zapisane w kopii zapasowej
- stanu zaszyfrowanego, gdy docelowego konta Matrix nie da się jeszcze rozpoznać, ponieważ
homeserver,userIdlubaccessTokensą nadal niedostępne - automatycznej migracji jednego współdzielonego płaskiego magazynu Matrix, gdy skonfigurowano wiele kont Matrix, ale
channels.matrix.defaultAccountnie jest ustawione - instalacji niestandardowych ścieżek pluginu przypiętych do ścieżki repozytorium zamiast standardowego pakietu Matrix
- brakującego klucza odzyskiwania, gdy stary magazyn miał zapisane klucze, ale nie zachował lokalnie klucza deszyfrowania
- instalacje niestandardowych ścieżek pluginu Matrix są zgłaszane zarówno podczas uruchamiania gateway, jak i przez
openclaw doctor
Zalecany przebieg aktualizacji
-
Zaktualizuj OpenClaw i plugin Matrix w zwykły sposób.
Preferuj zwykłe
openclaw updatebez--no-restart, aby uruchamianie mogło od razu dokończyć migrację Matrix. -
Uruchom:
Jeśli Matrix ma możliwe do wykonania zadania migracyjne, doctor najpierw utworzy lub ponownie użyje migawki sprzed migracji i wypisze ścieżkę do archiwum.
- Uruchom lub uruchom ponownie gateway.
-
Sprawdź bieżący stan weryfikacji i kopii zapasowej:
-
Jeśli OpenClaw poinformuje Cię, że potrzebny jest klucz odzyskiwania, uruchom:
-
Jeśli to urządzenie nadal nie jest zweryfikowane, uruchom:
-
Jeśli celowo porzucasz nieodzyskiwalną starą historię i chcesz ustawić nową bazę kopii zapasowej dla przyszłych wiadomości, uruchom:
-
Jeśli kopia zapasowa kluczy po stronie serwera jeszcze nie istnieje, utwórz ją na potrzeby przyszłych odzyskań:
Jak działa migracja zaszyfrowanych danych
Migracja zaszyfrowanych danych to proces dwuetapowy:- Uruchamianie lub
openclaw doctor --fixtworzy lub ponownie wykorzystuje migawkę sprzed migracji, jeśli migracja zaszyfrowanych danych jest możliwa do wykonania. - Uruchamianie lub
openclaw doctor --fixsprawdza stary magazyn kryptograficzny Matrix przez aktywną instalację pluginu Matrix. - Jeśli zostanie znaleziony klucz deszyfrowania kopii zapasowej, OpenClaw zapisuje go w nowym przepływie klucza odzyskiwania i oznacza przywracanie kluczy pokojów jako oczekujące.
- Przy następnym uruchomieniu Matrix OpenClaw automatycznie przywraca zapisane klucze pokojów do nowego magazynu kryptograficznego.
Typowe komunikaty i ich znaczenie
Komunikaty dotyczące aktualizacji i wykrywania
Matrix plugin upgraded in place.
- Znaczenie: stary stan Matrix na dysku został wykryty i zmigrowany do bieżącego układu.
- Co zrobić: nic, chyba że ten sam wynik zawiera też ostrzeżenia.
Matrix migration snapshot created before applying Matrix upgrades.
- Znaczenie: OpenClaw utworzył archiwum odzyskiwania przed modyfikacją stanu Matrix.
- Co zrobić: zachowaj wypisaną ścieżkę do archiwum, dopóki nie potwierdzisz powodzenia migracji.
Matrix migration snapshot reused before applying Matrix upgrades.
- Znaczenie: OpenClaw znalazł istniejący znacznik migawki migracji Matrix i ponownie użył tego archiwum zamiast tworzyć zduplikowaną kopię zapasową.
- Co zrobić: zachowaj wypisaną ścieżkę do archiwum, dopóki nie potwierdzisz powodzenia migracji.
Legacy Matrix state detected at ... but channels.matrix is not configured yet.
- Znaczenie: istnieje stary stan Matrix, ale OpenClaw nie może przypisać go do bieżącego konta Matrix, ponieważ Matrix nie jest skonfigurowany.
- Co zrobić: skonfiguruj
channels.matrix, a następnie ponownie uruchomopenclaw doctor --fixlub zrestartuj gateway.
Legacy Matrix state detected at ... but the new account-scoped target could not be resolved yet (need homeserver, userId, and access token for channels.matrix...).
- Znaczenie: OpenClaw znalazł stary stan, ale nadal nie może określić dokładnego bieżącego katalogu głównego konta/urządzenia.
- Co zrobić: uruchom gateway raz z działającym logowaniem Matrix albo ponownie uruchom
openclaw doctor --fix, gdy zapisane poświadczenia będą już dostępne.
Legacy Matrix state detected at ... but multiple Matrix accounts are configured and channels.matrix.defaultAccount is not set.
- Znaczenie: OpenClaw znalazł jeden współdzielony płaski magazyn Matrix, ale odmawia zgadywania, które nazwane konto Matrix powinno go otrzymać.
- Co zrobić: ustaw
channels.matrix.defaultAccountna docelowe konto, a następnie ponownie uruchomopenclaw doctor --fixlub zrestartuj gateway.
Matrix legacy sync store not migrated because the target already exists (...)
- Znaczenie: nowa lokalizacja ograniczona do konta ma już magazyn synchronizacji lub kryptografii, więc OpenClaw nie nadpisał go automatycznie.
- Co zrobić: sprawdź, czy bieżące konto jest właściwe, zanim ręcznie usuniesz lub przeniesiesz konfliktowy cel.
Failed migrating Matrix legacy sync store (...) lub Failed migrating Matrix legacy crypto store (...)
- Znaczenie: OpenClaw próbował przenieść stary stan Matrix, ale operacja systemu plików się nie powiodła.
- Co zrobić: sprawdź uprawnienia systemu plików i stan dysku, a następnie ponownie uruchom
openclaw doctor --fix.
Legacy Matrix encrypted state detected at ... but channels.matrix is not configured yet.
- Znaczenie: OpenClaw znalazł stary zaszyfrowany magazyn Matrix, ale nie ma bieżącej konfiguracji Matrix, do której można go przypisać.
- Co zrobić: skonfiguruj
channels.matrix, a następnie ponownie uruchomopenclaw doctor --fixlub zrestartuj gateway.
Legacy Matrix encrypted state detected at ... but the account-scoped target could not be resolved yet (need homeserver, userId, and access token for channels.matrix...).
- Znaczenie: zaszyfrowany magazyn istnieje, ale OpenClaw nie może bezpiecznie ustalić, do którego bieżącego konta/urządzenia należy.
- Co zrobić: uruchom gateway raz z działającym logowaniem Matrix albo ponownie uruchom
openclaw doctor --fix, gdy zapisane poświadczenia będą dostępne.
Legacy Matrix encrypted state detected at ... but multiple Matrix accounts are configured and channels.matrix.defaultAccount is not set.
- Znaczenie: OpenClaw znalazł jeden współdzielony płaski starszy magazyn kryptograficzny, ale odmawia zgadywania, które nazwane konto Matrix powinno go otrzymać.
- Co zrobić: ustaw
channels.matrix.defaultAccountna docelowe konto, a następnie ponownie uruchomopenclaw doctor --fixlub zrestartuj gateway.
Matrix migration warnings are present, but no on-disk Matrix mutation is actionable yet. No pre-migration snapshot was needed.
- Znaczenie: OpenClaw wykrył stary stan Matrix, ale migracja jest nadal zablokowana przez brakujące dane tożsamości lub poświadczeń.
- Co zrobić: dokończ logowanie Matrix lub konfigurację, a następnie ponownie uruchom
openclaw doctor --fixalbo zrestartuj gateway.
Legacy Matrix encrypted state was detected, but the Matrix plugin helper is unavailable. Install or repair @openclaw/matrix so OpenClaw can inspect the old rust crypto store before upgrading.
- Znaczenie: OpenClaw znalazł stary zaszyfrowany stan Matrix, ale nie mógł załadować pomocniczego punktu wejścia z pluginu Matrix, który zwykle sprawdza ten magazyn.
- Co zrobić: zainstaluj ponownie lub napraw plugin Matrix (
openclaw plugins install @openclaw/matrixalboopenclaw plugins install ./path/to/local/matrix-plugindla checkoutu repozytorium), a następnie ponownie uruchomopenclaw doctor --fixlub zrestartuj gateway.
Matrix plugin helper path is unsafe: ... Reinstall @openclaw/matrix and try again.
- Znaczenie: OpenClaw znalazł ścieżkę pliku pomocniczego, która wychodzi poza katalog główny pluginu lub nie przechodzi kontroli granic pluginu, więc odmówił jej zaimportowania.
- Co zrobić: zainstaluj ponownie plugin Matrix z zaufanej ścieżki, a następnie ponownie uruchom
openclaw doctor --fixlub zrestartuj gateway.
- Failed creating a Matrix migration snapshot before repair: ...
- Skipping Matrix migration changes for now. Resolve the snapshot failure, then rerun "openclaw doctor --fix".
- Znaczenie: OpenClaw odmówił modyfikacji stanu Matrix, ponieważ najpierw nie mógł utworzyć migawki odzyskiwania.
- Co zrobić: rozwiąż błąd kopii zapasowej, a następnie ponownie uruchom
openclaw doctor --fixlub zrestartuj gateway.
Failed migrating legacy Matrix client storage: ...
- Znaczenie: awaryjna ścieżka po stronie klienta Matrix wykryła stary płaski magazyn, ale przeniesienie się nie powiodło. OpenClaw teraz przerywa tę ścieżkę awaryjną zamiast po cichu startować z nowym magazynem.
- Co zrobić: sprawdź uprawnienia systemu plików lub konflikty, pozostaw stary stan nienaruszony i spróbuj ponownie po naprawieniu błędu.
Matrix is installed from a custom path: ...
- Znaczenie: Matrix jest przypięty do instalacji ze ścieżki, więc aktualizacje głównej linii nie zastępują go automatycznie standardowym pakietem Matrix z repozytorium.
- Co zrobić: zainstaluj ponownie przez
openclaw plugins install @openclaw/matrix, gdy chcesz wrócić do domyślnego pluginu Matrix.
Komunikaty odzyskiwania stanu zaszyfrowanego
matrix: restored X/Y room key(s) from legacy encrypted-state backup
- Znaczenie: zapisane klucze pokojów zostały pomyślnie przywrócone do nowego magazynu kryptograficznego.
- Co zrobić: zwykle nic.
matrix: N legacy local-only room key(s) were never backed up and could not be restored automatically
- Znaczenie: część starych kluczy pokojów istniała tylko w starym lokalnym magazynie i nigdy nie została przesłana do kopii zapasowej Matrix.
- Co zrobić: spodziewaj się, że część starej zaszyfrowanej historii pozostanie niedostępna, chyba że możesz ręcznie odzyskać te klucze z innego zweryfikowanego klienta.
Legacy Matrix encrypted state for account "..." has backed-up room keys, but no local backup decryption key was found. Ask the operator to run "openclaw matrix verify backup restore --recovery-key <key>" after upgrade if they have the recovery key.
- Znaczenie: kopia zapasowa istnieje, ale OpenClaw nie mógł automatycznie odzyskać klucza odzyskiwania.
- Co zrobić: uruchom
openclaw matrix verify backup restore --recovery-key "<your-recovery-key>".
Failed inspecting legacy Matrix encrypted state for account "..." (...): ...
- Znaczenie: OpenClaw znalazł stary zaszyfrowany magazyn, ale nie mógł go sprawdzić na tyle bezpiecznie, aby przygotować odzyskiwanie.
- Co zrobić: ponownie uruchom
openclaw doctor --fix. Jeśli problem się powtórzy, zachowaj stary katalog stanu bez zmian i odzyskaj dane przy użyciu innego zweryfikowanego klienta Matrix orazopenclaw matrix verify backup restore --recovery-key "<your-recovery-key>".
Legacy Matrix backup key was found for account "...", but .../recovery-key.json already contains a different recovery key. Leaving the existing file unchanged.
- Znaczenie: OpenClaw wykrył konflikt klucza kopii zapasowej i odmówił automatycznego nadpisania bieżącego pliku recovery-key.
- Co zrobić: sprawdź, który klucz odzyskiwania jest poprawny, zanim ponownie spróbujesz jakiegokolwiek polecenia przywracania.
Legacy Matrix encrypted state for account "..." cannot be fully converted automatically because the old rust crypto store does not expose all local room keys for export.
- Znaczenie: to twarde ograniczenie starego formatu magazynu.
- Co zrobić: zapisane klucze nadal można przywrócić, ale lokalna zaszyfrowana historia może pozostać częściowo niedostępna.
matrix: failed restoring room keys from legacy encrypted-state backup: ...
- Znaczenie: nowy plugin próbował przywrócić dane, ale Matrix zwrócił błąd.
- Co zrobić: uruchom
openclaw matrix verify backup status, a następnie w razie potrzeby ponów próbę przezopenclaw matrix verify backup restore --recovery-key "<your-recovery-key>".
Ręczne komunikaty odzyskiwania
Backup key is not loaded on this device. Run 'openclaw matrix verify backup restore' to load it and restore old room keys.
- Znaczenie: OpenClaw wie, że to urządzenie powinno mieć klucz kopii zapasowej, ale nie jest on na nim aktywny.
- Co zrobić: uruchom
openclaw matrix verify backup restorealbo przekaż--recovery-key, jeśli to potrzebne.
Store a recovery key with 'openclaw matrix verify device <key>', then run 'openclaw matrix verify backup restore'.
- Znaczenie: to urządzenie nie ma obecnie zapisanego klucza odzyskiwania.
- Co zrobić: najpierw zweryfikuj urządzenie swoim kluczem odzyskiwania, a następnie przywróć kopię zapasową.
Backup key mismatch on this device. Re-run 'openclaw matrix verify device <key>' with the matching recovery key.
- Znaczenie: zapisany klucz nie pasuje do aktywnej kopii zapasowej Matrix.
- Co zrobić: ponownie uruchom
openclaw matrix verify device "<your-recovery-key>"z poprawnym kluczem.
openclaw matrix verify backup reset --yes. Gdy
zapisany sekret kopii zapasowej jest uszkodzony, taki reset może również odtworzyć magazyn sekretów, aby nowy klucz kopii zapasowej mógł poprawnie załadować się po restarcie.
Backup trust chain is not verified on this device. Re-run 'openclaw matrix verify device <key>'.
- Znaczenie: kopia zapasowa istnieje, ale to urządzenie nie ufa jeszcze wystarczająco silnie łańcuchowi cross-signing.
- Co zrobić: ponownie uruchom
openclaw matrix verify device "<your-recovery-key>".
Matrix recovery key is required
- Znaczenie: próbowałeś wykonać krok odzyskiwania bez podania klucza odzyskiwania tam, gdzie był wymagany.
- Co zrobić: uruchom polecenie ponownie z kluczem odzyskiwania.
Invalid Matrix recovery key: ...
- Znaczenie: podanego klucza nie udało się sparsować albo nie pasował do oczekiwanego formatu.
- Co zrobić: spróbuj ponownie, używając dokładnego klucza odzyskiwania z klienta Matrix lub pliku recovery-key.
Matrix device is still unverified after applying recovery key. Verify your recovery key and ensure cross-signing is available.
- Znaczenie: klucz został zastosowany, ale urządzenie nadal nie mogło ukończyć weryfikacji.
- Co zrobić: potwierdź, że użyłeś właściwego klucza i że cross-signing jest dostępny na koncie, a następnie spróbuj ponownie.
Matrix key backup is not active on this device after loading from secret storage.
- Znaczenie: magazyn sekretów nie utworzył aktywnej sesji kopii zapasowej na tym urządzeniu.
- Co zrobić: najpierw zweryfikuj urządzenie, a potem sprawdź ponownie przez
openclaw matrix verify backup status.
Matrix crypto backend cannot load backup keys from secret storage. Verify this device with 'openclaw matrix verify device <key>' first.
- Znaczenie: to urządzenie nie może przywracać danych z magazynu sekretów, dopóki weryfikacja urządzenia nie zostanie ukończona.
- Co zrobić: najpierw uruchom
openclaw matrix verify device "<your-recovery-key>".
Komunikaty instalacji niestandardowego pluginu
Matrix is installed from a custom path that no longer exists: ...
- Znaczenie: rekord instalacji pluginu wskazuje na lokalną ścieżkę, która już nie istnieje.
- Co zrobić: zainstaluj ponownie przez
openclaw plugins install @openclaw/matrix, albo jeśli uruchamiasz z checkoutu repozytorium,openclaw plugins install ./path/to/local/matrix-plugin.