Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

【2026飞猪AI旅行创新大赛】Vibe2Trip ·「这张图的感觉,帮我安排」——旅行审美解构师

Đang mở
#194 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
1/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
html, node.js
Lĩnh vực
content

Hướng nghiên cứu

This issue describes a completed Vibe2Trip competition entry and links its implementation at https://github.com/qq1308194619/vibe2trip, rather than requesting a change in this repository. Start by checking the linked project and its demo; there is no defined change or completion criterion in the issue for this repository.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

2026飞猪AI旅行创新大赛 showcase

30 秒了解: Vibe2Trip 是一个「旅行审美解构师」。你不打字、不玩测评——直接甩给它一张让你心动的图(风景照 / 电影剧照 / 小红书截图 / 海报),它用多模态模型把这张图解构成 7 维「旅行审美画像」,再翻译成飞猪真实可预订的目的地与行程,输出一张「心动旅行卡」。作品主形态为百炼 Managed Agent,已真跑通全链路。

一句话立场:你要的从来不是一个景点,是一种感觉——而这种感觉是有标价的。 Vibe2Trip 把"感觉"拆成可检索的 7 个维度,再用飞猪真实库存给它标上价格、日期和机位。

参赛项目名称

【2026飞猪AI旅行创新大赛】Vibe2Trip ·「这张图的感觉,帮我安排」——旅行审美解构师

团队 / 作者与奖品领取人

  • 团队名称:文鸯-旅行审美解构师(个人参赛)
  • 主要提交人 GitHub ID(仅 1 位,必填):qq1308194619(显示名:如今却忆少时乐)
  • 其他成员(可选,仅用于署名):无

旅行场景与目标用户

场景:旅行决策的第一步——"不知道去哪,但已经存了一堆心动的图"。用户相册/收藏里有风景照、电影剧照、小红书截图、海报,却落不成一次真实可订的行程。

目标用户:靠视觉种草的年轻人、情侣、亲子家庭;收藏了很多灵感图却不知道怎么把它变成"去哪、怎么去、住哪、玩什么"的人。

要解决的问题:旅行决策的入口正在从"搜地名"迁移到"找感觉"。飞猪与小红书联合发布的《"五一"出行趋势报告》(2026-05)给出的数字是:69% 的用户基于兴趣决定出行目的地,且平台把人群直接切成了"出片党 / 吃货 / 运动控 / 慢游族 / 随性派"——其中"出片党"锁定目的地的理由写得很直白:影视取景地、小众风景地、课本同款风景地,旅拍"已成刚需"。这些需求在用户侧的原始形态就是一张存下来的图:一部电影的截图、一条小红书的封面、一张海报。

可今天没有一个入口是"图"。现有 AI 旅行助手只有三种:① 让用户打字描述(可用户恰恰说不清自己想要什么感觉,只会说"就那种……很舒服的感觉");② 用测评/塔罗猜人格(多一道门槛,且测出来的是性格不是审美);③ 读订单截图核对已有行程(解决的是行中/行后,不是行前灵感)。

从"一张心动的图"到"可下单的行程"这段路,我们在现有 AI 旅行助手里没看到同类入口。 这里把两条最容易混淆的分野划清:

最近的两类做法 它的路径 Vibe2Trip 的不同
拍实景照片求讲解 人在现场 → 认建筑/文物 → 生成解说 方向相反:人在家里,输入的是事先存下的灵感图,输出的是还没出发的行程。前者解"这是什么",后者解"我想去哪"
报游戏/兴趣名做映射 输入是文字标签 → 查口味映射知识库(人工维护的对照表) Vibe2Trip 不依赖任何映射表,直接读像素。所以冷门番、新出的游戏、甚至一张说不清出处的截图都能接住——扩展性来自模型视觉能力,不来自人工维护的表

我做了什么

