GitHub 1.2万星标的AI旅行规划神器TREK

Admin
44阅读
0评论
0点赞

TREK 是一个 GitHub 1.2 万星标的开源旅行规划工具,支持地图行程编排、机票酒店预订导入、费用 AA 分账、打包清单、多人实时协作,还内置 MCP 服务可让 AI 帮忙规划行程。Docker 一条命令即可自托管,数据完全由自己掌控。

如果你正在找一款能自己部署的旅行规划工具,希望行程、记账、多人协作都能在一处完成,数据还完全留在自己的服务器上,那么开源项目 TREK 值得一试。它在 GitHub 上有 1.2 万 star,Docker 一条命令即可运行。除了常见的地图行程编排,它还内置了费用 AA 分账、打包清单、实时多人同步、PWA 离线支持,甚至自带 MCP 服务,能让 AI 帮忙规划行程。

TREK 本质上是一个跑在自己服务器上的旅行规划应用。你可以为一次旅行创建专属空间,在地图上标出想去的地点,按天排行程;机票酒店预订可以记录进去,花销能记账分账,行李有打包清单,回来之后还能写旅行日记。同行的人可以通过邀请链接加入,一起实时编辑,你这边刚改完,对方屏幕上马上就能看到。

数据存储非常简单:一个 SQLite 文件外加一个上传文件目录,全部存放在自己的机器上。后台支持手动或自动备份,界面支持 20 种语言,简体繁体中文都有,使用起来没有语言障碍。

功能详解

排行程:地图上加地点,按天拖拽排序

TREK 最核心的部分是行程规划器。搜地点支持 Google Places 和 OpenStreetMap,后者免费且不需要 API key。搜到的地点可以直接加入某一天,用鼠标拖拽调整顺序,也可以拖到其他天。地图支持 Leaflet 和 Mapbox,可显示 3D 建筑和地形,照片和路线会直接画在地图上。行程排完后还可以自动优化顺序,减少走回头路,也能导出到 Google Maps 直接导航。

行程规划地图

天气预报内置 Open-Meteo 数据源,无需 key,可看未来 16 天;如果出发日期更远,会参考历史气候数据。Google Maps 或 Naver Maps 的收藏清单可以导入,GPX、KML、GeoJSON 轨迹文件也能直接导入。

机票酒店预订:支持确认邮件导入

航班、酒店、餐厅等预订都可以记录,每条带状态、确认号,还能挂附件。最方便的是,订票确认邮件和 PDF 可以直接导入,自动解析成预订记录,省去手动输入。解析基于 KDE Itinerary 库,准确度不错。

预订信息导入

费用记账:支持多人 AA 分账

多人一起出行,算账是最麻烦的部分。TREK 自带账本,用法与 Splitwise 类似:每笔花销记上是谁垫付、参与分摊的人,之后按人或按天查看明细。旅行结束后一键算出谁该给谁多少钱,不需要拉 Excel 算。支持多种币种,出国玩不用手动换算。

多人分账界面

打包清单:支持分类和分配

打包清单支持分类,也提供常用模板,下次可直接套用。物品可以分配到具体的人,比如帐篷谁带、药品谁带,收拾进度随时可见。还可以记录行李重量,对背包徒步或担心行李超重的用户很实用。

打包清单

多人协作:实时同步,邀请链接拉人

多人协作是实时同步的,成员改动会瞬间出现在其他人屏幕上。邀请链接可以生成一次性或可重复使用,有效期也能自定义。账号安全方面支持 OIDC 单点登录(Google、Apple、Authentik、Keycloak),还有两步验证和 Passkey 无密码登录。自托管工具中能把登录安全做到这个程度的不多见。

此外还有群聊、共享笔记、投票、每日打卡等功能,晚上住哪、中午吃什么这类小事,直接在投票里解决,不用刷几十条消息。

多人协作与聊天

手机端:可装成 App,支持离线

手机浏览器直接打开页面,iOS 选择「添加到主屏幕」,安卓点击「安装应用」,就能变成全屏 App,自带图标和启动画面,体验接近原生应用。离线也支持,地铁里没信号照样能看行程。

手机端 PWA 效果

插件功能:年假规划、足迹地图、旅行日记

TREK 将部分功能做成了插件,管理员可按需开关。Vacay 是年假规划工具,内置一百多个国家的法定假日,未休假期可结转;Atlas 是世界足迹地图,去过哪些国家可点亮;Journey 是旅行日记,排版类似杂志,照片可直接从 Immich 和群晖相册取用。此外还能对接自托管的 AirTrail,把航班记录自动同步为预订。

插件应用界面

AI 接入:内置 MCP 服务

TREK 自带 MCP 服务,采用 OAuth 2.1 鉴权,开放给 AI 助手的工具有 150 多个。接入后,AI 能帮忙创建行程、安排每日日程、生成打包清单、整理预算。权限细分为 27 个 scope 分组,不想开放给 AI 的功能可以直接关掉。这个功能适合已经在用 MCP 客户端的人,普通用户不用也不影响使用。对懒得做攻略的人来说,把想去的地方和停留时间告诉 AI,就能自动排出行程。

AI 助手规划行程

快速开始

Docker 一条命令即可启动:

ENCRYPTION_KEY=$(openssl rand -hex 32) docker run -d -p 3000:3000 \
-e ENCRYPTION_KEY=$ENCRYPTION_KEY \
-v ./data:/app/data -v ./uploads:/app/uploads mauriceboe/trek

启动后打开 http://localhost:3000 就能使用。首次启动会生成管理员账号;如果预先设置了 ADMIN_EMAIL 和 ADMIN_PASSWORD 环境变量,就用设置的账号登录,否则初始密码会打印在容器日志里,可用 docker logs trek 查看。正式使用建议使用 docker compose,README 中提供了现成配置,也包含 HTTPS 和反向代理的做法。

Docker 部署

有一点需要特别提醒:实时同步依赖 WebSocket,所以反向代理时一定要放行 /ws 的升级请求,否则多人同步会失效。Nginx 的配置示例在 README 里很完整,可直接参考。以后更新也很简单:docker compose pull 拉新镜像,再 up -d 重启即可,挂载出来的数据不会受影响。

适合哪些人使用

  • 经常与朋友、家人一起出行,希望把排行程、分账、打包这些事集中管理,而不是在微信群、备忘录、Excel 之间来回切换。
  • 家中有闲置服务器或 NAS,部署成本低,Docker 拉起来就能用。
  • 注重数据隐私,希望行程、证件扫描件、预订记录全部放在自己的机器上,备份、迁移、删除都能自主控制。
  • 小团队团建,拉人、投票、记账分账一个工具搞定。

整体来看,TREK 难得的地方在于每一项功能都不是摆设:地图虽对国内用户来说还不够顺手,但确实可用;分账能清晰算清楚多人账单;PWA 手机端体验也合格。内置 MCP 则让 AI 参与规划成为可能,对不爱做攻略的人非常友好。如果你手里有台闲着的服务器,值得装一个试试。

开源地址:https://github.com/liketrek/TREK

上一篇FreeLLMAPI开源网关:聚合34家免费额度下一篇M系Mac一键拉起预装越狱iOS虚拟机
评论0

暂无评论,期待您的发言...

发表评论