同程程心 Tongcheng Chengxin Travel Search

v0.6.0

同程程心 Skill - 基于同程旅行大模型(程心)的在线旅游搜索能力。提供更专业的机票、火车票、酒店、度假产品(自由行/跟团游)、旅游攻略、行程规划、特价机票、汽车票、长途汽车、景区、门票等的查询能力,基于同程官方数据,更加实时准确可靠,一键进入预订页面,让旅行更简单,更快乐。

2· 85·0 current·0 all-time
Security Scan
Capability signals
Requires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the included code: many *-query.js scripts implement flight, train, hotel, bus, scenery, travel and traffic queries and formatters. Declared requirements (node binary and CHENGXIN_API_KEY) are appropriate for an HTTP-based API client and CLI scripts.
Instruction Scope
SKILL.md instructs the agent to parse user queries and call the specific *-query.js scripts (and to obtain channel/surface from inbound context). It does not direct reading unrelated system files or other credentials. The instructions are specific about parameter validation and do not grant broad discretionary data collection.
Install Mechanism
There is no install spec (no remote downloads). The skill bundle contains Node scripts and a package.json but does not perform network installs during installation. Runtime behaviour is executing local Node scripts which make HTTPS calls — expected for this type of skill.
Credentials
Only one primary credential is declared (CHENGXIN_API_KEY) and the code uses it to authorize requests to the declared API endpoint. The client will also read a local config.json as an alternative, which is reasonable. No unrelated secrets or services are requested.
Persistence & Privilege
The skill is not always-enabled and does not request elevated persistence or attempt to modify other skills/systems. It only requires ability to run Node scripts and make outbound HTTPS requests.
Assessment
This package appears coherent for a travel-search skill. Before installing, confirm you obtained the CHENGXIN_API_KEY from a trusted source (same org as ly.com) and keep it secret. Note the skill will make HTTPS POST requests to https://wx.17u.cn/skills/gateway/api/v1/gateway when queried — if you require stricter auditing, review network logs or run the scripts in an isolated environment. Because the skill reads a local config.json as a fallback, ensure you don't accidentally place other sensitive credentials in that file. Finally, if you grant the agent autonomous invocation, be aware it can call the scripts and transmit queries to the external API; restrict that if you need tighter control.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binsnode
Primary envCHENGXIN_API_KEY
Environment variables
CHENGXIN_API_KEYrequired同程程心 API Key
latestvk972z2m9a4m5553wdfdqxehged851hh1
85downloads
2stars
2versions
Updated 1d ago
v0.6.0
MIT-0

chengxin - 同程程心 Skill

同程旅行官方旅游助手


✅ 执行前自检清单

调用本技能前,大模型必须确认:

  1. 已读取用户查询的完整文本(包含日期、时间、人数等)
  2. 已确定正确的意图类型或查询方式
  3. 已从 Inbound Context 获取 channelsurface 参数
  4. 准备调用正确的专用脚本(见「何时使用」与各节示例)
  5. 准备输出脚本的查询结果,以及预订链接

🎯 何时使用

意图类型用户示例调用方式
机票查询"北京到上海的机票"、"明天飞广州的航班"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 的调用优先级低于专用查询接口!

正确用法:

  1. 用户说"火车票" → 使用 train-query.js
  2. 用户说"机票" → 使用 flight-query.js
  3. 用户说"汽车票" → 使用 bus-query.js
  4. 用户未指定交通方式 → 使用 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 表示用户要特价、低价、便宜等优惠向机票,有两种常见说法:

  1. 已说明出发地与目的地(如「上海到北京的特价机票」):同时传 --departure--destination--low-price,查该航线上的低价/特价结果。
  2. 只说了出发地或未点明目的地(如「从北京出发哪里便宜」):仅传 --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 code1(见 references/error-handling.md)时,可引导用户尝试「从临近枢纽机场所在城市出发」的空铁联运思路。原则:不编造航班、价格与预订链接;航班与链接能来自脚本输出,地面段车次、班次与链接能来自对应脚本输出。

  1. 说明与备选出发地:告知用户当前出发地直飞无合适结果,可尝试从区域枢纽机场所在城市等临近点出发;结合地理常识给出 1~2 个备选城市即可,在脚本返回前不要写出该城市出发的具体航班、价格或链接。
  2. 重查机票(替代出发地):对每个备选出发城市再次执行 flight-query.js:将 --departure 改为该临近城市,保持 --destination--extra 与用户原查询一致,并沿用相同 --channel / --surface,完整输出脚本结果。
    node scripts/flight-query.js --departure "<临近城市>" --destination "<原目的地>" [--extra "<原日期/偏好>"] 及相同的 --channel / --surface
  3. 地面衔接:若需展示用户常住地/原出发城市 → 临近出发城市的衔接,通过 train-query.jstraffic-query.js 或必要时 bus-query.js 查询,采用脚本返回的车次、班次与链接。
  4. 换乘与时间:结合脚本给出的出发/到达时刻提示预留换乘与进站时间;值机、安检与建议到达机场时间属出行常识,非 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晚 自由行" - 多条件组合

调用示例

# 经典场景:从某地出发到某地玩几天(推荐);返回:交通推荐 + 酒店 + 景区 + 行程规划 + 度假产品 + UGC攻略
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,传入结构化参数与 channelsurface。示例(火车票):

node scripts/train-query.js --departure "北京" --destination "上海" --extra "明天 高铁" --channel webchat --surface webchat

步骤 3:原样输出脚本结果

必须完整输出脚本返回的所有内容:

  • 表格或卡片格式。逻辑由 scripts/lib/output-mode.jsresolve_output_mode 实现。
  • 底部引导语

禁止:

  • ❌ 修改表格格式
  • ❌ 省略底部引导语
  • ❌ 添加脚本未返回的信息

🎁 如何获取 API Key (CHENGXIN_API_KEY)

当鉴权失败或需要配置 API Key 时,请按以下方式申领:

  1. 打开 同程旅行 APP同程旅行小程序(微信 - 我 - 服务 → 火车票机票/酒店民宿)
  2. 在顶部搜索栏中搜索「程心激活码
  3. 按页面提示完成申领即可获取 API Key
  4. 将激活码配置到环境变量或 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 调用示例

同程旅行 · 让旅行更简单,更快乐

Comments

Loading comments...