blue-ribbon-nearby

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Blue Ribbon Nearby

Blue Ribbon Nearby

What this skill does

技能功能

유저가 알려준 현재 위치를 기준으로 블루리본 서베이 공식 검색 표면에서 근처 블루리본 맛집만 추려서 보여준다.
  • 위치는 자동으로 추정하지 않는다.
  • 반드시 먼저 현재 위치를 질문한다.
  • 위치 문자열은 공식
    zone
    목록으로 매칭하고, 가능하면 주변 JSON endpoint 로 좁혀서 찾는다.
  • 좌표를 직접 받으면 더 정확한 nearby 검색을 할 수 있다.
根据用户提供的当前位置,从블루리본 서베이(蓝丝带美食调查)官方搜索渠道中仅筛选出附近的蓝丝带上榜美食店展示给用户。
  • 不会自动估算用户位置。
  • 必须首先询问用户当前位置
  • 位置字符串将与官方
    zone
    列表进行匹配,尽可能通过周边JSON endpoint缩小搜索范围。
  • 若直接获取到坐标信息,可以实现更精准的附近地点搜索。

When to use

适用场景

  • "근처 맛집 찾아줘"
  • "여기 근처 블루리본 맛집 뭐 있어?"
  • "광화문 근처 괜찮은 식당 추천해줘"
  • "내 주변 블루리본 식당만 보여줘"
  • "帮我找附近的美食店"
  • "这里附近有什么蓝丝带上榜的美食店?"
  • "请推荐光化门附近不错的餐厅"
  • "只给我看我周边的蓝丝带餐厅"

Routing rule

路由规则

  • 사용자가 맛집 / 근처 식당 / 근처 레스토랑 을 물으면 기본적으로 이 스킬부터 고려한다.
  • 다만 사용자가 블루리본 외 다른 기준(예: 망고플레이트, 네이버 지도 리뷰, 특정 음식점 예약) 을 명시하면 그 표면을 우선한다.
  • 用户询问美食店 / 附近餐厅 / 附近餐馆时,默认优先考虑使用本技能。
  • 不过如果用户明确提出蓝丝带以外的其他标准(例如:망고플레이트(芒果盘)、Naver地图点评、特定餐厅预订),则优先使用对应渠道。

Prerequisites

前置要求

  • 인터넷 연결
  • node
    18+
  • 이 저장소의
    blue-ribbon-nearby
    package 또는 동일 로직
  • 互联网连接
  • node
    18+
  • 本仓库的
    blue-ribbon-nearby
    包或相同逻辑的实现

Mandatory first question

强制首问规则

위치 정보 없이 바로 검색하지 말고 반드시 먼저 물어본다.
  • 권장 질문:
    현재 위치를 알려주세요. 동네/역명/랜드마크/위도·경도 중 편한 형식으로 보내주시면 근처 블루리본 맛집을 찾아볼게요.
  • 위치가 애매하면:
    가까운 역명이나 동 이름으로 한 번만 더 알려주세요.
  • 좌표를 받으면 그대로 nearby 검색에 사용한다.
没有获取到位置信息时不要直接搜索,必须首先询问用户位置。
  • 推荐提问话术:
    请告知您的当前位置,您可以以小区/地铁站名/地标/经纬度任意方便的形式发送,我会为您查找附近的蓝丝带上榜美食店。
  • 位置信息模糊时:
    请您再提供一下附近的地铁站名或小区名称哦。
  • 获取到坐标后直接用于附近地点搜索。

Accepted location inputs

可接受的位置输入

  • 동네/상권:
    성수동
    ,
    광화문
    ,
    판교
  • 역명/랜드마크:
    강남역
    ,
    서울역
    ,
    코엑스
  • 위도/경도:
    37.573713, 126.978338
랜드마크는 내부 alias 로 가장 가까운 공식 Blue Ribbon zone 이름에 매칭한다. 예:
코엑스
삼성동/대치동
  • 小区/商圈:
    성수동
    ,
    광화문
    ,
    판교
  • 地铁站名/地标:
    강남역
    ,
    서울역
    ,
    코엑스
  • 经纬度:
    37.573713, 126.978338
地标将通过内部别名匹配最接近的官方Blue Ribbon zone名称,例如:
코엑스
삼성동/대치동

Official Blue Ribbon surfaces

官方Blue Ribbon渠道

  • zone catalog:
    https://www.bluer.co.kr/search/zone
  • nearby search JSON:
    https://www.bluer.co.kr/restaurants/map
  • search page:
    https://www.bluer.co.kr/search
핵심 nearby 파라미터:
  • zone1
  • zone2
  • zone2Lat
  • zone2Lng
  • isAround=true
  • ribbon=true
  • ribbonType=RIBBON_THREE,RIBBON_TWO,RIBBON_ONE
  • distance=500|1000|2000|5000
좌표 직접 검색 시에는
latitude1
,
latitude2
,
longitude1
,
longitude2
bounding box 를 사용한다.
  • 区域目录:
    https://www.bluer.co.kr/search/zone
  • 附近搜索JSON接口:
    https://www.bluer.co.kr/restaurants/map
  • 搜索页面:
    https://www.bluer.co.kr/search
