# smartvoyage **Repository Path**: nuanyang914/smartvoyage ## Basic Information - **Project Name**: smartvoyage - **Description**: 基于 A2A(Agent-to-Agent)协议 和 MCP(Model Context Protocol)协议 构建的分布式多智能体旅行助手系统 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-02 - **Last Updated**: 2026-08-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 项目简介 Voyage智途 是一个基于 A2A(Agent-to-Agent)协议 和 MCP(Model Context Protocol)协议 构建的分布式多智能体旅行助手系统。简单来说,它就是一个智能旅行顾问,你可以用自然语言问它各种问题: - 🌤️ "北京明天天气怎么样?" - 🎫 "帮我查一下郑州到上海的高铁票" - ✈️ "给我推荐一个成都3日游的行程" - 💬 "上次说的那个旅游团还有票吗?" 系统会自动理解你的意图,调用对应的智能体(Agent)来完成任务,然后把结果整理成自然语言回答你。 ### 功能示例 - 🌤️ 天气查询:"杭州未来3天天气如何?" - 🎫 票务预订:"帮我查一下明天北京到广州的机票" - ✈️ 行程规划:"推荐成都3日游,预算5000以内" - 💬 多轮对话:"上次说的那个团还有吗?再帮我加个保险" ### 价值场景 为什么要做这个项目?它的核心价值在于: 1. 架构示范:展示了一套完整的 A2A + MCP 分布式多智能体架构,是学习多智能体系统开发的绝佳示例 2. 开箱即用:所有代码都可以直接运行,你可以基于它快速搭建自己的多智能体系统 3. 工程化:不是玩具 Demo,而是具备缓存、记忆、容错等工程特性的生产级架构 4. 易集成:提供标准 HTTP API,可以轻松嵌入到其他系统中 ### 服务进程清单 | 服务 | 文件 | 端口 | 服务器 | | -------- | ------------------------- | ---- | -------- | | API 网关 | main_http_api.py | 8888 | uvicorn | | A2A 天气 | a2a_server/a2a_weather.py | 6001 | waitress | | A2A 票务 | a2a_server/a2a_ticket.py | 6002 | waitress | | A2A 行程 | a2a_server/a2a_trip.py | 6003 | waitress | | MCP 天气 | mcp_server/mcp_weather.py | 5001 | uvicorn | | MCP 票务 | mcp_server/mcp_ticket.py | 5002 | uvicorn | | MCP 行程 | mcp_server/mcp_trip.py | 5003 | uvicorn | ### 本地运行说明 0. 检查 config.yaml 并进行正确配置(A2A agent 的总结提示词模板也在其中) 1. 根据配置信息能够连接访问 mysql、redis、milvus 2. 单独运行 a2a_server 和 mcp_server 中的所有服务 3. 首次启动需 MySQL 数据库初始化,执行 data_init/mysql_init.py 4. 首次启动需 Milvus 数据库初始化,执行 data_init/milvus_init.py 5. 如需测试数据,请执行 data_init/testdata_insert_mysql.py 和 data_init/testdata_insert_milvus.py 6. 运行 main_http_api.py 完成最终启动,访问 http://127.0.0.1:8888 即可看到前端界面(端口默认为 8888,具体可在 config.yaml 中修改) 7. 如果需要清空数据库,请执行 data_init/clear_all.py