Команда Location (nodes)
TL;DR
location.get— це команда node (черезnode.invoke).- За замовчуванням вимкнена.
- У налаштуваннях застосунку Android використовується селектор: Off / While Using.
- Окремий перемикач: Precise Location.
Чому селектор, а не просто перемикач
Дозволи ОС мають кілька рівнів. Ми можемо показати селектор у застосунку, але фактичний рівень дозволу все одно визначає ОС.- iOS/macOS можуть показувати While Using або Always у системних prompt/Settings.
- Застосунок Android наразі підтримує лише location на передньому плані.
- Precise location — це окремий дозвіл (iOS 14+ “Precise”, Android “fine” проти “coarse”).
Модель налаштувань
Для кожного пристрою node:location.enabledMode:off | whileUsinglocation.preciseEnabled: bool
- Вибір
whileUsingзапитує дозвіл на використання на передньому плані. - Якщо ОС відхиляє запитаний рівень, повернутися до найвищого наданого рівня й показати статус.
Відображення дозволів (node.permissions)
Необов’язково. Node macOS повідомляє location через карту дозволів; iOS/Android можуть його пропускати.
Команда: location.get
Викликається через node.invoke.
Параметри (рекомендовані):
LOCATION_DISABLED: селектор вимкнено.LOCATION_PERMISSION_REQUIRED: відсутній дозвіл для запитаного режиму.LOCATION_BACKGROUND_UNAVAILABLE: застосунок у фоновому режимі, але дозволено лише While Using.LOCATION_TIMEOUT: не вдалося отримати фіксацію вчасно.LOCATION_UNAVAILABLE: збій системи / немає доступних providers.
Поведінка у фоновому режимі
- Застосунок Android відхиляє
location.get, коли перебуває у фоновому режимі. - Тримайте OpenClaw відкритим, коли запитуєте location на Android.
- На інших платформах node поведінка може відрізнятися.
Інтеграція з моделлю/інструментами
- Поверхня інструментів: інструмент
nodesдодає діюlocation_get(потрібен node). - CLI:
openclaw nodes location get --node <id>. - Рекомендації для агента: викликайте лише тоді, коли користувач увімкнув location і розуміє межі доступу.
Текст для UX (рекомендовано)
- Off: “Надання location вимкнено.”
- While Using: “Лише коли OpenClaw відкритий.”
- Precise: “Використовувати точну GPS location. Вимкніть, щоб ділитися приблизною location.”