Skip to content

l18803855650-lgtm/openclaw-location-bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenClaw Location Bridge

让一台云端运行的 OpenClaw 可以主动向你的 Android 手机请求定位,拿到较新的真实坐标,并在服务端进一步反解成中文地址。

目标场景:你的 OpenClaw 跑在云端,手机不在身边;当你问“我现在在哪”时,云端 OpenClaw 可以通过这个桥接链路向手机发起一次定位请求,再拿回新位置。

这是什么

这个仓库包含两部分:

  1. Android 定位桥 App

    • 常驻前台服务
    • 后台待命
    • 接到指令后做一次精确定位
    • 把定位结果上报到你的桥接服务
  2. Location Bridge Server

    • 接收手机上报的位置
    • 暴露最新位置查询接口
    • 给手机下发 locate_now 指令
    • 让云端 OpenClaw 可以直接调它

它解决的问题

OpenClaw 云端实例本身拿不到你手机的真实位置;而官方 Android 客户端在某些机型/权限组合下,后台定位也不一定稳定。

这个桥接方案把问题拆开:

  • 手机端只负责定位
  • 服务端只负责调度和缓存
  • 云端 OpenClaw 只负责调用和回答

仓库结构

android-app/   Android App
server/        FastAPI backend
tools/         查询脚本示例

快速开始

1. 启动后端

cd server
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export BRIDGE_AUTH_TOKEN='replace-with-a-random-token'
./run.sh

2. 构建 Android APK

cd android-app
./gradlew assembleDebug

APK 产物:

android-app/app/build/outputs/apk/debug/app-debug.apk

3. 手机端配置

  • 打开 App
  • 申请权限
  • 到系统里把定位改成 始终允许
  • 关闭电池优化 / 允许后台活动 / 允许自启动
  • 填写:
    • 服务器地址
    • 令牌
    • 设备 ID
  • 点击 保存并启动

4. 让 OpenClaw 查位置

python3 tools/query_location.py devices --token "$LOCATION_BRIDGE_TOKEN"
python3 tools/query_location.py request --device-id <device_id> --token "$LOCATION_BRIDGE_TOKEN"
python3 tools/query_location.py latest --device-id <device_id> --token "$LOCATION_BRIDGE_TOKEN" --reverse

中文地址 / 真实地址

这个仓库默认采集的是真实 GPS 坐标(WGS84)。 如果你想让云端 OpenClaw 直接回答“真实中文地址”,可以在服务端或查询脚本侧再接一个逆地理编码服务(例如高德、滴滴,或你自己的地址服务)。

注意: 中国大陆常见地图服务(包括滴滴/高德系能力)使用的是 GCJ-02。如果你拿手机上传的 WGS84 坐标直接去反解,通常会偏移数百米。这个仓库里的 tools/query_location.py --reverse 已经内置 WGS84 → GCJ-02 转换,再去做中文地址反解。

安全默认值

公开版做过脱敏:

  • 不预填任何服务器地址
  • 不内置任何令牌
  • 不携带任何个人设备 ID、生产 IP、私有路径或运行态数据

后台定位说明

Android 后台稳定定位通常离不开:

  • 前台服务
  • 常驻通知
  • 始终允许的定位权限
  • 关闭电池优化

不同厂商系统的后台策略不同;如果你发现锁屏后成功率下降,优先检查这些系统设置。

About

Android + server bridge that lets a cloud-hosted OpenClaw actively obtain a phone's real location/address.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors