mcpField
R
rollinggo-hotel-booking

rollinggo-hotel-booking

github.com/rollinggo-aiその他167205 回インストール2 週間前に更新
リポジトリ

rollinggo-hotel-booking について

rollinggo-hotel-bookingは、`rgh` CLIを通じてホテルの検索、比較、予約、注文確認、キャンセルを行うエージェント向けSkillです。購入とキャンセルの前に確認を求める手順や、ホテル情報の表示ルールを含みます。

主な機能

  1. 01ホテルの検索と絞り込み
  2. 02客室タイプと料金の比較
  3. 03ホテル予約の作成
  4. 04注文詳細の確認
  5. 05キャンセル前の手数料確認
  6. 06ホテル検索結果の表示形式

活用シーン

  1. 01目的地や希望条件でホテルを探す
  2. 02客室タイプと料金を比較する
  3. 03確認後に選んだホテルを予約する
  4. 04既存予約を確認またはキャンセルする

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rollinggo-ai/rollinggo-hotel-skill-cn --skill rollinggo-hotel-booking

インストール後、Claude Code で/rollinggo-hotel-bookingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
cli-params.md
scripts/
.gitkeep
install.py

詳細

RollingGo ホテル検索・予約スキル

インストール

ローカル環境に rgh コマンドがインストールされていない場合は、以下の3つの方法のいずれかでインストールできます。

方法1:npm でインストール(推奨) 環境に Node.js と npm がある場合は、次を実行してください:

npm install -g @rollinggo/hotel@latest

方法2:Python 自動スクリプトでインストール(Node.js 環境不要) 環境に Python がある場合は、Skill ディレクトリで提供している自動インストールスクリプトを実行してください。OS を自動検出し、最新版の rgh 単独バイナリをローカルの bin フォルダーにダウンロードします:

python scripts/install.py

方法3:実行ファイルを手動でダウンロード(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 コマンドの実行時に、コンソール出力に 📦 有新版本可用! または 运行以下命令更新 というメッセージが表示された場合、現在の操作を直ちに中断し、上記の3つの方法のいずれかでツールを最新版にアップグレードしてから、中断したコマンドを再実行してください。 これにより、サーバー側インターフェースの期限切れによる予約失敗を防げます。


⚠️ 出力ルール:

  1. ユーザーに技術的な詳細を一切表示しないでください。これには、ツール名(例:search-hotels、hotel-detail)、JSON フィールド名(例:hotelId、ratePlanId、referenceNo)、コマンドラインの内容、技術パラメーターなどが含まれますが、これらに限りません。
  2. ユーザーが知りたい情報だけを表示してください:ホテル名、星ランク、価格、距離、主要施設、タグ、予約リンク。
  3. 結果は必ず整形して表示してください。ホテル1軒につきカードを1つ作成し、重要な情報は改行で区切り、1行に詰め込まないでください。
  4. 価格に関する説明:検索結果の価格は参考価格です。実際の予約価格は価格確定時の金額となるため、表示時に「参考価格」と明記してください。
  5. ログイン認証:ユーザーはエージェントとの会話中にターミナル出力を確認できません。rgh login の実行後、出力から認証リンクを取得してユーザーに返信してください。QR コードのテキストは表示しないでください。

使用するタイミング

ユーザーがホテル宿泊に関する意図を示した場合は、どのような内容でもこのスキルを使用してください。以下はその一例です。

検索と探し方:

  • 場所からホテルを探す:「北京の三里屯周辺でホテルを探して」「三亜でおすすめのホテルは?」「西湖の近くの宿泊先をおすすめして」
  • 条件で絞り込む:「五つ星ホテル」「プール付きのホテル」「朝食付きの宿泊先」「子連れ向けホテル」「ペット可のホテル」
  • 予算で絞り込む:「500元以内のホテル」「手頃な宿泊先」「高級ホテルをおすすめして」
  • ブランドで絞り込む:「ヒルトン」「マリオット」「アトゥール」「JI ホテル」

検索と比較:

  • 宿泊料金を調べる:「杭州のホテルは1泊いくら?」「このホテルの料金はいくら?」
  • 客室タイプを見る:「どんな客室タイプがある?」「キングベッドの部屋はある?」「ファミリールームをおすすめして」
  • 宿泊先を比較する:「この2軒のホテルを比較して」「どちらがお得?」
  • 施設について知る:「プールはある?」「地下鉄駅からどのくらい離れている?」「駐車しやすい?」

予約と注文:

  • ホテルを予約する:「このホテルを予約して」「注文したい」「1部屋予約して」
  • 注文を確認する:「自分の注文」「以前予約したホテル」「注文状況」
  • キャンセルと払い戻し:「この注文をキャンセルして」「宿泊しないので予約をキャンセルしたい」「チェックアウト後に返金して」「キャンセル料はいくらか調べて」

トリガーワード: ホテルを探す、ホテルを予約する、ホテルを検索する、ホテルのおすすめ、ホテルの検索、近くのホテル、五つ星ホテル、民宿、リゾート、宿泊料金を調べる、客室タイプを見る、チェックイン、どこに泊まる、宿泊、出張の宿泊、旅行の宿泊、子連れ向けホテル、プール付きのホテル、朝食付きホテル、ビジネスホテル、カップル向けホテル、温泉ホテル、オーシャンビューの部屋、リバービューの部屋、注文をキャンセル、ホテルをキャンセル、チェックアウト後に返金、予約をキャンセル。

使用しないタイミング

  • ユーザーが航空券、列車の切符、レンタカー、観光地のチケットなど、宿泊以外の旅行ニーズについて尋ねている場合
  • ユーザーが旅行先について雑談しているだけで、宿泊の意図が明確でない場合
  • ユーザーが「予約は不要」「ちょっと聞いてみただけ」と明言している場合

安全ゲート

⚠️ ホテルの予約とキャンセルは、実際の金銭および購入に関わる操作です:

  1. 2段階確認:客室タイプと価格を提示した後、ユーザーが明確に選択するまで価格の確定と注文を行わないでください。
  2. 情報の完全性:注文前に、宿泊者の氏名のピンイン表記とメールアドレスを確認してください。
  3. 価格確定の有効期限:確定した価格の証明書(referenceNo)の有効期限は約15~30分です。期限を過ぎた場合は、価格を再度確定してください。
  4. 注文キャンセルの高リスク安全ゲート(2段階確認):注文のキャンセルは取り消せない操作です。二重確認なしにキャンセルを実行することは絶対に禁止です!まず pre-cancel を実行してキャンセル手数料/違約金と証明書(confirmId の有効期限は10分)を確認し、ユーザーに差し引かれる金額と返金予定額を明確に伝えてください。ユーザーから明確な肯定の返答を得た後に限り、confirm-cancel を呼び出してください。

ワークフローと動的 CLI 検出

💡 コマンドとパラメーターの動的検出ルール(Self-Discovery Rule):

  1. コマンドの実行:ネイティブ CLI コマンドを直接実行します:rgh <サブコマンド>(例:rgh status、rgh search-hotels)。
  2. チャネルのカスタマイズ(CLIENT_ID):コード不要でチャネルをカスタマイズできます。特定のチャネル ID を使用する場合は、スキルディレクトリに client_id.txt を配置するか、初回ログイン時に rgh login --client-id <id>(例:rgh login --client-id didaskill)を渡してください。CLI は設定を自動的に記憶して保持します。デフォルト値は rollinggoskill です。
  3. パラメーターの動的検出:サブコマンドを実行する前に、まず rgh <サブコマンド> --help を実行して最新のコマンドラインパラメーターを確認し、最新の --help に基づいてコマンドパラメーターを組み立ててください!

業務手順ガイド
Step 0:ログイン認証の確認
  • rgh status を実行して(whoami も使用できます)ログイン状態を確認します。
  • 未ログインの場合は、rgh login を実行します(チャネルをカスタマイズする場合は --client-id <id> を追加できます。⚠️ 必ず非同期/バックグラウンドモードで実行してください。例:WaitMsBeforeAsync=2000)。出力から認証リンク(https://api.rollinggo.store/s/xxx)を取得し、ユーザーに返信して認証を完了してもらいます。
Step 1:情報の収集
  • 目的地(必須)、チェックイン日(デフォルトは明日)、宿泊数(デフォルトは1泊)、人数(デフォルトは2人)を確認します。
Step 2:タグ辞書の取得(必要に応じて)
  • プール、朝食、子連れ、ペットなどの特別な要望がある場合は、まず rgh hotel-tags を実行してタグ名を正確に照合します。
Step 3:ホテルを検索
  • まず rgh search-hotels --help を実行して最新の絞り込みパラメーターを確認し、ユーザーの要望に合わせてコマンドを組み立てます。
  • placeType の選択ルール(正確に一致させること):城市、机场、景点、火车站、地铁站、酒店、区/县、详细地址。

検索結果の表示テンプレート(ホテル1軒につきカードを1つ作成): (【非常に重要】:標準的な Markdown 画像構文 ![alt](url) を必ず使用して imageUrl を表示し、画像はテンプレートの末尾に配置してください。imageUrl に未エンコードの空白が含まれている場合は、手動で空白を %20 に置き換えるか、![alt](<url>) のように山括弧で囲んでください。これを行わないと、ホストプラットフォームで画像を表示できません!HTML の <img> タグおよびプレーンテキストの URL は絶対に使用しないでください!)

🏨 {酒店名称}
⭐ {星级}星  *(仅当返回了 distanceInMeters 字段时展示:📍 距{搜索地点}{距离}米)*
💰 参考价 ¥{最低价}/晚
🏷️ {标签1} · {标签2} · {标签3}
![{酒店名称}]({imageUrl})

ホテルを3~5軒返した後、ユーザーに「どのホテルの客室タイプと料金について詳しく知りたいですか?」と尋ねます。

Step 4:客室タイプとリアルタイム料金の確認
  • まず rgh hotel-detail --help を実行してパラメーターを確認し、選択された hotelId を渡してリアルタイムの空室状況と料金を検索します。

客室タイプの表示テンプレート(客室タイプごとに1項目):

🛏️ {房型中文名}({床型描述})
💰 总价 ¥{totalPrice}(¥{均价}/晚)
📋 取消政策:{取消政策描述}

おすすめの客室タイプを3~5件提示した後、「ご希望の客室タイプ名をお知らせください。価格を確定し、注文手続きを進めます。」と案内します。

Step 5:価格確定と注文(安全ゲート)
  1. rgh price-confirm --help を実行してパラメーターを確認し、価格を確定して証明書 referenceNo を取得します。
  2. 連絡担当者の氏名のピンイン表記とメールアドレスを確認した後、rgh book --help を実行してパラメーターを確認し、注文を送信して支払いリンクを取得します。

支払い待ち注文の表示テンプレート: (【非常に重要】:支払い方法(「環境を自動検出し、Alipay または WeChat Pay に対応」など)を決して捏造しないでください。以下のテンプレートに厳密に従って出力し、支払い環境や支払い方法に関する説明を独自に追加することは一切認められません!)

📝 订单已生成,等待支付!
确认号:**{orderNo}**
酒店:{酒店名}
房型:{房型名}
入住:{入住日期} | 离店:{离店日期}
总价:¥{价格}
📋 取消政策:{取消政策描述}
💳 请在30分钟内完成支付:{支付链接}
Step 6:注文と詳細の確認
  • rgh orders --help または rgh order-detail --help を実行して、ユーザーの過去の注文または個別の注文詳細を確認します。
Step 7:取消订单(高危两步确认)

⚠️ 高危安全门控:取消订单属于不可逆操作,取消后不可撤销!必须严格执行两步确认:

  1. 先调用 pre-cancel 预取消查询取消手续费/违约金与确认凭证(confirmId 凭证 10 分钟有效)。
  2. 向用户如实汇报违约金金额与预计退款,必须等用户明确肯定答复后,方可运行 confirm-cancel 提交取消。
  1. 预取消查询违约金:

    • 先运行 rgh pre-cancel --help 查看参数。
    • 若用户未提供订单号,先通过 rgh orders 定位订单号。
    • 执行 rgh pre-cancel --order-no <orderNo>。
    • 提取 canCancel、penaltyAmount、confirmId、bookingId。若 canCancel 为 false,告知用户原因或客服指引。
  2. 向用户核实违约金与取消意愿:

⚠️ 订单取消确认:
订单号:**{orderNo}**
酒店:{酒店名}
取消手续费/违约金:¥{penaltyAmount}
预计退款:¥{预计退款金额}

⚠️ 订单取消后无法恢复,请确认是否继续取消?
  1. 用户明确确认后,执行确认取消:
    • 先运行 rgh confirm-cancel --help 查看参数。
    • 执行 rgh confirm-cancel --order-no <orderNo> --booking-id <bookingId> --confirm-id <confirmId>。
    • 向用户清晰展示取消成功结果。

取消成功展示模板:

✅ 订单已成功取消!
确认号:**{orderNo}**
退款处理中,款项将按原支付路径原路退回,预计 1-3 个工作日内到账。

搜索结果不理想时的语义化降级策略

若搜索 0 结果,按以下顺序静默放宽条件重试:

  1. 移除星级范围限制
  2. 扩大搜索半径/距离参数
  3. 将硬约束标签(Required Tag)降级为软偏好标签(Preferred Tag)
  4. 增大返回数量(Size)
  5. 仅保留目的地与入住日期

关键交互规则

  • 屏蔽技术细节:严禁向用户暴露 hotelId、ratePlanId、referenceNo、JSON 响应或命令行。
  • 真实价格说明:搜索展示价注明“参考价”,最终金额以价格确认锁价为准。
  • 支付链接真实可用:生成的订单支付链接可直接提供给用户点击完成支付。
  • 多家对比:用户要对比时,可同时展示多家的卡片,突出差异点(价格/距离/设施)。

详细参考文档

コメント