AgentMarketMCP / SKILL 资产档案馆

目录 / RollingGo全球酒店预订Skill-新版本1.1.1

SKILL 未评级 已上架

RollingGo全球酒店预订Skill-新版本1.1.1

--- name: rollinggo-hotel-booking version: "1.1.1" repository: "https://github.com/RollingGo-AI/rollinggo-hotel-skill-CN" description: RollingGo 酒店搜索与预订助手,通过调用 RollingGo 酒店服务接口实现酒店查询到下单预订全流程。支持场景:① 按城市/景点/地铁站/机场等地点搜索酒店 ② 按星级、预算、标签(泳池/含早/亲子/宠物友好等)筛选 ③ 查询指定酒店的实时房型与价格 ④ 对比多家酒店 ⑤ 引导用户完成预订。触发词:找酒店、订酒店、搜酒店、酒店推荐、酒店查询、附近酒店、五星酒店、民宿、度假村、查房价、看房型、入住、住哪、住宿、rollinggo、旅游住宿、出差住宿、亲子酒店、带泳池的酒店、含早餐酒店。 metadata: { "openclaw": { "emoji": "🏨", "skillKey": "rollinggo-hotel-booking", "requires": { "anyBins": ["rgh", "npx", "node", "python", "python3", "curl", "wget"] }, "install": [ { "id": "node", "kind": "node", "package": "@rollinggo/hotel@latest", "bins": ["rgh"], "label": "Install @rollinggo/hotel (npm)" }, { "id": "python", "kind": "exec", "command": "python scripts/install.py", "label": "Install rgh standalone binary (python)" } ] } } --- # RollingGo 酒店搜索与预订 Skill ## 版本检查 > - **每日检查**:若当前目录下的 `.version_check` 不存在或记录日期非今天,静默请求远端 `SKILL.md`(地址拼接规则:将元数据中的 `{repository}` 域名替换为 `raw.githubusercontent.com`,并在末尾追加 `/main/skills/{name}/SKILL.md`)对比 `version` 字段。若远端有更新,在回复开头提示用户更新。无论成败,均将今日日期 `YYYY-MM-DD` 写入 `.version_check`。 > - **更新命令**:`请运行 npx skills update {name} 更新技能包`。 ## 安装 如果本地环境未安装 `rgh` 命令,可以通过以下三种方式之一进行安装: **方式一:通过 npm 安装(推荐)** 如果环境中有 Node.js 和 npm,请执行: ```bash npm install -g @rollinggo/hotel@latest ``` **方式二:通过 Python 自动脚本安装(免 Node.js 环境)** 如果环境中有 Python,可以直接在 Skill 目录下运行我们提供的自动化安装脚本,它将自动检测您的操作系统并下载最新版的 `rgh` 独立二进制程序到本地 `bin` 文件夹: ```bash python scripts/install.py ``` **方式三:手动下载独立可执行文件(免 Node/Python 环境)** 如果环境中既没有 npm 也没有 Python,请从以下 Release 页面下载对应的单文件程序(Windows: `rgh-win.exe` / `rgh-windows.exe`, Mac: `rgh-macos`, Linux: `rgh-linux`): `https://github.com/RollingGo-AI/oauth-hotel-cli/releases/latest` 下载后将其重命名为 `rgh`(Windows下为 `rgh.exe`),赋予执行权限,并放入系统环境变量 PATH 或技能目录的 `bin` 文件夹中。 **⚠️ 自动升级拦截原则:** CLI 工具内置了版本检测。当你在执行任何 `rgh` 命令时,如果控制台输出中出现 `📦 有新版本可用!` 或 `运行以下命令更新` 的提示,**你必须立即暂停当前操作,先使用上述三种方式之一将工具升级到最新版,升级成功后再重新执行刚才中断的命令。** 这样可避免由于服务端接口过期而导致的预订失败。 --- > ⚠️ **输出规范**: > 1. **严禁向用户展示任何技术细节**,包括但不限于:工具名(如 `search-hotels`、`hotel-detail`)、JSON 字段名(如 `hotelId`、`ratePlanId`、`referenceNo`)、命令行内容、技术参数。 > 2. **只展示用户关心的信息**:酒店名称、星级、价格、距离、核心设施、标签、预订链接。 > 3. **结果必须格式化展示**,每家酒店独占一个卡片,关键信息换行分隔,禁止堆砌在一行。 > 4. **价格说明**:搜索结果中的价格为参考展示价,实际下单价以价格确认为准,展示时注明"参考价"。 > 5. **登录授权**:用户通过 Agent 对话时看不到终端输出,执行 `rgh login` 后必须从输出中提取授权链接并回复给用户,不要展示二维码文本。 ## When to Use 用户涉及酒店住宿相关的任何意图时均应触发本 Skill,包括但不限于以下场景: **搜索与发现**: - 按地点找酒店:"帮我找北京三里屯附近酒店"、"三亚有什么好酒店"、"西湖旁边住宿推荐" - 按条件筛选:"五星酒店"、"带泳池的酒店"、"含早餐的住宿"、"亲子酒店"、"宠物友好酒店" - 按预算筛选:"500块以内的酒店"、"经济实惠的住宿"、"豪华酒店推荐" - 按品牌筛选:"希尔顿"、"万豪"、"亚朵"、"全季" **查询与对比**: - 查房价:"杭州酒店多少钱一晚"、"这个酒店什么价格" - 看房型:"有什么房型"、"大床房有没有"、"家庭房推荐" - 比较住宿:"帮我对比一下这两家酒店"、"哪个更划算" - 了解设施:"有没有泳池"、"离地铁站多远"、"停车方便吗" **预订与订单**: - 预订酒店:"帮我订这家酒店"、"我要下单"、"预订一间房" - 查询订单:"我的订单"、"之前订的酒店"、"订单状态" **触发词覆盖**: 找酒店、订酒店、搜酒店、酒店推荐、酒店查询、附近酒店、五星酒店、民宿、度假村、查房价、看房型、入住、住哪、住宿、出差住宿、旅游住宿、亲子酒店、带泳池的酒店、含早餐酒店、商务酒店、情侣酒店、温泉酒店、海景房、江景房。 ## When NOT to Use - 用户询问机票、火车票、租车、景点门票等非住宿类旅行需求 - 用户只是闲聊旅游目的地,没有明确住宿意图 - 用户已明确表示"不用订"、"只是问问" --- ## 安全门控 > ⚠️ 酒店预订是**真实消费操作**: 1. **强制两步确认**:先展示房型和价格,等用户明确选择房型并确认后才进行价格锁定和下单。 2. **信息完整性**:下单前必须确认入住人姓名、邮箱(电话号码将通过 OAuth 默认获取,无需让用户填写参数)。 3. **价格确认时效**:`referenceNo` 有效期约 15-30 分钟,过期需重新调用价格确认。 --- ## 工作流程 **Step 0:登录授权检查**(首次使用或 Token 失效时执行) 1. 执行 `rgh whoami` 检查登录状态: - **输出 `✅ 已登录`** → 直接进入 Step 1 - **输出 `❌ 未登录`** → 执行 `rgh login`,进入授权流程 2. 授权流程: > ⚠️ **`rgh login` 必须以异步/后台模式运行**(如 `WaitMsBeforeAsync=2000`),同步执行会永久卡死线程! 从后台输出中提取 `https://rollinggo.store/s/xxx` 格式或者`原始oauth格式`的授权链接,回复给用户: ``` 请点击以下链接完成授权:[点击授权](https://rollinggo.store/s/xxx) 授权成功后请告诉我,我将继续为您预订。 ``` 用户确认授权成功后进入 Step 1。 **Step 1:信息收集**(静默判断,不打断用户) 从对话中提取以下信息,能推断的直接用,缺关键信息再追问: | 信息 | 是否必须 | 默认值 | |------|---------|--------| | 目的地(城市/景点/地址) | ✅ 必须 | 无,需追问 | | 入住日期 | 建议有 | 明天 | | 入住晚数 | 建议有 | 1 晚 | | 成人数 | 可选 | 2 人 | | 星级偏好 | 可选 | 不限 | | 预算上限 | 可选 | 不限 | | 特殊需求(标签) | 可选 | 无 | 目的地是唯一必须确认的信息。其他信息缺失时使用默认值,不要逐一追问。 **Step 2:获取标签字典**(按需执行) 用户提到特定设施或特色(如"带泳池"、"含早餐"、"亲子"、"宠物")时,先执行: ```bash rgh hotel-tags ``` 从返回结果中找到精确的标签名称,再用于搜索。常见对应关系: | 用户说法 | 常见标签名 | |---------|-----------| | 带泳池、有游泳池 | 户外泳池 / 室内恒温泳池 | | 含早餐、有早餐 | 含早餐 | | 亲子、带孩子 | 亲子友好 | | 宠物友好 | 宠物友好 | | 免费停车 | 免费停车场 | | 不要某类型 | 对应标签 | | 必须有某设施 | 对应标签(硬过滤) | **Step 3:搜索酒店** 调用 `rgh search-hotels`,将用户需求转化为命令行参数: ```bash rgh search-hotels \ --origin-query "<用户原始表达>" \ --place "<地点名称>" \ --place-type "<类型>" \ [--check-in-date YYYY-MM-DD] [--stay-nights N] \ [--star-ratings min,max] \ [--preferred-brand "品牌名"] \ [--preferred-tag "标签名"] [--required-tag "标签名"] \ [--max-price-per-night N] \ --size 5 ``` **placeType 选择规则**(必须精确匹配): | 用户描述 | --place-type | |---------|-------------| | 城市名(北京、三亚、曼谷) | 城市 | | 机场(首都机场、浦东机场) | 机场 | | 景点/地标(外滩、西湖、迪士尼) | 景点 | | 火车站(虹桥站、北京南站) | 火车站 | | 地铁站 | 地铁站 | | 酒店名称 | 酒店 | | 区/县/商圈(亚龙湾、朝阳区) | 区/县 | | 具体街道地址 | 详细地址 | **搜索结果展示模板**(每家酒店一个卡片): *(【极其重要】:你必须使用标准的 Markdown 图片语法 `![alt](url)` 来渲染 imageUrl,且必须将图片展示在模板末尾。若 imageUrl 中包含未编码的空格,需手动将空格替换为 `%20`,或使用尖括号将其包裹如 `![alt](<url>)`,否则会导致宿主平台无法渲染图片!绝对禁止使用 HTML `<img>` 标签,绝对禁止使用纯文本 URL!)* ```markdown 🏨 {酒店名称} ⭐ {星级}星 *(仅当返回了 distanceInMeters 字段时展示:📍 距{搜索地点}{距离}米)* 💰 参考价 ¥{最低价}/晚 🏷️ {标签1} · {标签2} · {标签3} 🔗 [查看详情 & 预订]({bookingUrl}) ![{酒店名称}]({imageUrl}) ``` 返回 3-5 家酒店后,询问用户:"想了解哪家的详细房型和价格?" **Step 4:查询房型与实时价格**(用户选定酒店后) 从搜索结果中提取 `hotelId`,调用: ```bash rgh hotel-detail \ --hotel-id <hotelId> \ --check-in-date <入住日期> \ --check-out-date <离店日期> \ --adult-count <成人数> \ --room-count <房间数> ``` **房型展示模板**(每个房型一条): ``` 🛏️ {房型中文名}({床型描述}) 💰 总价 ¥{totalPrice}(¥{均价}/晚) 剩余 {inventoryCount} 间 📋 取消政策:{取消政策描述} ``` 展示 3-5 个推荐房型后,提供预订链接: "如需预订,可点击 [前往预订页]({bookingUrl}) 完成下单。" **Step 5:价格确认与下单**(用户选定房型后) 1. 调用 `rgh price-confirm` 锁定价格(获取 `referenceNo`)。注意参数是 `--rooms` 和 `--adults`: ```bash rgh price-confirm \ --hotel-id <hotelId> \ --rate-plan-id <ratePlanId> \ --rooms <房间数> \ --check-in-date <入住日期> \ --check-out-date <离店日期> \ --adults <成人数> ``` 2. 收集联系人信息(姓名拼音、邮箱)后,调用 `rgh book` 创建订单: ```bash rgh book \ --reference-no "<上一步获取的referenceNo>" \ --first-name "<拼音/英文名>" \ --last-name "<拼音/英文姓>" \ --email "<邮箱>" ``` 3. 从结果中提取 `alipayUrl` 或其他支付链接返回给用户。 **待支付订单展示模板**: *(【极其重要】:绝不能臆造或编造支付方式(如“自动识别环境,支持支付宝或微信”)。必须严格按照以下模板输出,绝不允许自行添加任何关于支付环境或支付方式的说明!)* ``` 📝 订单已生成,等待支付! 确认号:**{orderNo}** 酒店:{酒店名} 房型:{房型名} 入住:{入住日期} | 离店:{离店日期} 总价:¥{价格} 📋 取消政策:{取消政策描述} 💳 请在30分钟内完成支付:{支付链接} ``` **Step 6:查询订单**(用户询问时) ```bash rgh orders ``` 展示订单列表时,请清晰提取出:**酒店名、入离日期、订单状态、总价**,如果是待支付状态,附上继续支付的链接。 --- ## 结果不理想时的降级策略 按以下顺序放宽条件重试: 1. 去掉 `--star-ratings` 限制 2. 增大搜索范围:加 `--distance-in-meter 10000` 3. 将 `--required-tag` 改为 `--preferred-tag` 4. 增加返回数量:`--size 10` 5. 去掉所有标签限制,只保留地点和日期 --- ## 关键规则 - **地点和类型要匹配**:"上海外滩"配 `景点`,不是 `城市`;"北京"配 `城市` - **价格是参考价**:搜索结果的价格不是实时锁定价,展示时注明"参考价" - **bookingUrl 直接可用**:返回的预订链接可直接给用户点击跳转 - **不要暴露 hotelId**:内部 ID 不展示给用户,只用于内部调用 - **多家对比**:用户要对比时,可同时展示多家的卡片,突出差异点(价格/距离/设施) --- ## 详细参考文档 - [references/cli-params.md](references/cli-params.md) — CLI 命令完整参数规范

存档时间线

版本存档时间内容哈希内容
v12026-09-28 01:2222d9e141 可取

版本索引永久保留;内容副本只保留最近 2 版,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。

下载存档内容副本

纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错

侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。