name chengxin description 同程程心 Skill - 基于同程旅行大模型(程心)的在线旅游搜索能力。提供更专业的机票、火车票、酒店、度假产品(自由行/跟团游)、旅游攻略、行程规划、特价机票、汽车票、长途汽车、景区、门票等的查询能力,基于同程官方数据,更加实时准确可靠,一键进入预订页面,让旅行更简单,更快乐。 metadata {"author":"同程网络科技股份有限公司","homepage":"https://www.ly.com","openclaw":{"requires":{"bins":"[Truncated]"},"primaryEnv":"CHENGXIN_API_KEY","env":["[Truncated]"]}}
chengxin - 同程程心 Skill
同程旅行官方旅游助手
✅ 执行前自检清单
调用本技能前,大模型必须确认:
已读取用户查询的完整文本(包含日期、时间、人数等)
已确定正确的意图类型或查询方式
已从 Inbound Context 获取 channel 和 surface 参数
准备调用正确的专用脚本(见「何时使用」与各节示例)
准备输出脚本的查询结果 ,以及预订链接
🎯 何时使用
意图类型 用户示例 调用方式 机票查询 "北京到上海的机票"、"明天飞广州的航班" flight-query.js特价机票 "上海到北京的特价机票"、"北京出发的特价机票"、"从上海飞哪里便宜" flight-query.js --low-price (可与 --destination 同时使用)火车票查询 "北京到上海的高铁"、"苏州到上海的火车票" train-query.js酒店查询 "上海外滩附近的酒店"、"下周一北京的五星级酒店" hotel-query.js长途汽车 / 汽车票 "北京到上海的长途汽车"、"苏州到上海的大巴"、"苏州到南京的汽车票"、"买张苏州到北京客运票" bus-query.js度假产品 / 跟团游 / 自由行 / 行程规划 "云南旅游团"、"三亚自由行"、"帮我规划北京三日游"、"从苏州出发到杭州玩三天" travel-query.js交通查询 "北京到上海怎么走"、"去苏州有什么交通方式"、"苏州到南京" traffic-query.js景区查询 "苏州有哪些景区"、"上海迪士尼门票"、"杭州有什么好玩的景点" scenery-query.js
⚠️ 路由规则 :上表每一类意图只 通过对应的 *-query.js 调用 API;参数不足时引导用户补齐 后再执行脚本,不使用其它入口替代。
🚗 交通资源智能查询 (traffic-query.js)
🚨 智能推荐 :当用户未明确指定交通方式 时使用此接口!
智能交通查询能力 ,同时返回机票、火车票、汽车票等多种交通方式,方便用户对比选择。
使用场景
场景 示例 推荐接口 用户明确说"火车票" "北京到上海的火车票" train-query.js ✅用户明确说"机票" "明天飞北京的航班" flight-query.js ✅用户明确说"汽车票/大巴/客运"(公路) "苏州到南京的汽车票"、"买大巴票" bus-query.js ✅用户未指定交通方式 "北京到上海怎么走" traffic-query.js ✅
合法参数组合
组合 参数示例 说明 出发地 + 目的地 --departure "北京" --destination "上海"按城市查询
参数说明
参数 说明 --departure <城市>出发地城市(必填) --destination <城市>目的地城市(必填) --extra <补充信息>额外信息(日期、偏好等)
extra 参数示例
"明天" - 明天的班次
"自驾" - 偏好自驾路线
"明天 高铁优先" - 多条件组合
调用示例
node scripts/traffic-query.js --departure "北京" --destination "上海" --channel webchat --surface webchat
node scripts/traffic-query.js --departure "北京" --destination "上海" --extra "明天" --channel webchat --surface webchat
node scripts/traffic-query.js --departure "苏州" --destination "南京" --extra "自驾" --channel webchat --surface webchat
输出结果
同时展示多种交通方式 :
每种交通方式都包含 :
调用优先级
⚠️ 重要 : traffic-query.js 的调用优先级低于 专用查询接口!
正确用法:
用户说"火车票" → 使用 train-query.js
用户说"机票" → 使用 flight-query.js
用户说"汽车票" → 使用 bus-query.js
用户未指定 交通方式 → 使用 traffic-query.js
✈️ 机票专用查询 (flight-query.js)
🚨 优先级最高 :查询机票时,必须优先使用此方法 !
更精准的机票查询能力 ,支持航班号精确查询、特价机票查询、多列表推荐。
合法参数组合
组合 参数示例 说明 出发地 + 目的地 --departure "北京" --destination "上海"按城市查询 航班号 --flight-number "CA1234"精确查航班 出发地 + lowPrice --departure "北京" --low-price特价/低价(未指定目的地时,可查多地低价推荐) 出发地 + 目的地 + lowPrice --departure "上海" --destination "北京" --low-price指定航线上的特价/低价查询
参数说明
参数 说明 --departure <城市>出发地城市 --destination <城市>目的地城市 --flight-number <航班号>航班号 (如 CA1234) --extra <补充信息>额外信息 (日期、偏好等) --low-price特价/低价查询;可与 --destination 同用 (指定航线),也可仅出发地 (多地低价推荐)
lowPrice 参数说明
--low-price 表示用户要特价、低价、便宜 等优惠向机票,有两种常见说法:
已说明出发地与目的地 (如「上海到北京的特价机票」):同时传 --departure、--destination 与 --low-price,查该航线上的低价/特价结果。
只说了出发地或未点明目的地 (如「从北京出发哪里便宜」):仅传 --departure 与 --low-price,由接口返回从该地出发的低价推荐(含目的地推荐)。
触发关键词:
"特价机票"、"低价机票"、"便宜机票"
"A 到 B 的特价票"、"XX 飞 YY 最便宜"
"从 XX 出发哪里便宜"、"XX 出发的优惠机票"
"清明节/五一/春节 特价机票"(节假日低价推荐)
示例场景:
用户查询 调用方式 说明 "上海到北京的特价机票" --departure "上海" --destination "北京" --low-price指定航线特价/低价 "北京出发的特价机票" --departure "北京" --low-price北京出发低价航线/推荐 "清明节北京出发的特价机票" --departure "北京" --low-price --extra "清明节"带节假日条件 "从上海飞哪里便宜" --departure "上海" --low-price查询低价目的地推荐 "周末从广州出发哪里好玩" --departure "广州" --low-price --extra "周末"带时间偏好
引导话术(仅出发地、未说目的地时):
💡 您只提供了出发地,没有指定目的地。
您可以:
1. 补充目的地 (如:北京到上海),需要特价可加 --low-price
2. 或继续用 --low-price 查看从该地出发到全国各地的低价推荐
调用示例
node scripts/flight-query.js --departure "北京" --destination "上海" --extra "明天" --channel webchat --surface webchat
node scripts/flight-query.js --flight-number "CA1234" --channel webchat --surface webchat
node scripts/flight-query.js --departure "上海" --destination "北京" --low-price --channel webchat --surface webchat
node scripts/flight-query.js --departure "北京" --low-price --channel webchat --surface webchat
node scripts/flight-query.js --departure "北京" --low-price --extra "清明节" --channel webchat --surface webchat
参数不完整时的处理
若用户只提供出发地 、未提供目的地:提示用户 要么补充目的地(可加 --low-price 查该航线特价),要么使用 --low-price 查从该地出发的低价推荐。
无结果时的备选策略(临近出发机场 / 空铁联运)
当 flight-query.js 无航班 、脚本输出「无结果」或 API code 为 1(见 references/error-handling.md)时,可引导用户尝试「从临近枢纽机场所在城市出发」的空铁联运思路。原则 :不编造航班、价格与预订链接;航班与链接只 能来自脚本输出,地面段车次、班次与链接只 能来自对应脚本输出。
说明与备选出发地 :告知用户当前出发地直飞无合适结果,可尝试从区域枢纽机场所在城市 等临近点出发;结合地理常识给出 1~2 个 备选城市即可,在脚本返回前 不要写出该城市出发的具体航班、价格或链接。
重查机票(替代出发地) :对每个 备选出发城市再次执行 flight-query.js:将 --departure 改为该临近城市,保持 --destination、--extra 与用户原查询一致,并沿用相同 --channel / --surface,完整输出 脚本结果。
node scripts/flight-query.js --departure "<临近城市>" --destination "<原目的地>" [--extra "<原日期/偏好>"] 及相同的 --channel / --surface
地面衔接 :若需展示用户常住地/原出发城市 → 临近出发城市的衔接,通过 train-query.js 、traffic-query.js 或必要时 bus-query.js 查询,仅 采用脚本返回的车次、班次与链接。
换乘与时间 :结合脚本给出的出发/到达时刻提示预留换乘与进站时间;值机、安检与建议到达机场时间属出行常识 ,非 API 实时数据,仅作缓冲说明并提醒以航司、机场与出票信息为准。国内线可提示常见不晚于起飞前约 1.5~2 小时 到机场办理乘机手续,国际线或大型枢纽宜更久。
🏨 酒店专用查询 (hotel-query.js)
🚨 优先级最高 :查询酒店时,必须优先使用此方法 !
更精准的酒店查询能力 ,支持位置偏好、日期指定等多列表推荐。
合法参数组合
组合 参数示例 说明 目的地城市 --destination "上海"按城市查询 目的地 + 位置偏好 --destination "上海" --extra "外滩附近"指定区域 目的地 + 入住日期 --destination "上海" --extra "明天入住"指定日期
参数说明
参数 说明 --destination <城市>目的地城市(必填) --extra <补充信息>额外信息(日期、位置偏好等)
extra 参数示例
"明天入住" - 明天入住
"外滩附近" - 外滩附近区域
"明天入住 外滩附近" - 多条件组合
调用示例
node scripts/hotel-query.js --destination "上海" --extra "明天入住" --channel webchat --surface webchat
node scripts/hotel-query.js --destination "上海" --extra "外滩附近" --channel webchat --surface webchat
node scripts/hotel-query.js --destination "上海" --channel webchat --surface webchat
参数不完整时的处理
如果用户没有提供目的地:提示用户补充目的地城市 。
🏞️ 景点专用查询 (scenery-query.js)
🚨 优先级最高 :查询景点时,必须优先使用此方法 !
更精准的景点查询能力 ,支持特色筛选、类型推荐等多列表推荐。
合法参数组合
组合 参数示例 说明 目的地城市 --destination "杭州"按城市查询 目的地 + 特色 --destination "杭州" --extra "适合亲子"指定特色 目的地 + 类型 --destination "苏州" --extra "园林 5A 景区"指定类型
参数说明
参数 说明 --destination <城市>目的地城市(必填) --extra <补充信息>额外信息(特色、类型等)
extra 参数示例
"适合亲子" - 亲子游景点
"5A 景区" - 5A 级景区
"适合亲子 5A 景区" - 多条件组合
调用示例
node scripts/scenery-query.js --destination "杭州" --extra "适合亲子" --channel webchat --surface webchat
node scripts/scenery-query.js --destination "苏州" --extra "园林" --channel webchat --surface webchat
node scripts/scenery-query.js --destination "杭州" --channel webchat --surface webchat
参数不完整时的处理
如果用户没有提供目的地:提示用户补充目的地城市 。
🧳 旅行资源专用查询 (travel-query.js)
🚨 度假产品/跟团游/自由行专属接口 :当用户提到旅游团、跟团游、自由行、度假、玩几天、几日游、规划行程 时,必须 使用此接口!
⚠️ 与 scenery-query.js 的边界 :
用户说"云南旅游团 "、"三亚自由行 "、"玩三天 " → travel-query.js ✅(要的是旅游产品/套餐 )
用户说"三亚有哪些景点 "、"上海迪士尼门票 " → scenery-query.js ✅(要的是景点列表/门票 )
专业的度假产品查询能力 ,支持自由行、跟团游等多种旅游产品推荐。
使用场景
场景 示例 推荐接口 用户查询"三亚自由行" "三亚自由行套餐" travel-query.js ✅用户查询"云南旅游团" "云南6天5晚跟团游" travel-query.js ✅用户有明确意向 "我想去三亚玩" travel-query.js ✅用户要行程规划 "帮我规划北京三日游" travel-query.js ✅用户说"玩几天" "苏州到杭州玩三天" travel-query.js ✅
典型用户说法(看到这些关键词直接用 travel-query.js)
用户说法 关键词 调用 "云南旅游团 "、"跟团游 " 旅游团、跟团 travel-query.js"三亚自由行 "、"自由行套餐 " 自由行 travel-query.js"玩三天 "、"几日游 "、"规划行程 " 天数、行程 travel-query.js"从苏州出发到杭州玩 " 出发地 + 玩 travel-query.js"度假 "、"度假产品 " 度假 travel-query.js
合法参数组合
组合 参数示例 说明 目的地 --destination "三亚"按城市/地区查询 出发地 + 目的地 --departure "苏州" --destination "杭州"含往返交通规划 出发地 + 目的地 + 天数 --departure "苏州" --destination "杭州" --extra "3天2晚"含行程规划 ⭐ 目的地 + 天数 + 类型 --destination "云南" --extra "6天5晚 自由行"指定行程
参数说明
参数 必填 说明 --departure <城市>可选 出发地城市,提供后可触发 AI 推荐往返交通+完整行程规划 --destination <城市/地区>✅ 目的地城市或地区 --extra <补充信息>可选 额外信息(假期、天数、类型、行程规划请求等)
extra 参数示例
"五一假期" - 五一期间
"3天2晚" / "6天5晚" - 行程天数
"自由行" / "跟团游" - 自由行产品、跟团游产品
"帮我规划南京三日游行程" - 触发 AI 行程规划(推荐配合 departure 使用)
"苏州到杭州 3天2晚 自由行" - 出发地+天数+类型组合
"五一假期 6天5晚 自由行" - 多条件组合
调用示例
node scripts/travel-query.js --departure "苏州" --destination "杭州" --extra "3天2晚" --channel webchat --surface webchat
node scripts/travel-query.js --destination "三亚" --channel webchat --surface webchat
node scripts/travel-query.js --destination "三亚" --extra "五一假期" --channel webchat --surface webchat
node scripts/travel-query.js --destination "云南" --extra "6天5晚 自由行" --channel webchat --surface webchat
🚌 长途汽车专用查询 (bus-query.js)
🚨 优先级最高 :查询长途汽车时,必须优先使用此方法 !
更精准的长途汽车查询能力 ,支持站到站精确查询、多列表推荐。
使用场景与同义词
用户常怎么说 说明 汽车票 、大巴票 、客运 、长途汽车 、班车 均指公路客运班次,全部 路由到本节 bus-query.js
合法参数组合
组合 参数示例 说明 出发地 + 目的地 --departure "北京" --destination "上海"按城市查询 出发站 + 到达站 --departure-station "北京六里桥客运站" --arrival-station "上海长途汽车客运站"精确站点查询
参数说明
参数 说明 --departure <城市>出发地城市 --destination <城市>目的地城市 --departure-station <站>出发站(精确) --arrival-station <站>到达站(精确) --extra <补充信息>额外信息(日期、偏好等)
extra 参数示例
"明天" - 明天的班次
"上午" - 上午出发的班次
"明天 上午" - 多条件组合
调用示例
node scripts/bus-query.js --departure "北京" --destination "上海" --extra "明天" --channel webchat --surface webchat
node scripts/bus-query.js --departure-station "北京六里桥客运站" --arrival-station "上海长途汽车客运站" --channel webchat --surface webchat
node scripts/bus-query.js --departure "北京" --destination "上海" --channel webchat --surface webchat
参数不完整时的处理
如果用户只提供了部分参数:提示用户补充参数 。
🚂 火车票专用查询(train-query.js)
🚨 优先级最高 :查询火车票时,必须优先使用此方法 !
更精准的火车票查询能力 ,支持站到站、车次精确查询。
为什么优先使用:
✅ 调用专用 API 接口(/gateway/trainResource)
✅ 返回更丰富的车次选择
✅ 支持结构化参数(出发地、目的地、车次号、偏好等)
✅ 参数不完整时会明确提示用户补齐
合法参数组合
组合 参数示例 说明 出发地 + 目的地 --departure "北京" --destination "上海"按城市查询 车次号 --train-number "G1234"精确查车次 出发站 + 到达站 --departure-station "北京南站" --arrival-station "上海虹桥站"精确站点查询
参数说明
参数 说明 --departure <城市>出发地城市 --destination <城市>目的地城市 --departure-station <站>出发站(精确) --arrival-station <站>到达站(精确) --train-number <车次>车次号(如 G1234) --extra <补充信息>额外信息(日期、偏好等)
extra 参数示例
"明天" - 明天的车次
"高铁" - 只查高铁
"动车" - 只查动车
"一等座" - 优先一等座
"明天 高铁 赏花专线" - 多条件组合
参数不完整时的处理
如果用户只提供了部分参数,必须提醒用户补齐 :
⚠️ 参数不完整,请提供以下组合之一:
1. 出发地 + 目的地
2. 车次号
3. 出发站 + 到达站
🚀 标准执行流程
步骤 1:保留完整 query
包括日期、时间、人数等所有信息:
✅ "3 月 29 日苏州到上海火车票"
✅ "明天北京到上海的机票"
✅ "下周一南京夫子庙附近酒店"
步骤 2:调用专用脚本(唯一数据源)
按「何时使用」选择 scripts/ 下对应的 *-query.js,传入结构化参数与 channel、surface。示例(火车票):
node scripts/train-query.js --departure "北京" --destination "上海" --extra "明天 高铁" --channel webchat --surface webchat
步骤 3:原样输出脚本结果
必须完整输出脚本返回的所有内容:
表格或卡片格式。逻辑由 scripts/lib/output-mode.js 的 resolve_output_mode 实现。
底部引导语
禁止:
❌ 修改表格格式
❌ 省略底部引导语
❌ 添加脚本未返回的信息
🎁 如何获取 API Key (CHENGXIN_API_KEY)
当鉴权失败或需要配置 API Key 时,请按以下方式申领:
打开 同程旅行 APP 或 同程旅行小程序 (微信 - 我 - 服务 → 火车票机票/酒店民宿)
在顶部搜索栏中搜索「程心激活码 」
按页面提示完成申领即可获取 API Key
将激活码配置到环境变量或 config.json 文件中。环境变量与本地 config.json 的配置方式、示例与注意事项详见 references/config.md。
💡 快捷方式 :也可以直接回复「帮我把 xxxxx(激活码)配置到 chengxin 这个 skill 上 」,助手会自动帮你完成配置。
⚠️ 错误处理
API Key 未配置或无效
展示申领引导(见 references/error-handling.md)
错误码处理
Code 处理方式 0正常解析并输出结果 1告知用户未找到相关资源,建议调整搜索词 3检查是否为鉴权问题,展示对应引导
详细错误处理指南 :见 references/error-handling.md
📞 客服支持
使用过程中遇到问题?同程旅行提供 7×24 小时服务:
📚 参考文档
references/output-format.md - 输出格式示例(表格/卡片)
references/error-handling.md - 错误处理指南
references/api-examples.md - API 调用示例
同程旅行 · 让旅行更简单,更快乐