Install
openclaw skills install travel-blind-box真正的盲盒旅行规划器!用户只需提供当前位置、出发日期、天数和预算,自动推荐未去过的目的地并生成轻松行程。使用 flyai skill 查询实时信息,支持历史记录管理避免重复。主打新奇体验和随意放松。
openclaw skills install travel-blind-box真正的盲盒体验:
基于用户当前位置、出发日期、天数和预算,自动生成完全随机的盲盒游玩方案:
主动询问以下信息(如果用户未提供):
当前位置:「请问您现在在哪个城市?」(用于推荐周边目的地)
出发日期:「请问您计划哪天出发?」(格式如:2026-04-15 或 下周六)
游玩天数:「准备去玩几天?」(建议 2-5 天,主打轻松)
总预算:「有多少预算?」(如"3000 元")
在生成推荐前,必须先查询用户的历史记录:
# 调用历史记录管理脚本
python scripts/history_manager.py list_visited-cities --current-location [当前城市]
# 返回示例:
["杭州", "苏州", "南京"] # 这些城市不会推荐
根据已提供信息的完整度,选择性追问:
根据用户当前位置,推荐适合的城市(按优先级):
交通便利性:
预算匹配度:
历史不重复:
季节适配性:
天气因素:
调用 flyai skill 查询:
"从 [当前城市] 出发,[日期] 前后,[天数] 天行程,预算 [金额] 元,
推荐 5-8 个适合的周边城市,要求:
- 高铁/飞机交通便利
- 排除 [去过的城市列表]
- 包含每个城市的特色、预计花费、推荐理由"
生成候选列表(5-8 个城市):
### 候选目的地
1. **苏州** - 园林之城(高铁 30 分钟,预计花费 1500 元)
2. **南京** - 六朝古都(高铁 1 小时,预计花费 1800 元)
3. **扬州** - 淮扬美食(高铁 1.5 小时,预计花费 1200 元)
4. **绍兴** - 鲁迅故里(高铁 1 小时,预计花费 1300 元)
5. **黄山** - 徽州文化(高铁 2 小时,预计花费 2000 元)
随机选择:
向用户展示随机选择结果:
🎁 盲盒揭晓!这次为您推荐的目的地是:**扬州**!
推荐理由:
- ✅ 您从未去过扬州
- ✅ 高铁 1.5 小时直达,交通便利
- ✅ 预算范围内(预计 1200 元)
- ✅ 此时正是「烟花三月下扬州」的最佳季节
- ✅ 以淮扬美食闻名,适合放松式美食之旅
正在为您生成扬州 3 天的轻松行程...
然后调用 flyai skill 查询扬州的详细信息:
按以下比例随机浮动分配总预算:
核心原则:每天只安排 1-2 个核心活动,其他时间自由活动
第 X 天 [主题]
上午(10:00-12:00):[1 个轻松活动]
中午(12:00-14:00):[午餐推荐]
下午(14:00-17:00):[1 个休闲活动 或 自由时间]
晚上(18:00 后):[晚餐推荐 + 自由活动]
住宿:[推荐酒店及价格]
时间安排特点:
随机选择主题:从以下主题中随机选择
每日安排结构(宽松版):
第一天【抵达 + 适应】
上午:睡到自然醒,10 点后出门
中午:[轻松的第一餐]
下午:[一个轻松的景点,如公园或老街漫步]
晚上:[晚餐推荐] + 自由活动
第二天【核心体验】
上午:[一个主要景点,10:00-12:00]
中午:[特色午餐]
下午:[自由活动或轻松咖啡时光]
晚上:[晚餐推荐]
第三天【返程】
上午:[最后一个轻松活动]
中午:[告别午餐]
下午:[根据返程时间安排送站/送机]
盲盒元素:
生成 Markdown 格式文档,包含以下内容:
# 🎁 [城市名称] 盲盒游玩方案(轻松版)
## 📋 方案概览
- **出行人数**:X 人
- **出发日期**:2026-XX-XX(周 X)
- **游玩天数**:X 天 X 晚
- **总预算**:XXXX 元
- **主题风格**:[随机生成的主题组合]
- **天气预测**:[根据日期查询的天气情况]
## 💰 预算分配
| 类别 | 预算 | 占比 |
|------|------|------|
| 住宿 | XXX 元 | XX% |
| 餐饮 | XXX 元 | XX% |
| 交通 | XXX 元 | XX% |
| 娱乐 | XXX 元 | XX% |
## 📅 轻松行程
### 第一天【轻松适应】🍃
**上午**
- 🕙 时间:10:00 后出门(睡到自然醒)
- 📍 活动:[轻松的景点或街区漫步]
- 💡 说明:[简短介绍,强调不用赶时间]
**中午**
- 🍽️ 餐厅:[餐厅名称]
- 💰 人均:XX 元
- 🥢 推荐菜:[菜品]
**下午**
- 🕑 时间:14:00-17:00
- 📍 活动:[一个休闲活动 或 自由时间建议]
- ☕ 可选:找家咖啡厅发呆、公园小憩
**晚上**
- 🍽️ 晚餐:[餐厅名称]
- 💰 人均:XX 元
- 🌃 自由活动:[推荐可去可不去的活动]
**🏨 住宿推荐**
- 酒店名称:XXX
- 价格:XXX 元/晚
- 地址:[详细地址]
- 预订链接:[跳转链接]
### 第二天【核心体验】🎯
...
## 🎯 备选方案
如果对某个安排不满意,可以要求:
- 「重新生成某一天的行程」
- 「换一个同类型的景点」
- 「调整预算分配」
## ⚠️ 注意事项
- 行程比较轻松,可根据实际情况自由调整
- 部分景点需提前预约
- 注意天气变化
- 保留弹性时间
使用 Skill 工具调用 flyai:
skill: "flyai"
args: "查询 [城市名称] 的景点、酒店、美食推荐,预算范围 XXX 元"
flyai skill 会返回:
生成方案后,询问用户:
当用户确认要预订某个项目时:
酒店预订:
交通预订(返程):
景点门票:
每当用户完成一个预订后,自动生成一份可打印的详细行程表:
# 📋 [城市名称] 详细行程表
## 🎫 已确认预订信息
### 🏨 住宿
| 日期 | 酒店名称 | 地址 | 房型 | 价格 | 确认号 |
|------|---------|------|------|------|--------|
| 4.15-4.17 | 全季酒店西湖店 | 杭州市上城区 XX 路 XX 号 | 大床房 | 380 元/晚 | 123456 |
### ✈️ 返程交通
| 日期 | 班次 | 出发时间 | 到达时间 | 座位 | 价格 | 确认号 |
|------|------|---------|---------|------|------|--------|
| 4.17 | G1234 | 15:30 | 20:45 | 二等座 | 538 元 | 654321 |
### 🎟️ 景点门票
| 日期 | 景点 | 时间 | 票价 | 状态 |
|------|------|------|------|------|
| 4.16 | 灵隐寺 | 10:00-12:00 | 75 元 | 已预订 |
---
## 📅 完整行程安排
### 第一天(4 月 15 日 周三)
**上午**
- 🕙 10:00 后出门
- 📍 西湖漫步(免费)
- 🍜 午餐:楼外楼(12:00,人均 80 元)
**下午**
- 🕑 14:00-17:00 自由时间
- ☕ 推荐:湖边咖啡厅发呆
**晚上**
- 🍽️ 晚餐:外婆家(18:00,人均 60 元)
- 🏨 入住:全季酒店西湖店
- 地址:杭州市上城区 XX 路 XX 号
- 电话:0571-XXXXXXXX
---
### 第二天(4 月 16 日 周四)
**上午**
- 🕘 10:00 前往灵隐寺
- 🎫 已预订门票(75 元)
- 🍜 午餐:素斋(12:00,人均 40 元)
**下午**
- 🕑 14:00-17:00 自由时间
- ☕ 推荐:龙井村品茶
**晚上**
- 🍽️ 晚餐:绿茶餐厅(18:00,人均 70 元)
- 🏨 入住:全季酒店西湖店
---
### 第三天(4 月 17 日 周五)【返程】
**上午**
- 🕙 10:00 退房,寄存行李
- 📍 河坊街最后逛逛
**中午**
- 🍜 午餐:知味观(12:00,人均 30 元)
**下午**
- 🕐 13:30 前往杭州东站
- 🚄 G1234 次列车(15:30 发车)
- 🏠 预计 20:45 抵达家中
---
## 📞 紧急联系信息
- 酒店前台:0571-XXXXXXXX
- 当地旅游热线:0571-96927
- 紧急求助:110 / 120
## 💡 温馨提示
- 请提前 30 分钟到达车站/机场
- 随身携带身份证和预订确认信息
- 保持手机畅通,便于接收通知
*生成时间:2026-04-01 14:30*
*版本:v2.0(含已确认预订)*
每次用户完成新的预订后:
如果用户要求修改:
如需为方案生成配图:
ImageGen 工具生成景点示意图baoyu-article-illustrator skill 为文章添加插图将最终方案保存到用户工作区:
[城市名称]_盲盒游玩方案_[日期].md/Users/haoxuan/.qoderwork/workspace/mnfmzk5jgnc4ogo5/outputs/用户:我想去杭州玩 3 天,预算 2000 元
助手:好的!让我为您生成一套杭州 3 天 2000 元的盲盒游玩方案。请问您计划哪天出发呢?
用户:4 月 15 号
助手:收到!请问是几个人出行呢?
用户:一个人
助手:好的!正在为您随机生成杭州 3 天单人盲盒方案(4 月 15 日出发)...
(调用 flyai skill 查询信息) (查询 4 月 15 日杭州天气预报) (生成轻松的盲盒方案文档)
助手:🎁 您的杭州盲盒游玩方案已生成!
这套方案主打轻松随意,每天只安排 1-2 个核心活动,留足自由时间。您对这套方案满意吗?如果满意,我可以帮您查询具体的预订信息,并在您完成预订后自动生成详细行程表。
用户:酒店看起来不错,帮我查一下 4 月 15-17 日的价格
助手:好的,正在查询全季酒店西湖店 4 月 15-17 日的价格和空房情况...
(调用 flyai 查询)
助手:全季酒店西湖店 4 月 15-17 日有房:
用户:我已经订好了,确认号 123456
助手:太好了!已为您记录酒店预订信息。现在为您生成第一版详细行程表...
行程表已包含您的酒店信息和初步安排。接下来需要预订返程交通吗?您希望乘坐高铁还是飞机?
用于预算分配的辅助脚本:
#!/usr/bin/env python3
"""盲盒旅行预算分配器"""
import random
import json
def allocate_budget(total_budget, days):
"""
随机分配旅行预算
Args:
total_budget: 总预算(元)
days: 天数
Returns:
预算分配字典
"""
# 生成随机比例
accommodation_ratio = random.uniform(0.35, 0.45)
food_ratio = random.uniform(0.20, 0.30)
transport_ratio = random.uniform(0.15, 0.25)
entertainment_ratio = 1 - accommodation_ratio - food_ratio - transport_ratio
# 计算各项预算
allocation = {
'accommodation': round(total_budget * accommodation_ratio, 2),
'food': round(total_budget * food_ratio, 2),
'transport': round(total_budget * transport_ratio, 2),
'entertainment': round(total_budget * entertainment_ratio, 2),
'per_day': round(total_budget / days, 2)
}
# 添加比例信息
allocation['ratios'] = {
'accommodation': round(accommodation_ratio * 100, 1),
'food': round(food_ratio * 100, 1),
'transport': round(transport_ratio * 100, 1),
'entertainment': round(entertainment_ratio * 100, 1)
}
return allocation
if __name__ == '__main__':
import sys
if len(sys.argv) != 3:
print("Usage: python budget_allocator.py <total_budget> <days>")
sys.exit(1)
total_budget = float(sys.argv[1])
days = int(sys.argv[2])
result = allocate_budget(total_budget, days)
print(json.dumps(result, indent=2, ensure_ascii=False))
使用方法:
python scripts/budget_allocator.py 2000 3