OpenClawSkills
GitHub
ノードとメディア • 5分で読める

ロケーションコマンド

ノードのロケーションコマンド(location.get)、権限モード、バックグラウンド動作

Tutorial.step

Summary

- location.get はノードコマンド(node.invoke 経由)です。

- デフォルトでオフ。

- 設定はセレクターを使用します:オフ / 使用中 / 常時。

- 独立のトグル:正確なロケーション。

Tutorial.step

なぜセレクターなのか(スイッチだけではない理由)

OS 権限はマルチレベルです。アプリ内でセレクターを公開できますが、OS は実際の付与を決定します。

- iOS/macOS:ユーザーはシステムプロンプト/設定で使用中または常時を選択できます。アプリはアップグレードを要求できますが、OS は設定を必要とする場合があります。

- Android:バックグラウンドロケーションは別の権限です;Android 10+ では、設定フローを必要とすることがよくあります。

- 正確なロケーションは別の付与です(iOS 14+ "正確"、Android "fine" と "coarse")。

UI のセレクターは要求されたモードを駆動します;実際の付与は OS 設定にあります。

Tutorial.step

設定モデル

ノードデバイスごと:

- location.enabledMode:off | whileUsing | always

- location.preciseEnabled:ブール値

UI Behavior:

- whileUsing を選択するとフォアグラウンド権限を要求します。

- always を選択すると、まず whileUsing を確保してから、バックグラウンドを要求します(必要な場合、ユーザーを設定に送信します)。

- OS が要求されたレベルを拒否した場合、付与された最高レベルに戻り、ステータスを表示します。

Tutorial.step

権限マッピング(node.permissions)

オプション。macOS ノードは権限マップ経由で location を報告します;iOS/Android は省略する場合があります。

Tutorial.step

コマンド:`location.get`

node.invoke 経由で呼び出されます。

パラメータ(推奨):

Json
{
  "timeoutMs": 10000,
  "maxAgeMs": 15000,
  "desiredAccuracy": "coarse|balanced|precise"
}

レスポンスペイロード:

Json
{
  "lat": 48.20849,
  "lon": 16.37208,
  "accuracyMeters": 12.5,
  "altitudeMeters": 182.0,
  "speedMps": 0.0,
  "headingDeg": 270.0,
  "timestamp": "2026-01-03T12:34:56.000Z",
  "isPrecise": true,
  "source": "gps|wifi|cell|unknown"
}

エラー(安定コード):

- LOCATION_DISABLED:セレクターがオフ。

- LOCATION_PERMISSION_REQUIRED:要求されたモードの権限がありません。

- LOCATION_BACKGROUND_UNAVAILABLE:アプリがバックグラウンドですが、使用中のみ許可されています。

- LOCATION_TIMEOUT:時間内に修正なし。

- LOCATION_UNAVAILABLE:システム障害 / プロバイダーなし。

Tutorial.step

バックグラウンド動作(将来)

目標:ノードがバックグラウンドの場合でもモデルがロケーションを要求できますが、次の場合のみ:

- ユーザーが常時を選択しました。

- OS がバックグラウンドロケーションを付与しました。

- アプリがロケーションのバックグラウンド実行を許可されています(iOS バックグラウンドモード / Android フォアグラウンドサービスまたは特別な許可)。

プッシュトリガーフロー(将来):

1. ゲートウェイがノードにプッシュを送信します(サイレントプッシュまたは FCM データ)。

2. ノードが一時的に起動し、デバイスからロケーションを要求します。

3. ノードがペイロードをゲートウェイに転送します。

Note:

- iOS:常時権限 + バックグラウンドロケーションモードが必要です。サイレントプッシュはスロットリングされる場合があります;断続的な失敗を予期してください。

- Android:バックグラウンドロケーションにはフォアグラウンドサービスが必要な場合があります;それ以外の場合、拒否を予期してください。

Tutorial.step

モデル/ツール統合

- ツールサーフェス:nodes ツールは location_get アクションを追加します(ノードが必要)。

- CLI:openclaw nodes location get --node <id>。

- エージェントガイドライン:ユーザーがロケーションを有効にし、範囲を理解している場合にのみ呼び出します。

Tutorial.step

UX コピー(推奨)

- オフ:"ロケーション共有は無効になっています。"

- 使用中:"OpenClaw が開いている場合のみ。"

- 常時:"バックグラウンドロケーションを許可します。システム権限が必要です。"

- 正確:"正確な GPS ロケーションを使用します。オフに切り替えて、概算ロケーションを共有します。"