Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

fbt-travel

v2.7.0

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

0· 111·0 current·0 all-time
byfenbeitong-trip@gaogao605·duplicate of @gaogao605/fenbeitong-travel

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for gaogao605/fbt-travel.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "fbt-travel" (gaogao605/fbt-travel) from ClawHub.
Skill page: https://clawhub.ai/gaogao605/fbt-travel
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: python3
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install fbt-travel

ClawHub CLI

Package manager switcher

npx clawhub@latest install fbt-travel
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
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (corporate travel booking) match the included files and behavior: hotel and flight search/booking, change/refund flows, formatting and order creation. Required binary is only python3 which is appropriate. No unrelated service credentials or unrelated binaries are requested.
Instruction Scope
SKILL.md instructs the agent to run the bundled Python scripts (check_auth.py, hotel_api.py, flight_* scripts) and to perform demand-confirmation dialogs before calling APIs. The instructions explicitly suppress auth-check output (silent/background check). This is coherent with the skill's UX goals but means the agent will read local auth files and call network APIs without surfacing those checks unless needed.
Install Mechanism
No external install/downloads; code is bundled in the skill. requirements.txt only lists 'requests'. No remote arbitrary-code fetch or extractor URLs were used.
Credentials
The skill does not request environment variables but reads/writes auth files in the user's home (~/.fbt_auth.json and ~/.fbt-auth.json) and writes temporary json files (seat/price caches). That file access is expected for persistent tokens but is a privacy consideration: the skill will store identity tokens and may accept/send PII (phone numbers, passenger names, ID numbers) during booking operations.
Persistence & Privilege
always:false and no elevated platform privileges. The skill persists tokens/config by writing files to the user's home directory and temp files — expected for client-side credential caching, but it does modify user files on disk. It does not change other skills or system-wide settings.
Assessment
This skill appears coherent for interacting with Fenbeitong APIs; before installing, consider: (1) it will store authentication tokens in your home directory (~/.fbt_auth.json and ~/.fbt-auth.json) and write temporary JSON files — review/clean those files if needed; (2) you will be asked to provide phone numbers and, at booking time, passenger names and ID numbers — only provide PII when you trust the endpoint; (3) network calls go to app-gate.fenbeitong.com (the code contains that domain and a default test token); (4) the skill suppresses auth-check output by design, so authentication checks happen quietly; (5) validate any payment links before clicking (the code returns pay_url values and formats them as links). If you need higher assurance, inspect the bundled scripts locally or run them in an isolated environment before granting broader agent access.

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

Runtime requirements

🧳 Clawdis
Binspython3
latestvk977s0vyahtbck1v6ax1f3myqh85bykv
111downloads
0stars
2versions
Updated 5d ago
v2.7.0
MIT-0

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

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


✅ 执行前自检清单

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

  1. 已读取用户查询的完整文本(城市、日期、人数等)
  2. 已确定正确的意图类型(酒店/机票/订单)
  3. 已检查认证状态,未认证则引导认证
  4. 准备调用对应的专用脚本
  5. 准备按强制格式输出结果

🎯 适用场景边界

✅ 使用此技能

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

❌ 不使用此技能

  • 个人旅行规划、景点推荐 → 使用 travel-plannerflyai
  • 特价机票查询 → 使用 chengxinflyai
  • 签证、护照办理流程
  • 非差旅相关的外卖、打车等

🚀 标准执行流程

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

重要:认证检查在后台静默执行,不在前台向用户展示认证状态

# 后台检查(不输出给用户)
python3 scripts/check_auth.py 2>/dev/null

处理逻辑

  • ✅ 已认证 → 直接进入步骤2(无任何提示)
  • ❌ 未认证 → 引导输入手机号

步骤 2:需求确认(必须执行)

⚠️ 核心规则:给出推荐信息之前,必须首先确认用户的真实需求

酒店预订必须确认以下信息(按优先级排序):

📋 需求确认询问模板

当用户提出酒店需求时,先询问以下信息,再搜索推荐

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

**必要信息**:
- 📅 入住日期?(哪天入住,住几晚)
- 💰 预算范围?(如:500元/晚以内)
- 👥 入住人数?(几人入住,需要几间房)
- 🏨 酒店等级偏好?(经济型/舒适型/高档型/豪华型)

