评估旅行目的地需要几天才能玩好,判断用户的假期时间是否充足。通过真实旅行攻略提取各段路线实际耗时,给出"时间充裕/刚好/偏紧"的评估和精简方案建议。 当用户提到以下场景时使用此 skill:假期够不够、旅行时间评估、几天够玩、行程天数、时间够吗、假期天数够不够、去XX玩几天合适、XX天能玩完吗。 即使用户没有明确说"评估时间",只要涉及"目的地 + 可用天数"的组合,就应该触发此 skill。
帮用户判断假期时间和旅行目的地是否匹配。核心逻辑:从社区平台获取真实攻略中的时间数据,与用户可用天数对比,给出实用建议。
每次执行前先确认 CDP 环境可用:
node "$SKILL_ROOT/scripts/check-deps.mjs"
如果脚本报告 Chrome 未连接,它会自动打开 chrome://inspect/#remote-debugging 页面。此时告诉用户:
已为你打开 Chrome 调试设置页面。请勾选页面中的 "Allow remote debugging for this browser instance",完成后告诉我,我会继续执行。
用户确认后重新运行 check-deps.mjs 验证连接。
从用户的描述中提取两个关键信息:
如果用户只提了目的地没说天数,主动追问可用天数。如果用户只说了天数没说目的地,追问想去哪里。两个信息都齐了再开始检索。
路线不需要用户提供,由真实攻略中获取。
数据源为反爬严格的社区平台,必须通过 CDP 浏览器模式访问,不要尝试 WebSearch 或 WebFetch。
# 启动搜索页(将 KEYWORD 替换为实际关键词)
curl -s "http://localhost:3456/new?url=https://www.xiaohongshu.com/search_result?keyword=KEYWORD&source=web_search_result_note"
搜索关键词策略 -- 用多组关键词获取更全面的信息:
"{目的地} 旅行攻略 时间安排""{目的地} 几天够玩""{目的地} X天行程" (X 为用户提供的天数)记录返回的 targetId,后续操作都需要用到。
# 等待页面加载后提取笔记链接和标题
curl -s -X POST "http://localhost:3456/eval?target=TARGET_ID" \
-d 'JSON.stringify([...document.querySelectorAll("section.note-item a.cover")].slice(0, 10).map(a => ({title: a.closest("section")?.querySelector(".title")?.textContent?.trim() || "", url: a.href})))'
如果选择器未命中,先用 /eval 观察页面实际 DOM 结构再调整选择器。该平台前端频繁改版,选择器可能需要适配。
可以用 /scroll 向下滚动加载更多结果:
curl -s "http://localhost:3456/scroll?target=TARGET_ID&direction=bottom"
从搜索结果中选取 5-10 篇相关度高的笔记(标题中包含天数、攻略、行程等关键词的优先),逐一打开并提取正文:
# 在新标签页打开笔记
curl -s "http://localhost:3456/new?url=NOTE_URL"
# 提取正文内容
curl -s -X POST "http://localhost:3456/eval?target=NOTE_TARGET_ID" \
-d 'document.querySelector("#detail-desc")?.textContent?.trim() || document.querySelector(".note-text")?.textContent?.trim() || ""'
提取完一篇后关闭标签页再打开下一篇,避免同时开太多标签页:
curl -s "http://localhost:3456/close?target=NOTE_TARGET_ID"
所有笔记提取完毕后,关闭搜索页标签页:
curl -s "http://localhost:3456/close?target=TARGET_ID"
/eval 查看实际 DOM 结构并动态调整。这个 skill 的核心是判断时间够不够,不是帮用户做路线规划。提取信息时聚焦以下三点:
交叉对比多篇笔记,关注共识性结论:
结论先行,依据在后。语言简洁实用。
这是最重要的部分,放在最前面。明确回答用户"我的假期够不够":
列出该目的地的必去景点及各自所需时间,作为结论的支撑依据。格式:
[景点名]:游玩约X小时
[景点名]:游玩约X小时(距上一景点车程约X小时)
...
合计:核心景点游玩约需X天
标注数据来源于真实用户攻略,可能因季节、交通方式等因素有所差异。
根据评估结论给出针对性建议:
每条建议要具体,比如"XX景点可以跳过,多数人反馈性价比不高"或"XX和XX距离近,可以安排在同一天"。