fbt-travel

一站式企业差旅服务,提供酒店搜索预订、机票查询预订、改期退票等全流程服务。智能需求确认、后台静默认证、表格对比展示。基于分贝通官方数据,实时准确可靠。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "fbt-travel" with this command: npx skills add Fenbeitong/fbt-travel

分贝通 — 企业差旅预订助手

企业差旅一站式服务,酒店+机票全流程

📚 参考文档(按需读取)

  • references/HOTEL_FLOW.md — 酒店搜索预订完整流程(需求确认、模板、展示规范)
  • references/FLIGHT_FLOW.md — 机票搜索预订完整流程
  • references/OUTPUT_FORMAT.md — 输出格式规范(对比表格、房型详情、预订成功等模板)
  • references/HOTEL_API.md — 酒店API调用规范
  • references/INTERACTION_FLOW.md — 交互流程规范

🎯 适用场景

场景示例
✅ 酒店搜索预订"北京三元桥附近酒店"、"明天入住上海酒店"
✅ 机票搜索预订"北京到上海航班"、"明天飞广州"
✅ 改期/退票"帮我改期到下周"、"退掉这个机票"
✅ 订单查询"查看我的订单"、"订单详情"

不适用:个人旅行规划、景点推荐、签证办理、非差旅类服务


🚀 标准执行流程

步骤 1:后台认证检查(静默)

python3 scripts/check_auth.py 2>/dev/null
  • ✅ 已认证 → 直接进入步骤2
  • ❌ 未认证 → 引导输入手机号,使用 unified_auth.py

步骤 2:意图识别 + 需求确认

根据用户输入判断意图类型,必须先确认需求再查询数据

  • 酒店 → 按下方「酒店需求确认」执行
  • 机票 → 读取 references/FLIGHT_FLOW.md 获取需求确认清单
  • 订单 → 直接查询

🏨 酒店需求确认(强制执行)

🚨 以下流程每次酒店需求必须完整执行,不可跳过任何步骤:

第1步:向用户询问以下信息(一次性发送):

为了给您推荐最合适的酒店,请补充以下信息:

**必要信息**:
- 📅 入住日期?(哪天入住,住几晚)
- 💰 预算范围?(如:500元/晚以内,未给出默认300-800元区间)
- 👥 入住人数?(几人入住,需要几间房)
- 📍 区域偏好?(必须确认,可参考下方区域介绍)

**推荐补充**(可选):
- 🏨 酒店等级偏好?(经济型/舒适型/高档型/豪华型,可多选)
- 🍳 其他偏好?(含早餐/有窗/亲子友好/可带宠物/有泳池/有健身房)

第2步(强制)必须同时展示区域推荐,在上述询问的同一消息中紧随其后。

🚨 区域推荐必须根据用户指定的城市动态生成,禁止使用固定模板。

动态区域推荐规则

  • 根据用户查询中的 城市名称,解析该城市的 商务区 + 景区/商圈
  • 共推荐 5-10个区域,分为两类:
    • 商务出行区域:CBD、科技园、金融中心、产业基地等(3-5个)
    • 旅游出行区域:著名景点周边、历史文化区、核心商圈等(3-5个)
  • 每个区域附 一句话描述(位置、特色、适合什么出行)
  • Agent 根据自身知识生成,不依赖外部搜索

输出格式

**📍 [城市名]热门区域推荐**

**商务出行区域**:
- 🏢 **区域名**:一句话描述
- 💻 **区域名**:一句话描述
- ...(3-5个)

**旅游出行区域**:
- 🎭 **区域名**:一句话描述
- 🏟️ **区域名**:一句话描述
- ...(3-5个)

请回复您偏好的区域,或回复 **系统推荐** 由我自动为您选取热门区域酒店。

示例(北京)

**📍 北京热门区域推荐**

**商务出行区域**:
- 🏢 **国贸CBD**:核心商务区,国际企业聚集,交通便利
- 💻 **中关村**:科技创新中心,科技公司聚集
- 🌃 **望京**:新兴商务区,韩企聚集,餐饮丰富
- 🔧 **上地软件园**:IT产业基地,互联网大厂聚集

**旅游出行区域**:
- 🎭 **王府井**:核心商圈,临近故宫天安门
- 🏟️ **鸟巢/奥体**:奥运场馆区,临近森林公园
- 🌊 **什刹海**:老北京风情,胡同文化
- 🏯 **颐和园**:皇家园林,西山景区
- 🌿 **天坛**:历史遗迹,交通便利

