Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器clawhub未标认证来源可访问clear审计提醒

hotel-search酒店搜索

Agent Skill

hotel-search 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

16,488

周安装

701

GitHub Stars

公开资料未说明

下载量

5,776
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:hotel-search(酒店搜索)
来源仓库:https://github.com/skillhq-ai/hotel-search
安装命令:
openclaw skills install hotel-search
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install hotel-search

简介

hotel-search 用于通过浏览器自动化搜索 Google Hotels 获取房源信息。

  • 支持价格、评级和空房情况的实时查询与比较。
  • 适用于寻找住宿或比较不同平台报价的需求场景。
  • 安装命令为 openclaw skills install hotel-search,适用于 OpenClaw 宿主。
  • 使用前需确认网络连通性及反爬虫机制应对策略。

SKILL.md

name
google-hotels
description
Search Google Hotels for hotel prices, ratings, and availability using browser automation. Use when user asks to search hotels, find accommodation, compare hotel prices, check availability, or look up places to stay. Triggers include "search hotels", "find hotels", "hotels in", "where to stay", "accommodation", "hotel prices", "cheapest hotel", "best hotel", "places to stay", "hotel near", "book a hotel", "hotel ratings".
allowed-tools
Bash(agent-browser:*), Bash(echo*), Bash(printf*)

Google Hotels Search

Search Google Hotels via agent-browser to find hotel prices, ratings, amenities, and availability.

When to Use

  • User asks to search, find, or compare hotels or accommodation
  • User wants hotel prices in a city, neighborhood, or near a landmark
  • User asks about hotel availability for specific dates
  • User wants the best-rated or cheapest hotel in an area

When NOT to Use

  • Booking: This skill searches only — never complete a purchase
  • Vacation rentals / Airbnb: Google Hotels shows hotels, not rentals
  • Flights: Use the flight-search skill
  • Historical prices: Google Hotels shows current prices only
  • NEVER leave Google Hotels during search — do not navigate to Booking.com, Expedia, Hotels.com, or any OTA as a search workaround. Exception: after presenting results, you MAY visit the hotel's own website for direct booking/promo checks (see Post-Search).

Session Convention

Always use --session hotels for isolation.

URL Fast Path (Preferred)

Build a URL with location and dates encoded. Loads results directly — 3 commands total.

URL Template

https://www.google.com/travel/search?q={QUERY}&qs=CAE4AA&ts={TS_PARAM}&ap=MAE

Where {QUERY} is the location/hotel name and {TS_PARAM} is a base64-encoded date parameter.

Encoding Dates in the URL

Google Hotels uses a protobuf-encoded ts parameter for dates. The byte layout is fixed for years 2025-2030. Use this bash function to generate it:

hotel_ts() {
  local ci_y=$1 ci_m=$2 ci_d=$3 co_y=$4 co_m=$5 co_d=$6 nights=$7
  local cyl=$(printf '%02x' $(( ($ci_y & 0x7f) | 0x80 )))
  local cyh=$(printf '%02x' $(($ci_y >> 7)))
  local col=$(printf '%02x' $(( ($co_y & 0x7f) | 0x80 )))
  local coh=$(printf '%02x' $(($co_y >> 7)))
  echo -n "08011a200a021a00121a12140a0708${cyl}${cyh}10$(printf '%02x' $ci_m)18$(printf '%02x' $ci_d)120708${col}${coh}10$(printf '%02x' $co_m)18$(printf '%02x' $co_d)18$(printf '%02x' $nights)32020801" \
    | xxd -r -p | base64 | tr -d '\
='
}
# Usage: hotel_ts CHECKIN_YEAR MONTH DAY CHECKOUT_YEAR MONTH DAY NIGHTS
# Example: hotel_ts 2026 3 15 2026 3 20 5
# Output: CAEaIAoCGgASGhIUCgcI6g8QAxgPEgcI6g8QAxgUGAUyAggB

Constraints: Years 2025-2030, months 1-12, days 1-31, nights 1-127. These cover all realistic hotel searches.

Location Formats

FormatExample
CityHotels+in+Bangkok
City + countryHotels+in+Bangkok+Thailand
NeighborhoodHotels+in+Shibuya+Tokyo
Near landmarkHotels+near+Eiffel+Tower
RegionHotels+in+Amalfi+Coast
AirportHotels+near+BKK+airport
Specific hotelHaus+im+Tal+Munich

