Przejdź do głównej zawartości
docs
GitHub

Rozwiązywanie problemów z MCP

Błędy połączenia, odmowa dostępu, stare cele, niepewne efekty i lokalne odzyskiwanie.

Zacznij od lomi_status i lomi_diagnostics. Status może zwrócić fazę połączenia, ID prośby o parowanie, gotowość UI, platformę i możliwości. Wymieniona funkcja może być niedostępna, nieuprawniona lub niezweryfikowana; sama obecność w katalogu nie oznacza użytecznego dostępu.

  1. Sprawdź macOS 14+ i Apple Silicon. Obecna kontrola desktopu blokuje inne platformy.
  2. Otwórz Lomi i wybierz Settings > Agent control > Start server. Sprawdź błędy startu/danych.
  3. Upewnij się, że klient może uruchomić zarejestrowaną absolutną ścieżkę programu. Po przeniesieniu Lomi zarejestruj ponownie.
  4. Uruchom ponownie/przeładuj połączenie MCP klienta po rejestracji lub restarcie Lomi/serwera.
  5. Przy wyłączonym YOLO porównaj pairingRequestId w Sessions, zatwierdź obszar/zakresy, potem wywołaj lomi_workspace_list i lomi_connect.
  6. Sprawdź uiReady przed pracą zależną od interfejsu. Ponowna rejestracja głównego okna może wymagać nowego połączenia.

app_unavailable zwykle wymaga działającego serwera lub poprawnej rejestracji. connecting trwa; pairing_required czeka na Settings. disconnected wymaga nowego połączenia. host_unqualified nie znika po dodaniu uprawnień. Wbudowany Chat przy braku dostępu powinien wskazać krok Settings i ponowić w późniejszej turze, zamiast stale odpytywać lub działać poza brokerem.

Lista pokazuje programy z obsługiwanego lokalnego środowiska powłoki. Zainstaluj CLI w tym środowisku i odśwież; stary plik konfiguracji nie wystarcza. Działający proces z własnym home może używać innego pliku niż Settings. Zobacz profile klientów.

Jeśli inny serwer nazywa się lomi, zmień nazwę konfliktującego wpisu przez konfigurację klienta i spróbuj ponownie. Lomi zachowuje plik. Konflikt rewizji oznacza zmianę konfiguracji po odczycie: najpierw odśwież. Przy niepoprawnym JSON/TOML/YAML lub niejednoznacznych/dodatkowych źródłach napraw lub wybierz konfigurację klienta; Lomi nie zgaduje ani nie zastępuje uszkodzonych danych.

Jeśli narzędzia są widoczne, ale modyfikujące wywołanie nie dociera do Lomi, sprawdź zgodę klienta. Jeśli dociera i zwraca SCOPE_DENIED, sprawdź upoważnienie sesji Lomi. To niezależne polityki.

Kod Co sprawdzić lub zrobić
APP_UNAVAILABLE Otwórz Lomi, uruchom serwer i sprawdź program/rejestrację discovery.
PAIRING_REQUIRED Porównaj i zatwierdź oczekującą prośbę w Sessions.
SCOPE_DENIED Sprawdź wymagane zakresy i dokładny obszar/urządzenie/origin/rozmowę.
UI_NOT_READY Poczekaj na aktywną rejestrację głównego okna; sprawdź modal lub start.
APP_CLOSING Zakończ lub anuluj zamykanie/aktualizację aplikacji przed nową pracą.
TARGET_NOT_FOUND Odśwież listę; cel mógł zostać zamknięty, przeniesiony lub nieudostępniony.
STALE_GENERATION Odczytaj aktualną tożsamość procesu. Nie stosuj starego lease do następcy.
REVISION_CONFLICT Sprawdź wcześniejsze efekty, potem pobierz rewizję układu/dysku/bufora/ustawień/Chat.
STALE_SNAPSHOT Zrób nowy odczyt przeglądarki/Androida i użyj aktualnych odwołań.
TARGET_BUSY Sprawdź operację, własność użytkownika, bufor dirty/conflict lub gotowość zasobu.
CONTROL_REVOKED Przywróć jawnie zatwierdzone połączenie/sterowanie, jeśli nadal tego chcesz.
PROMPT_STATE_UNKNOWN Sprawdź terminal; nie potwierdzono bezczynnego promptu dla automatycznej komendy.
PANEL_NOT_RENDERABLE Pokaż dokładny panel przeglądarki i usuń zasłonięcie; ukryte wejście/zrzut może być niedostępne.
PROTECTED_ORIGIN_TERMINAL Użyj innego uprawnionego terminala; terminal pochodzenia agenta jest chroniony.
UNSUPPORTED_CAPABILITY Użyj udokumentowanej ścieżki; zgoda nie dodaje brakującej implementacji.
HOST_UNQUALIFIED Sprawdź weryfikację systemu; sukces innej funkcji nie potwierdza tej ścieżki.
DEADLINE_EXCEEDED Sprawdź potwierdzenie i rzeczywisty zasób przed kolejnym żądaniem.
CURSOR_EXPIRED Zacznij odczyt ze świeżej obserwacji; nie łącz niepowiązanych stron.
ARTIFACT_TOO_LARGE Zmniejsz rozmiar lub użyj obsługiwanego mniejszego źródła.
ARTIFACT_INVALID Sprawdź własność, hash, termin, klasyfikację i dostęp źródła.
OUTCOME_UNKNOWN Zachowaj potwierdzenie i sprawdź efekt; nie powtarzaj automatycznie.
IDEMPOTENCY_CONFLICT Ten sam klucz ma inne argumenty. Odzyskaj dokładne oryginalne żądanie.
RETRY_WINDOW_EXPIRED Stara tożsamość nie może wykonać operacji; uzgodnij efekt przed nową pracą.
RESOURCE_EXHAUSTED Sprawdź limity wejścia/wyjścia, kolejki, artefakty i budżet potwierdzeń/epok.
STORAGE_UNAVAILABLE Zachowaj dane, sprawdź uprawnienia/blokadę/miejsce i wstrzymaj nowe efekty.

