---
slug: "travel-guide-generator-x-4"
source_type: "clawhub"
source_url: "https://clawhub.ai/skills/travel-guide-generator"
repo: ""
source_file: "description"
---
---
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. 打开 [高德开放平台控制台](https://lbs.amap.com/)
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 攻略"即可，无需你做任何额外操作。

<details>
<summary>想自己手动配置？（点击展开）</summary>

脚本通过读取 `AMAP_KEY` 环境变量获取 Key，**请勿**把 Key 写进代码或聊天框。

**Windows (PowerShell)：**
```powershell
# 当前会话临时生效
$env:AMAP_KEY="你的key"
# 永久生效：系统属性 → 高级 → 环境变量 → 新建用户变量 AMAP_KEY
```

**Windows (CMD)：**
```cmd
set AMAP_KEY=你的key
```

**macOS / Linux：**
```bash
export AMAP_KEY="你的key"
# 永久生效：写入 shell 配置文件
echo 'export AMAP_KEY="你的key"' >> ~/.zshrc   # 或 ~/.bashrc
```

> 也可在运行脚本时临时用 `--key` 参数传入，但不推荐长期使用。
</details>

### 第四步：验证配置
```bash
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
python scripts/amap_route.py --origin "威海公园" --destination "火炬八街" --key YOUR_AMAP_KEY
```

输出示例：
```json
{
  "distance": "8500",
  "duration": "1200",
  "distance_text": "8.5公里",
  "duration_text": "20分钟"
}
```

### scripts/search_guide.py
搜索小红书/马蜂窝攻略内容。

```python
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 内标注"建议核实"，回复文字不反复解释。
- **核心态度**：让用户感觉攻略已经完整可用，增强项是"锦上添花"而非"缺了不行"。