Vibe2Trip 把入口直接换成图片。核心是一层"审美解构 → 供给映射"的翻译:

  1. 审美解构(招牌):多模态模型把用户上传的灵感图解构成 7 个旅行审美维度——地貌场景 / 色调光线 / 氛围情绪 / 活动暗示 / 节奏快慢 / 季节感 / 人文自然比,输出一份「旅行审美画像 Vibe Profile」。只解构图中真能看出来的,认不出具体地点就给"神似候选目的地"并逐维说明匹配理由,绝不脑补。
  2. 一次问全约束:出发地 / 日期天数 / 同行结构 / 预算区间,最多 4 项一条消息问清;用户放权则用默认并标注假设。
  3. 落到飞猪真实供给:调用 flyai 的 search-poi / search-hotel / search-flight / search-train / ai-search,把"暖调治愈+慢生活+湖景"这样的感性画像,翻译成真实的景点、契合调性的酒店、可预订的交通——并解释"为什么选它匹配你的感觉"。
  4. 输出心动旅行卡:① 心动解读(审美画像+心动理由)② 命定目的地(1~3 个真实候选+匹配维度)③ 按天行程(真实景点,标注对应的氛围/活动)④ 可预订清单(真实交通/住宿+价格+预订入口+预算)。

创新点:入口从"打字/测评"换成"一张你早就存下的图",并且在中间立起一个别人没有的资产——7 维审美画像是显式、结构化、可复算的(不是模型心里想想的一串形容词)。它带来两个直接后果:① 每个目的地/酒店/车次的选择都能回溯到"命中了哪一维",用户看得见推理;② 这份画像可以沉淀、聚合、被再次检索——这正是下面商业假设的落点。

为什么是现在(三条可搜索验证的数据,均已注明口径):

  1. 总盘子在涨:文化和旅游部《2025 年文化和旅游发展统计公报》(2026-06-02 发布)——2025 年国内居民出游 65.22 亿人次,同比 +16.2%;出游总花费 6.30 万亿元,同比 +9.5%。刚过去的 2026 国庆 7 天,全国国内出游 8.26 亿人次、总花费 7383.75 亿元(文旅部数据中心测算,2026-10-09 公布)。
  2. 决策入口正在从"地名"迁到"感觉":小红书《2026 兴趣游趋势报告》(中国日报网 2026-09-24 转载)——截至 2026 年 9 月,手作/访古/户外等兴趣驱动的"体验型"旅游搜索环比 +48%,增速是以景点游览和拍照为主的"打卡型"搜索的 1.6 倍以上;报告原话是"用户不仅搜索'去哪里',也在寻找'到那里可以做什么'"。⚠️ 口径提示:这是平台自披露运营数据(经官媒转载),不是独立第三方审计。
  3. 飞猪自己已经把"AI 建议"当成决策变量:飞猪 × 小红书《"五一"出行趋势报告》(中国经济网、新浪财经 2026-05-06 转载)——"五一"假期飞猪 AI 咨询量较清明假期继续增长 56%,"来自 AI 的建议"正成为游客出行决策的关键变量;同时 57% 的旅游攻略获取来源于搜索。

三条连起来是一句话:需求已经在往"感觉"迁移,飞猪的 AI 入口也已经通了,只差一个把"感觉"当输入格式的产品。 而这张图在飞猪生态里天然有出口——用户存的灵感图本身就有对应的商品供给。

诚实边界(当底线,不当卖点):所有价格/房态/航班/景点均来自 flyai 真实返回,代码层只做聚合与排版、不产生任何数据;--sample 离线演示数据会显著标注为占位、非真实。

坦白说一句:把"诚实"做到极致是这类作品的共同自律——"不把模拟接口当真实证据""给每条数据标出处",不少参赛同学都在做。所以**"诚实"在这个赛道不是差异化,是入场券**。Vibe2Trip 的差异化在前面那句立场上:把一种感觉标上真实价格。

