travel-guide-generator

内容来源:clawhub · 原始地址 · 查看安装指南

原始内容


name: travel-guide-generator description: 旅游攻略生成器 - 当用户提出旅游规划需求时自动调用,例如"生成XX旅游攻略"、"规划XX行程"、"XX几天怎么玩"、"情侣/周末/自驾游怎么安排"。支持全球任意城市(威海/青岛/大连/大理/厦门/Tokyo/Paris等仅为常见样例,不限于此)与 1-14 天行程(超过14天仍可生成,但会提示行程过长并建议拆分)。自动搜索真实攻略、高德API计算路线距离用时、生成PC/移动端自适应精美HTML,含每日行程、酒店、美食、避坑、预算。支持中/英/日/韩/法/德/西等多语言。不提供实时订票、签证办理、纯商务出差行程。

旅游攻略生成器 | Travel Guide Generator | 旅行ガイド生成器 | 여행 가이드 생성기

自动生成精美、详细、浪漫的旅游攻略HTML文档。支持多语言输出。

🤖 一句话生成精美旅游攻略 HTML,让每一次出发都有温度

何时调用 / 如何触发

本 Skill 由 AI 在识别到旅游规划意图时自动调用,用户无需记忆任何命令,直接说出需求即可。出现以下任一情况即会触发:

  • 明确请求生成攻略:如"生成威海4天攻略"、"帮我规划大理行程"、"做一个厦门周末游 HTML"
  • 表达旅游规划意图:如"XX 几天怎么玩"、"周末去 XX 有什么推荐"、"情侣去 XX 怎么安排"、"自驾游 XX 路线"
  • 目的地 + 天数 + 风格组合:浪漫 / 休闲 / 亲子 / 自驾 / 周末 等关键词出现时

直接说即可触发(示例):

帮我生成一份威海4天浪漫攻略,从北京出发 规划一个大理2天周末游,情侣 Generate a 3-day romantic guide for Kyoto

不会触发的情况(超出边界,见下节): 纯订票 / 订酒店、签证办理、商务出差、非旅游类路线规划。

适用范围与边界

为避免生成结果不符合预期,请先了解本 Skill 的覆盖范围与限制:

✅ 支持范围

  • 城市:全球任意城市均可生成。示例中的威海 / 青岛 / 大连 / 大理 / 厦门 / Tokyo / Paris 等仅为常见样例,不限于这些城市
  • 天数:推荐 1-14 天,此区间内体验最佳(每日 2-3 个核心景点、节奏舒适)。
  • 风格:情侣浪漫游、周末短途游、自驾游、休闲游、亲子游等常规旅游场景。
  • 语言:中 / 英 / 日 / 韩 / 法 / 德 / 西等多语言输出。

⚠️ 边界与超出时的处理

  • 天数超过 14 天:仍可生成,但会提示"行程较长",并建议拆分为多段或聚焦核心城市,避免每日过赶。
  • 天数不足 1 天 / 非整数天:按"1 日精华游"处理,或提示补充具体天数。
  • 小众 / 攻略数据稀少的目的地:仍能生成,但会基于通用旅游知识编写,并明确标注"部分信息可能不够精准,请以当地实际为准"。
  • 未配置高德 API Key:路线距离 / 用时改为估算值,整体攻略仍可正常生成。

❌ 不支持(非目标场景)

  • 实时机票 / 酒店预订、下单支付
  • 签证办理、出入境政策咨询
  • 纯商务出差、会议行程
  • 非旅游类路线规划(搬家、货运、通勤等)

多语言支持

本 skill 支持生成多种语言的旅游攻略HTML。所有模块文本(标题、按钮、标签、提示等)均会翻译为指定语言。

支持的语言

语言代码 语言 示例请求
zh-CN 简体中文(默认) "帮我生成一个威海4天旅游攻略"
en 英语 "Generate a 4-day travel guide for Tokyo"
ja 日语 "東京の4日間旅行ガイドを作成して"
ko 韩语 "부산 4일 여행 가이드 만들어줘"
fr 法语 "Génère un guide de voyage de 4 jours à Paris"
de 德语 "Erstelle einen 4-Tage-Reiseführer für München"
es 西班牙语 "Genera una guía de viaje de 4 días para Barcelona"
it 意大利语 "Genera una guida di viaggio di 4 giorni per Roma"
pt 葡萄牙语 "Gere um guia de viagem de 4 dias para Lisboa"
ru 俄语 "Создай путеводитель на 4 дня по Москве"
th 泰语 "สร้างคู่มือเที่ยวโตเกียว 4 วัน"
vi 越南语 "Tạo hướng dẫn du lịch 4 ngày ở Đà Nẵng"
ar 阿拉伯语 "أنشئ دليلاً سياحياً لمدة 4 أيام في دبي"

语言检测规则

  1. 用户使用某种语言提问 → 自动使用该语言生成攻略
  2. 用户明确指定语言 → 按指定语言生成(如"用英语生成"、"in English")
  3. 未指定且使用中文 → 默认简体中文

多语言生成规范

  • HTML <html lang="..."> 标签设置为对应语言代码
  • 所有面向用户的文本全部翻译为目标语言,包括:
    • 页面标题、Hero区域
    • 导航标签(Day/交通/时间表/避坑/预算/Tips等)
    • 交通信息卡片(高铁/飞机/推荐标注等)
    • 路线条文字(距离、用时、交通方式)
    • 景点名称、描述、价格标签
    • 浪漫时刻提示
    • 美食推荐(店名保留原文,描述翻译)
    • 避坑清单(错误做法/正确做法)
    • 预算估算(分类名称、总计)
    • Tips标题和内容
    • 酒店推荐区域
    • 折叠提示文字
  • 专有名词(景点名、酒店名、店名)保留原文,可在括号中附注翻译
  • 价格和数字使用当地货币格式
  • CSS样式不变,只改变文本内容
  • 对于阿拉伯语等RTL语言,在HTML中添加 dir="rtl" 属性

对话回复规范(重要!)

回复顺序(必须遵守):

  1. 先生成HTML文件 → 提示用户文件已生成(路径/链接)
  2. 然后提供详细文字版攻略 → 在对话最后放上完整文字版,方便用户快速浏览

文字版攻略必须包括:

  1. 行程总览 — 每天的主题和核心景点(3-5行)
  2. 必打卡亮点 — 最值得去的3-5个地方,附一句话说明为什么
  3. 美食推荐 — 列出5-8家餐厅/小吃,含人均价格、必点菜、推荐理由
  4. 酒店推荐 — 2-3个住宿区域,附价格区间和推荐理由
  5. 避坑指南 — 最关键的3-5条避坑建议(精简易懂)
  6. 预算估算 — 经济型/舒适型两种总预算
  7. 浪漫Tips(如适用)— 情侣专属建议
  8. 交通提示 — 如何到达、当地交通方式推荐

回复风格:详细、有温度、像朋友在推荐。不要只说"已生成攻略"就结束。

示例(生成大理攻略后的对话回复)

✅ 大理2天浪漫攻略已生成!

**HTML文件已生成**:`C:\Users\...\大理2天浪漫攻略.html`

您可以直接打开这个文件查看精美的旅游攻略(PC/移动端自适应,带右侧快速导航)。

---

## 📱 详细文字版攻略(方便快速浏览)

### 🏔️ 行程总览
- Day1:古城漫步 → 三塔倒影 → 洱海日落(龙龛码头)
- Day2:喜洲古镇(麦田/转角楼)→ 周城扎染 → 环海东路S湾 → 双廊

## ✨ 必打卡
1. 龙龛码头日落 — 金光洒满洱海,苍山作背景,一生必看!
2. 喜洲麦田 — 春夏绿/秋天金,宫崎骏动画即视感
3. S湾公路 — 洱海+苍山同框,大理最出片的地方
4. 周城扎染 — 一起做方巾,成品当情侣信物带走

## 🍜 美食推荐(详细版见HTML)
- 喜洲破酥粑粑 ¥10-15(现烤现卖,甜/咸两种都好吃!)
- 梅子井酒家 ¥50-70/人(百年梅子树院子,雕梅扣肉一绝)
- 洱海渔家 ¥60-80/人(白族风味,砂锅鱼+乳扇羹)

## 🏨 住宿推荐
- 古城内民宿 ¥200-500/晚(白族庭院,推荐"既下山")
- 洱海边精品 ¥600-1500/晚(推窗见洱海,浪漫值爆表)