URL vs Interactive Features

FeatureVia URL?
Location✅ Yes (via q=)
Dates✅ Yes (via ts=)
Guests / rooms❌ Set interactively (default: 1 room, 2 guests)
Filters (stars, price, amenities)❌ Set interactively

Example: Hotels in Bangkok, March 15-20

# Step 1: Generate ts parameter
ts=$(hotel_ts 2026 3 15 2026 3 20 5)

# Step 2: Open with location + dates — results load immediately
agent-browser --session hotels open "https://www.google.com/travel/search?q=Hotels+in+Bangkok&qs=CAE4AA&ts=${ts}&ap=MAE"
agent-browser --session hotels wait --load networkidle
agent-browser --session hotels snapshot -i

# Step 3: Extract results from snapshot, then close
agent-browser --session hotels close

Example: Specific Hotel with Dates

ts=$(hotel_ts 2026 3 9 2026 3 12 3)
agent-browser --session hotels open "https://www.google.com/travel/search?q=Haus+im+Tal+Munich&qs=CAE4AA&ts=${ts}&ap=MAE"
agent-browser --session hotels wait --load networkidle
agent-browser --session hotels snapshot -i
agent-browser --session hotels close

Without Dates (Location Only)

If the user doesn't specify dates, omit the ts, qs, and ap parameters:

agent-browser --session hotels open "https://www.google.com/travel/search?q=Hotels+in+Bangkok"
agent-browser --session hotels wait --load networkidle
agent-browser --session hotels snapshot -i

Results will show "starting from" prices. Set dates interactively if the user provides them later (see deep-dive reference).

For detailed interactive workflows (calendar navigation, guest/room selector, filters), see the deep-dive reference.

Result Format

Present results as a single rich table:

| # | Hotel | Stars | Rating | Price/Night | Total | Via | Key Amenities |
|---|-------|-------|--------|-------------|-------|-----|---------------|
| 1 | Sukhothai Bangkok | ★★★★★ | 9.2 | $185 | $925 | Hotels.com | Pool, Spa, WiFi |
| 2 | Centara Grand | ★★★★★ | 8.8 | $165 | $825 | Booking.com | Pool, Gym, WiFi |
| 3 | Ibis Sukhumvit | ★★★ | 7.4 | $45 | $225 | Agoda | WiFi, Restaurant |

Parallel Sessions

Only use when the user explicitly asks for a comparison between distinct searches (e.g., "Compare hotels in Shibuya vs Shinjuku").

agent-browser --session shibuya open "https://www.google.com/travel/search?q=Hotels+in+Shibuya+Tokyo" &
agent-browser --session shinjuku open "https://www.google.com/travel/search?q=Hotels+in+Shinjuku+Tokyo" &
wait

agent-browser --session shibuya wait --load networkidle &
agent-browser --session shinjuku wait --load networkidle &
wait

# Set dates in both sessions, then snapshot both
agent-browser --session shibuya snapshot -i
agent-browser --session shinjuku snapshot -i

agent-browser --session shibuya close &
agent-browser --session shinjuku close &
wait

Key Rules

RuleWhy
Prefer URL fast path with ts=3 commands with dates vs 10+ interactive
wait --load networkidleSmarter than fixed wait 5000
Always encode dates in URL when availableUse hotel_ts to generate the ts parameter
Use fill not type for textClears existing text first
Wait 2s after typing locationAutocomplete needs API roundtrip
Click suggestions, never EnterEnter is unreliable for autocomplete
Re-snapshot after every interactionDOM changes invalidate refs
Check for "View prices"Means dates aren't set yet
Never leave Google Hotels during searchException: hotel's own site for direct booking check after results
Navigate calendar with "<" and ">"Calendar may open on wrong month — use arrows to go backward or forward

Troubleshooting

ProblemSolution
Consent popupClick "Accept all" or "Reject all"
URL fast path failsFall back to google.com/travel/hotels interactive flow
No results / "View prices"Set check-in and check-out dates
Calendar opens on wrong monthUse "<" arrow to navigate backward or ">" to go forward. Always re-snapshot after navigating to confirm target month is visible
Snapshot blocked by calendar overlayPress Escape to close the calendar, re-snapshot, then re-open the date picker and try again
Stale pricingPrices are real-time and indicative — mention this caveat
Currency mismatchGoogle uses browser locale currency — note any discrepancy
CAPTCHAInform user. Do NOT solve. Retry after a short wait
Map view instead of listClick "List" or "View list" toggle
Hotel not foundTry variations: full name, shorter name, name + city, name + neighborhood

