TREK:把旅行规划从群聊里救出来的自托管方案

你刚在群里发了一条消息:”酒店我定了,你们看看行程还有什么要调的。“然后就是漫长的沉默。三个小时后有人回了一句”第三天那个博物馆周二不开门”。你翻回聊天记录,发现三天前已经有人提过这件事了。

这就是小组出行的日常。你在微信群里协调行程、在备忘录里管预算、在另一个 App 里列打包清单、还得另外找个地方存电子票。TripIt 能解决一部分问题,但它的免费版不支持多人实时编辑。Notion 模板够灵活,但谁都不想到了机场还要在笔记软件里翻地图。

TREK 把这些分散的需求打包进了一个自托管的 Docker 容器里。交互地图、费用分摊、打包清单、AI 自动导入预订信息,全部标配。截至 2026 年 7 月,项目已经积累了超过 6,600 个 Stars,96 个版本发布,在 GitHub Trending 上也出现过不止一次。它不是那种红极一时然后沉寂的网红项目,迭代节奏很稳。

TREK:把旅行规划从群聊里救出来的自托管方案

TREK 的产品逻辑是线性的:规划行程、多人协作敲定、分摊预算、检查打包清单,最后出发。四个环节在商业竞品里通常被拆成四个独立 App,TREK 把它们串在了一条线上。但光说产品逻辑没用,真正有意思的是每个环节是怎么做的。

打动我的几个地方

真正让 TREK 和其他旅行工具拉开距离的,不是某一个大杀器功能,而是一套组合拳。它把地图、协作、预算、清单四个维度的需求全部打通了,而不是像大多数替代方案那样只覆盖其中一两个。

先说地图。TREK 用的是 Leaflet 和 MapLibre 双渲染器,支持标记聚类、GPS 定位、路线自动适配地图边界。你可以拖拽调整地点顺序,给每个停留点设置起止时间和备注。和 TripIt 那种自动从邮件抓取行程的方式不同,TREK 偏向手动规划。这意味着你需要多花几分钟创建行程,但换来的是完全的控制权:想去的地方不需要有标准地址,山里的野餐点、没注册在 Google Maps 上的民宿,一个坐标就能搞定。

AI 功能的设计思路也值得琢磨。TREK 不是那种”你告诉它目的地它就帮你排好三天行程”的 AI 旅行助手。它的 LLM 集成做了一件更实在的事:从酒店确认邮件、航班 PDF 这些非结构化文件里自动提取预订信息。支持 Ollama 本地模型和 OpenAI 兼容 API,推荐 Qwen3-8B。解析结果会逐条列出来让你审核后才保存,不是黑箱自动化。这个设计比那些试图用 AI 取代你判断的旅行工具要克制得多,也更实用。

费用分摊是另一个让我觉得”终于有人做对了”的模块。它支持均分、自定义份额和票据三种模式,可以把费用关联到预订记录上自动生成条目。TripIt 根本没有这个功能,Splitwise 只能管钱不管行程,TREK 是第一个把两者真正融在一起的开源产品。多币种支持在实测中覆盖了 JPY 等亚洲货币,对于跨国行程来说不是锦上添花,是刚需。

打包清单看起来像一个小功能,但 TREK 把它做成了三级共享模式:公共池的物品所有人都能看到,私人物品只有所有者可见,还可以指定某物品由特定人员共享。这比 Notion 模板里勾选 checkbox 要细腻得多——你不会想让旅伴看到你带了什么药,但确实需要让室友知道你带了一把瑞士军刀。

PWA 和离线支持也做到了让我意外的深度。不只是把网页添加到主屏幕就是 PWA 了,TREK 有选择性离线同步,你可以按行程和地图瓦片粒度选择缓存哪些数据,还有冲突检测和解决队列。出门玩的时候网络时断时续是常态,在高铁上、山里头、国外没买流量包的咖啡馆里,这个离线能力不是摆设,是实打实能救急的。

