关于 pp-tripadvisor
pp-tripadvisor 是供 Agent 使用 `tripadvisor-pp-cli` 搜索、查看和比较 Tripadvisor 酒店、餐厅及景点的技能。它提供排序搜索、本地 SQLite 缓存,以及地点详情、近期评价和照片。
主要功能
- 01按名称或坐标搜索地点
- 02排序并比较备选地点
- 03按旅行者类型匹配结果
- 04追踪评分和评价数变化
- 05汇总详情、评价和照片
适用场景
- 01查找城市中的高评分餐厅
- 02比较备选酒店
- 03查找地点附近的高评分场所
- 04检查已追踪地点是否表现下滑
MCP 相关
技能文档说明了 `tripadvisor-pp-mcp` MCP 服务的安装及其在 Claude Code 中的注册方式。该服务通过 MCP 提供 Tripadvisor CLI 功能。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-tripadvisor安装后在 Claude Code 中输入/pp-tripadvisor确认已加载。
详细介绍
Tripadvisor — Printing Press CLI
前提条件:安装 CLI
此技能使用 tripadvisor-pp-cli 二进制文件。**调用此技能中的任何命令前,必须确认 CLI 已安装。**如果尚未安装,请先安装:
- 通过 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到
$HOME/.local/bin;在 Windows 上,默认安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install tripadvisor --cli-only - 验证:
tripadvisor-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/tripadvisor/cmd/tripadvisor-pp-cli@latest
如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件所在目录。在验证成功前,不要执行此技能中的命令。
搜索酒店、餐厅和景点,并提前获取评分、评论数和排名,供 Agent 排序和选择。除了原始的五个端点,best 和 nearby-best 可以通过一次调用完成搜索和排序,compare 可以并列比较地点,而 drift 会标记自上次查看以来评分下滑的地点——这些功能都由本地 SQLite 缓存支持,因此重复查询无需耗费资源,并且可离线使用。
何时使用此 CLI
当 Agent 需要搜索 Tripadvisor 地点,并按评分、评论数或排名进行比较时,请使用此 CLI——例如,挑选某个城市或某个地点附近最好的酒店、餐厅或景点,并列比较特定选项,或获取某个地点的详情、近期旅行者评论和照片。本地缓存让重复比较更快捷,并支持离线使用。
不适用场景
请勿在以下场景使用此 CLI:
- 请勿使用此 CLI 预订酒店、餐位或旅行团——Content API 仅支持读取,此工具不提供预订服务。
- 请勿用它获取完整的评论历史;免费的 Content API 对每个地点最多返回 5 条近期评论。
- 请勿用它直接抓取 tripadvisor.com;该网站有机器人防护,这也不在本工具的适用范围内。
- 请勿用它总结或判断评论情感;它会返回用户生成的原始文本,由 Agent 进行解读。
独特功能
这些功能无法通过此 API 的其他工具获得。
比较选项
-
best— 搜索某种类型的地点,自动获取热门结果的详情,并在一张表格中按评分、评论数或 Tripadvisor 排名进行排序。当任务是“在 Y 中找到最好的 X”时,请使用此功能,无需自行反复调用 find 和 show。
tripadvisor-pp-cli best "Paris" --category hotels --top 5 --sort rating --agent -
compare— 获取 2-5 个地点 ID 的详情(以及子评分和旅行类型构成),并生成一张结构化对比表。当 Agent 已经筛选出特定地点,需要从中做出选择时,请使用此功能。
tripadvisor-pp-cli compare 93450 258705 1641927 --agent -
nearby-best— 根据经纬度查找附近地点,批量获取详情(最多不超过扫描上限),按类别和最低评分筛选,并返回排名前 K 的结果。当你需要根据坐标查找“附近评分最高的 <类型>”时,请使用此功能。
tripadvisor-pp-cli nearby-best "48.8606,2.3376" --category restaurants --min-rating 4.0 --top 5 --agent -
fit— 根据旅行类型构成与指定旅行者画像(家庭、情侣、独行、商务)的匹配程度,为搜索结果排序。当你希望让候选名单更符合实际旅行者的需求时,请使用此功能。
tripadvisor-pp-cli fit "Orlando" --category hotels --traveler families --top 5 --agent
持续积累的本地状态
-
drift— 将某个地点已存储的评分/评论数快照与最新获取的数据进行比较,报告差值,并标记超过阈值的下滑。当你需要检测已追踪地点自上次查看以来是否有所下滑时,请使用此功能。
tripadvisor-pp-cli drift 93450 --threshold 0.2 --agent
面向 Agent 的原生功能
-
digest— 输入一个地点 ID,生成一份面向 Agent 的单一数据载荷,整合详情、热门评论(用户生成)和照片 URL。当你需要全面了解某个地点,又不想分三次获取数据时,请使用此功能。
tripadvisor-pp-cli digest 93450 --reviews 3 --agent
命令参考
find — 按名称搜索 Tripadvisor 上的酒店、餐厅、景点或地理位置
tripadvisor-pp-cli find <searchQuery>— 按名称搜索地点。返回可传递给 show/reviews/photos 的 location_id、名称和地址。
near — 查找纬度/经度坐标点附近的 Tripadvisor 地点
tripadvisor-pp-cli near <latLong>— 查找 'lat,long' 附近的地点。返回 location_id、名称和地址。
photos — 列出某个地点的照片 URL(缩略图/中等/大/原始尺寸)
tripadvisor-pp-cli photos <locationId>— 列出某个 location_id 的照片及其缩略图/中等/大/原始尺寸 URL。Content API 最多返回 5 张。
reviews — 列出某个地点的近期旅行者评论(用户生成内容;Content API 最多返回 5 条)
tripadvisor-pp-cli reviews <locationId>— 列出某个 location_id 的近期评论。
show — 显示某个地点的完整详情:评分、评论数、排名、地址、营业时间、价格等级、奖项
tripadvisor-pp-cli show <locationId>— 显示一个 location_id 的完整详情。结果以评分、num_reviews 和排名开头,方便 Agent 比较选项。
查找合适的命令
如果你知道想做什么,但不清楚该用哪个命令,可以直接询问 CLI:
tripadvisor-pp-cli which "<capability in your own words>"
which 会根据自然语言能力查询,从此 CLI 精选的功能索引中匹配最合适的命令。退出代码 0 表示至少有一个匹配项;退出代码 2 表示没有可信匹配项——请改用 --help,或尝试更具体的查询。
用法示例
查找城市中评分最高的餐厅
tripadvisor-pp-cli best "Lisbon" --category restaurants --top 5 --sort rating --agent
搜索地点,自动获取热门结果的详情,并按评分排序返回,同时附上评论数。
比较两家酒店
tripadvisor-pp-cli compare 93450 258705 --agent --select name,rating,num_reviews,ranking
获取两家酒店的详情记录,并将比较范围缩小到影响选择的字段。
查找坐标附近的最佳地点
tripadvisor-pp-cli nearby-best "48.8606,2.3376" --category attractions --min-rating 4.5 --top 5 --agent
根据纬度/经度查找附近的景点,并对高评分景点排序。
这个地方的评分下降了吗?
tripadvisor-pp-cli drift 93450 --threshold 0.2 --agent
将缓存的评分快照与最新获取的数据进行比较,并标记明显的下降。
一次调用,全面了解
tripadvisor-pp-cli digest 93450 --reviews 3 --agent --select name,rating,reviews
在一个负载中整合详情、近期评论和照片,并缩小到你需要的内容。
身份验证设置
使用官方 Tripadvisor Content API 密钥,并通过 key 查询参数传入(设置 TRIPADVISOR_API_KEY)。在 tripadvisor.com/developers 创建密钥;显示密钥前,必须添加 IP 限制(你的公网 IPv4 地址,掩码为 /32)或域名限制。域名限制的密钥还要求每个请求都带有 Referer 标头。
运行 tripadvisor-pp-cli doctor 验证设置。
Agent 模式
为任意命令添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。
-
可通过管道传输 — JSON 输出到 stdout,错误输出到 stderr
-
可筛选 —
--select保留一部分字段。带点路径会深入嵌套结构;数组则逐项遍历。对于内容冗长的 API,这对控制上下文大小至关重要:tripadvisor-pp-cli find mock-value --agent --select id,name,status -
可预览 —
--dry-run显示请求,但不会发送 -
支持离线使用 — 可用时,同步/搜索命令可以使用本地 SQLite 存储
-
非交互式 — 绝不提示输入,每个输入都通过标志指定
-
只读 — 不要将此 CLI 用于创建、更新、删除、发布、评论、点赞、邀请、下单、发送或其他会修改数据的请求
响应封装
从本地存储或 API 读取数据的命令会将输出封装在一个来源信息对象中:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
解析 .results 获取数据,并通过 .meta.source 判断数据来自实时 API 还是本地。仅当 stdout 连接到终端,且未设置机器格式标志(--json、--csv、--compact、--quiet、--plain、--select)时,才会将人类可读的 N results (live) 摘要输出到 stderr——管道/Agent 消费者和显式格式运行会在 stdout 输出纯 JSON。
Agent 反馈
当你(或 Agent)发现此 CLI 有哪里不对劲时,请记录下来:
tripadvisor-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
tripadvisor-pp-cli feedback --stdin < notes.txt
tripadvisor-pp-cli feedback list --json --limit 10
条目会本地存储在 ~/.local/share/tripadvisor-pp-cli/feedback.jsonl 中。除非设置了 TRIPADVISOR_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 TRIPADVISOR_FEEDBACK_AUTO_SEND=true,否则绝不会通过 POST 发送。默认行为仅在本地存储。
写下让你感到意外的地方,而不是提交 Bug 报告。简短、具体,用一行写清楚:这部分会不断积累。
输出传递
每条命令都接受 --deliver <sink>。输出会发送到指定的 sink,并同时写入 stdout(或替代 stdout),这样 Agent 就能路由命令结果,而无需手动管道传输。支持三种 sink:
| Sink | 效果 |
|---|---|
stdout | 默认;仅写入 stdout |
file:<path> | 将输出原子写入 <path>(临时文件 + 重命名) |
webhook:<url> | 将输出正文 POST 到 URL(使用 --compact 时为 application/json 或 application/x-ndjson) |
对于未知方案,会拒绝请求并返回结构化错误,指出受支持的方案。Webhook 失败时会返回非零状态,并在 stderr 上记录 URL 和 HTTP 状态。
命名配置文件
配置文件是保存的一组标志值,可在多次调用中重复使用。当定时 Agent 每次运行都以相同配置调用同一命令时,可以使用它——即 HeyGen 的“Beacon”模式。
tripadvisor-pp-cli profile save briefing --json
tripadvisor-pp-cli --profile briefing find mock-value
tripadvisor-pp-cli profile list --json
tripadvisor-pp-cli profile show briefing
tripadvisor-pp-cli profile delete briefing --yes
显式标志始终优先于配置文件值;配置文件值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置文件,方便进行自省的 Agent 在运行时发现它们。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 4 | 需要身份验证 |
| 5 | API 错误(上游问题) |
| 7 | 请求过于频繁(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示tripadvisor-pp-cli --help输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上方的先决条件 - 其他任何内容 → 直接使用(将其作为带
--agent的 CLI 命令执行)
MCP 服务安装
- 安装 MCP 服务:
go install github.com/mvanhorn/printing-press-library/library/travel/tripadvisor/cmd/tripadvisor-pp-mcp@latest - 在 Claude Code 中注册:
claude mcp add tripadvisor-pp-mcp -- tripadvisor-pp-mcp - 验证:
claude mcp list
直接使用
- 检查是否已安装:
which tripadvisor-pp-cli如果未找到,则提供安装选项(参见此技能顶部的先决条件)。 - 将用户查询匹配到上文“独特功能”和“命令参考”中的最佳命令。
- 使用
--agent标志执行:tripadvisor-pp-cli <command> [subcommand] [args] --agent - 如果有歧义,则查看子命令帮助:
tripadvisor-pp-cli <command> --help。