自托管旅行全家桶:TREK,把行程规划、预算分摊、打包清单全放自己服务器上

在这里插入图片描述

实时协同、地图路线、费用分摊、旅行日志、AI助手
一个Docker命令,30秒跑起来


🧳 先看痛点:规划一次旅行,要开多少个App?

你准备一次家庭旅行、跟朋友的周末游、或者一次独自探险。

你要做这些事:

  • 找地方:打开Google Maps,标星一堆地点
  • 排行程:打开Excel,把地点排进每天的时间表
  • 订住宿和机票:打开Booking/Skyscanner,记下确认号
  • 算预算:打开另一个Excel表格,记账
  • 打包行李:打开备忘录,列清单
  • 记录旅行:拍完照片存在手机里,写游记?算了……

每一次旅行,你至少要同时开 5-6个工具,信息分散在不同的App里。

更麻烦的是

  • 你分享给同行的朋友/家人:发一个Google Maps链接,发一个Excel文件,发一个备忘录截图……对方还要各自去查
  • 数据都在别人家服务器上:你的行程、预算、照片,都存在第三方
  • 功能分散:没有一个工具同时做“地图+行程+预算+清单+游记”

核心矛盾

旅行规划需要地图、日程、预算、清单、记录——但目前没有一个工具能把它们合在一起,还能让你自己托管数据。


✅ TREK 的解法

TREK 是一个自托管的、实时协同的旅行规划平台。

一句话:把你旅行的所有信息——地图、行程、预算、清单、日志——放在一个地方,你自己的服务器上

# 30秒启动
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,注册账号,开始规划下一次旅行。


🔥 它解决了什么?

1. “分散工具” vs “一个平台全搞定”

传统方式(开5个App) TREK
地点规划 Google Maps ✅ 内置地图+拖拽日程
行程表 Excel ✅ 每日计划+拖拽排序
预订管理 邮件/Booking ✅ 机票/住宿/餐厅统统记录
预算分摊 另一个Excel ✅ 内置Splitwise风格分账
打包清单 备忘录 ✅ 分类清单+成员分配
旅行记录 照片在相册,文字随便写 ✅ 杂志风格旅行日志
共享给同伴 发5个链接/文件 ✅ 同一平台,实时协同

2. “数据在别人那” vs “数据在自己服务器”

商业SaaS(如TripIt) TREK(自托管)
数据存在哪 别人家服务器 你自己服务器
数据隐私 依赖服务商承诺 ✅ 完全自己掌控
费用 按月付费或限制功能 ✅ 免费(自托管)
数据导出 受限 ✅ 完整SQLite数据库+备份
服务会不会停 取决于第三方 ✅ 你自己决定

3. “AI帮不上忙” vs “AI可以帮你操作TREK”

TREK内置了一个MCP服务器。你的AI编程助手(Claude Code、Cursor等)可以通过OAuth 2.1安全连接TREK,然后:

  • 帮你创建行程
  • 安排每日路线
  • 自动生成打包清单
  • 管理预算
  • 标记已访问的国家
# AI可以调用这些能力(示例)
"帮我规划一个7天的意大利之旅,从罗马开始"
"为这次旅行生成一个打包清单,意大利夏天"
"显示这次旅行的预算概览"

💡 MCP(模型上下文协议):一种让AI工具之间互相通信的标准协议。TREK装了MCP服务器,AI就能“操作”TREK里的数据。


📦 核心功能一览

🧭 行程规划

  • 拖拽式日程:把地点拖进每天的计划,可以跨日移动
  • 交互式地图:Leaflet或Mapbox GL,3D建筑、地形、照片标记、路线可视化
  • 地点搜索:Google Places(照片、评分、营业时间)或OpenStreetMap(免费,不需要API Key)
  • 地点导入:分享Google Maps/Naver Maps列表,支持GPX/KML/KMZ/GeoJSON
  • 每日笔记:带时间戳、图标标记的笔记,拖拽排序
  • 路线优化:自动排序地点,导出到Google Maps
  • 天气预报:16天预报(Open-Meteo,无需API Key)

🧳 旅行管理

  • 预订管理:机票、住宿、餐厅——状态、确认号、附件。支持从邮件和PDF导入(KDE Itinerary)
  • 费用追踪:Splitwise风格,按人/按天分摊、谁欠谁、多币种
  • 打包清单:分类、模板、成员分配、进度追踪
  • 行李重量追踪:iOS风格分布图(可选)
  • 文档管理:附件、票据、PDF(每个最大50MB)
  • PDF导出:完整行程计划导出为PDF(含封面、图片、笔记)

