
通过 goplaces CLI 查询 Google Places API(新版),用于文本搜索、地点详情、解析和评论。适用于人性化的地点查找或脚本使用的 JSON 输出。
技能概述
goplaces 技能提供了一个现代的 Google Places API(新版)命令行界面。用户可以使用 goplaces 命令进行文本搜索、获取地点详情、解析地址和查看评论。该技能默认提供人性化的输出格式,同时支持 --json 参数用于脚本处理。用户可以配置地理位置偏置、评分过滤、价格等级等多种搜索选项,以满足不同的查找需求。
主要功能
- 文本搜索: 根据关键词搜索地点
- 地点详情: 获取特定地点的详细信息,包括评论
- 地址解析: 将地址文本解析为地点
- 地理位置偏置: 基于经纬度和半径进行搜索
- 评分过滤: 根据评分筛选地点
- 营业状态过滤: 仅搜索当前营业的地点
- 分页支持: 支持分页浏览搜索结果
- JSON 输出: 支持结构化的 JSON 输出用于脚本处理
- 多提供商支持: 支持 Tenor 和 Giphy 提供商
触发条件
在以下情况下应该调用此技能:
- 用户需要搜索特定类型的地点(如咖啡店、餐厅等)
- 用户需要获取特定地点的详细信息
- 用户需要解析地址文本
- 用户需要查看地点的评论
- 用户需要在特定地理位置附近搜索地点
- 用户需要根据评分、价格等级等条件筛选地点
- 用户需要结构化的地点数据用于脚本处理
使用场景
快速地点搜索
用户需要快速找到附近的咖啡店、餐厅等地点,使用 goplaces search 命令。
地理位置偏置搜索
用户需要在特定位置附近搜索地点,使用经纬度和半径参数进行偏置。
地点详情查询
用户需要获取特定地点的详细信息,包括营业时间、联系方式、评论等。
地址解析
用户需要将地址文本解析为具体的地点信息。
脚本集成
用户需要在脚本中使用地点搜索结果,使用 JSON 输出格式。
处理过程
1. 配置 API 密钥
在使用 goplaces 之前,需要配置 Google Places API 密钥:
- GOOGLE_PLACES_API_KEY: 必需的环境变量
- GOOGLE_PLACES_BASE_URL: 可选,用于测试或代理
2. 执行搜索
使用 goplaces search 命令搜索地点:
- goplaces search "coffee": 搜索咖啡店
- goplaces search "coffee" --open-now --min-rating 4 --limit 5: 搜索当前营业、评分 4+ 的咖啡店,最多 5 个
- goplaces search "pizza" --lat 40.8 --lng -73.9 --radius-m 3000: 在特定位置附近搜索披萨店
- goplaces search "pizza" --page-token "NEXT_PAGE_TOKEN": 使用分页令牌获取下一页结果
3. 获取地点详情
使用 goplaces details 命令获取地点详情:
- goplaces details <place-id>: 获取地点基本信息
- goplaces details <place-id> --reviews: 获取地点信息及评论
4. 解析地址
使用 goplaces resolve 命令解析地址:
- goplaces resolve "Soho, London": 解析伦敦 Soho 的地址
- goplaces resolve "Soho, London" --limit 5: 限制返回结果数量
5. JSON 输出
使用 --json 参数获取结构化输出:
- goplaces search "sushi" --json: 以 JSON 格式返回搜索结果
输入要求
使用此技能时,用户需要提供:
- 搜索关键词: 描述要搜索的地点的关键词
- API 密钥: Google Places API 密钥(通过环境变量)
- 地点 ID: 获取详情时需要的地点标识符
- 地址文本: 解析地址时需要的地址字符串
- 搜索参数: 可选,如地理位置、评分、价格等级等
输出说明
技能将提供:
- 地点列表: 搜索到的地点列表
- 地点详情: 特定地点的详细信息
- 评论: 地点的用户评论
- 解析结果: 地址解析的结果
- 结构化数据: JSON 格式的地点数据
- 错误信息: 如果操作失败,提供详细的错误信息
使用示例
示例 1: 快速开始
# 搜索咖啡店
goplaces search "coffee"# 搜索当前营业、评分 4+ 的咖啡店,最多 5 个
goplaces search "coffee" --open-now --min-rating 4 --limit 5# 在特定位置附近搜索披萨店
goplaces search "pizza" --lat 40.8 --lng -73.9 --radius-m 3000# 使用分页令牌获取下一页结果
goplaces search "pizza" --page-token "NEXT_PAGE_TOKEN"
示例 2: 获取地点详情
# 获取地点基本信息
goplaces details <place-id># 获取地点信息及评论
goplaces details <place-id> --reviews
示例 3: 解析地址
# 解析伦敦 Soho 的地址
goplaces resolve "Soho, London"# 限制返回结果数量
goplaces resolve "Soho, London" --limit 5
示例 4: JSON 输出
# 以 JSON 格式返回搜索结果
goplaces search "sushi" --json# 使用 jq 处理 JSON 输出
goplaces search "coffee" --json | jq '.[] | .name'
示例 5: 高级搜索
# 搜索特定类型的地点
goplaces search "restaurant" --type restaurant# 搜索特定价格等级的地点
goplaces search "cafe" --max-price 2# 组合多个搜索条件
goplaces search "cafe" --open-now --min-rating 4 --max-price 2 --limit 10
最佳实践
- 配置 API 密钥: 确保正确配置 GOOGLE_PLACES_API_KEY 环境变量。
- 使用地理位置偏置: 当搜索本地相关内容时,使用 --lat、--lng 和 --radius-m 参数进行地理位置偏置。
- 过滤结果: 使用 --open-now、--min-rating、--max-price 等参数过滤搜索结果,获得更精确的结果。
- 限制结果数量: 使用 --limit 参数限制返回的结果数量,提高性能。
- 使用 JSON 输出: 当需要在脚本中使用搜索结果时,使用 --json 参数获取结构化数据。
- 分页浏览: 使用 --page-token 参数浏览大量搜索结果。
- 禁用颜色: 使用 --no-color 或设置 NO_COLOR 环境变量禁用 ANSI 颜色。
- 价格等级: 价格等级范围为 0..4(免费 → 非常昂贵)。
- 类型过滤: 类型过滤器仅发送第一个 --type 值(API 仅接受一个)。
下载地址
此技能及相关工具可从以下地址下载:
https://github.com/openclaw/openclaw/tree/main/skills

266

被折叠的 条评论
为什么被折叠?



