Location command (nodes)
要点
location.getはノードコマンドです(node.invoke経由)。- デフォルトでは無効です。
- Android アプリ設定ではセレクターを使います: Off / While Using。
- 別個のトグル: Precise Location。
なぜスイッチだけでなくセレクターなのか
OS の権限は多段階です。アプリ内ではセレクターを公開できますが、実際の許可は依然として OS が決定します。- iOS/macOS は、システムプロンプト/設定で While Using または Always を提示することがあります。
- Android アプリは現在、フォアグラウンド位置情報のみをサポートしています。
- Precise location は別個の許可です(iOS 14+ の「Precise」、Android の「fine」と「coarse」)。
設定モデル
ノードデバイスごと:location.enabledMode:off | whileUsinglocation.preciseEnabled: bool
whileUsingを選ぶと、フォアグラウンド権限を要求します。- OS が要求レベルを拒否した場合、付与済みの中で最上位のレベルに戻し、状態を表示します。
権限マッピング(node.permissions)
任意です。macOS ノードは権限マップ経由で location を報告します。iOS/Android は省略する場合があります。
コマンド: location.get
node.invoke 経由で呼び出されます。
パラメータ(推奨):
LOCATION_DISABLED: セレクターが off です。LOCATION_PERMISSION_REQUIRED: 要求モードに必要な権限がありません。LOCATION_BACKGROUND_UNAVAILABLE: アプリがバックグラウンドですが、While Using しか許可されていません。LOCATION_TIMEOUT: 期限内に位置が取得できませんでした。LOCATION_UNAVAILABLE: システム障害 / 利用可能なプロバイダーがありません。
バックグラウンド動作
- Android アプリは、バックグラウンド時に
location.getを拒否します。 - Android で位置情報を要求する場合は OpenClaw を開いたままにしてください。
- 他のノードプラットフォームでは異なる場合があります。
モデル/ツール統合
- ツールサーフェス:
nodesツールにlocation_getアクションを追加します(ノード必須)。 - CLI:
openclaw nodes location get --node <id>。 - エージェントガイドライン: ユーザーが位置情報を有効にし、その範囲を理解している場合にのみ呼び出してください。
UX 文言(推奨)
- Off: 「位置情報共有は無効です。」
- While Using: 「OpenClaw が開いているときのみ。」
- Precise: 「正確な GPS 位置情報を使います。おおまかな位置情報を共有するにはオフにしてください。」