【2026飞猪AI旅行创新大赛】Travelworld|将一切交给对话,把旅行变成一条走得通的路
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 15/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- google-cloud, javascript, next.js, node.js, react, typescript
- Área
- content
Línea de trabajo
This issue presents the Travelworld project and links to its separate repository, demo, and video; it does not identify a change to make in this repository. Start by reviewing the linked project and its demonstration to understand the submission. The issue gives no acceptance criteria or code entry point, so it does not define a completion target for a first contribution.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
【2026飞猪AI旅行创新大赛】Travelworld|将一切交给对话,把旅行变成一条走得通的路
Travelworld|将一切交给对话,把旅行变成一条走得通的路
团队 / 作者与奖品领取人
- 团队名称:Travelworld
- 主要提交人 GitHub ID(仅 1 位,必填):
11921902109(Huang Yihan_NTU) - 其他成员 GitHub ID:millieesther
旅行场景与目标用户
Travelworld 面向自主规划城市旅行的自由行用户及小型同行团队,目前以新加坡国家为首个完整场景。
旅行规划的难点并不是缺少推荐,而是用户需要在攻略、地图、酒店、交通和预订平台之间来回切换,再手动核对地点、路线、时间和价格。
Travelworld 的核心主张是:
将一切交给对话。
通过交互式对话方式,最小化用户的旅行规划、资料检索与界面操作成本。用户只需表达旅行愿望,并在同一段对话中补充条件、选择酒店、调整安排和重新规划,不需要学习复杂的行程编辑工具。
该产品具备高度可扩展性,并切入了市场尚未被充分满足的商业需求。未来若能持续提升各场景下的语义理解与执行准确率,并严谨设计评估流程,该产品将具备显著的商业价值与规模化变现潜力。
我做了什么
我开发了 Travelworld——一个由阿里云百炼驱动、把自然语言旅行需求转换为真实可执行路线的 AI 行程规划 Web 应用。
用户可以直接说:
我和伴侣两位成人,2026 年 12 月 20 日至 23 日去新加坡,住 Bugis 附近;每天 09:30 出发、21:00 回酒店,节奏轻松,喜欢建筑、美食和夜景。
系统随后通过对话完成:
理解旅行愿望
→ 追问缺失条件
→ 比较并确认酒店
→ 生成每日路线
→ 查看地点与价格
→ 接收自然语言修改
→ 重新计算受影响行程
核心创新
Travelworld 不是只生成一篇旅行攻略,而是建立了一条可核验、可约束、可重算的旅行规划链路:
- 对话贯穿全程:从需求补全到行程修改,都通过自然语言完成;用户只补充部分信息时,系统会继续追问尚未满足的条件。
- 地点真实可验证:酒店、景点和餐厅进入地图前均由 Google Places 验证,语言模型不负责虚构地点身份和坐标。
- 酒店是真正的路线锚点:每天从当天酒店出发,并在指定时间前返回;同时支持从某一天开始更换酒店的分段住宿。
- 路线和时间真实计算:Google Routes 负责地点间距离、交通方式与预计耗时,Travelworld 将其组合为完整时间轴。
- 修改能够局部重算:用户可以一句话修改任意一天,并一次执行替换、删除、增加等多个动作;系统只重算目标日期。
- 价格有明确来源:FlyAI/飞猪只为可靠匹配的酒店和景点补充参考价格与预订入口,无法匹配时不展示结果。
- 数据边界透明:餐厅可以进入行程,但不会调用飞猪查询不在当前数据范围内的餐饮商品,也不会生成虚构价格。
不同数据分别由专业服务负责:
百炼 Managed Agent
负责理解用户想做什么
↓
Google Places
确认地点是谁、位于哪里
↓
Google Routes
计算是否走得通、需要多久
↓
FlyAI / 飞猪
补充可验证的价格与预订入口
↓
Travelworld
组合时间轴并检查行程约束
百炼使用说明(必填)
百炼位于 Travelworld 的运行时核心链路,不是只在开发阶段使用。
- 百炼能力 / 模型: 阿里云百炼 Managed Agent;Qwen3.8-Flash 作为初始结构化意图理解的兼容回退。
- 调用方式(百炼 API / DashScope SDK / 百炼 CLI
bl/ OpenWork): Node.js 服务端通过百炼 Agent Studio REST API 创建并调用 Managed Agent 会话。 - 使用环节与输入输出:
- 旅行描述 → 日期、人数、住宿、每日时间、节奏、兴趣及缺失字段。
- 行程修改指令 → 目标日期及 1–4 个结构化修改动作。
- 酒店查询条件 → 最多 5 家酒店的报价和预订信息数组。
- 景点详情请求 → 可可靠匹配的商品、参考价格与预订入口。
- Skill 名称(如有):
flyai(飞猪旅行技能,通过官方 FlyAI CLI 调用)。 - 其他工具 / 技术栈: React 19、Next.js 16、Vinext/Vite、TypeScript、Cloudflare Workers、Google Maps JavaScript API、Google Places API、Google Routes API、FlyAI/飞猪、pnpm。
FlyAI 查询运行在独立的百炼临时会话中。同一次酒店比较只创建一个会话,并在其中依次查询最多 5 家酒店。
百炼、FlyAI 和 Google 服务端凭据均由服务端管理,不返回浏览器,也不会进入公开仓库。
效果展示
百炼智能体实际运行截图
意图理解
飞猪报价
可交互产品成片
该页面以滚动叙事方式呈现 Travelworld 从旅行愿望到真实路线、价格查询和动态修改的完整产品流程。
演示视频
项目链接与复现方式
- GitHub 仓库: [11921902109/travelworld-singapore]
- 在线 Demo: [打开 Travelworld (主入口,包含完整案例和创建新行程)
- 完整案例: [浏览新加坡四日真实案例]
- 创建新行程: [通过对话开始规划]
在线体验时,只需在规划页面说出旅行需求,随后按照系统追问继续对话即可。
提示: 当前百炼 Managed Agent 及相关运行环境部署在阿里云北京地域(
cn-beijing)。由于本人部署在国外,体验时会存在一定的跨地域网络延迟,意图解析、酒店及景点查询或路线重算所需时间会稍长。处理期间请耐心等待;该延迟主要来自网络距离与外部服务调用,不影响功能逻辑及最终结果。
本地复现
环境要求:Node.js >= 22.13.0、pnpm 11.x。
git clone https://github.com/11921902109/travelworld-singapore.git
cd travelworld-singapore
pnpm install
cp .env.example .env.local
pnpm dev
Windows PowerShell:
Copy-Item .env.example .env.local
启动后访问:
http://localhost:5173/travel
真实服务复现需要在 .env.local 中配置自己的服务信息:
DASHSCOPE_API_KEY
BAILIAN_API_BASE_URL
BAILIAN_AGENT_ID
BAILIAN_ENVIRONMENT_ID
FLYAI_API_KEY
GOOGLE_MAPS_SERVER_KEY
GOOGLE_MAPS_BROWSER_KEY
.env.example 只包含变量名。公开仓库不包含 API Key、密码、Session ID 或其他敏感凭据。
踩坑记录
- 隔离环境与凭据: 百炼会话和普通服务端环境相互隔离,因此为智能体建立了包含 Node.js 与 FlyAI CLI 的运行环境,并只在临时会话中注入服务端凭据。
- 真实数据匹配: 酒店或景点名称相似时容易关联错误商品,因此增加名称、地址与 Google 地点身份校验;不能可靠匹配就不展示价格。
- 路线约束重算: 显示“21:00 回酒店”并不等于真正满足约束,因此将酒店、交通耗时和停留时间统一纳入排程,修改后重新计算整天路线。
未来工作
- 扩展更多目的地: 将新加坡规则抽象为 Destination Profile,支持更多国家和国内城市。
- 增强按天意图理解: 将整体偏好细分到每天、时间段和地点,使自由时间能够结合当天区域与主题自动安排。
- 实现路程规划实时更新: 对于路程规划,将每一天的地点之间行程,按照公共交通,打车,步行的时间自由选择
- Lenguaje dominante
- HTML
- Estrellas
- 11
- Forks
- 3
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de modelstudioai/modelstudioai.github.io
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
【2026飞猪AI旅行创新大赛】别白跑 · AI 旅行攻略体检官Abierto2026飞猪AI旅行创新大赛 showcase
Dificultad 5/5 Más de una semana Aptitud para principiantes 1/100
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 1/5 Menos de una hora Aptitud para principiantes 10/100
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 5/5 Más de una semana Aptitud para principiantes 1/100
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
Todos los issues de modelstudioai/modelstudioai.github.io
Issues similares
-
[白丁往事]Abierto待处理 申请收录
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
travellings-link/travellings#4058 · 1 comentario ·
-
Sprint 0: Get to know your teamAbiertotask
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
[Tool] deactivationpricerAbiertohas-license has-readme new-tool ready-to-approve repo-verified
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
shanselman/TinyToolTown#874 · 1 comentario ·
Los mantenedores suelen responder en 5 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
cncf/communitygroups#862 ·