**推荐补充**(可选):
- 📍 区域偏好?(市中心/景区周边/临近地铁/临近机场)
- 🍳 其他偏好?(含早餐/有窗/亲子友好/可带宠物/有泳池/有健身房)

请逐项回复,我会为您精准匹配酒店。

📋 需求确认清单

信息项重要性说明示例
📅 入住日期必须入住哪天,住几晚"5月1日住2晚"
💰 预算范围必须每晚预算上限"500元/晚以内"
👥 入住人数必须几人几房"2人1间房"
🏨 酒店等级必须等级偏好"舒适型或高档型"
📍 区域偏好推荐位置需求"市中心/临近地铁"
🍳 其他偏好推荐特殊需求"含早餐/亲子友好"

⚠️ 强制执行规则

搜索酒店前必须

  1. ✅ 已获取入住日期和天数
  2. ✅ 已获取预算范围
  3. ✅ 已获取入住人数和房间数
  4. ✅ 已获取酒店等级偏好

信息不完整时

  • 禁止直接搜索和推荐酒店
  • 必须先询问上述必要信息

示例对话

用户: 推荐北京的酒店

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

    **必要信息**:
    - 📅 入住日期?(哪天入住,住几晚)
    - 💰 预算范围?(如:500元/晚以内)
    - 👥 入住人数?(几人入住,需要几间房)
    - 🏨 酒店等级偏好?(经济型/舒适型/高档型/豪华型)

    **推荐补充**(可选):
    - 📍 区域偏好?(市中心/景区周边/临近地铁)
    - 🍳 其他偏好?(含早餐/有窗/亲子/宠物/泳池)

    请逐项回复,我会为您精准匹配酒店。

用户: 5月1日住2晚,预算400以内,2人1间房,舒适型,临近地铁

AI: 🔍 正在查询北京5月1日入住、2晚、400元以内、舒适型、临近地铁的酒店...

    [展示酒店列表]

步骤 3:安抚等待

API 查询时简短提示:

🔍 正在查询分贝通实时数据...

步骤 4:调用专用脚本

按意图路由执行对应脚本

步骤 5:展示结果

根据需求完整度选择展示方式

  • 需求完整 → 采用表格对比展示
  • 需求不完整 → 采用简洁列表展示

📋 输出规范

⚠️ 强制格式要求

酒店对比展示必须严格按以下格式输出,不得添加任何额外内容!


场景A:用户选择 A/B 对比后 → 强制表格对比格式

必须严格按以下模板输出(不可修改结构):

---
**📋 酒店A vs 酒店B 房型对比**
---
**酒店A - 等级A**

| 房型 | 床型 | 面积 | 窗户 | X晚价格 | 双早价格 | 推荐度 |
| -------- | -------- | -------- | -------- | -------- | -------- | -------- |
| 推荐房型 ⭐ | 床型描述 | XX㎡ | ✅有窗 | ¥XXX | ¥XXX | 首选 |
| 其他房型 | 床型描述 | XX㎡ | 有窗/无窗 | ¥XXX | 可选/无 | 备选 |

---
**酒店B - 等级B**

| 房型 | 床型 | 面积 | 窗户 | 单晚价格 | X晚预估 | 双早可选 |
| -------- | -------- | -------- | -------- | -------- | -------- | -------- |
| 推荐房型 ⭐ | 床型描述 | XX㎡ | ✅有窗 | ¥XXX起 | ~¥XXX | ✅¥XXX |
| 其他房型 | 床型描述 | XX㎡ | 有窗/无窗 | ¥XXX起 | ~¥XXX | ✅¥XXX |

---
**📊 XX房对比(符合需求)**

| 对比项 | 酒店A·房型X | 酒店B·房型Y |
| -------- | -------- | -------- |
| 🏷️ 酒店等级 | 等级A ✅ | 等级B |
| 🛏️ 床型 | 床型 ✅ | 床型 ✅ |
| 📐 面积 | XX㎡ ✅ | XX㎡ |
| 🪟 窗户 | 有窗 ✅ | 有窗 ✅ |
| 🍳 双早价格 | ¥XXX ✅ | ¥XXX |
| 💰 X晚总价 | ¥XXX ✅ | ¥XXX |
| 📏 取消政策 | 限时取消 ✅ | 不可取消 |

---
**🎯 综合推荐**