能力分三档写死在 docs/roadmap.md(诚实既然被当成底线,能力本身也必须分级——这是同一个纪律的两面):

  • A 档|已真跑、有截图与产物:上图六段全链路 + 泛化性案例②。
  • B 档|提示词已具备,但条件触发**,示例用例未命中时就不出现**:
    ① 审美平替——心动成本与预算/天数错配时(3 天低预算却传了极光),给同调性、更可达的真实城市,并写明"哪几维仍命中、哪一维让步";这是同一份审美在成本梯度上的投影,不是同目的地比价。
    ② 同行结构投影——同一张图,情侣 / 亲子(孩子年龄参与决策)/ 独行 会重排住宿档型、单日步行量与节奏,并说明牺牲了什么(独行不为热闹被改写成亲子向)。
    ③ 拍摄窗口——把画像里那条"色调光线"翻译成现实中什么时候才成立(日落前逆光、开园首批客人最少),但不编造日出日落时刻(flyai 不返回)。
    ④ 季节时差——心动主体当季不存在时如实说明,并给"同月能兑现同款情绪、而非同款景物"的替代。
    ⑤ 心动的代价——用真实差价摊开这份氛围的成本("夜里无人的水道"≈入住景区内部,列出门外与门内两家真实差价)。一句可记住的话:你要的不是景点,是感觉,而这种感觉有标价。
    ⑥ 跨媒介解构——动漫/游戏帧/影视截图的"渲染美学"仍走同一套 7 维,但取景地推测强制标注「疑似取景地(二次元推测,未核实)」。这条不是凭空设想:飞猪 × 小红书《"五一"出行趋势报告》已把"影视取景地、课本同款风景地"列为"出片党"锁定目的地的直接原因;而 Vibe2Trip 读的是画面,不需要先知道这是哪部作品。
    ⑦ 无图退化路径——只给一句感觉描述("下班回家开一盏小灯那种")也能解构,标注依据弱一档。
  • C 档|主动不做并给原因:跨用户相似图匹配(交友/组队)与本产品"连照片 EXIF 都不解析"的隐私原则冲突、且冷启动无法演示——已降级为匿名聚合的「审美供给索引」设想:把 7 维画像沉淀成可检索资产,让商品按氛围而非景点类型被组织,再用带参预订链接量化"感觉 → 下单"转化。这是这个入口真正的商业假设:内容平台已经在按兴趣组织"人"和"内容"了(小红书八大"兴趣旅行家"),但旅行商品供给侧的索引仍然是目的地 / 类目 / 星级——"感觉"这一层没人做成可检索字段。 而 Vibe2Trip 的 7 维画像,恰好就是那层字段的结构化形态。

百炼使用说明(必填)

  • 百炼能力 / 模型:
    • 主路径 · 百炼 Managed Agent(Agent Studio):智能体 Vibe2Trip · 旅行审美解构师(ID agent_01M59B35CMHW49YQCVYQMJN7P9),模型 Qwen3.8-Max / Qwen3.8-Flash(原生多模态,直接读灵感图)。
    • 本地离线复现 · DashScope OpenAI 兼容接口:读图审美解构 qwen3-vl-plus,行程编排 qwen-plus-latest。
  • 调用方式(百炼 API / DashScope SDK / 百炼 CLI bl / OpenWork):两条都用。① Managed Agent 官方路径(作品主形态):在百炼控制台创建智能体、会话内以官方 skill 执行 flyai;② 本地复现路径:scripts/lib/bailian.mjs 封装 DashScope OpenAI 兼容 REST(https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions),多模态以 base64 data-url 传图。
  • 使用环节与输入输出:
    • 输入 = 灵感图 + 一句话约束(出发地/日期/人数/预算)。
    • 环节①(Qwen-VL 审美解构):图 → 7 维审美画像 + heart_reason + recognized_place(认不出如实标注)+ 2~3 个候选目的地 + flyai 检索线索。
    • 环节②(flyai 真实检索,见下):画像 → 城市级命定目的地 → 真实景点/酒店/交通。
    • 环节③(Qwen 行程编排):真实景点 + 画像 → 排满每天的行程(带 vibe_tag/时长/理由)。
    • 输出 = 心动旅行卡(对话内全文 + 会话产物 md 文件)。
  • Skill 名称(如有):飞猪官方 FlyAI(alibaba-flyai/flyai-skill / @fly-ai/flyai-cli)。Managed Agent 云沙箱内 npx skills add alibaba-flyai/flyai-skill 安装;本地因其后端为带签名鉴权的 MCP server、通用 MCP 客户端无法挂载,改以官方自包含 bundle(node 直跑、无需 npm)作为执行体。
  • 其他工具 / 技术栈:Node ≥18(仅内置模块,无第三方依赖);心动旅行卡渲染为自包含 HTML + Markdown;系统提示词见 agent/managed_agent_system_prompt.md(审美解构 7 维 + 诚实边界 + flyai 检索规则:中文枚举/城市级/无机场回退高铁 + 排满每天每时段 + 心动旅行卡六段结构,以及条件触发的平替/同行投影/拍摄窗口/季节时差/心动代价等增量判断)。能力分级与路线图:docs/roadmap.md。自带两个零依赖回归测试:scripts/test_budget.mjs(14 项断言:预算复算 / 掩码不计入 / 缺价不编造 / 价格串防注入)与 scripts/test_demo_consistency.mjs(从演示卡内真实票价房价独立复算,与卡面预算数字交叉比对,专门防"总额对、明细串成另一个城市"这类口径串号)。node scripts/test_budget.mjs / node scripts/test_demo_consistency.mjs 退出码 0 即通过。

会话 sesn_01M59BDTMWVZ1JJY9EFEFGN3A5 内:云沙箱装 flyai 技能;以会话环境变量注入 FLYAI_API_KEY;灵感图经平台文件库上传并挂载进会话 /uploads/,由智能体用 read 工具读图。

效果展示

Managed Agent 真跑四关键帧(灵感图读入 → flyai 真实数据 → 写卡 → 会话产物),均在 assets/shots/:

  1. agent_03_image_read.png:智能体 read 挂载的灵感图(0.14s)并读取 flyai 命令文档,准备并行拉真实数据。
  2. agent_04_flyai_realdata.png:云沙箱内真实 flyai CLI 调用(search-poi --city-name "嘉兴" --category "古镇古村" 等)。
  3. agent_05_card_in_chat.png:往返高铁补全 → 智能体会话内自述「14 个真实景点、6 家真实酒店、往返真实车次含价格」→ write 心动旅行卡 → 对话内输出全文(条目数以产物卡片文件实际列出者为准,见下行链接)。
  4. agent_06_artifacts.png:会话产物页(心动旅行卡 md ×2)与绑定进会话的灵感图。
  • 智能体产物心动旅行卡全文(含 7 维画像/候选目的地/按天行程/可预订清单/预算):docs/managed_agent_card_嘉兴水乡.md。
  • 本地管线渲染的心动旅行卡整卡截图:assets/shots/card_suzhou.png。
  • 注:本截图是 v1 本地管线早期以苏州为命定目的地的真实渲染输出,故画面标「苏州」;与后文 v3 基线「嘉兴→黄山」非同一用例,属历史案例保留。

    ⚠️ 一处已知的历史不一致,主动交代:这张截图与在线 Demo 的数字不同,因为截图出自 v1.0 渲染器——当时把"每人往返交通 + 整间房费"直接相加并标成「人均」,是口径标错(苏州卡截图上的 ¥288 ~ ¥660 人均 就是这么来的)。v1.1 已修正为「N 人同行合计 + 人均」双口径:同一张苏州卡按真实价格复算应为 合计 ¥312 ~ ¥684、人均 ¥156 ~ ¥342(交通 12+12=24/人;住宿 132~318/间/晚 × 2 晚 ÷ 2 人)。在线 Demo 与代码已是修正版,旧截图我没有替换(它是当时的真实输出,改掉就等于伪造证据),所以两边对不上是预期内的,重截排在 v1.1。

  • 案例②(泛化性证明):换一张气质完全相反的灵感图(冷调雪岭 + 一扇暖窗)→ 命中阿勒泰(禾木/喀纳斯):真实景点 / 真实酒店 / 往返真实车次(该城市对无合适航班时自动回退高铁并如实说明),整卡截图 assets/shots/card_altay.png。
  • 在线演示(GitHub Pages,推送后即可访问):https://qq1308194619.github.io/vibe2trip/demo/ —— 已合并为一个自包含页面:两张可交互心动旅行卡 + 4 张真跑关键帧(data URI 内嵌,离线可看)+ 「三步自助复现」区(提示词与命令预填、一键复制),评委不必翻仓库、不必跳转即可从头看到尾。

    诚实说明:这个页面是纯静态的,不能在浏览器里替你真跑一次——真跑需要你自己的百炼 DASHSCOPE_API_KEY(flyai Key 可选)。我们不做"看起来能试、其实是录屏/假数据"的伪交互,所以选择了"把复现成本压到三次复制粘贴"这条路。
    关键帧版本口径已在页内注明:该组截图产出于提示词 v1(基础六段闭环);v3 新增的条件触发能力属"条件命中才出现",故不在这组截图内——但这几项能力已于 2026-10-20 用 v3 提示词专门做过一轮"三轮活体复现"(见下一小节),全文卡片可直接 diff 复算。

说明:卡片第 ⑦ 段(心动对价 · 拍摄窗口 · 季节提示)与平替/同行投影等属条件触发字段,见 docs/roadmap.md B 档。上面那组 v1 关键帧的输入用例是"上海出发 / 2 人情侣 / 中等预算 / 深秋看水乡"——成本不错配、季节正好同季、结构只跑情侣一种,所以那些增量段不出现。为证明它们不是"写在文档里却没跑过",下面补一轮专门命中这些条件的复现。

三轮活体复现(提示词 v3 · 会话 sesn_01M5AHTZNE8BY0Q9HQ5FC9XX2J · 2026-10-20)

同一张灵感图,连着发三轮指令,逐轮把 B 档能力真跑出来。三张卡片全文已入库、可点开逐字复核,评委可与本文交叉复算、无需重跑:心动旅行卡_v3_水乡.md(16.3 KB) | 心动旅行卡_v3_同行结构.md(9.6 KB) | 心动旅行卡_v3_平替.md(12.6 KB)。

  • 第一轮 · 基线(招牌能力):读像素 → 解构 7 维画像(白墙黛瓦 / 石拱桥洞倒影成圆 / 日落逆光剪影 / 两人一船背对镜头不说话…)→ 关键落点是——它没有停在直觉答案"乌镇/西塘",而是核验后改判到皖南徽派·黄山市(宏村/塔川/西递),并用 flyai 拉出黄山北往返真实高铁与南湖边房价。这正是作品主张"你要的不是景点,是感觉"的活体演示:读画面、解构审美、再定位真正承载该感觉的可预订目的地,不被取景地标签带偏。
  • 第二轮 · 同行结构投影(B②):命定目的地与日期不变,把"2 人情侣"改成"2 大 1 小(5 岁)"。智能体没重跑画像(图没变),而是逐项改"兑现方式"——单日步行量 8–10 km→≤5 km、塔川 3 h→村口 40 min、"99 条高墙深巷迷宫"的西递缩到 1.5 h 或换成"只有一条主干道沿溪走"的唐模 ¥57、删除未补查的嘉兴备选线、新增"开放式村中水系需全程牵手"安全提醒;每处改动都引用 flyai 缓存里的真实景点描述做依据。同口径预算:2 成人高铁 ¥778 + 南湖边一间 2 晚 ¥474 + 成人门票 ¥383.2 = 合计 ¥1,635.2 / 人均 ¥545.1(另给"两间保底"方案)。
  • 第三轮 · 审美平替 + 心动的代价(B①⑤):保持画像不变、把兑现地换到更省的近邻,它选了黄山·西溪南古村落(非高价同质景区),引用 flyai 原文命中"原生态/极慢节奏/一侧树一侧水"三行,然后诚实拆开"命中 4 维 / 真丢 3 维"——尤其点明西溪南给不了图里最标志性的"桥洞合成正圆"(flyai 里它一个桥类 POI 都没有),也拿不到塔川红叶(11-08 正落在缓存写明的 10/26–11/26 红叶窗口正中)。最硬的一条反直觉代价:平替省门票、省接驳,却不省"住进感觉"的钱——想在西溪南"推窗见水"村内真实房价 ¥348/¥385/¥466,而宏村南湖边只要 ¥237,关键维平替反而贵 47%–97%;省钱的方案本质是"住高铁站边、白天进村拍照半天",那份感觉只买到半天。收尾一句:"如果这张图你存下来是因为那个桥洞合成的正圆,别省这 ¥543——平替给不了你那个圆。"

