Reitti:自托管版谷歌时间轴,内置开源街景功能

开源自托管位置时间轴工具 Reitti 更新,集成开源街景 Panoramax 并修复管理员权限安全漏洞。
Reitti 是 Google Timeline 的自托管开源替代方案,将用户设备上传的 GPS 轨迹转化为访问地点和行程时间轴,所有数据存储在用户自己的服务器上。本次更新核心亮点是集成了社区构建的开源街景平台 Panoramax,用户可直接从时间轴查看地面视角影像,在隐私理念上与整体定位高度一致。此外,针对 OwnTracks 省电追踪模式(数据稀疏场景)优化了停留检测算法,重构了日期选择器交互体验,并新增禁访区、卡尔曼滤波平滑渲染、与 Immich 照片库的深度集成等功能。值得警惕的是,本次更新还修复了一处可被利用以获取管理员权限的安全漏洞,对外网暴露的实例应立即升级。开发者同时透明披露了 AI 在项目开发中仅用于辅助编码的定位。
自托管、隐私优先的位置记录工具 Reitti 迎来一次密集更新。作为 Google Timeline 的开源替代方案,它把设备记录的原始 GPS 点转化为访问地点、行程和人生时间轴,所有数据都保留在用户自己的服务器上。开发者 Daniel 在 Reddit 的 r/selfhosted 社区分享了近一个月积累的多项改进,其中最受关注的是内置了一套开源街景。
核心定位:把位置历史留在自己手里
Reitti 的出发点很明确——在不把定位数据交给任何公司的前提下,帮助用户回顾去过的地方和走过的路。开发者表示项目最初只是个人工具,用来唤起对过往旅程的记忆,但在社区推动下功能远超预期。
它的工作逻辑是接收各设备上传的原始 GPS 轨迹,通过停留检测算法自动区分「访问」(在某地停留)和「行程」(移动过程),最终拼成一条可回溯的时间线。数据库归用户所有,历史记录也归用户所有,这是它与云端服务最本质的区别。

亮点功能:内置开源街景
本次更新最大的看点是集成了 Panoramax——一个由社区构建的开源街景方案。很多时候人们到访某地却忘了拍照,如果该地点存在 Panoramax 覆盖,现在就可以直接从时间轴打开街景影像:点击轨迹旁的照片序列,即可在地面视角环顾四周。
这一设计把「记录轨迹」和「重现场景」结合了起来。对于注重隐私又想保留地点记忆的用户来说,用开源街景替代谷歌街景,在理念上高度一致——既能看到实景,又不依赖商业地图服务。
Panoramax 是由法国国家地理信息研究所(IGN)发起、OpenStreetMap 社区参与贡献的开源街景平台,其影像数据以开放许可证发布,任何人都可以拍摄上传,也可以自由使用。与谷歌街景不同,Panoramax 的图像不受商业条款约束,项目本身也可完全自托管。目前覆盖范围以欧洲(尤其是法国)为主,在城市和热门旅游地点密度较高,偏远地区则存在空白。对于 Reitti 用户来说,能否调出街景取决于所在位置是否有 Panoramax 的拍摄覆盖,并非全球均可使用。
体验优化:重做的日期选择器
此前 Reitti 的日期选择功能长期受到批评,开发者坦承批评有理并做了重构。新版本提供两种方式:可以切换到带纯输入框的传统选择器,也可以完全跳过选择器直接输入,比如「yesterday」、本地化日期格式,或是「2025 - 2026」这样的区间。
同时,主页面的其他控件被整合进了一个操作栏,界面更加简洁。这类看似细节的交互改进,往往才是自托管工具能否被长期使用的关键。
算法改进:面向省电追踪器的停留检测
针对使用 OwnTracks「significant-move 模式」的用户,Reitti 优化了停留检测逻辑。在这种省电模式下,手机只在发生显著移动时上报数据,随后保持静默,导致轨迹数据稀疏。旧算法在稀疏数据上偶尔会漏掉静止时段,把一次「访问」误判成「行程」。
新算法能正确处理稀疏数据,准确识别访问及其持续时长,且手机端无需任何改动。这对依赖电池续航的移动追踪场景是实打实的提升。
OwnTracks 是一款主流的开源位置追踪客户端,支持 iOS 和 Android,可将 GPS 数据通过 MQTT 或 HTTP 上报至自托管服务器。其「significant-move 模式」(重大移动模式)利用系统级的蜂窝基站和 Wi-Fi 定位来代替持续 GPS 轮询,只有当设备判断发生了明显位移时才触发上报,电池消耗极低,但代价是轨迹点的时间间隔可能从秒级拉长到数分钟乃至数十分钟。这与「MQTT 模式」每隔固定时间高频上报的稠密轨迹数据截然不同,对依赖轨迹点密度进行判断的停留检测算法提出了更高要求。
时间轴控制与 Immich 集成
多项控制功能让时间轴更贴近真实生活:
- 禁访区(No-Visit Zones):避免公交站这类经过点被误记为「访问」。
- 删除即永久:被删除的访问记录不会重新出现。
- 平滑视图:在渲染阶段用卡尔曼滤波过滤 GPS 抖动,原始数据保持不动。
- 自定义一天起点:凌晨 2 点走回家的路,可以归属到它「感觉上」所属的那个晚上。
在照片管理方面,Reitti 与 Immich 的集成也更进一步。相册过滤允许只显示某个相册的照片,而非整个图库;按用户分享照片则意味着可以针对每个用户决定分享位置数据时是否包含照片——轨迹可见而照片私密,或反之。
卡尔曼滤波(Kalman Filter)是一种递推式线性最优估计算法,最初用于航天导航领域,后广泛应用于 GPS 信号的平滑处理。民用 GPS 信号受大气折射、建筑物多路径反射等因素影响,即使在静止状态下也会产生几米到几十米的随机漂移,表现为轨迹图上的「抖动」锯齿。卡尔曼滤波通过综合当前测量值与历史预测值(并赋予不同置信权重)来输出更平稳的估计轨迹,Reitti 在渲染层应用它意味着用户看到的是滤波后的平滑路线,而数据库中保存的原始坐标点完整保留,可供未来重新处理或导出使用。
Immich 是一款自托管的照片与视频管理平台,常被视为 Google Photos 的开源替代品,支持自动备份、人脸识别、地图视图等功能。Reitti 与 Immich 的集成意味着用户可以将位置时间轴与本地照片库关联,在查看某次访问记录时同时看到当时拍摄的照片,实现位置与影像记忆的统一管理,且两套数据都不离开自己的服务器。
一个需要重视的安全修复
开发者披露了一项通过负责任漏洞披露发现的安全问题:在已完成配置的实例上,某个设置流程漏洞可能被利用以获取管理员权限。该问题已修复并补充了测试。如果你的实例对公网暴露且一直没有更新,应尽快升级。
对自托管用户而言,这是一个重要提醒——隐私优先的前提是实例本身足够安全,及时跟进安全补丁不可忽视。
关于 AI 辅助开发的透明声明
值得一提的是,开发者主动说明了 AI 在项目中的角色:AI 被用作加速编码的工具,负责样板代码生成和问题求解,但所有代码都经过人工审查、测试和有意设计,架构、逻辑和质量标准完全由人主导。这种对 AI 辅助边界的清晰交代,在开源项目中是一种值得推广的坦诚姿态。
项目文档见 dedicatedcode.com,源码托管于 GitHub(dedicatedcode/reitti)。对于希望摆脱云端定位服务、又想保留完整人生轨迹的用户,Reitti 提供了一条兼顾隐私与功能的可行路径。
相关推荐

Agentic Paper Bomb:用多智能体自动生成企业合规文档
Reddit 开发者分享 Agentic Paper Bomb 实验:让五个 AI 智能体扮演高管角色,自动生成企业合规、安全、DevOps 等文档。探讨多智能体协作生成文档的潜力与隐忧。

《Rob Roy》经典台词解析:领导者的代价与生存抉择
解析《Rob Roy》中Rob Roy与Sibbald的经典对峙台词,探讨领导力的代价、生存与尊严的权衡,以及权力博弈背后的人性洞察。

黄仁勋被曝聘请擅长处理丑闻的公关公司
据 Wired 报道,黄仁勋在《纽约时报》报道其妻子商业往来后,聘请了一家曾处理高知名度性丑闻的公关公司。本文分析这一举动背后的危机管理信号及其对英伟达声誉的影响。