Post-Search: Direct Booking & Deals

After presenting results, always ask the user if they'd like you to check for better deals. Phrase it like:

"Want me to check [hotel name]'s direct website for promo codes or member rates? Direct booking is often cheaper than OTAs."

When to Offer

  • Always when the user searches for a specific hotel by name
  • Always when results show a single clear winner the user is interested in
  • On request when comparing multiple hotels — offer for whichever they pick

What to Check

Open the hotel's own website in a new session (--session direct) and look for:

  1. Direct booking price — often 5-15% cheaper than OTAs (Booking.com, Expedia, etc.)
  2. Promo codes — look for banners, pop-ups, or a "offers"/"deals"/"promotions" page
  3. Member/loyalty rates — "sign up for X% off first booking" or free membership discounts
  4. Package deals — breakfast included, free cancellation, parking bundles
  5. Seasonal promotions — holiday specials, early bird rates, last-minute deals
# After Google Hotels search is done, visit hotel's direct site
agent-browser --session direct open "https://www.example-hotel.com"
agent-browser --session direct wait --load networkidle
agent-browser --session direct snapshot -i
# Look for: promo banners, "offers" or "deals" links, booking widget prices
agent-browser --session direct close

Chain Hotel Loyalty Programs

If the hotel belongs to a major chain, mention the loyalty program — members often get better rates, room upgrades, or points:

ChainBrandsLoyalty ProgramTypical Member Perks
IHGHoliday Inn, InterContinental, Crowne Plaza, Kimpton, IndigoIHG One RewardsMember rate (often cheapest), points earning, 4th night free on reward stays
MarriottMarriott, Sheraton, Westin, W, Ritz-Carlton, Courtyard, AloftMarriott BonvoyMember rate, mobile check-in, points/miles
HiltonHilton, DoubleTree, Hampton, Conrad, Waldorf AstoriaHilton HonorsMember discount, 5th night free on reward stays, digital key
AccorSofitel, Novotel, ibis, Mercure, Moxy, FairmontALL - Accor Live LimitlessMember rates, status benefits
HyattHyatt, Andaz, Park Hyatt, ThompsonWorld of HyattMember rate, free night awards, suite upgrades

How to Identify the Chain

The Google Hotels snapshot often includes the chain name:

  • "Holiday Inn Express Bangkok Sukhumvit 11 by IHG" → IHG
  • "Courtyard by Marriott Bangkok" → Marriott
  • "Hilton Munich City" → Hilton
  • "Novotel Muenchen City" → Accor
  • No chain suffix → likely independent (check their website directly)

Independent Hotels

For independent/boutique hotels (like Haus im Tal):

  • Check their website for promo codes (often shown in banners or a dedicated "Offers" page)
  • Look for "Book Direct" incentives (best price guarantee, free extras)
  • Check if they offer a newsletter signup discount
  • Mention the hotel name + "promo code" in a web search if the site doesn't show any

Present the Comparison

After checking, present a direct vs OTA comparison:

## Haus im Tal — Booking Comparison

| Source | Room Type | Price/Night | Total (3 nights) | Notes |
|--------|-----------|-------------|-------------------|-------|
| Booking.com | Downtown Cozy | €183 | €549 | Free cancellation |
| Hotel direct | Downtown Cozy | €175 | €525 | Use code HIT24 for 5% off |
| Hotel direct (with code) | Downtown Cozy | €166 | €499 | Best price |
Tip: Always remind the user that you cannot complete the booking — just provide the link and any promo codes found.

Deep-Dive Reference

See references/interaction-patterns.md for:

  • Full annotated walkthrough (every command + expected output)
  • Location autocomplete failure modes and recovery
  • Date picker calendar navigation
  • Guest & room selector (the most complex widget)
  • Filters (stars, price, amenities, cancellation)
  • Scrolling for more results
  • Hotel detail drill-down with provider price comparison
  • Direct booking & promo check workflow

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

77.27%
按下载量换算4,463

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

未展示

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills