Перейти до основного вмісту

Дозволи macOS (TCC)

Надані дозволи macOS є нестійкими. TCC пов’язує надання дозволу з підписом коду app, ідентифікатором пакета та шляхом на диску. Якщо будь-що з цього змінюється, macOS вважає app новою і може скинути або приховати запити.

Вимоги для стабільних дозволів

  • Той самий шлях: запускайте app із фіксованого розташування (для OpenClaw, dist/OpenClaw.app).
  • Той самий ідентифікатор пакета: зміна ID пакета створює нову ідентичність дозволів.
  • Підписана app: непідписані або підписані ad-hoc збірки не зберігають дозволи.
  • Узгоджений підпис: використовуйте справжній сертифікат Apple Development або Developer ID, щоб підпис залишався стабільним між перебудовами.
Підписи ad-hoc створюють нову ідентичність під час кожної збірки. macOS забуватиме попередні надання, а запити можуть повністю зникнути, доки не буде очищено застарілі записи.

Контрольний список відновлення, коли запити зникають

  1. Завершіть app.
  2. Видаліть запис app у System Settings -> Privacy & Security.
  3. Повторно запустіть app з того самого шляху та знову надайте дозволи.
  4. Якщо запит усе ще не з’являється, скиньте записи TCC за допомогою tccutil і спробуйте знову.
  5. Деякі дозволи знову з’являються лише після повного перезапуску macOS.
Приклади скидання (за потреби замініть ID пакета):
sudo tccutil reset Accessibility ai.openclaw.mac
sudo tccutil reset ScreenCapture ai.openclaw.mac
sudo tccutil reset AppleEvents

Дозволи на файли та теки (Desktop/Documents/Downloads)

macOS також може обмежувати доступ до Desktop, Documents і Downloads для процесів термінала/фонових процесів. Якщо читання файлів або перегляд вмісту тек зависає, надайте доступ тому самому контексту процесу, який виконує файлові операції (наприклад, Terminal/iTerm, app, запущена через LaunchAgent, або процес SSH). Обхідний шлях: перемістіть файли до робочого простору OpenClaw (~/.openclaw/workspace), якщо хочете уникнути надання дозволів для кожної окремої теки. Якщо ви тестуєте дозволи, завжди підписуйте app справжнім сертифікатом. Збірки ad-hoc прийнятні лише для швидких локальних запусків, де дозволи не мають значення.