关于 pp-hotelist
通过命令行发现和比较 Hotelist 的 AI 评级及照片验证酒店数据,支持全国排名、连锁对比、多城市路线和变化跟踪;用于发现,不支持预订或实时房态查询。
主要功能
- 01按评分、价格和设施筛选酒店
- 02按国家排名性价比
- 03比较连锁品牌及评分一致性
- 04查找多城市路线酒店
- 05通过快照和差异跟踪变化
- 06返回 JSON 和指定字段
适用场景
- 01查找全国高性价比酒店
- 02比较某地区的酒店连锁
- 03为多城市路线选择酒店
- 04跟踪酒店评分或价格变化
MCP 相关
项目文档说明可安装 Hotelist MCP 服务并注册到 Claude Code,但未说明该服务具体提供哪些数据或工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-hotelist安装后在 Claude Code 中输入/pp-hotelist确认已加载。
详细介绍
Hotelist — Printing Press CLI
前置条件:安装 CLI
此技能通过 hotelist-pp-cli 二进制文件运行。**调用此技能中的任何命令前,必须先确认 CLI 已安装。**如果尚未安装,请先安装:
- 使用 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到
$HOME/.local/bin;在 Windows 上,默认安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install hotelist --cli-only - 验证:
hotelist-pp-cli --version - 确保报告的安装目录位于将调用此技能的 Agent/运行时的
$PATH中。
如果 npx 安装失败(没有 Node、处于离线状态等),请改用直接 Go 安装(需要 Go 1.26.6 或更新版本)。此方式会安装到 $GOPATH/bin(默认为 $HOME/go/bin),因此请改为将该目录添加到 $PATH:
go install github.com/mvanhorn/printing-press-library/library/travel/hotelist/cmd/hotelist-pp-cli@latest
如果安装后 --version 报告“command not found”,说明运行时无法通过 $PATH 访问二进制文件目录。在验证成功前,请勿继续执行此技能中的命令。
Hotelist.com(由 @levelsio 创建)使用 AI 为酒店评分:它会读取真实旅客评价,为实际客房照片评分,并通过照片验证酒店宣称的设施,因此你可以筛选出配有真实哑铃的健身房,或确实设有浴缸的酒店。此 CLI 将这些数据带入终端和 Agent 上下文,支持 --json/--select 输出、离线缓存,以及网站单地图无法实现的跨地点命令:rank-country、chain-compare、corridor 和 watch/diff 漂移追踪器。数据抓取自 Hotelist(由社区/AI 评分,并非官方 API)。
何时使用此 CLI
当 Agent 或用户希望在不受付费排名影响的情况下,发现经 AI 评分并经照片验证的酒店时,请使用此 CLI;尤其适用于跨地点问题:在一个国家内寻找性价比最高的酒店、比较不同连锁酒店、多城市路线规划,或追踪某个地点随时间的变化。当答案需要汇总或关联 Hotelist 一次只能查看一座城市的地图无法提供的酒店数据时,此 CLI 尤其有用。
不适用情况
以下情况请勿使用此 CLI:
- 请勿使用此 CLI 预订酒店或查询实时客房空房情况——Hotelist 仅用于发现酒店,不提供预订服务或指定日期的价格。
- 请勿将其用于查询特定日期的每晚报价;价格是 AI 估算的平均值。
- 请勿将其作为通用的 Booking.com/Expedia 客户端使用——它只提供 Hotelist 的 AI 评分数据集。
独特功能
其他任何用于此 API 的工具都不具备以下功能。
地图界面无法呈现的跨地点性价比
-
rank-country— 根据 Hotelist 的评分与价格比,对整个国家的最佳酒店进行排名,并支持组合设施和价格筛选条件。当 Agent 需要在严格条件下找出整个国家性价比最高的酒店时,请使用此命令,而不是逐个城市分页搜索。
hotelist-pp-cli rank-country thailand --min-rating 8 --max-price 150 --amenities pool,coworking --json -
chain-compare— 在一个国家内,对比不同酒店连锁的平均评分、中位价格和评分与价格比。一次调用即可回答“这里哪家连锁酒店真正值得入住?”,无需手动设置十几次地图筛选条件。
hotelist-pp-cli chain-compare --chains marriott,hilton,hyatt --country japan --metric best-value --json -
corridor— 一次性找出多城市路线中每个停靠点的最佳酒店,并应用共同的筛选条件。只需一条命令即可规划游牧者的年度路线;用户提到多个城市时,请优先使用此命令,而不是分别搜索。
hotelist-pp-cli corridor --cities "Chiang Mai,Lisbon,Medellin" --min-rating 7.5 --max-price 120 --amenities coworking --json
会不断积累的本地状态
-
watch— 随时间记录某个已保存地点的快照,并比较自上次查看以来哪些酒店有所改善、评价下降或价格变动。这是回答“这座城市的酒店自上次以来变得更好或更贵了吗?”的唯一方法——遇到任何关于随时间变化的问题,都选它。
hotelist-pp-cli watch diff lisbon --since 2026-01-01 --metric both --json -
chain-consistency— 计算某个连锁品牌在一个国家的评分均值、中位数和分布范围,查看该品牌的表现是否一贯出色,还是存在大量离群值。在陌生地区信赖某个忠诚计划品牌之前使用;它能揭示单个房源无法体现的隐藏离群风险。
hotelist-pp-cli chain-consistency --chain marriott --country thailand --json -
price-cliff— 找出某座城市中评分与额外花费的性价比骤降的价格点——即仍真正称得上不错的最便宜酒店。将“尽可能少花钱,同时不牺牲品质”转化为一个数字,并列出价格刚低于这一临界点的酒店。
hotelist-pp-cli price-cliff bangkok --min-rating 7 --json
命令参考
hotel — Hotelist 中一间由 AI 评分的酒店。
hotelist-pp-cli hotel <hotel_id>— 获取一间酒店的原始详情弹窗 HTML(Hotelist Score、已验证的设施、AI 评分明细)。
找到合适的命令
当你知道要做什么,却不知道该用哪个命令时,直接询问 CLI:
hotelist-pp-cli which "<capability in your own words>"
which 会根据自然语言功能查询,从此 CLI 精选的功能索引中匹配最合适的命令。退出码 0 表示至少找到一个匹配项;退出码 2 表示没有可靠匹配——请改用 --help,或缩小查询范围。
示例
在城市中寻找有正规健身房的高性价比酒店
hotelist-pp-cli filter lisbon --gym-weights --json --select hotels.name,hotels.hotellist_rating,hotels.price
照片验证过的举重健身房,并将结果缩减为名称、评分和价格,方便 Agent 无需解析完整载荷。
全国高性价比排行榜
hotelist-pp-cli rank-country thailand --min-rating 8 --max-price 150 --top 10 --json
一次调用,按评分与价格的比值列出全国前 10 家酒店。
决定入住前比较忠诚计划连锁品牌
hotelist-pp-cli chain-compare --chains marriott,hyatt --country japan --metric best-value --json
并列比较各连锁品牌的平均评分、中位数价格和性价比。
规划游牧路线
hotelist-pp-cli corridor --cities "Chiang Mai,Lisbon,Tbilisi" --min-rating 7.5 --max-price 120 --json
一次运行,为每个停留地点筛选出符合所有条件的最佳酒店。
深入查看一家酒店的 AI 评分明细
hotelist-pp-cli show KYLCGAVE --json
完整的 Hotelist Score、AI 照片和评价评分、共识、已验证的设施、优缺点。
身份验证设置
无需身份验证。
运行 hotelist-pp-cli doctor 以验证设置。
Agent 模式
为任意命令添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。
-
可管道传输 — JSON 输出到 stdout,错误输出到 stderr
-
可筛选 —
--select可保留部分字段。点分路径可深入嵌套结构;数组会逐个遍历元素。对于内容冗长的 API,这对控制上下文大小至关重要:hotelist-pp-cli hotel mock-value --agent --select id,name,status -
可预览 —
--dry-run会显示请求,但不会发送 -
支持离线使用 — sync/search 命令在本地 SQLite 存储可用时可以使用它
-
非交互式 — 从不提示输入,所有输入都通过标志传入
-
只读 — 请勿使用此 CLI 执行创建、更新、删除、发布、评论、点赞、邀请、下单、发送或其他会修改数据的请求
响应封装
从本地存储或 API 读取数据的命令会将输出封装在来源信息中:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
解析 .results 获取数据,通过 .meta.source 判断数据来自实时接口还是本地存储。只有当 stdout 连接到终端且未设置机器格式标志(--json、--csv、--compact、--quiet、--plain、--select)时,才会将便于人阅读的 N results (live) 摘要输出到 stderr——通过管道运行的命令、Agent 消费者以及指定格式的运行都会在 stdout 输出纯 JSON。
Agent 反馈
当你(或 Agent)发现此 CLI 有不妥之处时,请记录下来:
hotelist-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
hotelist-pp-cli feedback --stdin < notes.txt
hotelist-pp-cli feedback list --json --limit 10
条目保存在本地的 ~/.local/share/hotelist-pp-cli/feedback.jsonl。除非设置了 HOTELIST_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 HOTELIST_FEEDBACK_AUTO_SEND=true,否则不会通过 POST 发送。默认行为仅保存在本地。
写下让你感到意外的地方,而不是提交 Bug 报告。简短、具体、一行即可:这就是不断积累的那部分。
输出交付
每条命令都接受 --deliver <sink>。输出会发送到指定的接收目标,同时也会输出到 stdout,或替代 stdout 输出,这样 Agent 就能路由命令结果,无需手动通过管道传递。支持三种接收目标:
| 接收目标 | 效果 |
|---|---|
stdout | 默认;仅写入 stdout |
file:<path> | 以原子方式将输出写入 <path>(临时文件 + 重命名) |
webhook:<url> | 将输出正文 POST 到 URL(使用 --compact 时为 application/json 或 application/x-ndjson) |
不支持的方案会被拒绝,并返回一条指出受支持方案列表的结构化错误。Webhook 请求失败时会返回非零状态,并在 stderr 中记录 URL 和 HTTP 状态码。
命名配置
配置是保存的一组标志值,可在多次调用中重复使用。当定时运行的 Agent 每次都使用相同配置调用同一命令时,可使用配置——这是 HeyGen 的“Beacon”模式。
hotelist-pp-cli profile save briefing --json
hotelist-pp-cli --profile briefing hotel mock-value
hotelist-pp-cli profile list --json
hotelist-pp-cli profile show briefing
hotelist-pp-cli profile delete briefing --yes
显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,以便 Agent 在运行时发现它们。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 5 | API 错误(上游问题) |
| 7 | 请求过于频繁(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示hotelist-pp-cli --help输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上方的先决条件 - 其他任何内容 → 直接使用(作为 CLI 命令执行,并带上
--agent)
安装 MCP 服务
- 安装 MCP 服务:
go install github.com/mvanhorn/printing-press-library/library/travel/hotelist/cmd/hotelist-pp-mcp@latest - 在 Claude Code 中注册:
claude mcp add hotelist-pp-mcp -- hotelist-pp-mcp - 验证:
claude mcp list
直接使用
- 检查是否已安装:
which hotelist-pp-cli如果未找到,请提供安装选项(参见本技能开头的先决条件)。 - 将用户查询与上方“独特功能”和“命令参考”中的最佳命令相匹配。
- 使用
--agent标志执行:hotelist-pp-cli <command> [subcommand] [args] --agent - 如果不明确,可进一步查看子命令帮助:
hotelist-pp-cli <command> --help。