👥 协同与分享

  • 实时同步:WebSocket,所有连接用户的变化即时可见
  • 多人行程:邀请成员,基于角色的访问控制
  • 邀请链接:一次性或可复用,可设过期时间
  • SSO(单点登录):Google、Apple、Authentik、Keycloak或任何OIDC提供商
  • 2FA:TOTP+备用码
  • Passkeys:无密码登录(指纹/人脸/PIN/安全密钥)
  • 协作套件:群聊、共享笔记、投票、每日签到

📱 移动端 & PWA

  • 可安装:iOS和Android,直接从浏览器安装,不需要App Store
  • 离线支持:Service Worker缓存瓦片、API、上传
  • 原生感:全屏、状态栏主题、启动画面
  • 触摸优化:移动端专属布局

🧩 插件模块(管理员可开关)

  • 打包清单:分类、模板、成员分配、可选行李重量追踪
  • 费用:分摊、结算、多币种
  • 文档:文件附件
  • 协作:聊天、笔记、投票、每日签到
  • Vacay:个人假期规划器(日历、100+国家假日、结余追踪)
  • Atlas:已访问国家世界地图、愿望清单、旅行统计、连续天数追踪
  • Journey:杂志风格旅行日志,支持照片、地图、心情标记
  • AirTrail:连接自托管AirTrail实例,同步航班到预订
  • MCP:通过OAuth 2.1向AI助手暴露TREK

🤖 AI / MCP

  • 内置MCP服务器:OAuth 2.1认证,150+工具、30个资源
  • 精细权限范围:27个OAuth范围,13个权限组
  • 完全自动化:AI可以创建行程、规划日程、生成打包清单、管理预算、标记已访问国家
  • 预置提示词trip-summarypacking-listbudget-overview

🚀 怎么用?

方式一:Docker快速启动(30秒)

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

方式二:Docker Compose(生产环境)

services:
  app:
    image: mauriceboe/trek:latest
    container_name: trek
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
      - ENCRYPTION_KEY=${ENCRYPTION_KEY}
      - APP_URL=https://trek.yourdomain.com
    volumes:
      - ./data:/app/data
      - ./uploads:/app/uploads
    restart: unless-stopped

方式三:Kubernetes (Helm)

helm repo add trek https://mauriceboe.github.io/TREK
helm install trek trek/trek

安装为PWA(手机App)

  1. 在浏览器中打开TREK(需要HTTPS)
  2. iOS:分享 → “添加到主屏幕”
  3. Android:菜单 → “安装应用”

打开后像原生App一样全屏运行,有自己的图标。


🎯 谁最适合用?

人群 为什么适合
自托管爱好者 旅行数据全在自己服务器上,不依赖第三方
家庭旅行组织者 家人一起编辑行程、预算分摊、打包清单
小团体/朋友出行 多人协作、费用分摊、实时同步
旅行博主/内容创作者 杂志风格旅行日志+照片+地图,记录旅途
技术型旅行者 Docker一键部署,完全掌控
隐私敏感的用户 不信任商业旅行App的数据收集
AI编程助手用户 MCP服务器让AI帮你管理旅行

一个典型的“家庭旅行”场景

问题:小明一家四口要去意大利旅行10天。妻子要规划行程路线,小明要管预算,孩子想要一个打包清单。之前:三个人在三个不同的App里各自记录,信息不同步。

现在

  1. 小明在自己服务器上部署TREK
  2. 创建旅行“意大利之旅”,生成邀请链接
  3. 妻子在地图上拖拽安排每日行程
  4. 小明录入航班、酒店、餐厅预订信息
  5. 孩子在打包清单里勾选要带的东西
  6. 旅行中每天用Journey记录见闻、上传照片
  7. 结束后导出PDF,保存完整旅行记录

所有信息在一个地方,实时同步。旅行结束后,它变成了一份完整的“回忆册”。


🔗 链接

  • GitHub:github.com/mauriceboe/TREK
  • Demo:demo.liketrek.com
  • Docker Hub:mauriceboe/trek
  • Discord:discord.gg/NhZBDSd4qW
  • 许可证:AGPL v3

✅ 总结

层次 核心内容
解决了什么 旅行规划分散在多个工具里,数据不在自己手里。TREK把地图、行程、预算、清单、日志合一,自托管
核心能力 ①拖拽行程规划 ②地图路线 ③预订管理 ④费用分摊 ⑤打包清单 ⑥旅行日志 ⑦实时协同 ⑧AI/MCP集成
怎么用 Docker 30秒启动,支持PWA安装为手机App
谁适合 自托管用户、家庭/团队出行、旅行博主、技术型旅行者

TREK —— 你的行程,你的计划,你的服务器。
一个Docker命令,拥有自己的旅行规划全家桶。

posted @ 2026-06-26 11:44  lichong951  阅读(93)  评论(0)    收藏  举报