【openclaw实用Skill】goplaces 技能

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

通过 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

最佳实践

  1. 配置 API 密钥: 确保正确配置 GOOGLE_PLACES_API_KEY 环境变量。
  2. 使用地理位置偏置: 当搜索本地相关内容时,使用 --lat、--lng 和 --radius-m 参数进行地理位置偏置。
  3. 过滤结果: 使用 --open-now、--min-rating、--max-price 等参数过滤搜索结果,获得更精确的结果。
  4. 限制结果数量: 使用 --limit 参数限制返回的结果数量,提高性能。
  5. 使用 JSON 输出: 当需要在脚本中使用搜索结果时,使用 --json 参数获取结构化数据。
  6. 分页浏览: 使用 --page-token 参数浏览大量搜索结果。
  7. 禁用颜色: 使用 --no-color 或设置 NO_COLOR 环境变量禁用 ANSI 颜色。
  8. 价格等级: 价格等级范围为 0..4(免费 → 非常昂贵)。
  9. 类型过滤: 类型过滤器仅发送第一个 --type 值(API 仅接受一个)。
下载地址

此技能及相关工具可从以下地址下载:
https://github.com/openclaw/openclaw/tree/main/skills

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rengang66

希望本文对您有所帮助

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值