## ⚠️ 关键避坑
- 不要在景区买银器/茶叶,套路深!去周城正规作坊买扎染
- 环海不要中午去,紫外线超强!早9前或下午4后
- 人民路"野生导游"不要理,会带你去购物点

## 💰 预算
- 经济型:¥800-1200/人 | 舒适型:¥1500-2500/人

示例

用户说:"Generate a 3-day romantic travel guide for Kyoto from Tokyo"

生成的HTML应:

  • <html lang="en">
  • 标题:"Kyoto 3-Day Romantic Getaway"
  • 导航:"Day 1"、"Transport"、"Timeline"、"Tips"等
  • 景点描述全英文
  • 店名保留日文:"Nishiki Market(錦市場)"
  • 价格显示:"¥1,500 JPY"

核心功能

  1. 在线搜索真实攻略 - 搜索全网获取真实用户评价和推荐
  2. 高德API路线计算 - 计算景点间距离、用时,突出显示路线衔接(无需地图显示)
  3. 精美HTML生成 - 旅游氛围设计,PC/移动端自适应
  4. 详细行程规划 - 每日路线、酒店、美食、避坑指南
  5. 多语言输出 - 支持中/英/日/韩/法/德/西等13种语言

使用方法

基础用法

用户只需提供:

  • 目的地:如"威海"、"大理"
  • 天数:如"4天"
  • 出发地:如"北京"(可选)
  • 风格偏好:如"浪漫"、"休闲"(可选)

示例请求:

帮我生成一个威海4天旅游攻略,从北京出发,浪漫休闲风格

工作流程

  1. 收集需求 - 确认目的地、天数、出发地、风格偏好
  2. 搜索攻略 - 使用在线搜索工具搜索全网攻略
  3. 查询交通 - 查询高铁/飞机真实班次和价格
  4. 计算路线 - 使用高德API计算景点间距离和用时
  5. 生成HTML - 使用模板生成精美HTML文档

工作流中任一步失败都不能中断整篇攻略,必须按下方「可靠性与容错」降级处理。

可靠性与容错(失败必须降级,不能让攻略生成失败)

本 Skill 的核心可靠性原则:攻略永远要能生成出来。网络、API、搜索任何一环出问题,都必须自动切换到备选方案,而不是中断报错、留下空白攻略。

容错规则(必须遵守)

  1. 高德 API 调用失败(无 Key / 网络超时 / 配额耗尽 / 返回错误)

    • 不中断生成,改用估算值:驾车距离 ≈ 直线距离 × 1.3;城区车速取 30 km/h、跨城取 60 km/h 估算用时。
    • 在路线条上明确标注「估算」字样,与真实数据区分。
    • 单点查询失败:跳过该点,继续其余行程,不卡住整个 Day。
  2. 联网搜索攻略失败(网络异常 / 搜索服务不可用)

    • 不中断,改用通用旅游知识生成美食、避坑、酒店建议。
    • 在对应模块标注「基于通用知识,建议出行前再核实」。
  3. 交通班次查询失败(无真实高铁/航班数据)

    • 改用估算(如"约 2-3 小时车程")或提示用户自行查询,不阻塞生成。
  4. 单个脚本执行异常

    • 脚本已设计为失败时返回结构化 {"status":"error","fallback":true} 而非崩溃;AI 捕获后按上述规则降级,绝不因一个工具失败导致整篇攻略空白
  5. HTML 模块隔离

    • 各模块(Hero / 交通 / 每日行程 / 美食 / 酒店 / 避坑 / 预算 / Tips)相互独立。
    • 任一模块数据缺失或生成失败时,只跳过 / 降级该模块,其余照常渲染,绝不整页空白或报错。
    • 降级数据需按下方规范加标识:估算值加「估算」标签,通用知识加「建议核实」提示。

降级优先级

真实数据  >  启发式估算(标注"估算")  >  通用知识(标注"建议核实")  >  留空并提示用户补充

任何情况下,行程框架、酒店 / 美食 / 避坑 / 预算等模块都应完整输出

高德API配置(可选增强 · 不配置也能用)

💡 先放宽心:这一节是可选的增强项,不是必做步骤。即使完全不配置高德 API,攻略照常生成——景点间距离和用时会自动用估算值代替,行程、酒店、美食、避坑、预算等模块都不受影响。只有你想让路线距离/用时更精准时才需要配置它。