Część warunkowych błędów natywnych trafia do wyniku operacji, a nie błędu głównego. Czytaj razem state, effectState, typowany result, liczniki pominięć i konkretne błędy. outcome_unknown jest też stanem potwierdzenia.

Pobierz oryginalne potwierdzenie przez operationId lub dokładny klucz ponawiania. Zachowaj oryginalny payload i rewizję. Duplikat jest bezpieczny wyłącznie według dokładnego kontraktu deduplikacji; nowy klucz może wykonać drugi efekt.

Sprawdź rzeczywisty cel: zakończenie/wynik terminala, rewizję zapisanego pliku, Git index/HEAD/remote, załącznik strony, pakiet Androida lub zapisane żądanie Chat. Anulowanie nie jest cofnięciem. Ograniczony odczyt nie dowodzi braku celu lub efektu.

Dla APK INSTALL_FAILED_INSUFFICIENT_STORAGE zwolnij miejsce na wybranym urządzeniu i sprawdź nieudaną operację. Ten sam klucz zwraca tę odmowę. Nowe żądanie instalacji utwórz dopiero po ustaleniu rzeczywistego stanu urządzenia.

Agent control zapisuje control.sqlite3, odpowiadające control.sqlite3-wal/control.sqlite3-shm, tożsamość rejestracji i inne prywatne dane pod agent-control w danych aplikacji. Nie edytuj działającego SQLite/WAL ani nie usuwaj go, żeby wymusić ponowienie.

Jeśli start odrzuca uszkodzony/ucięty/zbyt duży WAL, nieobsługiwany schemat, uprawnienia lub innego właściciela, zamknij Lomi przed odzyskiwaniem offline. Zachowaj cały oryginalny katalog i zgodny zestaw baza/WAL/SHM. Budżet walidacji WAL przy starcie wynosi 128 MiB; odrzucona historia nie jest po cichu usuwana.

Odtwarzaj wyłącznie świadomie wybraną kopię offline, zachowując uszkodzone oryginały. Sparuj ponownie i uzgodnij rzeczywisty stan zasobów; starsza kopia nie dowodzi, że efekt nie został wysłany. Stare epoki nie upoważniają do odtworzenia. Nie ma automatycznego czyszczenia ani udokumentowanej komendy resetu online: przy 4096 potwierdzeń/epok zaplanuj konserwację offline zachowującą dowody niezakończonych efektów.

Dla przerwanego Kosza użyj Settings > Agent control > Show recovery folder. Prywatne wpisy trash-recovery zawierają zachowane dane i plan.json z pierwotnym celem. completed.json potwierdza zakończone przekazanie do systemowego Kosza.

Sprawdzaj wpis razem z potwierdzeniem. Odtwarzaj pod nieużywaną nazwę, żeby zachować nowszą pracę. Zachowaj rekordy do uzgodnienia zawartości i faktycznego stanu Kosza. Poprawny Git discard działa inaczej: nie zapisuje odrzuconych bajtów w tym katalogu.

Obecna weryfikacja MCP dotyczy konkretnego systemu. Syntetyczne wejście przeglądarki nie obsłuży wszystkich zaufanych gestów, projekcja Androida może pominąć Canvas/WebView/ekrany chronione, powiązane Git worktrees są nieobsługiwane, a układy pluginów mogą być niezweryfikowane. Włączenie YOLO nie naprawia tych braków.

Architektura i dowody opisują testy rzeczywiście wykonane w tym przeglądzie i osobne historyczne rekordy natywne.

Kod źródłowy: kody błędów, fazy połączenia, odzyskiwanie bazy/WAL, wskazówki operacyjne.