Back to skills
SKILL.md
Tc Chengxin Search
ASecurity查询同程实时机票、火车、酒店、景点、汽车票、度假与行程资源。需要新增或刷新数据时使用;已有结果的普通追问无需重查。
- 417 stars
- 0 votes
- 0 copies
- 1 view
- Added November 8, 2026
Works with
Security analysis
100/100Pro scans all 20 files and shows the line behind each finding
npx -y skills add infometa/workbuddyskills --skill tc-chengxin-search --agent claude-codeAre you the author of Tc Chengxin Search?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/infometa-tc-chengxin-search)---
name: tc-chengxin-search
description: 查询同程实时机票、火车、酒店、景点、汽车票、度假与行程资源。需要新增或刷新数据时使用;已有结果的普通追问无需重查。
---
# 同程旅行专家查询
自包含专家查询入口,不依赖连接器。负责业务路由与提槽;分流、分析、校验、渲染由 tc-chengxin-analysis 负责。
## 业务路由
| 意图 | 典型说法 | 脚本 |
| --- | --- | --- |
| 机票 | 北京到上海机票、明天飞广州、特价机票 | `scripts/flight-query.js` |
| 火车票 | 北京到上海高铁、苏州到南京火车票 | `scripts/train-query.js` |
| 酒店 | 上海外滩附近酒店、北京五星级酒店 | `scripts/hotel-query.js` |
| 景区/门票 | 苏州园林、杭州亲子景点、迪士尼门票 | `scripts/scenery-query.js` |
| 汽车票 | 苏州到南京大巴、长途汽车票 | `scripts/bus-query.js` |
| 度假/行程 | 三亚自由行、云南旅游团、北京三日游 | `scripts/travel-query.js` |
| 综合交通 | 北京到上海怎么走、去苏州有哪些交通方式 | `scripts/traffic-query.js` |
明确业务用对应脚本;只问怎么走用 traffic-query.js。
规划每天怎么玩用 travel-query.js + --intent itinerary;仅比选跟团/度假产品用 --intent selection,intent 在包装器分隔符 -- 前。不能按响应改变用户目标。
行程先取 travel;缺交通、住宿、景点时由分析 Skill 用回执固化的 completionRequests 并发补查一次,不重新提槽,不按类别串行试查。
## 查询前澄清
复用已确认条件,不靠接口默认日期;只确认会改变查询请求的硬条件。无偏好、比较、约束或规划的普通票务、酒店、景点/门票直接查询并渲染,不询问“快速查询还是专家解读”。需求已有偏好、比较、预算、时段、席别、星级、人群、取舍、行程,或用户明确要求综合解读时才进入专家分析。`direct_render` 结尾会按资源类型提示可继续补充的偏好;同一对话补充后复用本次快照分析,不重查、不授权。
### 票务快速路径
普通“A到B机票/火车票/汽车票”表示本次单程查询。明确往返且缺返程日期才追加返程日期,不问人数、舱位或预算。
火车票城市对或站点对明确但缺日期时不追问,也不先调用日期助手;直接调用分析包装器。包装器会按 `Asia/Shanghai` 当前日期在代码中补次日,并通过 `queryDefaults.departureDate` 回传实际查询日。已有明确日期、相对日期,或用户明确说日期未定/随便看看时不覆盖。
机票缺日期仍运行一次日期助手,并采用返回的 `askUserQuestion` 只问出发日:
node "<本 Skill Base directory>/scripts/date-options.js" --base-date "YYYY-MM-DD" --days 3
汽车票缺日期沿用同样的日期询问。数字日期与星期冲突时用助手的 `--check-date`、`--claimed-weekday`;相对日期可按可靠当前日期和用户时区唯一解析时直接使用。不让模型心算日期,不擅选机票日期。
### 其它边界
- 酒店城市/位置不明先问;只有查指定入住的房价/房态才确认入住、离店。“总部附近酒店”可先推荐,不补日期;人数/房间数只在总价、特定房型可订性或多人入住可行性受影响时问,不是普通附近酒店比选的前置条件。
- 景点归属不明先问;只有可订门票或特定日期票价才确认游玩日期。“银川有什么好玩的”“拙政园门票多少钱”不强问日期、人数、偏好。
- 每日行程缺目的地、天数/范围时先问;“苏州两日游”不强问日期。跨城实时资源再确认出发地、日期。
- “上海出发飞哪里便宜”“苏州到银川怎么走”属于开放探索,不强补目的地/日期,也不宣称某天价格或余票。
地点多义、日期歧义或条件冲突只确认冲突点;明确更正时更新该条件并保留其余项。多个需求一次列出阻塞项;某项无效不阻塞其他完整项。不擅选机票日期或承诺精确报价。
## 参数提取
先在当前轮一次完成六项提取:业务类型、城市或城市对、具体对象、对象关系、日期、限制条件。限制条件必须连同归属一起保留,例如“酒店每晚300元以内”“返程不要大兴机场”,不能拆成失去对象的关键词。提取后只在内部展开一次网关最终句;句子能完整复述用户需求才调用。不要先用简写试查,再根据结果改成完整表达。
- 用户补充回答后只合并新条件,立即按模板请求。没有 --date / --depart-date 参数:机票/火车/汽车的出发日期写 --extra "YYYY-MM-DD 出发";酒店写 --extra "YYYY-MM-DD 入住,YYYY-MM-DD 离店",地标、预算等已有条件一起保留。无需检查日期解析实现或换表达方式试查。
- 默认不传业务 `--query`,使用原有槽位和 `--extra`;酒店地标、附近关系、地址纠正、否定偏好都写入 extra,不因出现这些信息就切换 query 模式。
- `--departure` / `--destination` 放已确认的出发/目的城市;酒店与景点填所在城市。道路、公司、景点、机场和商圈名称放 extra,不替代城市。
- `--departure-station` / `--arrival-station` 放完整站名;明确查某个班次才用 `--train-number` / `--flight-number`;特价机票用 `--low-price`。已选班次号时,城市/站点不会再被网关自动拼入基础句。
- `--extra` 保留槽位基础句未表达的具体对象、地点关系、地址、主题、人群、时间、预算单位及否定条件。地标查询要把城市和地标连在一起写清楚,例如 destination=北京 时用“北京故宫附近、每晚300元以内的酒店”,不能只写“故宫附近300元以内”,也不能缩成“就近住宿”。不擅自把别名扩成未经确认的门牌地址。基础句已完整表达需求且没有附加条件时可省略,不强制塞入“有哪些/好玩的/推荐一下”等泛问词;不得因此省掉“免费/晚上/带孩子/附近”等有效限制。
- 发送前按下表展开一次网关最终句,检查城市、具体对象、关系、方向、日期与限制是否与本轮需求一致。能清楚表达就沿用槽位;关系复杂、槽位模板使意思模糊时,可在 `--` 后传完整 `--query`,不是所有问题都必须传。
- 完整 query 须写全城市、对象、关系和条件,网关不会补槽位/extra;脚本会先合入另传的 extra,但不能替你补城市或解冲突。仍提供本地必需槽位,不绕过缺参确认。query最多2000字、extra最多500字(含行程前缀),超限报错,不截断。
- 不补造门牌、日期、人数、房间数或距离;用户纠正地址时保留原查询目标及未变条件,替换旧地址。地点不确定先澄清或核验,不能换商圈反复试查。
## 网关模板
| 业务 | 槽位基础句与优先级 |
| --- | --- |
| 酒店 | `{destination}的酒店推荐` |
| 景区/门票 | `{destination}的景点`;未传目的地时为“热门景点推荐” |
| 机票 | 先看航班号:`{flightNumber}航班信息`;否则城市对:`{departure}到{destination}的机票`(lowPrice=true 时为“的低价机票”);只有出发地且 lowPrice=true:`{departure}出发的低价机票` |
| 火车 | 车次号优先:`{trainNumber}次列车信息`;其次完整站点对:`{departureStation}到{arrivalStation}的火车票`;再其次城市对:`{departure}到{destination}的火车票` |
| 汽车 | 完整站点对优先:`{departureStation}到{arrivalStation}的长途汽车`;否则城市对:`{departure}到{destination}的长途汽车` |
| 综合交通 | `{departure}到{destination}的交通路线` |
| 旅行 | 有出发地:`从{departure}到{destination}旅游`;否则 `{destination}旅游` |
以上每条都在末尾追加 extra。专家旅行 intent=itinerary 时,包装器还会在 extra 前加“行程规划,按天安排交通、住宿与景点。”;selection 不加。不能把行程规划改成套餐比选,或只把行程意图留在 plan.userRequest 中。
多轮地址纠正、定位/条件归属歧义或完整 query 才读 [提槽示例](references/query-slots.md);不为两种写法重复查询。
泛问景点只填城市;免费、晚上、亲子、火车站附近等限制写入 extra,不补日期。
有结果不证明位置正确;地点或距离未知就说明,仅因新证据或漏传条件重查一次。
## 执行
包装器先从内置 CLI 取/续期Token,有效凭证直接查询;仅未登录/401时调用 tc-chengxin-auth。
加载 tc-chengxin-analysis,通过真实 Base directory 调用包装器,不裸跑查询、不手动导出 Token:
```bash
node "<tc-chengxin-analysis Base directory>/scripts/run-query-with-analysis.js" --query-script "<本 Skill Base directory>/scripts/hotel-query.js" -- --destination "苏州" --extra "同程旅行总部附近的酒店"
```
包装器自动把无偏好简单查询直出;明确专家意图可在分隔符前传 `--response-mode expert`。该控制参数不进入业务查询;分隔符后的 `--query` 才是业务查询。默认用槽位,仅复杂关系才传 query。
补充回答后直接合并槽位并请求;不运行 --help、不读源码、不列目录。返回后严格执行 tc-chengxin-analysis 回执的 nextAction/allowedReads/allowedCalls/retryBudget。聊天精选,HTML/完整MD保留全部候选。
## 异常时按需读取
- 授权未完成或401:调用 tc-chengxin-auth,成功后只重试一次原查询。
- 无数据/超时/组件错误:读 [错误处理](references/workbuddy-errors.md),不虚构结果。
- 环境或输出目录异常:读 [运行配置](references/config.md)。不临时切换生产网关。
Files in this skill
- SKILL.md
- assets/tongcheng-logo.svg.gz
- channel.json
- references/config.md
- references/query-slots.md
- references/workbuddy-acceptance.md
- references/workbuddy-errors.md
- references/workbuddy-output-contract.md
- references/workbuddy-routing.md
- scripts/bus-query.js
- scripts/bus-query.js.gz
- scripts/date-options.js
- scripts/date-options.js.gz
- scripts/flight-query.js
- scripts/flight-query.js.gz
- scripts/hotel-query.js
- scripts/hotel-query.js.gz
- scripts/lib/api-client.js
- scripts/lib/api-client.js.gz
- scripts/lib/base-query.js
Attribution
Related skills
View all in tools →Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.