> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Разрешения macOS

Разрешения macOS нестабильны. TCC связывает выданное разрешение с
кодовой подписью приложения, идентификатором пакета и путем на диске. Если что-то из этого изменится,
macOS считает приложение новым и может сбросить или скрыть запросы.

## Требования для стабильных разрешений

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

Ad-hoc-подписи создают новую идентичность при каждой сборке. macOS забудет предыдущие
разрешения, а запросы могут полностью исчезнуть, пока устаревшие записи не будут очищены.

## Разрешения Accessibility для сред Node и CLI

Предпочитайте выдавать Accessibility приложению OpenClaw\.app, Peekaboo.app или другому подписанному
помощнику с собственным идентификатором пакета, а не обычному бинарному файлу `node`.

macOS TCC выдает Accessibility кодовой идентичности процесса, который он видит. Если рабочий процесс
Homebrew, nvm, pnpm или npm приводит к тому, что общий исполняемый файл `node`
получает Accessibility, любой JavaScript-пакет, запущенный через тот же
исполняемый файл, может унаследовать привилегии автоматизации GUI.

Считайте запись `node` в System Settings широким разрешением для этой среды Node,
а не разрешением для одного npm-пакета. Не выдавайте Accessibility для
`node`, если вы не доверяете каждому скрипту и пакету, запускаемому через эту точную
установку Node.

Если вы случайно выдали Accessibility для `node`, удалите эту запись из
System Settings -> Privacy & Security -> Accessibility. Затем выдайте разрешение подписанному
приложению или помощнику, который должен владеть автоматизацией UI.

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

1. Закройте приложение.
2. Удалите запись приложения в System Settings -> Privacy & Security.
3. Перезапустите приложение из того же пути и выдайте разрешения заново.
4. Если запрос все еще не появляется, сбросьте записи TCC с помощью `tccutil` и попробуйте снова.
5. Некоторые разрешения снова появляются только после полного перезапуска macOS.

Примеры сброса (замените ID пакета при необходимости):

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
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](/ru/platforms/macos)
* [Подписание macOS](/ru/platforms/mac/signing)
