旅游项目 Skill
一、前置条件(首要步骤,必须先完成)
- - 运行环境:Python 环境,支持 HTTP 调用
- 接入指南:Skill 接入指南
- CTGAPI_KEY:中旅旅行 API Key,用于调用接口
在任何预订/查询流程开始之前,必须先确保 API Key 可用。 获取流程如下:
- 1. 检查配置文件:检查
config/ctgConfig.json 中是否存在 apiKey 字段。 - 索取并持久化:若配置文件中无 API Key,立即向用户索要,并阻塞后续流程直到用户提供。获取后通过命令持久化:
python scripts/apiexe.py set-key --api-key <用户提供的Key>,将 Key 写入 config/ctgConfig.json,后续调用自动读取。 - 禁止访问:当没有获取到 CTGAPIKEY 时不要进行需求识别与分流
话术示例:「为了为您办理预订服务,请提供您的中旅旅行 API Key。您可以在中旅旅行 APP 中获取后提供给我。」
二、需求识别与分流(按需加载指南)
根据用户输入识别意图,仅加载匹配的资源 guide,不预加载全部。
火车票退票、我要退票、申请退款、确认退票 |
guide/train-refund.md |
api/train-refund.json |
|
机票 | 买机票、订机票、买飞机票、预定北京-上海机票、查询航班/机票、明天飞杭州有什么航班、坐飞机去广州、机票订单 |
guide/plane.md |
api/plane.json |
|
机票退订 | 退机票、机票退票、机票退款、申请退款、把刚刚预定的机票退了、取消这张机票(已支付)、张三退票、张三和李四退票 |
guide/plane-refund.md |
api/plane-refund.json |
|
酒店 | 预订酒店、订酒店、订房、酒店订单、我的酒店订单、取消订单(未支付) |
guide/hotel.md |
api/hotel.json |
|
酒店退订 | 退订酒店、酒店退款、申请退款、我要退订 |
guide/hotel-refund.md |
api/hotel-refund.json |
|
门票 | 购买门票、订门票、景区门票、查询门票、门票订单 |
guide/ticket.md |
api/ticket.json |
|
门票退订 | 退门票、门票退票、门票退款、申请退款、把刚刚预定的门票退了、取消这张门票(已支付) |
guide/ticket-refund.md |
api/ticket-refund.json |
- - 模糊推荐:用户说「想去XX旅游」「推荐去哪玩」→ 先推荐目的地,再引导明确资源类型
- 多资源:逐个引导、依次下单
三、整体交互流程
CODEBLOCK0
四、接口调用
- - 执行: INLINECODE4
- 请求超时:「当前系统响应较慢,请稍后再试。」
- 后台报错:转化为通俗话术,禁止暴露接口名、method、技术报错原文
- 多次失败:「抱歉,当前服务暂时繁忙。您可以前往「中旅旅行」App 完成操作,体验更流畅。」
五、入参引导与结果反馈
- - 以 api/*.json 为准:查阅对应 method 的
parameters.required 及 INLINECODE6 - 缺则提示:每次只问一项缺项(如「从哪个城市出发?」),逐步收集
- 完整后再请求:所有必填字段齐备后再调用
- 结果反馈:使用通俗语言,禁止返回原始技术字段。如「您的火车票订单已创建成功,请注意查收通知。」
旅游项目 Skill
一、前置条件(首要步骤,必须先完成)
- - 运行环境:Python 环境,支持 HTTP 调用
- 接入指南:Skill 接入指南
- CTGAPI_KEY:中旅旅行 API Key,用于调用接口
在任何预订/查询流程开始之前,必须先确保 API Key 可用。 获取流程如下:
- 1. 检查配置文件:检查 config/ctgConfig.json 中是否存在 apiKey 字段。
- 索取并持久化:若配置文件中无 API Key,立即向用户索要,并阻塞后续流程直到用户提供。获取后通过命令持久化:python scripts/apiexe.py set-key --api-key <用户提供的Key>,将 Key 写入 config/ctgConfig.json,后续调用自动读取。
- 禁止访问:当没有获取到 CTGAPIKEY 时不要进行需求识别与分流
话术示例:「为了为您办理预订服务,请提供您的中旅旅行 API Key。您可以在中旅旅行 APP 中获取后提供给我。」
二、需求识别与分流(按需加载指南)
根据用户输入识别意图,仅加载匹配的资源 guide,不预加载全部。
火车票退票、我要退票、申请退款、确认退票 |
guide/train-refund.md |
api/train-refund.json |
|
机票 | 买机票、订机票、买飞机票、预定北京-上海机票、查询航班/机票、明天飞杭州有什么航班、坐飞机去广州、机票订单 |
guide/plane.md |
api/plane.json |
|
机票退订 | 退机票、机票退票、机票退款、申请退款、把刚刚预定的机票退了、取消这张机票(已支付)、张三退票、张三和李四退票 |
guide/plane-refund.md |
api/plane-refund.json |
|
酒店 | 预订酒店、订酒店、订房、酒店订单、我的酒店订单、取消订单(未支付) |
guide/hotel.md |
api/hotel.json |
|
酒店退订 | 退订酒店、酒店退款、申请退款、我要退订 |
guide/hotel-refund.md |
api/hotel-refund.json |
|
门票 | 购买门票、订门票、景区门票、查询门票、门票订单 |
guide/ticket.md |
api/ticket.json |
|
门票退订 | 退门票、门票退票、门票退款、申请退款、把刚刚预定的门票退了、取消这张门票(已支付) |
guide/ticket-refund.md |
api/ticket-refund.json |
- - 模糊推荐:用户说「想去XX旅游」「推荐去哪玩」→ 先推荐目的地,再引导明确资源类型
- 多资源:逐个引导、依次下单
三、整体交互流程
用户输入 → 确认 API Key 已配置(无则索要并通过 set-key 持久化) → 匹配资源线 → 加载对应 guide + api → 收集必填参数 → 调用接口 → 话术反馈
四、接口调用
- - 执行:scripts/apiexe.py call --method --arg
- 请求超时:「当前系统响应较慢,请稍后再试。」
- 后台报错:转化为通俗话术,禁止暴露接口名、method、技术报错原文
- 多次失败:「抱歉,当前服务暂时繁忙。您可以前往「中旅旅行」App 完成操作,体验更流畅。」
五、入参引导与结果反馈
- - 以 api/*.json 为准:查阅对应 method 的 parameters.required 及 properties
- 缺则提示:每次只问一项缺项(如「从哪个城市出发?」),逐步收集
- 完整后再请求:所有必填字段齐备后再调用
- 结果反馈:使用通俗语言,禁止返回原始技术字段。如「您的火车票订单已创建成功,请注意查收通知。」