「我在这里」只做一件事:把手机的经纬度发出去。发到哪里、谁能读、数据归谁 —— 这些都需要先有一个地方。
问题出在「找不到彼此」
你的智能体通常跑在自己家里那台常开的电脑上。由于家庭宽带和路由器,它大概率没有独立的公网 IP。
公网 IP 就像你家的门牌号:没有门牌号,快递送不上门。同理,手机没法把定位直接发给你的智能体 —— 它没有一个人人都能访问到的地址。
两条路
- 一、中转
- 找一台有公网 IP 的服务器先收下位置,智能体再去那里取。像快递柜:快递先放柜里,你再去取。
- 二、组网
- 通过现成的通道搭一个私有网络,让手机和智能体直接通讯。像你和快递员私下约定一个暗号地址,他看见就知道该送到你真实住处。例如 Tailscale,网上教程很多。
这篇讲第一种;第二种不经过任何中转,但需要你在两端都装东西。
为什么推荐中转
你有完整的数据权限。位置从手机 → 中转服务器 → 你的智能体,整条链路都在你自己手里,不经过任何第三方。
一个中转服务就两部分:
- 一台有公网 IP 的服务器 —— 任意云厂商都能买,阿里云、腾讯云都行。
- 一个跑在上面的服务程序 —— 两条选择:自己写(「我在这里」上报的数据结构是公开的,自己实现没有障碍),或者直接用开源的 here-server。
here-server 支持多用户,一台服务器可以多人共用。但服务器管理员看得到数据库内容,也就是你的定位历史 —— 所以谨慎和别人共用中转服务。
它长什么样
- 服务地址
- 一般是
你的服务器地址/location,例如http://1.2.3.4/location或https://你的域名/location。 - 口令
- 服务端创建用户时生成,代表你的身份;它等于你的位置历史,务必保密。
地址和口令填进 App 的「位置共享」页就能开始上报。想自己搭一个,看另一篇:怎么部署后端服务。
请优先使用 HTTPS。口令是明文放在请求头里的,纯 http 在公网上等于把口令公开;另外 here-server 默认只保留最近 24 小时的位置,需要留更久要改配置。
拿到位置之后
数据开始上报后,把这两件事告诉你的智能体 —— 服务地址、口令:
请依据开源项目 https://github.com/yinguobing/here-server 的 API 描述
获取我的物理位置。服务地址是「你的服务地址」,口令是「你的口令」。
here-server 自带 MCP 端点,支持 MCP 的智能体可以直接接上,不用自己写调用代码。