这个项目能做什么

TREK 是一款围绕实时协作构建的自托管旅行规划工具。它以 Docker 镜像(也提供 Helm chart)形式发布,并可作为可安装的 PWA 在 iOS 和 Android 上运行,无需应用商店。 规划功能包括支持拖拽排序和撤销的日程安排、通过 Leaflet、Mapbox GL 或 MapLibre GL 实现的交互式地图、通过 Google Places 或 OpenStreetMap 进行的地点搜索、通过 Overpass 进行的兴趣点探索、从 Google Maps/Naver 列表以及 GPX、KML 和 KMZ 格式的导入、GPX 和 ICS 导出、基于 OSRM 的驾驶/步行/骑行路线自动排序、通过 Transitous 获取的公共交通行程,以及来自 Open-Meteo 的 16 天天气预报。 预订和资金管理涵盖 16 种预订类型、包含机场数据的多段航班和火车、跨日期范围的住宿、通过 KItinerary 进行的确认导入(EML、PDF、PKPass、HTML、TXT)、以整数分进行费用分摊并提供结算建议、按费用区分货币、带模板和分配人的打包清单、待办事项、文件附件和 PDF 导出。 协作功能使用 WebSocket 同步,使编辑实时可见,支持成员和访客管理、可配置的权限矩阵、邀请链接、公开只读分享页面,以及可选的群聊、共享笔记、投票和即将开展活动列表。其他附加功能包括与 Immich 或 Synology Photos 集成的旅行日志、已访问国家和地区的图集、休假日历,以及独立的收藏地点库。 插件系统支持从注册表安装或侧载 zip 包、沙箱化子进程、63 种可授予权限、出站主机白名单和签名验证。可选的 MCP 服务器提供带 PKCE 的 OAuth 2.1、作用域工具和资源以及审计日志;预订提取可使用 Ollama、兼容 OpenAI 的端点或 Anthropic。 离线支持会预缓存应用外壳和路由块,将行程数据存储在 IndexedDB 中,使用幂等键排队写入,并允许预下载栅格地图瓦片。管理功能涵盖多种登录方式(密码、OIDC、通行密钥)、TOTP 双因素认证、速率限制、加密密钥、备份、可插拔存储后端、通知渠道、主题和 23 种语言。技术栈为 Node.js 22、NestJS 11、SQLite、React 19、Vite 和 Tailwind,采用 AGPL v3 许可证。