配置高德 API 后,攻略中的景点间距离、驾车/步行用时会是真实数据,路线规划更精准。不配置完全没问题,按需决定即可。

第一步:注册并登录高德开放平台

  1. 打开 高德开放平台控制台
  2. 点击右上角「控制台」→ 用手机号 / 支付宝注册并登录(需完成实名认证,否则无法创建 Key)

第二步:创建应用并申请 Key

  1. 进入「应用管理」→「我的应用」
  2. 点击「创建新应用」,填写应用名称(如"旅游攻略"),应用类型选「出行」或「其他」
  3. 在新建应用下点击「添加 Key
  4. 关键填写项:
    • 名称:自定义(如 route-key
    • 服务平台:必须选「Web 服务」(脚本调用的是 REST API;不要选 Android / iOS / Web端(JS API),否则类型不匹配会调用失败)
  5. 提交后,复制生成的 Key 值(一长串字母数字组合)

第三步:配置 Key(推荐让 AI 帮你一键搞定)

不需要自己敲命令。拿到 Key 后,直接在对话里把 Key 告诉 AI,由它帮你写入环境变量:

我的高德 Key 是 你的key,帮我配置好

AI 会自动帮你把 AMAP_KEY 设置到系统用户环境变量里(永久生效),配置完直接说"帮我生成 XX 攻略"即可,无需你做任何额外操作。

想自己手动配置?(点击展开)

脚本通过读取 AMAP_KEY 环境变量获取 Key,请勿把 Key 写进代码或聊天框。

Windows (PowerShell):

# 当前会话临时生效
$env:AMAP_KEY="你的key"
# 永久生效:系统属性 → 高级 → 环境变量 → 新建用户变量 AMAP_KEY

Windows (CMD):

set AMAP_KEY=你的key

macOS / Linux:

export AMAP_KEY="你的key"
# 永久生效:写入 shell 配置文件
echo 'export AMAP_KEY="你的key"' >> ~/.zshrc   # 或 ~/.bashrc

也可在运行脚本时临时用 --key 参数传入,但不推荐长期使用。

第四步:验证配置

python scripts/amap_route.py --origin "威海公园" --destination "火炬八街" --city "威海"

能返回 distance / duration 即配置成功;若提示"未设置 AMAP_KEY 环境变量"说明未生效,请重做第三步。

第五步:在对话中直接使用

配置好后,直接让 AI 生成攻略即可自动调用高德 API 计算真实距离与用时,无需额外说明。也可显式提醒:

用高德 API 帮我计算威海景点间的真实距离(Key 已配置)

若未配置 Key,Skill 会自动改用估算值,攻略照常生成,不影响其他模块。

免费额度与注意事项

  • 高德 Web 服务每日有免费调用额度(路径规划 / 距离测量 / 地理编码等),个人旅游规划通常足够,超量后需购买。
  • Key 属敏感凭证:请勿粘贴到公开聊天或提交到代码仓库;一旦泄露,请立即在控制台「删除」该 Key 并重新生成。
  • 海外城市(如 Tokyo / Paris)高德 API 覆盖有限,此类目的地会自动回退为估算值并在攻略中标注。

主要 API 接口:

  • 地理编码: https://restapi.amap.com/v3/geocode/geo - 地址转经纬度
  • 路径规划: https://restapi.amap.com/v3/direction/driving - 驾车路线
  • 距离测量: https://restapi.amap.com/v3/distance - 直线 / 驾车距离
  • POI 搜索: https://restapi.amap.com/v3/place/text - 景点搜索

HTML模板结构

🧩 模块隔离容错:各模块(Hero / 交通 / 每日行程 / 美食 / 酒店 / 避坑 / 预算 / Tips)相互独立。某个模块数据缺失或生成失败(如某 Day 卡片、某景点交通提示)时,只跳过或降级该模块,其余模块照常渲染,绝不因一处出错导致整页空白或报错。

生成的HTML包含以下模块:

1. Hero区域

  • 目的地标题
  • 标签(天数、风格、交通方式)
  • 渐变背景营造旅游氛围

2. 右侧快速导航(PC端)

  • 固定在右侧,弱化显示(透明度0.4)
  • 鼠标悬停时高亮
  • 点击跳转到对应模块
  • 自动高亮当前浏览区域

3. 可折叠模块

  • Day卡片:点击Day头部可折叠/展开
  • 其他模块:点击标题可折叠/展开
  • 默认状态:全部展开
  • 折叠图标:▼ 箭头指示状态

4. 交通信息卡片

  • 高铁/飞机班次(真实数据)
  • 价格对比
  • 推荐标注

3. 酒店推荐

  • 按住宿区域分类
  • 价格区间
  • 推荐理由
  • 与行程衔接说明

4. 每日行程卡片

  • Day标题和路线概览
  • [NEW] 酒店→景点路线(第2天及以后):在路线条最前面,添加从前一晚酒店到当日首个景点的路线规划(距离+用时)
  • 路线条(突出显示距离和用时)
  • 景点详情(名称、价格、描述、景点间交通提示——从上一个地点到这里的交通方式+用时,显示在景点名称行右侧)
  • 浪漫时刻提示
  • 避坑指南
  • 高德API标签(突出显示)
  • [NEW] 推荐酒店住宿地(每日晚餐推荐下方,仅需要住宿时):推荐当晚住宿区域、价格区间、推荐理由、与次日行程衔接说明

5. 美食推荐

  • 网格布局展示
  • 店名、人均价格、推荐理由
  • 来源标注(小红书/马蜂窝等)

6. 避坑清单

  • 编号列表
  • 错误做法(删除线)
  • 正确做法(绿色高亮)

7. 预算估算

  • 分类明细
  • 总计金额

8. 浪漫Tips

  • 情侣专属建议
  • 拍照、穿搭、氛围建议

脚本说明

scripts/amap_route.py

计算两点间驾车距离和用时。

python scripts/amap_route.py --origin "威海公园" --destination "火炬八街" --key YOUR_AMAP_KEY

输出示例:

{
  "distance": "8500",
  "duration": "1200",
  "distance_text": "8.5公里",
  "duration_text": "20分钟"
}

scripts/search_guide.py

搜索小红书/马蜂窝攻略内容。

python scripts/search_guide.py --destination "威海" --query "避坑"

设计原则

  1. 行程不紧张 - 每天安排2-3个核心景点,留足休息时间
  2. 浪漫氛围 - 每个景点都有"浪漫时刻"提示
  3. 路线合理 - 使用高德API计算,确保衔接顺畅
  4. 真实准确 - 交通信息、价格、班次都要真实
  5. 详细实用 - 美食推荐多,避坑指南详细
  6. 美观大方 - HTML设计有旅游氛围,重点突出
  7. 语言一致 - 全文语言风格统一,专有名词处理得当

移动端适配

HTML模板已内置响应式设计:

  • 768px断点适配平板
  • 375px断点适配小屏手机
  • 触摸优化(44px最小点击区域)
  • 横向滚动支持(表格、标签栏)
  • 右侧导航:屏幕宽度≤1024px时自动隐藏

参考资源

  • HTML模板: assets/template.html - 完整HTML模板参考
  • 设计规范: references/design-spec.md - 配色、字体、布局规范
  • [NEW] 每日行程卡片规范: references/daily-itinerary-spec.md - 酒店住宿推荐、酒店→景点路线条、景点间交通提示的详细HTML结构和CSS代码 - 酒店住宿推荐、酒店→景点路线条的详细HTML结构、CSS代码

回复风格(给用户的话术规范)

生成攻略后的回复,遵循以下原则,避免反复解释降级、给用户心理负担:

  • 正文不赘述降级:行程 / 美食 / 酒店 / 避坑 / 预算等模块直接呈现,不要在回复里反复说"未配置高德 API""路线为估算值"。HTML 内该加的「估算」标签照常加(见可靠性章节),但回复文字里不解释
  • 结尾只轻提示一句:仅在回复最末尾,用一句话温和引导即可,例如:

    💡 当前路线距离为估算哦,可以配置高德 API 生成更准确的路线。

  • 其他降级同理:如联网搜索失败改用通用知识,也只在 HTML 内标注"建议核实",回复文字不反复解释。
  • 核心态度:让用户感觉攻略已经完整可用,增强项是"锦上添花"而非"缺了不行"。