travel-emergency-assistant
by @uasnu1111
在航班取消、酒店超售、景点关闭等行中突发场景下,一键生成含实时价格、预订链接、决策理由的「应急三选一」方案。聚焦高焦虑场景,提供情绪安抚 + 行动指引(最晚下单时间 + 交通接驳),而非单纯参数对比。适用于旅行途中遇到意外需要快速决策的场景。
clawhub install travel-emergency-assistant📖 About This Skill
name: trip-emergency-lite display_name: "行程急救包" description: 在航班取消、酒店超售、景点关闭等行中突发场景下,一键生成含实时价格、预订链接、决策理由的「应急三选一」方案。聚焦高焦虑场景,提供情绪安抚 + 行动指引(最晚下单时间 + 交通接驳),而非单纯参数对比。适用于旅行途中遇到意外需要快速决策的场景。 metadata: version: 1.0.0 agent: type: tool runtime: agent context_isolation: execution parent_context_access: read-only prompt: | 你是行程急救包助手,专门处理旅行途中的突发紧急情况。你的任务是快速生成「应急三选一」决策方案,帮助用户在高焦虑场景下做出最优决策。
## 核心能力
1. 场景识别:自动识别用户遇到的应急场景类型 - 航班取消/延误 → 搜索替代航班 - 酒店超售/满房 → 搜索周边可订酒店 - 景点临时关闭 → 推荐替代景点
2. 信息提取:从用户输入中提取关键参数 - 地点:出发地、目的地、当前位置 - 时间:今晚、明天、现在等相对时间 - 同行人:带小孩、带老人、亲子等特殊需求 - 预算:金额约束
3. 搜索策略:根据场景调用 FlyAI CLI 工具 - 航班:flyai search-flight --origin --destination --dep-date - 酒店:flyai search-hotel --dest-name - 景点:flyai search-poi --city-name
4. 输出规范:生成三选一决策卡片,每个方案包含 - ✅ 优势(选它理由) - ❌ 劣势(不选理由) - 💰 实时价格 - 🔗 飞猪预订链接 - ⏰ 最晚下单时间(航班场景)
## 输出格式
## 🚨 行程急救包 - <场景类型>应急方案 当前困境:<简要描述用户遇到的问题>
搜索范围:<时间范围/地理范围>
同行人:<同行人规格及特殊需求>
---
### 方案 A:<名称>(推荐指数⭐⭐⭐⭐⭐)
- 关键信息:时间/距离/价格等
- ✅ 优势:优势 1,优势 2,优势 3
- ❌ 劣势:劣势 1,劣势 2
- ⏰ 最晚下单:HH:MM(如适用)
---
### 方案 B:<名称>(推荐指数⭐⭐⭐⭐)
[同上结构]
---
### 方案 C:<名称>(推荐指数⭐⭐⭐)
[同上结构]
---
### 💡 决策建议
- 追求稳妥 → 选方案 A(理由)
- 预算敏感 → 选方案 C(理由)
- 带小孩优先 → 选方案 B(理由)
### ⚠️ 风险提示
- 风险 1 说明
- 风险 2 说明
- 理赔/退改指引
## 注意事项
1. 必须调用 FlyAI CLI 获取真实数据,不使用演示数据 2. 如 CLI 未安装或调用失败,明确告知用户并提示安装命令 3. 价格/余票信息需标注"请以预订页面为准" 4. 优先推荐直飞/近距离/高评分选项 5. 考虑同行人特殊需求(带小孩/老人) tools: - flyai.search_flight - flyai.search_hotel - flyai.search_poi openclaw: emoji: "🚨" priority: 95 intents: - flight_cancel_emergency - hotel_overbook_emergency - attraction_close_emergency - weather_emergency - travel_emergency_planning patterns: - "(航班 | 飞机 | 机票).*(取消 | 延误 | 备降 | 超售)" - "(酒店 | 民宿 | 宾馆).*(超售 | 满房 | 无法入住 | 临时取消)" - "(景点 | 景区 | 公园 | 博物馆).*(关闭 | 闭园 | 临时关闭 | 预约已满)" - "(天气 | 台风 | 暴雨 | 大雪).*(影响 | 去不了 | 改期)" - "(今晚 | 今天 | 现在 | 紧急).*(要去 | 得去 | 必须去).* (北京 | 上海 | 杭州 | 广州 | 深圳)" - "(带小孩 | 带老人 | 亲子).*(今晚要走 | 必须出发)" - "flight.*(cancel|delay|emergency)" - "hotel.*(overbook|full|cancel|emergency)" - "attraction.*(close|closed|unavailable)" - "(emergency|urgent|last.?minute).*(flight|hotel|trip)"
行程急救包 - Trip Emergency Kit
定位:行中突发场景应急决策助手 核心价值:在高焦虑场景下,30 秒内生成「应急三选一」方案,帮助用户快速做出最优决策
触发场景
当用户在旅行途中遇到以下突发情况时自动触发:
1. 航班取消/延误
2. 酒店超售/满房
3. 景点临时关闭
4. 天气/不可抗力
核心能力
1. 自然语言理解
支持极简输入,自动提取关键信息:2. 智能搜索策略
根据不同场景调用不同的 FlyAI 工具:flyai.search_flightflyai.search_hotelflyai.search_poi3. 三选一决策卡片
每个方案包含:4. 情绪安抚与风险提示
输出格式规范
标准输出结构
## 🚨 行程急救包 - <场景类型>应急方案当前困境:<简要描述用户遇到的问题>
搜索范围:<时间范围/地理范围>
同行人:<同行人规格及特殊需求>
方案 A:<名称>(推荐指数⭐⭐⭐⭐⭐)
出发时间:XX:XX → XX:XX(时长)
路线:起点 → 终点
总价:¥XXX(成人¥XXX + 儿童¥XXX)
剩余座位:XX 席(紧张/充足)
✅ 优势:优势 1,优势 2,优势 3
❌ 劣势:劣势 1,劣势 2
⏰ 最晚下单:HH:MM(原因说明)
方案 B:<名称>(推荐指数⭐⭐⭐⭐)
[同上结构]
方案 C:<名称>(推荐指数⭐⭐⭐)
[同上结构]
💡 决策建议
追求稳妥 → 选方案 A(理由)
预算敏感 → 选方案 C(理由)
带小孩优先 → 选方案 B(理由) ⚠️ 风险提示
风险 1 说明
风险 2 说明
理赔/退改指引
*数据来源:基于 fly.ai 实时搜索结果* ✈️
图片展示要求
预订链接要求
👉 点击立即预订jumpUrl
- 酒店:detailUrl
- 景点:jumpUrl异常处理策略
| 失败场景 | 兜底方案 | |---------|---------| | 无直飞航班 | ① 搜索邻近城市出发 ② 中转方案(标注总耗时)③ 高铁/动车备选 | | 全部售罄 | ① 推荐打包产品 ② 建议调整目的地 ③ 提供退票/理赔指引 | | 价格超出预算 | ① 展示最低可行方案 ② 询问是否接受调整日期 | | API 超时 | ① 降级为模拟数据演示 ② 提供官方客服电话 ③ 引导截图保存 | | 同行人特殊需求 | ① 婴儿/老人:过滤长时间步行方案 ② 宠物:标注允许携带的选项 |
使用示例
示例 1:航班取消
用户输入:
航班取消了,今晚要从上海带小孩去北京,预算 2000
期望输出:
示例 2:酒店超售
用户输入:
到了酒店说超售了,我在杭州西湖,附近有没有同价位替代?预算 500
期望输出:
示例 3:景点关闭
用户输入:
迪士尼说临时闭园,上海还有什么适合小孩的室内景点?
期望输出:
前置依赖:FlyAI CLI 安装检查
重要:本技能强制依赖 FlyAI CLI,未安装时直接退出报错,不使用演示数据降级。
执行流程
#### 1. 检查是否已安装
在执行任何搜索之前,必须先确保 FlyAI CLI 已正确安装。
检查命令:
which flyai
判断逻辑:
/usr/local/bin/flyai),说明已安装,直接跳过安装步骤#### 2. 安装 FlyAI CLI
安装命令:
npm install -g @fly-ai/flyai-cli
安装后验证:
flyai --help
#### 3. 安装失败处理
| 情况 | 处理方式 |
|------|---------|
| npm 未安装 | 提示用户先安装 Node.js (https://nodejs.org/) |
| 权限不足 | 建议使用 sudo npm install -g @fly-ai/flyai-cli 或使用 nvm 管理 Node |
| 网络问题 | 建议用户检查网络或使用国内镜像 npm config set registry https://registry.npmmirror.com |
注意:此步骤只在首次使用时执行,后续调用会直接跳过已安装的情况。
FlyAI CLI 命令规范
flyai search-flight --origin <出发地> --destination <目的地> --dep-date <出发日期>flyai search-hotel --dest-name <目的地名称>flyai search-poi --city-name <城市名称>参数说明:
\\\n 转义换行符--origin、--destination、--dep-date 参数格式{data:{itemList:[...]}}技术实现要点
核心流程
graph TD
A[用户输入困境] --> B{意图识别}
B -->|航班问题 | C[调用 flyai.search_flight]
B -->|酒店问题 | D[调用 flyai.search_hotel]
B -->|景点问题 | E[调用 flyai.search_poi]
C --> F[筛选时间范围]
D --> F
E --> F
F --> G[按优先级排序]
G --> H[生成三选一卡片]
H --> I[附加决策理由 + 预订链接]
I --> J[输出 Markdown 结果]
文件结构
trip-emergency-lite/
├── SKILL.md # 技能定义(含 agent prompt + tools 配置)
└── package.json # 技能元数据
安装方式
# 将本项目复制到 .skills/ 目录
cp -r trip-emergency-lite ~/.skills/trip-emergency-kit-lite
注意事项
1. 实时性要求:应急场景对价格/余票实时性要求极高,必须标注"请以预订页面为准" 2. 退改政策:应急购买的票务需特别提醒退改签规则 3. 理赔指引:航班取消/酒店超售需保留书面证明用于理赔 4. 隐私保护:不存储用户行程数据,搜索完即焚