# 旅行规划agent **Repository Path**: leke_code/travel-planning-agent ## Basic Information - **Project Name**: 旅行规划agent - **Description**: 基于多Agent的旅行规划 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2026-04-15 - **Last Updated**: 2026-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能旅行规划 Agent https://gitee.com/wangzixu2025/travel-planning-agent ## 项目简介 本项目实现了一个**基于 MCP(Model Context Protocol)与多工具协同**的智能旅行规划 Agent,能够完成从**黄历查询 → 交通规划 → 住宿推荐 → 景点行程 → 美食推荐 → 报告生成 → 质量审计**的全流程自动化。 用户只需提供出行时间与目的地,即可获得一份包含**交通方案、酒店推荐、景点行程、美食指南、预算规划、实景照片**的完整旅行计划。 --- ## 系统架构 ``` ┌────────────────────────────┐ │ 用户输入 │ └──────────┬─────────────────┘ │ ┌──────────▼──────────┐ │ 意图判断(DONE/CONTINUE) │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ Tool Agent 调度器 │ │ - 调用 MCP 工具 │ │ - 处理数据传递与级联 │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ 信息整合 + 行程报告 │ │ - 交通/住宿/美食/行程 │ │ - 动态调用 POI 图片 │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ 质量审计(Review) │ │ - 时间冲突检查 │ │ - 票务一致性校验 │ │ - 天气/装备提醒 │ └──────────────────────┘ ``` --- ## 功能模块 1. **黄历分析** * 调用黄历 MCP 服务,判断当天是否适宜出行(50 字简要提示)。 * 不管黄历结果如何,都会继续生成行程。 2. **交通规划** * 支持火车票实时查询(12306 API) * 支持高德地图路径规划(驾车/步行/骑行/公交) * 余票不足时自动搜索次日班次,直至找到可行方案 3. **行程安排** * 自动生成每日行程计划 * 景点推荐 + 特色体验 * 动态调用 `search_POI` 获取实景图 4. **住宿推荐** * 根据城市与预算推荐酒店 * 展示酒店外观与设施图 5. **美食推荐** * 推荐本地特色餐厅与菜品 * 获取餐厅门头与菜品实景图 6. **预算规划** * 自动生成预算表 * 支持交通、住宿、餐饮、景点、备用金 7. **智慧锦囊** * 避坑指南 * 安全须知 * 天气装备建议 8. **质量审计** * 校验时间冲突、行程合理性 * 校验票务可用性 * 检查天气与行程是否匹配 * 给出最终验证结果 --- ## MCP 服务接口说明 ### 高德 MCP 工具 https://lbs.amap.com/api/mcp-server/summary * **maps\_regeocode**: 地址 → 经纬度 * **maps\_geo**: 经纬度 → 地址 * **maps\_ip\_location**: IP → 位置 * **maps\_weather**: 城市天气 * **maps\_bicycling**: 骑行路径规划(≤500km) * **maps\_direction\_walking**: 步行路径规划(≤100km) * **maps\_direction\_driving**: 驾车路径规划 * **maps\_direction\_transit\_integrated**: 公交/地铁/火车综合方案 * **maps\_distance**: 距离测量 * **maps\_text\_search**: 关键词搜索 POI * **maps\_around\_search**: 周边搜索 POI * **maps\_detail\_search**: POI 详情 ### 12306 MCP 工具 https://www.bohrium.com/apps/mcp12306 * **get-stations-code-in-city**: 查询城市所有车站代码 * **get-station-code-of-city**: 查询城市唯一 station\_code * **get-station-code-by-name**: 车站名 → station\_code * **get-station-by-telecode**: telecode → 车站信息 * **get-tickets**: 查询余票 * **get-train-route-stations**: 查询列车途径站点 ### 黄历 MCP 工具 https://www.bohrium.com/apps/huangli * **get\_current\_date**: 获取当前日期 * **get\_huangli**: 查询当天宜忌(出行、嫁娶等) --- ## Agent 运行逻辑 ### 1. 空闲判断 ```text - 如果用户只是问候(如 hi, hello) - 或者没有提出新问题 → 输出 "DONE" 否则 → 输出 "CONTINUE" ``` ### 2. 工具调度(ToolAgent) * 根据用户需求依次调用 MCP 工具 * 工具之间可级联传参(如车票 → 到达城市 → 酒店) * 工具响应以原始 JSON 形式输出 ### 3. 报告生成(Information Report) * 自动生成旅行报告 * 各模块至少 500 字 * 动态调用 `search_POI` 获取实景图 * 插入预算表与锦囊提示 ### 4. 审计(Review) * 检查时间冲突 / 景点顺序 / 票务一致性 / 天气风险 * 输出验证报告: ```json { "validation_results": { "intent_alignment": true, "data_completeness": true, "response_consistency": true, "idle_detection": true }, "overall_pass": true } ``` --- ## 工作流程示例 用户输入: ``` 我想8月20日从北京去上海,帮我规划三天两晚的行程。 ``` 系统流程: 1. **调用黄历** → 查询 8 月 20 日是否适宜出行 2. **调用 12306** → 获取北京 → 上海余票 3. **调用高德地图** → 查询市内交通、地铁线路 4. **调用酒店工具** → 推荐浦东新区酒店 5. **调用美食工具** → 推荐本地特色餐厅 6. **调用 POI 搜索** → 获取景点与美食照片 7. **生成报告**(交通+行程+住宿+美食+预算+锦囊) 8. **运行审计模块** → 验证合理性 --- ## 使用方法 ```bash bash ./start-agent.sh ```