⚠️ 禁止行为:只询问需求不展示区域推荐 ❌、分两条消息分别发送 ❌

第3步(强制):用户回复完整需求后,必须先展示需求汇总表格,然后才查询和展示酒店。

⚠️ 需求汇总必须在查询数据之前发送,禁止跳过或与酒店列表合并为一条消息

需求汇总表格格式(必须表格形式):

我已经收到您的完整需求:

| 项目 | 您的需求 | 状态 |
|------|---------|:---:|
| 📅 入住日期 | X月X日 | ✅ |
| 📅 住宿晚数 | X晚 | ✅ |
| 💰 预算范围 | ¥XXX/晚 | ✅ |
| 👥 入住人数 | X人X间房 | ✅ |
| 📍 区域偏好 | XXX | ✅ |
| 🏨 酒店等级 | XXX | ✅ |
| 🍳 其他偏好 | XXX | ✅ |

现在为您查询数据并展示结果...

第4步:查询数据后,以表格形式展示酒店推荐列表。

⚠️ 酒店列表必须使用表格,禁止纯文本列表

酒店推荐列表表格格式

## 🏨 [城市][区域]酒店推荐

找到 **X** 家酒店

| 方案 | 酒店 | 星级 | 评分 | 单晚价格 | X晚总价 | 预算内 | 推荐理由 |
|:---:|:---|:---:|:---:|:---:|:---:|:---:|:---|
| **A** | 酒店名 | 星级 | X.X分 | ¥XXX起 | ¥XXX起 | ✅/⚠️ | 理由1+理由2 |
| **B** | 酒店名 | 星级 | X.X分 | ¥XXX起 | ¥XXX起 | ✅/⚠️ | 理由1+理由2 |
| **C** | 酒店名 | 星级 | X.X分 | ¥XXX起 | ¥XXX起 | ✅/⚠️ | 理由1+理由2 |

⚠️ 标注「⚠️」的酒店可能超出预算,建议查看含早房型具体价格。

---
回复 **A/B/C** 查看房型详情(含早餐价格)
回复 **A+B** 对比两家酒店

表格列说明

  • 方案:用字母 A/B/C 标注,方便用户选择
  • X晚总价:根据住宿晚数计算
  • 预算内:总价在预算内标 ✅,可能超出标 ⚠️
  • 推荐理由:从API返回的推荐理由中提取,简洁为主

第5步:查询结果<3家时,按 星级→预算→区域 自动放宽条件。

系统推荐逻辑:用户回复「系统推荐」→ 选取商务区+旅游区各1-2个代表性区域 → 每区2家 → 按区域分组展示。

更多酒店流程细节见 references/HOTEL_FLOW.md


步骤 3:数据查询

需求确认后调用对应脚本(静默执行,不显示"查询中"提示):

功能命令
酒店搜索python3 scripts/hotel_api.py search <城市> <关键词>
酒店价格python3 scripts/hotel_api.py price <酒店ID> <入住日期> <退房日期>
酒店对比python3 scripts/hotel_api.py compare <酒店A_ID> <酒店B_ID>
快速预订python3 scripts/hotel_api.py book <酒店ID> <房型名> <入住人> <手机号>
航班搜索python3 scripts/flight_search.py <出发> <到达> <日期>
舱位价格python3 scripts/flight_price.py <航班ID>
机票下单python3 scripts/flight_order.py
订单详情python3 scripts/flight_order_detail.py <订单号>
改期python3 scripts/flight_endorse_search.pyflight_endorse_price.pyflight_endorse_apply.py
退票python3 scripts/flight_refund_fee.pyflight_refund_apply.py
取消python3 scripts/flight_cancel.py <订单号>

步骤 4:展示结果

读取 references/OUTPUT_FORMAT.md 按对应模板输出。

