Кратко
location.get— команда узла (черезnode.invoke).- По умолчанию отключена.
- В настройках Android-приложения используется селектор: Отключено / При использовании.
- Отдельный переключатель: Точная геолокация.
Почему селектор (а не просто переключатель)
Разрешения ОС имеют несколько уровней. Мы можем показывать селектор внутри приложения, но фактическое разрешение всё равно определяет ОС.- iOS/macOS могут показывать При использовании или Всегда в системных запросах/настройках.
- Android-приложение сейчас поддерживает только геолокацию на переднем плане.
- Точная геолокация — это отдельное разрешение (iOS 14+ «Точная», Android «точная» и «приблизительная»).
Модель настроек
Для каждого устройства-узла:location.enabledMode:off | whileUsinglocation.preciseEnabled: bool
- Выбор
whileUsingзапрашивает разрешение на геолокацию на переднем плане. - Если ОС отклоняет запрошенный уровень, вернуться к максимальному выданному уровню и показать статус.
Сопоставление разрешений (node.permissions)
Необязательно. Узел macOS сообщаетlocation через карту разрешений; iOS/Android могут не включать его.
Команда: location.get
Вызывается через node.invoke.
Параметры (рекомендуемые):
LOCATION_DISABLED: селектор отключён.LOCATION_PERMISSION_REQUIRED: отсутствует разрешение для запрошенного режима.LOCATION_BACKGROUND_UNAVAILABLE: приложение находится в фоне, но разрешён только режим «При использовании».LOCATION_TIMEOUT: не удалось получить координаты вовремя.LOCATION_UNAVAILABLE: системный сбой / нет поставщиков данных.
Поведение в фоне
- Android-приложение отклоняет
location.get, когда находится в фоне. - Держите OpenClaw открытым при запросе геолокации на Android.
- Другие платформы узлов могут отличаться.
Интеграция с моделью/инструментами
- Поверхность инструмента: инструмент
nodesдобавляет действиеlocation_get(узел обязателен). - CLI:
openclaw nodes location get --node <id>. - Рекомендации для агента: вызывать только если пользователь включил геолокацию и понимает область действия.
Текст UX (рекомендуемый)
- Отключено: «Передача геолокации отключена.»
- При использовании: «Только когда OpenClaw открыт.»
- Точная: «Использовать точную GPS-геолокацию. Отключите этот параметр, чтобы передавать приблизительную геолокацию.»