这一轮顺带把"诚实是入场券"演成了可复现行为(非摆拍前提下的真实故障处理):命中 flyai 限流 HTTP 451 → 自行 sleep 90~100 s 退避、用 grep 掩码 ¥1xx 后再查;--hotel-bed-types "多床房" 筛选未生效(返回同店同价同序)→ 拒绝宣称"已核实家庭房"、改给两间保底;核对原始 JSON 发现无儿童票价字段 → 明确写"flyai 没有,我不替它编"、铁路免票年龄线标注为"通用规则非 flyai 数据、以 12306 为准";第三轮前沙箱被重置、缓存全丢 → 主动如实交代并重装重拉、声明"本轮链接均为本次真实返回"。三处 flyai 字段缺陷与本文《踩坑记录》对 rate 评分"不返回"的修正互相印证。

三轮活体佐证截图(与上文 v1 关键帧分属两次运行:v1 用会话 sesn_01M59BDTMWVZ1JJY9EFEFGN3A5,本三轮用会话 sesn_01M5AHTZNE8BY0Q9HQ5FC9XX2J)。下面两张均取自百炼平台原生界面、非人工补录:

百炼会话「Agent 产出文件」:三轮写入的心动旅行卡 v3 原文均在此,可与上文链接逐一比对

百炼会话「事件」记录:Agent 以 write / edit 把 心动旅行卡_v3_同行结构.md 真实落盘到 /mnt/session/outputs(产物由会话自动生成)

复现两条硬约束(供评委自助复现时避坑):① 挂进会话的灵感图须先压到 ≤150 KB——曾以 1.5 MB 原图让单轮输入冲到 499k tokens、运行卡死 38 分钟,换 96 KB 压缩图后秒读;② flyai 命中 451 须 sleep 退避后再查。三张卡片全文见本小节上方三个链接(已随仓库推送,可点开逐字核验)。

内嵌图(Issue 直接渲染):

读图+flyai文档
flyai真实数据
对话内输出心动旅行卡
会话产物
本地整卡
阿勒泰整卡(案例②)

项目链接与复现方式

  • GitHub 仓库:https://github.com/qq1308194619/vibe2trip
  • 在线 Demo:https://qq1308194619.github.io/vibe2trip/demo/ (GitHub Pages:两张可交互心动旅行卡 + 三轮 v3 活体复现摘要卡(水乡基线 / 同行结构 / 平替)+ 「三步自助复现」区,含可一键复制的提示词与命令)
  • 能力分级与路线图:docs/roadmap.md(A 档已实现有证据 / B 档提示词已具备但条件触发 / C 档主动不做并给原因)
  • 复现(Managed Agent,官方路径):
    1. 百炼 Agent Studio → Managed Agent → 创建智能体,模型选 Qwen3.8-Max/Flash(多模态),系统提示词粘贴 agent/managed_agent_system_prompt.md。
    2. 创建会话;在会话内发送 npx skills add alibaba-flyai/flyai-skill(云沙箱安装飞猪技能)。
    3. 会话「环境变量」注入 FLYAI_API_KEY;「文件」上传灵感图并挂载到 /uploads/。
    4. 发送:请用 read 读取 /uploads/<图>,按系统提示词输出审美画像→目的地→flyai 真实数据→排满每天→心动旅行卡。
  • 复现(本地离线,无需 npm):
    1. node scripts/setup_flyai.mjs(自动下载飞猪官方 bundle 到 vendor/,npmjs 不通自动回退 npmmirror)
    2. cp .env.example .env 填入 DASHSCOPE_API_KEY(百炼)与可选 FLYAI_API_KEY(飞猪正式 Key)
    3. node scripts/vibe_trip.mjs --image assets/demo_inspiration.png --from 上海 --date 2026-11-08 --days 3
    4. 打开 outputs/<目的地>_<日期>/card.html 查看心动旅行卡