但光说功能不说坑,那是在忽悠人。东西到底能不能跑起来?

跑起来看看

部署门槛是真的低。一条 Docker 命令就能看到界面:

docker run -d --name trek \
  -p 3000:3000 \
  -v ./data:/app/data \
  -v ./uploads:/app/uploads \
  --restart unless-stopped \
  mauriceboe/trek

有 Docker Compose 的环境更省事,克隆仓库后一行命令拉起:

git clone https://github.com/liketrek/TREK.git
cd TREK
docker compose up -d

第一次启动后访问 http://localhost:3000 注册账号就能用。支持 OIDC SSO 对接企业身份系统,也支持 Passkeys 无密码登录和 TOTP 两步验证。但有两个点必须提前提醒:

  • 反向代理的 WebSocket 透传:TREK 依赖 WebSocket 做实时协作,Nginx 或 Caddy 没配透传的话,协作功能在公网环境直接断连。仓库文档里有配置示例,别跳过。
  • 加密密钥:敏感数据用 ENCRYPTION_KEY 加密,部署前必须生成强随机密钥。升级时需要跑 scripts/migrate-encryption.ts 做密钥迁移,脚本会先备份数据库。

PWA 安装不需要应用商店。通过 HTTPS 访问后,iOS 用”分享到主屏幕”,Android 用菜单里的”安装应用”,就能获得一个接近原生 App 的全屏体验。

话说回来,能跑起来和能用好是两回事。到底什么人该用,什么人该绕道?

适合谁,不适合谁

TREK:把旅行规划从群聊里救出来的自托管方案

在隐私可控性上 TREK 是碾压级的,但在开箱即用体验上它确实不如商业 App。下面的表格把这几条线理清楚。

场景 典型用户 优势 局限
小组自由行 三五好友或家庭出行 实时协作,费用分摊,无需注册账户即可参与 需要有人维护服务器
隐私敏感出行 不想把行程数据交给商业平台的用户 数据完全自托管,AGPL 协议透明可控 自托管有运维成本
企业内部差旅管理 需要 SSO 和权限控制的小团队 OIDC 单点登录,行程所有权可转让 不适合大型企业的审批流需求
个人长期旅行记录 背包客、数字游民 Atlas 模块可视化访问过的国家地区,收藏夹复用 移动端只有 PWA,没有原生通知

不适合的也很明确:不想维护任何服务器的用户,Wanderlog 或 TripIt 的免费版更省心;严重依赖航班和酒店 GDS 系统深度集成的商务出行,TREK 是规划工具不是预订工具;对 AGPL 协议敏感的团队,如果打算基于 TREK 提供商业服务就必须开源修改部分。

场景都说清楚了,但我更关心的一个问题是:这个项目能活多久?

维护靠不靠谱

指标 数据 说明
Stars ~6,600+ 截至 2026 年 7 月,持续增长
核心维护者 1 人(jubnl) Bus Factor = 1,这是最大的风险点
版本迭代 96 个 tag,v3.4.0 1,333 次提交,发布频率稳定
测试覆盖 前后端 6,900+ 用例 分支覆盖率门槛 80%
协议 AGPL-3.0 自托管免费,对外提供服务需开源

这个维护者数据是我对 TREK 最有保留的一栏。96 个版本标签、1,333 次提交、6,900 多个测试用例,这些数字说明 jubnl 是一个极其勤奋且工程质量意识很强的开发者。但 Bus Factor = 1 意味着如果这个唯一的维护者因为任何原因放缓节奏,整个项目就会进入维护真空。

让我稍微放心一点的是测试覆盖率。前后端各有一套完整的测试套件,分支覆盖率门槛设在 80%。对于一个单人维护的项目来说,这意味着接手的人不需要从零开始理解代码的行为边界,测试本身就是最好的文档。

社区方面,我在 HackerNews 上找到一条让我印象深刻的评论:“Finally a trip planner that doesn’t want my data or my money. The MCP integration is what made me switch from Wanderlog.” MCP 这件事后面会详细说,但这个用户精准地指出了 TREK 和商业竞品的根本差异:它不是要你的数据来做增长模型,它只是一个工具。

我的真实看法

TREK 现在处在一个很有意思的位置。它不是最易用的旅行规划工具——Wanderlog 的自动行程导入、移动端原生 App 都比它更顺畅。它不是功能最全的——TripIt 的 GDS 集成和机票价格追踪它做不了。但它的核心竞争力来自一个商业产品天然做不到的事:你的数据 100% 在你自己的服务器上。

旅行数据是极其敏感的。你去过哪、什么时候去、和谁一起去、花了多少钱、下一站要去哪,把这些信息交给一个 SaaS 公司,等于把自己未来几个月的行踪暴露给了广告商、政府数据请求和潜在的数据泄露。对于隐私敏感的人来说,TREK 自托管的特性不是锦上添花,而是唯一选择。

MCP 服务器是 TREK 被低估的一个模块。它暴露了 150 多个工具,AI Agent 可以直接操作你的旅行计划:添加地点、调整时间、查询费用、生成总结。这意味着你可以用 Claude Code 或任何支持 MCP 的 Agent 来辅助旅行规划,而不是在一个封闭 App 里点点点。在 Agent 化浪潮席卷整个工具链的 2026 年,这个设计比很多”AI 原生”标签挂了一堆的创业公司更有远见。

那社区和趋势呢?这两个问题的答案会决定你敢不敢把明年的旅行都押在这个项目上。

TREK:把旅行规划从群聊里救出来的自托管方案

趋势上,我的判断是谨慎看好。从 v1.0 到 v3.4.0 的迭代节奏来看,96 个版本标签的密度意味着这个项目不是心血来潮的个人 Demo。Stars 增速在 2026 年上半年有过一波爆发,上了 GitHub Trending 之后进入了一个更平稳的增长期。版本发布速度没有放缓的迹象,v3.4.0 在 7 月 19 日刚刚发布。但 Bus Factor = 1 是最需要持续观察的风险点。如果有第二个核心贡献者加入 maintenance rotation,我会把谨慎改为明确看好。

有一点必须要说清楚:TREK 不是 Immich。Immich 在自托管照片领域几乎垄断了心智,TREK 在旅行规划领域还远没到这个位置。但两者的设计哲学惊人地相似:都是用 NestJS 写的后端,都是 AGPL 协议,都强调隐私和自托管,都有活跃的单人维护者。如果你已经在跑 Immich,TREK 会是一个很自然的扩展。

资源地址

资源 地址
GitHub https://github.com/liketrek/TREK
在线 Demo https://demo.liketrek.com
Docker 镜像 mauriceboe/trek
公开路线图 https://kanban.pakulat.org/shared/I4wxF6inOOMB0C6hH6kQm3efyNxFjwyI

链接都摆在这了,但你真正想问的应该是:我到底要不要用?

先用 Docker 跑起来

如果你已经在用 Docker 部署 Immich 或 Home Assistant,TREK 的部署成本接近于零。从 docker run 开始,先跑着看看能不能融入自己的出行习惯。一个月用一两次的场景不值得折腾部署,但对每年出国两三次、经常组队出行的用户来说,数据自主权是个不能妥协的事。

如果你还在观望,关注两个指标:是否有第二个核心贡献者加入 maintenance,以及 MCP 工具的社区生态是否开始有人在上面搭东西。第一个指标决定项目的长寿,第二个指标决定它能不能从一个好用的个人工具变成 Travel Agent 时代的前端基础设施。

在旅行这件事上,工具本来就不该比目的地更复杂。TREK 刚好做到了这一点。

开源项目

SimpleX Chat:一个连"你是谁"都不知道的聊天软件

2026-7-19 8:56:30

开源项目

wloc:不越狱、不连电脑,在 iOS 上改定位的干净方案

2026-7-20 16:21:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