核心规则

  • 飞书不支持 Markdown 表格语法,所有表格必须使用飞书消息卡片(Interactive Card)的 column_set 组件渲染
  • 使用 message 工具 action=send + card 参数发送卡片
  • 结构性数据用表格,描述性总结用纯文本(纯文本仍用卡片 markdown 元素)
  • 编号放入名称列:方案编号(A/B/C)直接放在酒店名/房型名内,取消独立编号列,避免折行错位
  • 长名称列加大权重:酒店名/房型名列 weight=5,其他列 weight=1~2
  • 短文本独立卡片:面积+窗户+取消政策合并为一张补充卡片紧随主表;窗户从主表移出
  • 含早推荐不重复取消政策:含双早推荐卡片不单独展示取消政策,需要时查看全部房型一览即可
  • 窗户显示规则:有窗显示「有窗」,无窗显示「无窗」,部分有窗显示「部分」(不加emoji)
  • 竞对表格带按钮:竞对价格对比表格每行增加「查看」链接按钮,点击跳转对应OTA平台
  • 数据源隔离:A/B 对比只能使用 compare API 返回的房型数据,禁止混入 price API 的额外房型;酒店详情(查看单酒店)才使用 price API 的全量房型数据
  • 数据完整性过滤:房型必须同时有「床型」和「面积」信息才展示,只有孤立房型名称而无床型/面积的条目视为脏数据,直接删除
  • 数据去重:同房型同名只保留最优价格(最低价/含早最低价),禁止重复展示
  • 酒店去重:同酒店同名只保留最低价条目
  • 展示数量一致性:头部显示「找到X家」必须与表格实际展示的酒店数完全一致,编号A-E对应5家,不展示超出编号的额外酒店
  • 推荐列表必须包含推荐理由,不得丢弃脚本返回的关键推荐理由
  • 房型详情中所有房型合为一张表格,禁止每个房型单独分段
  • 完整展示:必须展示脚本返回的所有模块(基本信息、评价、全部房型、含早推荐、价格对比、竞对对比),不得省略任何模块
  • 卡片大小限制约15KB,超出时拆分为多条卡片发送
  • 价格字段原样输出,不做转换
  • 飞书卡片不支持 emoji:用文字替代或用 <font color='orange'>文字</font> 彩色标注
  • 加粗限制**加粗** 中间不能有表情符号或中文标点

🔐 认证

统一认证(一次验证,机票+酒店通用):

python3 scripts/unified_auth.py send <手机号>
python3 scripts/unified_auth.py verify <手机号> <验证码>
python3 scripts/unified_auth.py status
python3 scripts/unified_auth.py clear

认证文件:~/.fbt-unified-auth.json(优先) > ~/.fbt_auth.json / ~/.fbt-auth.json(兼容旧版)


⚠️ 注意事项

  1. PII安全:乘客信息仅在预订时发送,不记录日志
  2. 强制确认:预订前必须获取入住人/乘客信息;退票前必须确认退票费用
  3. 数据真实性:所有数据来自API,不得编造
  4. 自动放宽:搜索结果<3家时,按 星级→预算→区域 顺序放宽条件

📁 文件结构

fbt-travel/
├── SKILL.md                  # 本文件(核心流程)
├── skill.json
├── requirements.txt
├── scripts/                  # 功能脚本(auth, hotel, flight, common 等)
└── references/               # 详细参考文档(按需读取)
    ├── HOTEL_FLOW.md         # 酒店完整流程
    ├── FLIGHT_FLOW.md        # 机票完整流程
    ├── OUTPUT_FORMAT.md      # 输出格式模板
    ├── HOTEL_API.md          # API规范
    └── INTERACTION_FLOW.md   # 交互流程

分贝通 · 让企业差旅更简单

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Mzu 每日简报

多源 AI 科技新闻简报聚合器。覆盖 AI 大模型、科技、财经,按热度分级输出,来源全程可溯。AIHOT 168 信源并行覆盖。8 维度强制搜索,15-20 条精选内容。支持 Twitter/X 和 Grok API。

Registry SourceRecently Updated
General

Ansys Inc

Leader in engineering simulation software providing digital twin infrastructure for industrial R&D across aerospace, automotive, semiconductor, and energy se...

Registry SourceRecently Updated
General

私人专属音色生成工具(合规版)

声音复刻技能,使用 AI Artist API 进行音色克隆和语音合成。支持查询已有音色、上传音频创建新音色、使用指定音色合成语音。 ⚠️ 使用前必须设置环境变量 AI_ARTIST_TOKEN 为你的 API Key! 需要 API Key 授权:已有账号请前往 https://ai.deepsop.com/l...

Registry SourceRecently Updated
General

xhs-title-copywriter(小红书爆款标题生成器)

专为小红书内容创作打造的爆款标题生成工具,基于全网每日持续收录的2000+条爆款笔记数据,抓取高互动爆款笔记的标题结构、关键词布局与情绪钩子,通过AI智能分析拆解爆款标题逻辑,结合用户输入的核心信息、产品卖点及选题方向,精准匹配平台受众喜好,一键生成10个优质爆款标题,告别标题纠结,轻松提升笔记点击率与曝光量。

Registry SourceRecently Updated