Операторы, которые поставляют OpenClaw на нативном macOS, быстро понимают: за одним YAML-переключателем «файловые инструменты только workspace» скрываются три политики—фильтры инструментов агента, интерпретация шлюза и опциональные Docker bind-mount. Эта 2026-05-06 матрица показывает, как tools.fs.workspaceOnly взаимодействует с нормализацией путей хоста на Mac mini M4, почему ошибки вроде Path escapes workspace root появляются даже когда конфигурация обещает более широкий доступ, и как воспроизводить сбои без утечки секретов—две таблицы, восемь шагов triage, FAQ JSON-LD и ссылки на наблюдаемость и секреты для многослойной защиты.
Продолжайте с наблюдаемостью шлюза и редактированием логов, ужесточайте учётные данные через секреты, переменные окружения и связку ключей и проверяйте обновления по рукбукам drain-restart-smoke, чтобы регрессии файловой системы не терялись в шумных окнах деплоя.
Почему политика файловой системы сбивает операторов Apple Silicon
macOS разрешает пути через симлинки, Firmlink и тома без учёта регистра, а контейнеры видят другие корни. Агент может считать, что пишет в /workspace/out, тогда как шлюз после патча безопасности применяет более жёсткое правило хоста. На Apple Silicon M4 задержка IO часто выглядит «нормальной» в Activity Monitor, хотя инструменты в песочнице сериализуют обновления метаданных—операторы винят модели или сеть вместо наслоения политик. Явная документация поверхностей принуждения убирает эти слепые зоны.
- Двойные монтирования: пути bind Docker Desktop слегка отличаются от путей SSH-сессии на том же хосте.
- Автоматизация против человеческих проб: инженеры с алиасами в Terminal обходят ограничения, с которыми демоны сталкиваются без GUI.
- Напряжение аудита: SecOps хочет deny-by-default, а эргономика разработчика—быстрые правки под
~/Developer.
Гигиена инцидентов: когда в логах Path escapes workspace root, зафиксируйте абсолютный разрешённый путь, UID владельца и выполнялся ли инструмент в контейнере песочницы—три факта, которые нужны апстриму, чтобы отличить регрессию от намеренного ужесточения.
Матрица A — Слой принуждения против типичного предположения против привычки проверки
| Слой | Предположение | Проверка |
|---|---|---|
| Списки allow/deny инструмента агента | Запись следует YAML буквально | Повторить вызовы с openclaw doctor и минимальными фикстурами |
| Хост-охранник шлюза | workspaceOnly:false всегда отключает проверки корня |
Сравнить примечания к релизу; diff конфигов до и после обновлений |
| Карта тома песочницы Docker | Пути контейнера равны путям macOS | Вывести таблицу монтирования и сопоставить оба корня численно |
Матрица B — Симптом против вероятного слоя против действия владельца против шаблона смягчения
| Симптом | Слой | Владелец | Смягчение |
|---|---|---|---|
| Чтение успешно, запись вне workspace блокируется | Регрессия хост-ограждения | Платформа | Закрепить semver шлюза, пока политика не совпадёт с доками; минимальное воспроизведение |
| Случайные пути падают только в песочнице | Пропуски bind-mount | Инфраструктура | Расширить разрешённые монтирования или убрать песочницу для этой дорожки |
| Инструмент периодически отвергает всё поддерево | Гонка между переносом workspace и запуском инструмента | Автоматизация | Сериализовать provisioning блокировками файлов, окно стабильности ≥ 2 секунд |
Количественные ручки, о которых команды спорят
- Бюджет переноса workspace: не более одного автоматического переноса за сессию агента без подтверждения человека.
- Параллельный fan-out инструментов: ограничить одновременных мутаторов файловой системы четырьмя на шлюз Mac mini M4, чтобы избежать штормов метаданных APFS при индексации.
- SLA регрессии: считать неожиданные отказы workspace инцидентом P1, если они блокируют merge релиза дольше 30 минут.
Восемь шагов triage (зеркало JSON-LD)
- Зафиксировать версии CLI, плагинов шлюза и сборок ОС.
- Вывести разрешённые корни workspace для демонов хоста и детей песочницы.
- Сравнить конфигурации с фокусом на
tools.fs.workspaceOnlyи сопутствующие allowlist. - Классифицировать сбои на ошибки выхода, отказы в правах и временный IO.
- Запустить минимальные зонды, касающиеся только контролируемых temp.
- Настроить сеть и монтирования песочницы при активной изоляции Docker.
- Обезличить логи перед выходом за границу доверия.
- Задокументировать позицию, чтобы поддержка отличала баги от политики.
FAQ
Давать ли разработчикам запись на весь хост по умолчанию
Нет—выдавайте узко ограниченные staging-хосты или временные breakout-дорожки с еженедельным аудитом; prod-шлюзы остаются привязанными к workspace.
Как безопасно тестировать symlink-escape
Создайте одноразовые workspace на scratch-томах, symlink на безвредные файлы и убедитесь, что принуждение блокирует обход до данных клиента.
Где расширять capacity после ужесточения файловых правил
Смотрите цены на дополнительные узлы Mac mini M4 по регионам и сочетайте закупку с чеклистами онбординга в справочном центре.
Запуск OpenClaw на выделенном Mac mini M4 позволяет соблюдать ожидания Apple к toolchain и экспериментировать с границами песочницы: Apple Silicon держит предсказуемую задержку для агентов, нагружающих ФС, нативный macOS избегает сюрпризов libc, а SSH и опциональный VNC от NodeMac доказывают проблемы путей интерактивно, когда безголовые логи врут. С регионами в Гонконге, Японии, Корее, Сингапуре и США изолируйте prod-шлюзы со «строгим workspace» от permissive-песочниц только для исследовательских подов—снижая blast radius и среднее время прояснения, когда поведение tools.fs меняется между релизами.