| 推荐顺序 | 酒店 | 房型 | X晚价格 | 原因 |
| -------- | -------- | -------- | -------- | -------- |
| ⭐ 首选 | 酒店A | 房型X | ¥XXX | 原因1+原因2+原因3 |
| 备选 | 酒店B | 房型Y | ¥XXX | 原因 |

---
**💡 建议**

回复 **序号+入住人信息** 预订

🚫 禁止事项

禁止行为说明
❌ 添加酒店图片对比表格中不展示图片
❌ 添加酒店详情不展示地址、电话、评分等详细信息
❌ 修改表格结构必须按上述固定结构输出
❌ 添加额外模块只输出对比表+推荐表+建议
❌ 省略分隔线每个模块前必须有 ---

✅ 格式检查清单

每次输出前必须确认:

  • 是否以 ---**📋 酒店... 开头?
  • 是否有酒店A房型表?
  • 是否有酒店B房型表?
  • 是否有核心对比表?
  • 是否有综合推荐表?
  • 是否有建议和预订指引?
  • 是否没有添加图片/详情等额外内容?

场景B:需求不完整 → 简洁列表展示

当用户需求不完整时,采用简洁列表:

**推荐2-3家酒店**:

| 方案 | 酒店 | 价格 | 符合需求 |
|:---:|:---:|---:|:---:|
| **A** | 酒店名 | ¥XXX起 | ✅说明 |
| **B** | 酒店名 | ¥XXX起 | ⚠️说明 |

---

回复 **A** 或 **B** 查看房型详情

场景C:预订成功 → 按钮形式展示支付链接

⚠️ 支付链接必须使用按钮形式,不得平铺URL

采用以下格式:

---
**✅ 预订成功**

| 项目 | 详情 |
| -------- | -------- |
| 酒店 | 酒店名称(景区位置) |
| 房型 | 房型名称 |
| 日期 | 入住日期 → 退房日期(X晚) |
| 价格 | ¥XXX(含早餐说明) |
| 入住人 | 姓名 |
| 订单号 | **订单ID** |

---

**🔗 支付链接**

[点击支付](支付URL)

---

**💡 完成支付后可在分贝通APP查看订单详情**

禁止事项

  • ❌ 不得平铺完整URL链接
  • ❌ 不得使用纯文本形式展示链接

示例对比

格式说明
❌ 错误https://app-gate.fenbeitong.com/business/hotel/...
✅ 正确点击支付

🔐 统一认证流程

⚠️ 智能认证检查:系统会自动检测认证状态,已认证的功能无需重复登录

自动认证检查(每次查询前执行)

调用任何功能前,自动执行:

python3 scripts/check_auth.py

返回状态

  • ✅ 已认证 → 直接执行查询
  • ⚠️ 已过期 → 引导重新登录
  • ❌ 未认证 → 引导输入手机号

双系统认证说明

分贝通酒店和机票使用独立认证系统

系统认证文件有效期功能范围
机票~/.fbt_auth.json90天航班搜索、预订、改期、退票
酒店~/.fbt-auth.json90天酒店搜索、预订、取消

认证状态独立判断

  • 查酒店时只检查酒店认证状态
  • 查机票时只检查机票认证状态
  • 已认证的功能直接执行,无需重复登录

📝 完整对话示例

场景1:需求完整 → 直接搜索

用户: 北京三元桥附近酒店 明天入住 预算500

AI: 🔍 正在查询三元桥附近、500元以内的酒店...

    [展示酒店列表]
    
    回复 A 或 B 查看房型详情

场景2:需求不完整 → 先询问

用户: 北京酒店

AI: 请补充以下信息:
    - 入住日期?(明天/具体日期)
    - 入住天数?(住几晚)
    - 预算范围?(如:500元以内)
    - 入住人数?(几人入住,几间房)
    - 酒店等级?(经济型/舒适型/豪华型)

⚠️ 重要注意事项

  1. PII 安全:乘客信息仅在预订时发送,不记录在日志

  2. 强制确认

    • 预订前必须获取入住人/乘客信息
    • 退票前必须让用户确认退票费用
  3. 数据真实性:所有展示数据来自 API,不得编造

  4. 价格原样:价格字段不做任何转换或四舍五入

  5. 强制格式:酒店对比必须按表格对比格式输出,不添加额外内容


📁 文件结构

