POI 多维加权打分 · 基于美团/online-search的 POI 详情 + 小红书评论 + 用户偏好画像,按 scoring_rules.json 多维度打分,输出每天可塞入的 Top N POI 清单。是 itinerary-optimize 的输入。
Scanned 9/8/2026
Install to Claude Code
npx -y skills add infometa/workbuddyskills --skill poi-curate --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Poi Curate?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/infometa-poi-curate)More formats (shields.io, HTML) on the badges page.
---
name: poi-curate
description: POI 多维加权打分 · 基于美团/online-search的 POI 详情 + 小红书评论 + 用户偏好画像,按 scoring_rules.json 多维度打分,输出每天可塞入的 Top N POI 清单。是 itinerary-optimize 的输入。
version: 1.0.0
author:
tags: [travel, poi, scoring, curate]
license: MIT
triggers:
- destination-research 已输出选定目的地后
- 需要为每天行程挑选具体 POI(景点/餐厅/小吃/打卡点)时
inputs:
- name: destinations
type: array
doc: 选定的目的地城市列表
required: true
- name: user_profile
type: file
formats: [json]
required: true
- name: trip_request
type: object
required: true
outputs:
- name: poi_pool
type: object
doc: 按城市分组的 POI 池,每个 POI 含坐标/评分/价格/营业/置信度/匹配度
---
# POI 筛选打分(poi-curate)
## 我解决什么问题
通用 AI 推 POI:「成都熊猫基地、宽窄巷子、锦里、春熙路、武侯祠…」 — 全是游客街,没有针对性。
我做的:根据用户**口味/节奏/禁忌/季节/天气**做加权评分,把**真实评价**纳入考量。
## 工作流程
```
destinations + user_profile + trip_request
↓
Step 1: 调 search-orchestrator (domain=poi)
├─ 美团连接器 "景点推荐" / "本地玩乐"
├─ online-search 查 POI 详情
└─ xhs-explore skill 拉评论(识别水军 + 真实避雷)
↓ raw_pois.json
↓
Step 2: scripts/score_pois.py
按 data/scoring_rules.json 多维加权:
- rating (20%)
- xhs_buzz (15%)
- xhs_sentiment (15%) ← 评论情感分析
- user_pref_match (30%) ← 与 profile 匹配
- queuing_factor (10%)
- weather_compat (10%)
减去 penalties(rejected/visited/no_high_altitude/dietary 冲突)
加上 boosts(favorites/scene_likes/local_recommended)
↓
Step 3: 按城市分组,每类目(景点/餐厅/咖啡/夜市)取 Top N
↓
poi_pool.json
↓ 给 itinerary-optimize
```
## 输出 schema
```json
{
"by_city": {
"成都": {
"scenic_spot": [
{
"id": "poi-001",
"name": "杜甫草堂",
"category": "scenic_spot",
"lat": 30.6622,
"lng": 104.0218,
"rating": 4.6,
"xhs_notes": 1242,
"xhs_likes": 38900,
"xhs_sentiment_score": 0.78,
"_sentiment_doc": "0-1,正/负面词频比",
"open_hours": "08:00-18:00",
"ticket_price": 50,
"est_visit_min": 90,
"est_queue_min": 10,
"final_score": 0.82,
"match_doc": "你喜欢博物馆类(+15)、不爱排队(OK:仅 10 分钟)",
"warnings": [],
"confidence": "green",
"evidence_summary": "1242 篇笔记普遍正面,少数提到讲解差"
}
],
"restaurant": [...],
"cafe": [...]
}
},
"metadata": {
"scoring_rules_version": "1.0",
"queried_at": "2026-06-03T17:00:00+08:00"
}
}
```
## scoring_rules.json 是核心数据资产
详细维度/权重在 `data/scoring_rules.json`。
**只在这个 skill 里读它**,避免散落到多处。
## 反模式
- ❌ 把评分逻辑硬编码到 .py(必须从 JSON 读,方便调整)
- ❌ 不做情感分析就用 xhs_buzz(有些点是黑红,buzz 高但负面多)
- ❌ 直接吐 100 个 POI(没有 Top N 筛选会让 07 算不动)
- ❌ 忽略 user_profile.history.rejected_pois(用户讨厌过的不能再推)
## 数据置信度
- 🟢 green:美团连接器 + xhs-explore 三源都有
- 🟡 yellow:只有 1-2 源
- ⚪ gray:仅 WebSearch / references/ 兜底
---
_这个 skill 决定了行程的"质感"。规则用 JSON 数据资产化是核心。_

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!