核心附近搜索参数:
  • zone1
  • zone2
  • zone2Lat
  • zone2Lng
  • isAround=true
  • ribbon=true
  • ribbonType=RIBBON_THREE,RIBBON_TWO,RIBBON_ONE
  • distance=500|1000|2000|5000
直接使用坐标搜索时,使用
latitude1
,
latitude2
,
longitude1
,
longitude2
边界框参数。

Workflow

工作流程

1. Ask the current location first

1. 首先询问当前位置

위치를 안 물은 상태에서 검색을 시작하지 않는다.
未获取位置时不要启动搜索。

2. Resolve the location

2. 解析位置信息

  • 동네/역명/랜드마크를 받으면 공식
    https://www.bluer.co.kr/search/zone
    목록과 먼저 매칭한다.
  • 코엑스처럼 공식 zone 이름이 아닌 대표 랜드마크는 가장 가까운 공식 zone alias 로 먼저 확장한다.
  • 위도/경도를 받으면 좌표 기반 nearby 검색으로 바로 들어간다.
  • 가장 유력한 zone 후보가 여러 개면 2~3개만 보여주고 다시 확인받는다.
  • 接收到小区/地铁站名/地标时,首先与官方
    https://www.bluer.co.kr/search/zone
    列表进行匹配。
  • 类似코엑스这类非官方zone名称的代表性地标,首先扩展匹配最接近的官方zone别名。
  • 接收到经纬度时,直接进入基于坐标的附近搜索流程。
  • 如果有多个可能性最高的zone候选,仅展示2~3个请用户再次确认。

3. Query the nearby Blue Ribbon endpoint

3. 调用蓝丝带附近搜索接口

공식 JSON endpoint 에 nearby 조건을 붙여 호출한다.
js
const { searchNearbyByLocationQuery } = require("blue-ribbon-nearby");

const result = await searchNearbyByLocationQuery("광화문", {
  distanceMeters: 1000,
  limit: 5
});

console.log(result.anchor);
console.log(result.items);
내부적으로는
ribbon=true
,
ribbonType=RIBBON_THREE,RIBBON_TWO,RIBBON_ONE
,
isAround=true
,
sort=distance
,
zone2Lat
,
zone2Lng
같은 파라미터를 사용한다.
给官方JSON接口加上附近搜索条件后发起请求。
js
const { searchNearbyByLocationQuery } = require("blue-ribbon-nearby");

const result = await searchNearbyByLocationQuery("광화문", {
  distanceMeters: 1000,
  limit: 5
});

console.log(result.anchor);
console.log(result.items);
内部会使用
ribbon=true
,
ribbonType=RIBBON_THREE,RIBBON_TWO,RIBBON_ONE
,
isAround=true
,
sort=distance
,
zone2Lat
,
zone2Lng
等参数。

4. Respond with a short restaurant summary

4. 返回简洁的餐厅摘要

보통 3~5개만 짧게 정리한다.
  • 식당명
  • 리본 개수
  • 대표 음식 카테고리
  • 주소
  • 거리
通常仅整理3~5个结果即可:
  • 餐厅名称
  • 蓝丝带数量
  • 代表美食类别
  • 地址
  • 距离

Done when

完成条件

  • 유저의 현재 위치를 먼저 확인했다.
  • 공식 Blue Ribbon nearby 결과를 최소 1개 이상 찾았거나, 찾지 못한 이유와 다음 질문을 제시했다.
  • 결과를 거리순으로 짧게 정리했다.
  • 已首先确认用户的当前位置。
  • 至少找到1条官方Blue Ribbon附近搜索结果,或者告知用户未找到的原因并给出后续引导问题。
  • 结果已按距离由近到远简短整理。

Failure modes

异常场景

  • 위치 문자열이 공식 zone 과 잘 매칭되지 않을 수 있다.
  • 같은 키워드가 여러 상권에 걸치면 추가 확인이 필요하다.
  • Blue Ribbon 사이트가 구조/파라미터를 바꾸면 zone 파싱 또는 nearby endpoint 가 깨질 수 있다.
  • 位置字符串可能无法与官方zone正确匹配。
  • 相同关键词覆盖多个商圈时需要用户额外确认。
  • Blue Ribbon网站修改结构/参数时,区域解析或附近接口可能会失效。

Notes

注意事项

  • 이 스킬은 조회형 스킬이다.
  • 유저 위치는 자동 추적하지 않고, 대화 중 받은 값만 사용한다.
  • 맛집 문의는 기본적으로 이 스킬을 먼저 쓰되, 블루리본 외 다른 기준이 명시되면 그 기준을 우선한다.
  • 本技能为查询类技能。
  • 不会自动追踪用户位置,仅使用对话过程中用户提供的位置信息。
  • 美食咨询默认优先使用本技能,但若用户明确提出蓝丝带以外的其他标准,则优先遵循用户要求的标准。