fbt-travel/
├── SKILL.md                    # 技能文档
├── skill.json                  # 元数据
├── scripts/
│   ├── auth.py                 # 机票认证
│   ├── check_auth.py           # 统一认证检查
│   ├── unified_auth.py         # 统一认证助手
│   ├── cache_price.py          # **价格缓存模块**(v2.4.0新增)
│   ├── common.py               # 公共函数
│   ├── hotel_api.py            # 酒店API(含缓存、快速预订)
│   ├── flight_search.py        # 航班搜索
│   ├── flight_price.py         # 舱位价格
│   ├── flight_order.py         # 机票下单
│   ├── flight_order_detail.py  # 订单详情
│   ├── flight_cancel.py        # 取消订单
│   ├── flight_endorse_*.py     # 改期
│   ├── flight_refund_*.py      # 退票
│   └── formatter.py            # 格式化模块
│   └── video_demo.py           # 酒店视频展示Demo(v2.6.0新增)
└── references/
    ├── INTERACTION_FLOW.md     # 交互流程规范
    ├── interaction-flow.jpg    # 流程图
    └── HOTEL_API.md            # API规范

⚡ 性能优化(v2.4.0)

价格缓存机制

优化项说明
缓存文件~/.fbt_price_cache.json
缓存时机价格查询时自动保存
缓存内容hotel_id, room_id, plan_id, total_price
预订提速从缓存读取,无需重复查询API

快速预订命令

# 传统预订流程(慢)
# 1. 查询价格 → 2. 解析房型 → 3. 获取ID → 4. 创建订单

# 快速预订流程(快)
# 1. 查询价格(自动缓存)→ 2. 快速预订(从缓存读取)

python3 scripts/hotel_api.py book <酒店ID> <房型名称> <入住人> <手机号>

预订速度对比

方式API调用次数预订耗时
传统预订2-3次5-10秒
快速预订1次1-2秒

📚 参考文档

  • references/INTERACTION_FLOW.md - 交互流程规范(重要)
  • references/interaction-flow.jpg - 交互流程图
  • references/HOTEL_API.md - 酒店API规范

版本历史

版本日期变更说明
2.6.72026-04-22文件清理:删除references/interaction-flow.jpg图片文件,精简技能包体积
2.6.62026-04-22版本历史描述修正:竞对价格对比逻辑描述优化,明确竞对价格低于分贝通展示OTA价格优势、分贝通企业专享价优势(报销便捷、合规保障)
2.6.52026-04-22新增北京通州皇冠假日酒店:添加酒店视频、地图、竞对价格对比、推荐信息
2.6.42026-04-22竞对价格对比优化:去掉链接列、竞对价格低于分贝通(展示OTA价格优势)、增加酒店信息+推荐理由模块、分贝通展示企业专享价优势(报销便捷、合规保障)
2.6.32026-04-22竞对价格对比优化:模拟竞对价格表,部分平台价格低于分贝通显示⚠️提示+跳转查看链接,分贝通显示企业专享价
2.6.22026-04-22酒店详情地图+视频:展示房型详情时自动显示酒店地图和视频链接,支持嘉士德酒店和柏曼酒店
2.6.12026-04-22强制需求确认:给出推荐信息之前必须先确认用户真实需求(入住天数/预算范围/入住人数/酒店等级/区域偏好/其他偏好),禁止信息不完整时直接推荐
2.6.02026-04-22竞对价格对比:展示携程/同程/飞猪价格对比,凸显分贝通企业价优势5-15%
2.5.12026-04-22地图展示功能:支持将360地图链接集成到酒店展示,展示顺序调整为地图→视频→酒店详情
2.5.02026-04-22视频展示功能:支持将宣传视频链接集成到酒店展示,新增video_demo.py模块
2.4.02026-04-21预订速度优化:添加价格缓存机制,预订时从缓存读取room_id/plan_id,无需重复查询API
2.3.02026-04-21支付链接按钮形式:预订成功后支付链接采用按钮形式,不得平铺URL
2.2.02026-04-21强制表格对比格式:禁止添加图片/详情,必须按固定结构输出
2.1.02026-04-21表格对比展示格式:酒店房型对比表+双床房对比表+综合推荐表
2.0.02026-04-21详细对比展示模式:需求完整时采用预算分析+推荐方案对比表+酒店详情表+房型对比表+预订指引的结构化展示
1.9.02026-04-21智能推荐理由:自动生成预算内、评分优、连锁品牌、临近地铁、性价比等推荐标签

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

Comments

Loading comments...