1sdv /TripStar

TripStar 是一个创新的 AI 文旅智能体应用,致力于打造多智能体协作文旅规划平台,有别于传统的旅游攻略网站,本项目的创新模式更像是一位经验丰富的人类旅行管家一样,自动搜索小红书旅行信息、查询天气、精选酒店并在地图上规划最优景点路线,快速生成旅游攻略路书。

★ 2,538⑂ 302👁 8⑃ 27● 22▤ 0◈ 0
VueGPL-2.0Created 2026-03-07
2,538
stars
302
forks
8
watchers
27
prs
22
issues
0
releases
0
discussions

README

🇨🇳 中文 | 🇺🇸 English | 🇯🇵 日本語


 旅途星辰 - AI 旅行智能体
基于 HelloAgents 框架打造的多智能体协作文旅规划平台




 [!IMPORTANT]
 
 本地部署可直接体验项目,完整体验项目功能需配置好相关的key,探索丰富功能, 
 其中包括:旅行计划、景点地图概览、预算明细、每日行程:行程描述、交通方式、住宿推荐、景点安排(地址、游览时长、景点描述、预约提醒)、餐饮安排、天气信息、知识图谱可视化、沉浸式伴游 AI 问答......

 项目简介

旅途星辰 (TripStar) 是一个创新的 AI 文旅智能体应用,基于 HelloAgents 框架打造的多智能体协作文旅规划平台,旨在解决用户在规划旅行时面临的"信息过载"和"决策疲劳"问题。

有别于传统的旅游攻略网站,本项目采用了基于 大语言模型 (LLM) 和 多智能体 (Multi-Agent) 协作架构的创新模式。它能像一位经验丰富的人类旅行管家一样,全面考虑用户的个性化需求(偏好设置:交通方式、住宿风格、旅行兴趣、特殊需求等),自动搜索旅行信息、查询当地天气、精选酒店并规划最优景点路线,以快速完成旅游攻略。

 核心亮点

 小红书深度集成: 景点推荐与攻略数据直接来源于小红书真实用户游记,通过 LLM 智能提纯,获取最真实的避坑指南与打卡建议。景点图片也通过小红书实时搜索获取,确保展示的是网友最新实拍的真实风景照。
 景点预约提醒: 智能识别小红书游记中提及的需要提前预约的景点(如故宫、陕西历史博物馆等),在行程卡片中醒目标注预约提示与预约渠道信息,防止白跑一趟。
 多语言与国际化支持: 深度集成 Vue I18n,同时在 LLM 提示词层及知识图谱底层实现语言自适应适配。系统界面及 AI 问答全程支持多语言(中/英/日)无缝切换,连同生成的旅行规划数据会自动翻译为目标语言,为全球旅行者打造无障碍的行程规划体验。
 双地图引擎高定互动展现: 深度集成并支持 Google Maps 与 高德地图 (AMap) 双引擎的无缝切换与自动回退。国外使用 Google Maps,国内回退高德。动态绘制"起点-景点-终点"的真实经纬度打卡路线,提供高级定制底图配色,一眼预览景点位置方便安排行程。
 精准预算明细面板: 智能汇总门票、餐饮、住宿与交通等多维度花销账单,提供直观的财务面板报表,让出行预算尽在掌握。
 多智能体协作协同: 采用分工明确的多个 Agent(如天气预报员、酒店推荐专家),通过工作流 (Workflow) 协同完成复杂的旅行规划任务。
 知识图谱可视化: 将生成的行程数据实时转换为节点关系图,直观展示"城市-天数-行程节点-预算"的空间结构。
 沉浸式伴游 AI 问答: 在生成报告后,提供悬浮式 AI 问答窗口(左下角),AI 拥有完整行程的上下文记忆,用户可随时针对行程细节(如票价、适宜性)进行追问。
 多城市行程规划: 支持在一次旅行中规划多个城市,动态添加城市并设置停留天数,系统自动计算总行程天数。城际移动日智能标注交通建议,预算面板独立统计城际交通费用,天气面板按城市分别展示,知识图谱以多城市拓扑呈现完整路线。
 用户偏好记忆模块: 内置分权重的用户专属旅行偏好记忆库,支持遗忘机制与 TOP-K 召回。开启后会在行程生成成功后自动提取稳定偏好并打分入库,下次规划时将高权重偏好注入 Agent Prompt,让推荐贴合用户习惯。
 奢华暗黑玻璃拟物风: 全新设计的暗黑系玻璃拟物化 (Dark Luxury Glassmorphism) 界面,提供极具沉浸感的高级视觉体验。
---
 举个例子:到中国——西安玩耍,只需要填写地点、日期、偏好设置,即可等待行程规划的结果,一眼预览如何安排旅游景点(步行路线、驾车路线等)





 系统架构

本项目采用标准的前后端分离架构,分为前端 Vue 交互层、后端 FastAPI 服务层和 LLM/Agents 的智能推理层。

mermaid
sequenceDiagram
    autonumber
    
    participant Client as Frontend (User)
    participant Route as api/routes/trip.py
    participant Planner as trip_planner_agent.py
    participant XHS as xhs_service.py
    participant Maps as map_dispatcher.py
    participant LLM as llm_service.py
    participant POI as api/routes/poi.py
    participant KG as knowledge_graph_service.py

    Client-Route: POST /api/trip/plan (城市,天数,偏好)
    Route--Client: 返回 task_id & ws_url
    Route-Planner: 启动异步任务 _run_trip_planning(request)
    Client-Route: WebSocket 订阅 /ws/{task_id}
    Note right of Route: 通过 WebSocket 实时推送任务 processing/progress 状态
    
    rect rgb(240, 248, 255)
        Note over Planner, LLM: 并发阶段 (asyncio.gather 优化) 
        
        par [1/3] 景点搜索:小红书原生接口提纯
            Planner-XHS: search_xhs_attractions(city, keywords, lang)
            XHS-XHS: XhsNativeClient 原生签名直连 / SSR 备用爬取
            XHS-LLM: 抛入游记杂文,Prompt 要求提纯出景点JSON数组
            LLM--XHS: [{"name": "故宫", "duration": 120, ...}]
            
            loop 为每个提纯出的景点补齐坐标
                XHS-Maps: geocode_unified(name, city)
                Note right of Maps: Google 地理编码优先,失败降级高德 REST
                Maps--XHS: 经纬度 {longitude, latitude}
            end
            XHS--Planner: 拼接整理好的小红书景点候选文本
            
        and [2/3] 天气搜索:智能体调用

Top issues

Snapshot: 2026-11-11T15:31:17Z · Data license Apache-2.0 · JSON