下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/user_325940aa--autotravelstrategy.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_325940aa/autotravelstrategy。自动旅游攻略系统:通过飞书版消息通道,输入目的地,将会获得飞书版攻略(简洁)和HTML页面版攻略(详细)。说明和文件内容微调即可上线。生成精美的网页攻略。女朋友和老婆再也不会嫌弃我不会做攻略啦^_^
阅读全文 (展开查看完整说明)
概述
旅游攻略生成与推送系统
一套已经跑通的「主动定时推送 + 被动问答生成」双通道旅游攻略系统。核心是规则化:城市动态抽取、模板固定、特效随机、推送自动化——同一套规范产出稳定可控的结果。
什么时候用
| 用户诉求 | 走哪条路线 |
|---|---|
| 「每天推一条旅游攻略」/ 定时任务 | 路线 A:主动定时推送 |
| 「推荐个当季适合去的地方」/ 「XX 攻略」 | 路线 B 第 1 步:文字版 + 卡片推送 |
| 对已有攻略说「转」/ 「做成网页」 | 路线 B 第 2 步:HTML 三层流程 |
目录速查
travel-guide/
├── SKILL.md ← 本文件
├── references/
│ ├── workflow.md ← 两条路线完整流程(先读这个)
│ ├── destination-library.md ← 季节/省份-城市库 + 十大板块模板 + 推送规则
│ ├── text-version-spec.md ← 文字版规范(10 模块 / 景点格式 / 检查清单)
│ ├── html-version-spec.md ← HTML 版规范(17 模块 / 写入规则 / 禁止项)
│ ├── visual-standards.md ← P0/P1/P2 特效池 + 50 套配色 + P2 安全规范
│ ├── push-channels.md ← 推送渠道配置与排错
│ └── configuration.md ← 占位符与配置说明
├── scripts/
│ ├── notify_push.py ← 多平台推送
│ ├── check_template.py ← 十大板块分节自检
│ ├── assemble_html_assets.cjs ← 按规则随机装配配色/特效资源
│ └── gen_effect_map.py ← 改了特效/配色表后,重新生成 effect-map.json
├── assets/
│ ├── html_components/ ← 165 组件(color_schemes 50 / p0 15 / p1 50 / p2 50)
│ ├── theme-config.json
│ ├── config.example.json
│ ├── notify_config.example.json
│ ├── icon.png ← 技能图标(小清新青旅色,1024×1024)
│ └── icon.svg ← 同款矢量图标(可任意缩放 / 改色)
└── config/ ← 用户配置(首次使用由示例复制生成)首次使用:先配置
规范文档里 {出发地}、{发布目录}、{访问域名}、{TMP_DIR}、{CONFIG} 是占位符,真实取值来自 config/settings.json。首次使用:
cp assets/config.example.json config/settings.json
cp assets/notify_config.example.json config/notify_config.json
# 改这两处后自检:
python scripts/notify_push.py --check细节见 [references/configuration.md](references/configuration.md)。未配置前不要推送——推送脚本会因渠道未就绪而跳过。
路线 A —— 主动定时推送
- 读
references/destination-library.md - 按当前月份定季节 → 两步随机:先抽省份、再抽城市(80% 查表 / 20% 联网发现)
- 联网搜索该城市当季攻略(关键词表在 destination-library 内)
- 按十大板块整理,正文 ≥1800 字(板块标题必须
emoji + **粗体**) - 写入
{TMP_DIR}_notify_travel.txt→python scripts/notify_push.py --file <该文件> --only <渠道> - 结束,不生成 HTML
十大板块(一个不少):城市特色 / 当季亮点 / 核心景点 / 出发交通 / 行程建议 / 费用参考 / 必吃美食 / 实用贴士 / 行前清单 / 风俗礼仪。模板正文与硬要求见 references/destination-library.md §目的地信息模板。
路线 B —— 被动问答 + HTML 转换
第 1 步 · 文字版 + 卡片推送
按 text-version-spec.md 采集数据并生成完整攻略,会话中回答用户;同时把完整十大板块写入 {TMP_DIR}_notify_travel_passive.txt(首行 🗺️ 攻略速览:【城市】)→ notify_push.py 推送。会话里可给精简版,但推送的必须完整。
第 2 步 · HTML 三层流程(仅当用户明确说「转」)
同时读 html-version-spec.md + visual-standards.md,按三层执行:
- 结构层:规划 17 个模块的顺序与信息层级(不写代码)
- 视觉层:从 50 套固化配色里选 1 套 + 字体/动效方向(不输出完整 HTML)
- 装配层:Node.js builder 拼接 17 模块、注入特效、写入
{发布目录}travel-{pinyin}.html
若环境没有
ui-ux-pro-max/frontend-design技能,主会话直接按规范产出结构与视觉方案即可,规则不变。
特效注入铁律:P0 全 15 个必做;P1 随机抽 2 个;P2 随机抽 1 个——禁止人工指定。可用 node scripts/assemble_html_assets.cjs --type <目的地类型> --season <季节> 一步拿到随机结果。
图片:HTML 版不从 web 爬图,统一用本地库 {发布目录}/img/(spring1.png 之类,无前导零)。
第 3 步 · 上线通知:写入 _notify_travel_html.txt(含链接/配色/特效亮点)→ 推送。
关键规则(易错点)
- 卡片章节标题必须
emoji + **粗体**;首行大标题不加粗——飞书卡片靠它切分折叠面板 - 文字版正文 ≥1800 字,纯文本,无 HTML/JS/CSS;QQ 必须一次性发完不分段
- HTML 版内容完整优先于视觉,不做"好看空壳";17 模块齐全
- P2 若用 Canvas 全屏,必须
pointer-events:none,否则拦截滚动(见 visual-standards §9) - 抓取超时 10 秒、同一 URL 最多重试 3 次;抓取脚本与写入脚本分开
- JSON 里别手写字段位置(如把
icon_position塞进icon),飞书会直接拒卡
工作流入口
任何一条路线开工前,先读 [references/workflow.md](references/workflow.md) 看清全流程与自查清单。