Разрешения macOS
Предоставленные разрешения macOS хрупки. TCC связывает грант разрешения с подписью кода приложения, идентификатором пакета и путем на диске. Если что-либо из этого меняется, macOS рассматривает приложение как новое и может отозвать или скрыть запросы.
Требования для стабильных разрешений
- Тот же путь: запускайте приложение из фиксированного расположения (для OpenClaw —
dist/OpenClaw.app). - Тот же идентификатор пакета: изменение Bundle ID создает новую идентичность для разрешений.
- Подписанное приложение: неподписанные или сборки с ad-hoc подписью не сохраняют разрешения.
- Постоянная подпись: используйте настоящий сертификат Apple Development или Developer ID, чтобы подпись оставалась стабильной при пересборках.
Ad-hoc подписи генерируют новую идентичность при каждой сборке. macOS забудет предыдущие гранты, а запросы могут полностью исчезнуть, пока не будут очищены устаревшие записи.
Чек-лист восстановления при исчезновении запросов
- Закройте приложение.
- Удалите запись приложения в «Системные настройки» → «Конфиденциальность и безопасность».
- Перезапустите приложение из того же пути и предоставьте разрешения заново.
- Если запрос все еще не появляется, сбросьте записи TCC с помощью
tccutilи попробуйте снова. - Некоторые разрешения появляются снова только после полной перезагрузки macOS.
Примеры сброса (замените идентификатор пакета при необходимости):
sudo tccutil reset Accessibility ai.openclaw.mac
sudo tccutil reset ScreenCapture ai.openclaw.mac
sudo tccutil reset AppleEvents
Разрешения для файлов и папок (Рабочий стол/Документы/Загрузки)
macOS также может ограничивать доступ к Рабочему столу, Документам и Загрузкам для терминальных/фоновых процессов. Если чтение файлов или листинг каталогов зависают, предоставьте доступ тому же контексту процесса, который выполняет файловые операции (например, Terminal/iTerm, приложению, запущенному через LaunchAgent, или SSH-процессу). Обходной путь: переместите файлы в рабочее пространство OpenClaw (~/.openclaw/workspace), если хотите избежать предоставления разрешений для каждой папки. Если вы тестируете разрешения, всегда подписывайте настоящим сертификатом. Сборки с ad-hoc подписью допустимы только для быстрых локальных запусков, где разрешения не важны.
Логирование macOSУдаленное управление