踩坑记录(可选)

  • flyai 各命令的字段覆盖会随 CLI 版本与 Key 模式变化——先声明,免得被当成数据编造。本仓库 scripts/setup_flyai.mjs 的用法示例给出的版本是 @fly-ai/flyai-cli 1.0.16(node scripts/setup_flyai.mjs --version 1.0.16 可固定复现,装完确切版本写入 vendor/flyai/VERSION)。
    2026-10-20 用正式 Key 本地实跑复测(可直接复现:FLYAI_API_KEY=你的Key node scripts/probe_flyai.mjs):search-train 返回真实座席票价(D181 二等座 10.00、含预订链接);search-poi 返回真实票价(乌镇西栅 ¥147,与本仓库 docs/managed_agent_card_嘉兴水乡.md 记录的票价一致,而"乌镇东栅/西栅景区"的 ticketInfo 本次为空——正是卡片里写"未单列票价、不编造"的那两处);search-hotel 返回真实房价与 star 档次(如"隐墅·乡奢 高档型 ¥458",与卡片同源),但 rate 评分三次调用均未返回。
    结论修正:本次实跑确认 search-hotel 确实不返回 rate 评分——本作品先前"有评分"的说法不实,已改(卡片因此本就不展示评分列);而 search-train 在本次实跑里是有票价的,与个别反馈相反,属 CLI 版本 / Key 模式造成的字段覆盖差异(旧版 CLI 甚至没有火车查询命令),不是谁在编数据。本作品规则不变:每个字段只写 flyai 原始返回值,查不到就地标注"未返回",绝不跨字段推断、绝不补数。
  • flyai 的 search-hotel 必填 --dest-name、search-flight 必填 --origin、search-poi 必填 --city-name;拿不准用哪个命令时用 ai-search --query。
  • flyai search-poi --category 校验的是中文枚举(自然风光/山湖田园/人文古迹…),--help 里印的英文枚举是误导,传英文直接报错。
  • flyai 后端是带签名的 MCP server,百炼"自定义插件/通用 MCP 客户端"无法直接挂载;但在 Managed Agent 云沙箱内可 npx skills add alibaba-flyai/flyai-skill 装官方 skill(主路径),本地则用 npm 包内自包含 flyai-bundle.cjs(仅 Node 内置模块)node 直跑。
  • Windows 下 flyai 打印完 JSON 后进程 teardown 会报 Assertion failed ... UV_HANDLE_CLOSING(无害,stdout 已完整);封装层只认 stdout、忽略退出码。
  • 未配正式 FLYAI_API_KEY 时为体验模式:酒店价格返回 ¥6x 掩码;渲染层检测到掩码即整体标注、不算预算,绝不把掩码当真实价格。
  • 预算口径:住宿单价是"每间每晚"、交通是"每人每段",二者不能直接相加再标"人均";渲染层按同住人数分摊住宿,并在卡片口径里写清楚。
  • 新增能力一律做成"条件触发",而不是新增卡片区块。因为已发布的截图、示例卡、在线 Demo 都是旧结构的输出——只要把新字段写成必选段落,就会出现"文案说有、图上没有"的自相矛盾,而这恰好打在自己标榜的"诚实"上。所以:结构 ①~⑥ 保持不变,新能力作为 ⑦(无支撑即整段省略)挂在外侧,已发布的每一张卡片到今天仍然与提示词一致。
  • 能力要分档,否则创新点会被自己说塌。凡是没跑过的(跨用户相似图匹配、供给索引、带参归因)一律写进 docs/roadmap.md 的 C 档并附"为什么不做",绝不在正文里暗示已实现——"这个功能其实没做,因为撞自己的隐私原则所以降级成了匿名聚合设想"比硬做出来更值钱。
  • 多模态读图容易"脑补"图里没有的信息——用提示词强约束"只解构看得见的维度、认不出就说认不出",把审美推断与真实数据严格分区。二次元取景地是同一风险的最高发区,因此强制标注「疑似取景地(未核实)」。

**奖品说明:**每个团队最多发放 1 份奖品。同一团队即使提交多个参赛作品,也只登记 1 位奖品领取人;其他团队成员可以共同署名,但不重复发放奖品。

署名:文鸯-旅行审美解构师 | GitHub:qq1308194619(如今却忆少时乐)

Ngôn ngữ chính
HTML
Star
11
Fork
3
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của modelstudioai/modelstudioai.github.io

Tất cả issue của modelstudioai/modelstudioai.github.io

Issue tương tự

Thêm issue về Content

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.