Wymagania dotyczące stabilnych uprawnień
- Ta sama ścieżka: uruchamiaj aplikację ze stałej lokalizacji (w przypadku OpenClaw:
dist/OpenClaw.app). - Ten sam identyfikator pakietu: zmiana identyfikatora pakietu tworzy nową tożsamość uprawnień.
- Podpisana aplikacja: niepodpisane lub podpisane ad hoc kompilacje nie utrwalają uprawnień.
- Spójny podpis: użyj prawdziwego certyfikatu Apple Development lub Developer ID, aby podpis pozostawał stabilny między kolejnymi kompilacjami.
Nadania Accessibility dla środowisk uruchomieniowych Node i CLI
Preferuj nadawanie Accessibility aplikacji OpenClaw.app, Peekaboo.app lub innemu podpisanemu narzędziu pomocniczemu z własnym identyfikatorem pakietu zamiast ogólnemu plikowi binarnemunode.
macOS TCC nadaje Accessibility tożsamości kodu procesu, który widzi. Jeśli przepływ pracy Homebrew, nvm, pnpm lub npm spowoduje, że współdzielony plik wykonywalny node otrzyma Accessibility, każdy pakiet JavaScript uruchomiony przez ten sam plik wykonywalny może odziedziczyć uprawnienia automatyzacji GUI.
Traktuj wpis node w Ustawieniach systemowych jako szerokie uprawnienie dla tego środowiska uruchomieniowego Node, a nie jako uprawnienie dla jednego pakietu npm. Unikaj nadawania Accessibility node, chyba że ufasz każdemu skryptowi i pakietowi uruchamianemu przez dokładnie tę instalację Node.
Jeśli przypadkowo nadano Accessibility node, usuń ten wpis z Ustawień systemowych -> Prywatność i bezpieczeństwo -> Accessibility. Następnie nadaj uprawnienie podpisanej aplikacji lub narzędziu pomocniczemu, które powinno odpowiadać za automatyzację UI.
Lista kontrolna odzyskiwania, gdy monity znikną
- Zamknij aplikację.
- Usuń wpis aplikacji w Ustawieniach systemowych -> Prywatność i ochrona.
- Uruchom aplikację ponownie z tej samej ścieżki i ponownie przyznaj uprawnienia.
- Jeśli monit nadal się nie pojawia, zresetuj wpisy TCC za pomocą
tccutili spróbuj ponownie. - Niektóre uprawnienia pojawiają się ponownie dopiero po pełnym restarcie macOS.
Uprawnienia do plików i folderów (Biurko/Dokumenty/Pobrane)
macOS może również ograniczać dostęp do Biurka, Dokumentów i Pobranych dla procesów terminalowych/w tle. Jeśli odczyt plików lub wyświetlanie zawartości katalogów się zawiesza, przyznaj dostęp temu samemu kontekstowi procesu, który wykonuje operacje na plikach (na przykład Terminal/iTerm, aplikacja uruchomiona przez LaunchAgent albo proces SSH). Obejście: przenieś pliki do przestrzeni roboczej OpenClaw (~/.openclaw/workspace), jeśli chcesz uniknąć przyznawania uprawnień dla poszczególnych folderów.
Jeśli testujesz uprawnienia, zawsze podpisuj prawdziwym certyfikatem. Kompilacje ad hoc
są akceptowalne tylko do szybkich lokalnych uruchomień, w których uprawnienia nie mają znaczenia.