Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

旅游攻略多平台抓取助手

v1.5.0

从小红书、马蜂窝、携程和微信公众号等多平台抓取评分最高的旅游攻略,按优先级和时间权重整合输出详尽综合攻略文档。

0· 65· 1 versions· 0 current· 0 all-time· Updated 5d ago· MIT-0

Tourism Guide Harvester Skill

版本

  • v1.5.0 (2026-04-24): Phase 4 六步法详细版 + Phase 5 临时文件清理提醒(需用户批准)
  • v1.3.0 (2026-04-24): 新增输出优化规则 - 信息源优先级排序、时间季节权重、攻略提及次数标注、参考攻略原文分平台展示
  • v1.1.0 (2026-04-23): 小红书优化 - 多排序搜索、JavaScript正文提取、正确分享链接格式
  • v1.0.0 (2026-04-23): 初始版本

技能描述

从多个旅游平台(小红书、马蜂窝、携程、微信公众号等)获取评分排名最高的旅游攻略,整合输出综合攻略文档。

v1.3.0 输出优化规则:

  • 信息源优先级:小红书 > 微信公众号 > 马蜂窝 > 其他(基础权重 ×1.0 / 0.9 / 0.8 / 0.6)
  • 时间权重:近一年更新 ×1.0,超一年降权;季节匹配内容 ×1.2(当前春季)
  • 所有景点/美食/住宿/打卡点标注【共X篇攻略提及】并列出所有来源链接
  • 参考攻略原文统一放在报告最后,按平台分组展示

触发词

  • 旅游攻略获取
  • 攻略抓取
  • 多平台攻略整合
  • 台州攻略
  • 亲子游攻略

核心原则

1. Subagent分工原则

  • 信息收集工作: 全部由 subagent 执行
  • Main Agent职责: 进度汇报、最终总结、整合输出
  • 浏览器操作: Subagent 不能同时操作浏览器,必须按顺序执行

1.5 Subagent记忆固化原则(防止任务丢失)

核心:同时使用固定 session + 完整 task + 三文件持久化。

机制用法
持久化 Sessionmode: "session" + 固定 sessionKey
完整 task 参数所有关键要求写进 sessions_spawn(task=...)
任务真迹~/.openclaw/workspace/tasks/[平台]_[日期]_任务.md

SessionKey: tourism-[平台简称]-[日期]

最小 spawn 模板:

sessions_spawn({
  label: "[平台]攻略获取",
  mode: "session",
  sessionKey: "tourism-[platform]-[yyyymmdd]",
  task: `
目标:抓取至少5篇[目的地]攻略。
只读:_任务.md
只写:_状态.md + _数据.md
浏览器:CDP 18800
异常:立即写入状态文件并提示人工介入
`
})

原则: task 参数是运行真迹,文件是恢复真迹,session 只是执行容器。

2. 数据来源原则(重要!)

  • 严格遵循用户指定的平台: 不能擅自切换信息来源
  • 数据纯正性验证: 每个平台有特有的指标,用于验证数据来源
  • 切换来源需用户同意: 如果指定平台不可用,必须先征求用户确认
平台特有指标数据验证方法
小红书点赞数、收藏数、标签不要用"浏览量"(那是马蜂窝指标)
马蜂窝浏览量、游记格式浏览量是核心指标
携程携程评分(⭐x.x/5)、点评数评分格式是携程特有
微信公众号来源公众号名称URL包含 mp.weixin.qq.com

3. 输出文件原则(三文件分离,降低 token 消耗)

文件谁写谁读作用
_任务.mdMain AgentSubagent任务要求/验收标准
_状态.mdSubagentMain Agent进度/断点/问题
_数据.mdSubagentMain Agent纯攻略数据

命名: ~/.openclaw/workspace/tasks/[平台]_[日期]_{任务|状态|数据}.md

规则:

  • Subagent 不回写 _任务.md
  • Main Agent 汇总仅读 _数据.md
  • _状态.md 只用于确认进度
  • token 只随攻略数据增长,不再随任务说明/进度日志重复膨胀

4. 三文件分离原则

旧方案把任务、进度、数据混在一处;新方案把三者拆开。

只记四条:

  • _任务.md:Main Agent 写一次,Subagent 只读
  • _状态.md:Subagent 增量写,Main Agent 快速读
  • _数据.md:Subagent 增量写,Main Agent 汇总只读它
  • Subagent 重启后优先看 task 参数,其次看文件,不依赖会话记忆

🚀 速查表(快速参考)

信息源优先度(重要!新规则)

优先级平台说明
🥇 1小红书首选来源,热门内容多
🥈 2微信公众号深度攻略,质量稳定
🥉 3马蜂窝游记为主,行程详细
🏅 4其他(携程等)补充参考

时间权重规则(适用于所有平台):

  • 近一年内的攻略权重更高
  • 更新时间接近当前季节(当前:春季)的攻略优先度提升
  • 季节特征判断:
    • 春季(3-5月):赏花、踏青、湿地、露营
    • 夏季(6-8月):海滨、漂流、避暑、主题乐园
    • 秋季(9-11月):红叶、采摘、温泉、晒秋
    • 冬季(12-2月):冰雪、温泉、年味、暖冬目的地

综合排序公式:

最终优先级 = 平台基础权重 × 时间衰减系数 × 内容相关性
时间衰减系数:90天内=1.0,180天内=0.85,365天内=0.7,超过1年=0.5
参数效果用途
sort=hot热度排序热门爆款
sort=collect_count收藏排序高质量精选
sort=time_descending时间降序最新攻略
正文提取eval "$(cat ~/.openclaw/workspace/skills/xiaohongshu-crawler/scripts/extract-article.js)" --json获取正文 + 分享链接
分享链接discovery/item/{noteId}?xsec_token={token}有效链接,不跳转首页

各平台特有指标

平台指标验证方法
小红书点赞数、收藏数、标签不用浏览量
马蜂窝浏览量必须提取
携程⭐x.x/5 评分格式必须提取
微信公众号来源公众号名称URL含 mp.weixin.qq.com

常见问题速查

问题解决方案
浏览器操作冲突串行执行,一个subagent用浏览器完了再下一个
小红书正文获取失败不要用 snapshot,必须用 eval + JavaScript
分享链接跳转首页discovery/item 格式带 xsec_token
二维码风控拦截输出提示,等待用户扫码后继续
Chrome未启动/CDP连不上google-chrome --remote-debugging-port=18800 & 启动

执行流程

Phase 1: 准备三文件(Main Agent)

# 为每个平台创建 3 个文件
# 任务文件(Main Agent 写一次)
write ~/.openclaw/workspace/tasks/小红书_2026-04-24_任务.md
# 状态文件(Subagent 写进度,Main Agent 读状态)
write ~/.openclaw/workspace/tasks/小红书_2026-04-24_状态.md
# 数据文件(Subagent 写攻略,Main Agent 读汇总)
write ~/.openclaw/workspace/tasks/小红书_2026-04-24_数据.md

# 其他平台同理
write ~/.openclaw/workspace/tasks/马蜂窝_2026-04-24_任务.md
write ~/.openclaw/workspace/tasks/马蜂窝_2026-04-24_状态.md
write ~/.openclaw/workspace/tasks/马蜂窝_2026-04-24_数据.md

任务文件模板(Main Agent 写入,一次性):

# [平台]攻略获取任务([日期])

## 任务要求
- 目标平台:[平台名]
- 获取数量:至少5篇评分排名最高的攻略
- 排序方式:[平台特有排序]
- 数据纯正确认:[平台特有指标]
- 输出文件:~/.openclaw/workspace/tasks/[平台]_[日期]_数据.md

## 浏览器状态
- CDP端口:18800(如需使用)
- 执行顺序:第N个(避免冲突)

## 操作提示
- 搜索URL:xxx
- 排序按钮:xxx
- 特有问题处理:xxx

## 验收标准
- 至少5篇完整攻略
- 每篇必须包含:标题、作者、平台指标、正文摘要
- 所有景点/美食/住宿必须附【来源链接】
- 原文链接必须是有效分享链接

## 数据文件格式(Subagent 每篇攻略写入数据文件)
### [序号]. [文章标题]
- 作者:xxx | 发布日期:xxxx-xx-xx | 平台:[平台名]
- [平台特有指标]:xxx
- 正文摘要:xxx(100字以内)
- 【景点】[景点名]:[一句话描述](门票:xxx)
  来源:[原文链接](url)
- 【美食】[美食名]:[一句话描述]
  来源:[原文链接](url)
- 【住宿】[住宿名/类型]:[一句话描述]
  来源:[原文链接](url)
- 【打卡点】[打卡点]:[一句话描述]
  来源:[原文链接](url)(可选)
- 原文链接:[点击查看](有效分享链接)
---

状态文件初始内容(Main Agent 写入,Subagent 增量更新):

# [平台]攻略获取状态([日期])

## 执行进度
- [时间] 等待启动

## 断点记录
- 上次完成:0篇
- 下一步:连接浏览器,开始搜索

## 任务状态
- 状态:⏳ 等待启动
- 完成进度:0/5篇
- 数据文件:~/.openclaw/workspace/tasks/[平台]_[日期]_数据.md

## 待解决问题
- 无

数据文件初始内容(Subagent 增量写入):

# [平台]攻略数据([日期])
(每篇攻略完成后 append到此文件,Main Agent Phase4 仅读此文件)

Phase 2: 启动Subagent(串行 + 方案二+四强化记忆)

执行顺序(避免浏览器冲突):
1. 小红书 → 使用浏览器 CDP 18800
2. 马蜂窝 → 等小红书完成后使用同一浏览器
3. 携程 → 等马蜂窝完成后使用同一浏览器
4. 微信公众号 → 不需要浏览器,可并行执行

每次 spawn 必须同时满足:

  • mode: "session" — 持久化 session,任务累积不丢失
  • sessionKey: "tourism-[平台]-[日期]" — 固定 key,可跨 compact 恢复
  • ✅ 完整 task 参数 — 塞满所有任务细节,每次回复都能看到
  • ✅ 在 task 中告知三文件路径 — subagent 读取任务文件、写状态文件和数据文件```

Phase 2: 各平台操作步骤

小红书操作流程

# 1. 连接浏览器(已登录)
agent-browser --cdp 18800

# 2. 多维度搜索(3种排序覆盖热门/精选/最新)
# 热度排序 → 热门爆款
agent-browser --cdp 18800 open "https://www.xiaohongshu.com/search_result?keyword=[关键词]&type=note&sort=hot"
agent-browser --cdp 18800 snapshot -i --json

# 收藏排序 → 高质量精选  
agent-browser --cdp 18800 open "https://www.xiaohongshu.com/search_result?keyword=[关键词]&type=note&sort=collect_count"
agent-browser --cdp 18800 snapshot -i --json

# 时间排序 → 最新攻略
agent-browser --cdp 18800 open "https://www.xiaohongshu.com/search_result?keyword=[关键词]&type=note&sort=time_descending"
agent-browser --cdp 18800 snapshot -i --json

# 3. 从 snapshot 提取文章链接
# 每篇文章进入详情页

# 4. 获取完整内容 + 分享链接(必须用 eval + JavaScript)
agent-browser --cdp 18800 eval "$(cat ~/.openclaw/workspace/skills/xiaohongshu-crawler/scripts/extract-article.js)" --json

# 提取结果:标题、作者、正文、点赞数、标签、图片、shareUrl(有效分享链接)

小红书排序参数:

参数效果用途
sort=hot热度排序热门爆款
sort=collect_count收藏排序高质量精选
sort=time_descending时间降序最新攻略

小红书特有要点:

  • 正文提取: 不要用 snapshot,必须用 eval + JavaScript
  • 分享链接: 必须用 discovery/item/{noteId}?xsec_token={token} 格式
  • 二维码拦截: 输出提示"⚠️ 小红书检测到自动化操作,请手动扫码登录",等待用户确认
  • press Enter无效: 改用 goto 直接导航搜索URL
  • 文章内容需要登录: 通过连接用户已登录浏览器解决

马蜂窝操作流程

# 1. 连接浏览器(小红书完成后)
agent-browser --cdp 18800

# 2. 导航到搜索页面
goto "https://www.mafengwo.cn/search?q=[关键词]&type=2"

# 3. 获取攻略列表
snapshot -i --json
# 提取:标题、浏览量(马蜂窝特有)、点赞数、发布日期

# 4. 逐篇点击获取详细内容
click [文章ref]
# 提取:行程安排、景点推荐、美食推荐

# 5. 输出到文件

马蜂窝特有问题处理:

  • 目的地页面404: 改用搜索功能访问
  • WAF反爬拦截: 使用已登录的浏览器状态
  • 浏览量指标: 必须提取浏览量数据(马蜂窝特有)

携程操作流程

# 1. 连接浏览器(马蜂窝完成后)
agent-browser --cdp 18800

# 2. 导航到景点页面
goto "https://you.ctrip.com/sight/[城市代码].html"

# 3. 获取景点评分排行
snapshot -i --json
# 提取:景点名称、携程评分(⭐x.x/5)、点评数、门票价格

# 4. 导航到游记页面
goto "https://you.ctrip.com/travels/[城市代码].html"

# 5. 获取游记列表并提取详细内容

携程特有问题处理:

  • JS动态加载: 必须使用浏览器,web_fetch无法获取评分数据
  • IP重定向: 可能被重定向到其他城市,需检查页面内容
  • 评分格式: 必须提取 ⭐x.x/5 格式的评分(携程特有)

微信公众号操作流程

# 1. 使用搜狗微信搜索
web_fetch "https://wx.sogou.com/" 或搜索关键词

# 2. 获取文章列表
# 提取:标题、来源公众号名称、摘要

# 3. 尝试访问文章详情(可能失败)
# 微信公众号文章URL格式:https://mp.weixin.qq.com/s/[文章ID]

# 4. 输出到文件

微信公众号特有问题处理:

  • 搜狗重定向到小红书: 立即停止,报告问题,征求用户确认
  • 反爬虫验证码: 无法绕过,建议用户提供具体文章URL
  • 数据来源验证: 确认URL包含 mp.weixin.qq.com

Phase 3: Subagent执行(5步法)

  1. task 参数,必要时核对 _任务.md
  2. 按平台步骤抓取;遇验证码/重定向立即记录并暂停
  3. 每完成 1 篇就 append 到 _数据.md
  4. 每次进度变化就更新 _状态.md
  5. 完成写 ✅ 完成;中断写 ⚠️ 部分完成 / ❌ 失败

原则: task 参数优先;任务文件只读;状态/数据文件读写

Subagent 写数据文件格式(每篇攻略 append):

### [序号]. [文章标题]
- 作者:xxx | 发布日期:xxxx-xx-xx | 平台:[平台名]
- [平台特有指标]:xxx
- 正文摘要:xxx(100字以内)
- 【景点】
  - [景点名]:[一句话描述](门票:xxx)
    来源:[原文链接](url)
- 【美食】
  - [美食名]:[一句话描述]
    来源:[原文链接](url)
- 【住宿】
  - [住宿名/类型]:[一句话描述]
    来源:[原文链接](url)
- 【打卡点】(可选)
  - [打卡点]:[一句话描述]
    来源:[原文链接](url)
- 原文链接:[点击查看](有效分享链接)
---

Subagent 写状态文件格式(每次进度变化,替换或 append):

## 执行进度
- 19:30 任务启动
- 19:32 连接浏览器成功
- 19:35 导航到搜索页面成功
- 19:38 获取文章列表(12篇)
- 19:45 第1篇完成 → 已写入数据文件
- 20:10 第5篇完成

## 断点记录
- 上次完成:第5篇(最后1篇)
- 下一步:更新状态文件 → 任务完成
- 最后活跃:20:15

## 任务状态
- 状态:✅ 完成
- 完成进度:5/5篇
- 数据文件:~/.openclaw/workspace/tasks/[平台]_[日期]_数据.md

## 待解决问题
- 无

信息源优先级与排序规则(新优化)

优先级量化表

优先级平台基础权重说明
🥇 第1优先小红书×1.0热门爆款多,内容鲜活
🥈 第2优先微信公众号×0.9深度长文,质量稳定
🥉 第3优先马蜂窝×0.8游记详细,行程可落地
🏅 第4优先其他(携程等)×0.6补充参考

时间与季节权重

综合排序公式:

最终优先级分 = 平台基础权重 × 时间衰减系数 × 季节匹配系数
时间范围衰减系数说明
90天内1.0最新鲜,权重最高
91-180天0.85近期内容
181-365天0.70一年内的内容仍优先
超过1年0.50降权参考,历史数据
当前季节适合主题权重提升
春季(3-5月)赏花、踏青、湿地、露营、户外×1.2
夏季(6-8月)海滨、漂流、避暑、乐园、水上×1.2
秋季(9-11月)红叶、采摘、温泉、晒秋×1.2
冬季(12-2月)冰雪、温泉、年味、暖冬×1.2

整合策略

  1. 同一景点/美食/住宿出现多次时: 保留提及次数最多的,引用所有来源链接
  2. 内容冲突时: 优先高权重平台 + 新发布时间
  3. 数据不足时: 不凑数,宁缺毋滥

Phase 4: Main Agent整合

Subagent → Main Agent 数据传递机制

核心:三文件各司其职,Main Agent 只读数据文件汇总,token 消耗降到最低。

Subagent 执行  ──→  写数据文件(攻略正文)
                 写状态文件(进度状态)    ──→  Main Agent 读状态文件(快速确认)
                                                        Main Agent 读数据文件(仅此文件汇总)
                                                                              ↓
~/.openclaw/workspace/tasks/小红书_2026-04-24_数据.md  ──→  ~/llm-wiki/raw/articles/台州综合攻略.md

文件职责:

  • 任务文件:Main Agent 写,Subagent 启动时读一次,之后不碰
  • 状态文件:Subagent 写,Main Agent 快速读(确认进度)
  • 数据文件:Subagent 写,Main Agent 仅读此文件汇总(纯攻略内容)

token 优化对比:

旧方案 token 消耗(Main Agent Phase4 读文件):
  任务要求(500字)+ 进度日志(800字)× 5篇 = 4500+ token

新方案 token 消耗(Main Agent Phase4 读文件):
  数据文件:纯攻略内容 5篇 ≈ 1500 token
  状态文件:极小 ≈ 100 token
  合计 ≈ 1600 token(减少 ~65%)

Phase 4 整合执行步骤(v1.5.0 详细版)

Phase 4 共 6 步,每步可核查,失败可断点续传:

第1步:快速扫状态文件(极小文件,token≈0)

read ~/.openclaw/workspace/tasks/小红书_2026-04-24_状态.md
read ~/.openclaw/workspace/tasks/微信公众号_2026-04-24_状态.md
read ~/.openclaw/workspace/tasks/马蜂窝_2026-04-24_状态.md

判断:全✅→继续 | 有⚠️/❌→汇总已有+标注 | 有⏳→汇总已完成部分

第2步:仅读数据文件(纯攻略内容,无冗余token)

# 按优先级顺序读:优先读小红书(权重最高)
read ~/.openclaw/workspace/tasks/小红书_2026-04-24_数据.md
read ~/.openclaw/workspace/tasks/微信公众号_2026-04-24_数据.md
read ~/.openclaw/workspace/tasks/马蜂窝_2026-04-24_数据.md

原则:只读数据文件,不读任务文件,不重复读状态文件。

第3步:跨篇统计景点/美食/住宿/打卡点

景点统计:
  ① 从所有数据文件提取所有【景点】项
  ② 同名景点归一(忽略空格/标点差异)
  ③ 每归并一次 → 提及次数+1
  ④ 每项附加所有来源链接(跨平台)
  ⑤ 按提及次数降序,生成景点汇总表
美食/住宿/打卡点统计:同上(步骤①改为提取对应项)

第4步:计算优先级分并排序

最终优先级分 = 平台权重 × 时间衰减系数 × 季节匹配系数

| 项目 | 计算方式 |
|------|----------|
| 平台权重 | 小红书×1.0 / 公众号×0.9 / 马蜂窝×0.8 / 其他×0.6 |
| 时间衰减 | 90天内×1.0 / 91-180天×0.85 / 181-365天×0.70 / 超1年×0.50 |
| 季节匹配 | 当季主题×1.2 / 其他×1.0 |
| 提及次数 | 直接计入推荐指数:5次=⭐⭐⭐⭐⭐ |

排序:先按最终优先级分降序,同分按提及次数降序

第5步:生成最终攻略文件

write ~/llm-wiki/raw/articles/[目的地]综合攻略.md

输出前逐项检查:

  • 景点/美食/住宿/打卡点每项有【共X篇提及】+ 来源链接(同平台最多3条代表性链接)
  • 超1年攻略标注「⚠️ 内容较旧」
  • 参考攻略原文放在报告末尾,按平台分组
  • 当前季节(春季)适合内容标注【🌸春季推荐】

第6步:输出完成报告

【综合攻略生成完成】
📊 数据来源:小红书X篇 / 公众号X篇 / 马蜂窝X篇
📋 景点:共X个 | 美食:共X个 | 住宿:共X个 | 打卡点:共X个
📁 完整攻略:~/llm-wiki/raw/articles/[目的地]综合攻略.md

Phase 5: 临时文件清理提醒(需用户批准)

触发(出现任一情况时,也必须先经用户批准): 任务完成 / 失败 / 超7天未动 / 用户主动要求清理。

流程:

  1. 先列出 tasks/ 下候选文件
  2. 向用户展示“本次任务 / 历史文件 / 保留文件”
  3. 未获明确批准前,不执行任何清理
  4. 获批后使用 trash,不要用 rm

规则:

  • 只清理中间文件,不删最终攻略
  • 默认保留 72h 内文件
  • “可以清理 / 全删了 / 只清这次”算批准;“先看看”不算

常见问题与解决方案

问题1: 浏览器操作冲突

现象: 多个subagent同时操作浏览器,导致状态混乱 原因: CDP端口只能同时被一个agent使用 解决方案:

  • Subagent按顺序执行(小红书 → 马蜂窝 → 携程)
  • 微信公众号不使用浏览器,可并行执行
  • Main Agent监控进度,协调启动顺序

问题2: 小红书文章内容无法获取

现象: 使用 snapshot 无法提取到文章正文 原因: 小红书正文不在 accessibility tree 中,只在静态 HTML 中 解决方案:

  • 不要使用 snapshot,必须用 eval + JavaScript 提取
  • 正确选择器:正文 #detail-desc,标题 .note-content
  • 使用 xiaohongshu-crawler 提供的提取脚本:
    agent-browser --cdp 18800 eval "$(cat ~/.openclaw/workspace/skills/xiaohongshu-crawler/scripts/extract-article.js)" --json
    

问题3: 小红书分享链接无效

现象: 保存的链接点进去跳转到首页 原因: explore/{noteId} 格式需要 xsec_token 参数,否则会被拦截 解决方案:

  • 使用 discovery/item/{noteId}?source=webshare&xsec_token={token} 格式
  • 从当前页面 URL 提取 xsec_token 参数
  • xiaohongshu-crawler 提取脚本自动处理

问题4: 小红书二维码拦截

现象: 小红书弹出二维码,拦截自动化操作 原因: 小红书反爬虫机制检测非人类操作 解决方案:

  • 输出提示:"⚠️ 小红书检测到自动化操作,请手动扫码登录"
  • 暂停操作,等待用户确认登录成功
  • 用户确认后继续操作

问题5: 数据来源不正确

现象: Subagent返回的数据混入了其他平台 原因: 搜索引擎重定向或agent误判 解决方案:

  • 每个平台有特有指标(见上方表格),用于验证
  • 发现数据来源问题时立即停止
  • 报告问题并征求用户确认是否接受替代数据

问题6: 携程评分数据缺失

现象: web_fetch只能获取静态框架,无法获取评分 原因: 携程使用JavaScript动态加载内容 解决方案:

  • 必须使用浏览器(agent-browser)访问携程
  • 等其他浏览器任务完成后启动携程subagent

问题7: 微信公众号详细内容无法获取

现象: 只能获取文章列表,无法进入详情页 原因: 搜狗反爬虫机制触发验证码 解决方案:

  • 获取文章列表输出到文件(至少有价值)
  • 建议用户提供具体文章URL(https://mp.weixin.qq.com/s/xxxxx)
  • 使用 wechat-article-spider 技能抓取具体URL

问题8: Gateway重启导致Subagent失败

现象: Subagent报告 "gateway closed" 错误 原因: Gateway服务重启,CDP连接断开 解决方案:

  • Main Agent检测到失败后重新启动Subagent
  • 通知用户重新启动Chrome浏览器(--remote-debugging-port=18800)

问题9: Chrome未启动/CDP连接失败

现象: 报告 "Chrome未启动" 或 "CDP端口18800不可用" 原因: 浏览器没有启用远程调试 解决方案:

# Linux
google-chrome --remote-debugging-port=18800 &

# macOS  
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=18800 &

# Windows
chrome.exe --remote-debugging-port=18800

Skill会检测到CDP不可用时,提示用户执行以上命令启动浏览器。

问题10: Subagent进度卡住

现象: Subagent长时间无响应或重复失败 原因: 浏览器页面跳转异常、网络问题等 解决方案:

  • Main Agent定期检查subagent状态(subagents list)
  • 发现卡住时kill并重新启动
  • 或手动操作浏览器帮助恢复状态

优化建议

1. 排序优化

  • 小红书:尝试按"最多点赞"/"最多收藏"排序(如果有)
  • 马蜂窝:按浏览量排序
  • 携程:按评分/点评数排序
  • 微信公众号:按阅读量排序(如果可用)

2. 增量式文件更新

步骤:
1. 先获取文章列表,输出到文件
2. 逐篇点击进入详情页
3. 补充详细内容到文件
4. 最后一篇完成后,文件包含完整信息

3. 进度汇报模板

## 📊 进度汇报

| 平台 | 状态 | 结果 | 问题 |
|------|------|------|------|
| 小红书 | 🔄/✅/⚠️ | xx篇 | — |
| 马蜂窝 | 🔄/✅/⚠️ | xx篇 | — |
| 携程 | 🔄/✅/⚠️ | xx篇 | — |
| 微信公众号 | 🔄/✅/⚠️ | xx篇 | — |

下一步:xxx

输出格式模板

单平台输出文件模板

# [平台名][目的地]旅游攻略([日期])

## 数据来源
- 平台:[平台名] ([域名])
- 排序方式:[排序方法]
- 获取时间:[日期]
- ✅ 数据来源确认

## 攻略列表

### 1. [文章标题]
- 作者:xxx
- 发布日期:xxx
- [平台特有指标1]:xxx
- [平台特有指标2]:xxx

#### 行程安排
- Day1: xxx
- Day2: xxx

#### 景点推荐
- 景点1:xxx(门票:xxx)

#### 美食推荐
- 美食1:xxx

#### 交通方式
xxx

#### 住宿建议
xxx

最终综合攻略模板

# [目的地][天数]日亲子游综合攻略([年份]终极版)

> **适合人群:** [目标人群]
> **推荐旅行季节:** [季节]
> **数据来源:** 小红书、微信公众号、马蜂窝(多平台综合,加权排序)
> **更新时间:** [日期]
> **信息源优先级:** 小红书 > 微信公众号 > 马蜂窝 > 其他

## 📊 数据来源说明
| 平台 | 基础权重 | 获取篇数 | 代表链接 |
|------|----------|----------|----------|
| 小红书 | ×1.0 | xx篇 | [查看热门攻略](#小红书热门攻略) |
| 微信公众号 | ×0.9 | xx篇 | [查看热门攻略](#公众号热门攻略) |
| 马蜂窝 | ×0.8 | xx篇 | [查看热门攻略](#马蜂窝热门攻略) |
| 其他 | ×0.6 | xx篇 | — |

## 📋 综合推荐榜(加权排序)

### 🏞️ 景点推荐【共X个,被Y篇攻略提及】
| 景点 | 推荐理由 | 提及次数 | 推荐指数 | 适合季节 | 来源攻略 |
|------|----------|----------|----------|----------|----------|
| 景点1 | 一句话亮点 | 【共3篇】⭐⭐⭐⭐ | 全年皆宜 | [链接1](url) [链接2](url) [链接3](url) |
| 景点2 | 一句话亮点 | 【共1篇】⭐⭐ | 春季最佳 | [链接](url) |

### 🍜 美食推荐【共X个,被Y篇攻略提及】
| 美食 | 推荐理由 | 提及次数 | 推荐指数 | 推荐店铺 | 来源攻略 |
|------|----------|----------|----------|----------|----------|
| 美食1 | 一句话亮点 | 【共5篇】⭐⭐⭐⭐⭐ | 必吃推荐 | xxx老店 | [链接1](url) [链接2](url) |
| 美食2 | 一句话亮点 | 【共2篇】⭐⭐⭐ | 特色小吃 | xxx店 | [链接](url) |

### 🏨 住宿推荐【共X个,被Y篇攻略提及】
| 住宿 | 位置/类型 | 提及次数 | 推荐指数 | 价位 | 来源攻略 |
|------|----------|----------|----------|------|----------|
| 住宿1 | 市中心/亲子友好 | 【共4篇】⭐⭐⭐⭐ | ¥300-500/晚 | [链接1](url) [链接2](url) |

### 📸 打卡点推荐【共X个,被Y篇攻略提及】
| 打卡点 | 拍照亮点 | 提及次数 | 推荐指数 | 出片时间 | 来源攻略 |
|------|----------|----------|----------|----------|----------|
| 打卡点1 | 日落/建筑 | 【共2篇】⭐⭐⭐ | 傍晚最佳 | [链接](url) |

## 🗓️ 行程总览(加权排序整合)
[按天列出行程,行程中的景点/美食/住宿均标注来源链接]

## 🎯 分板块详解

### 🏞️ 景点详解
[按推荐指数排序,每景点标注:【共X篇攻略提及】+ 所有来源链接]

### 🍜 美食地图
[按提及次数排序,每美食标注:【共X篇攻略提及】+ 所有来源链接]

### 🏨 住宿指南
[按推荐指数排序,每住宿标注:【共X篇攻略提及】+ 所有来源链接]

### 📸 打卡点攻略
[按推荐指数排序,每打卡点标注:【共X篇攻略提及】+ 所有来源链接]

## ⚠️ 注意事项
[避坑指南,标注数据来源]

---

## 📎 参考攻略原文(按平台分组,附链接)

### 🔴 小红书热门攻略【共X篇】
| # | 标题 | 作者 | 发布日期 | 点赞 | 收藏 | 链接 |
|---|------|------|----------|------|------|------|
| 1 | 攻略标题 | @作者名 | 2025-03-15 | 3.2k | 8.5k | [查看原文](url) |
| 2 | 攻略标题 | @作者名 | 2025-01-20 | 1.8k | 4.2k | [查看原文](url) |

### 🟠 微信公众号热门攻略【共X篇】
| # | 标题 | 公众号名称 | 发布日期 | 链接 |
|---|------|------------|----------|------|
| 1 | 攻略标题 | 公众号名称 | 2025-02-10 | [查看原文](url) |
| 2 | 攻略标题 | 公众号名称 | 2024-11-05 | [查看原文](url) |

### 🟡 马蜂窝热门攻略【共X篇】
| # | 标题 | 作者 | 发布日期 | 浏览量 | 链接 |
|---|------|------|----------|--------|------|
| 1 | 攻略标题 | @作者名 | 2024-09-20 | 12.5k | [查看原文](url) |
| 2 | 攻略标题 | @作者名 | 2024-08-15 | 8.3k | [查看原文](url) |

### 🟢 其他平台热门攻略【共X篇】
| 平台 | 标题 | 发布日期 | 链接 |
|------|------|----------|------|
| 携程 | 攻略标题 | 2025-01-10 | [查看原文](url) |

输出格式说明:

  • 所有景点、美食、住宿、打卡点必须标注【共X篇攻略提及】
  • 每项的来源攻略链接全部列出(同一平台最多3篇代表性链接)
  • 参考攻略原文板块放在报告最后,按平台分组展示
  • 链接使用 markdown 格式:[查看原文](url)
  • 时间权重:当前季节(春季)适合的内容标注【🌸春季推荐】等季节标签

使用示例

用户请求

调用subagent从小红书、马蜂窝、携程和微信公众号中获取至少5篇评分排名最高的台州旅游攻略,
总结后输出一份详细的综合攻略到raw/article/文件夹下。

Main Agent执行流程

Step 1: 准备三文件(Main Agent)

# 创建任务目录
mkdir -p ~/.openclaw/workspace/tasks

# 为每个平台创建 3 个文件
write ~/.openclaw/workspace/tasks/小红书_2026-04-24_任务.md
write ~/.openclaw/workspace/tasks/小红书_2026-04-24_状态.md
write ~/.openclaw/workspace/tasks/小红书_2026-04-24_数据.md

任务文件内容(Main Agent 写入,一次性):

# 小红书攻略获取任务(2026-04-24)

## 任务要求
- 目标平台:小红书 (xiaohongshu.com)
- 获取数量:至少5篇点赞排名最高的攻略
- 排序方式:综合排序(小红书默认热度)
- 数据纯正确认:点赞数、收藏数(小红书特有)

## 浏览器状态
- CDP端口:18800
- 执行顺序:第1个

## 操作提示
- 搜索URL:https://www.xiaohongshu.com/search_result?keyword=台州旅游攻略&type=note
- 排序按钮:综合排序(默认)
- 特有问题:二维码拦截 → 通知用户扫码登录

## 验收标准
- 至少5篇完整攻略
- 每篇必须包含:标题、作者、点赞数、收藏数、正文摘要
- 所有景点/美食/住宿必须附【来源链接】
- 原文链接必须是有效分享链接

## 三文件分离说明
- 任务文件:仅写此文件(一次),Subagent 启动时读一次后不再碰
- 状态文件:Subagent 写进度(每次进度变化)
- 数据文件:Subagent 写攻略正文(每篇攻略增量 append)

状态文件初始内容(Main Agent 写入):

# 小红书攻略获取状态(2026-04-24)
## 执行进度
- 等待启动
## 断点记录
- 上次完成:0篇
- 下一步:连接浏览器,开始搜索
## 任务状态
- 状态:⏳ 等待启动
- 完成进度:0/5篇
- 数据文件:~/.openclaw/workspace/tasks/小红书_2026-04-24_数据.md
## 待解决问题
- 无

Step 2: 启动Subagent

完整规范见上方 Spawn 调用规范;这里只保留最小示例。

sessions_spawn({
  label: "小红书攻略获取",
  mode: "session",
  sessionKey: "tourism-xiaohongshu-20260424",
  task: `
## 任务(必须完整执行,不得遗漏任何步骤)

### 目标
1. 从小红书获取至少5篇「台州旅游攻略」点赞排名最高的攻略
2. 提取每篇的标题、作者、点赞数、收藏数、正文摘要
3. 所有景点/美食/住宿标注【共X篇提及】+ 原文链接
4. 输出到 ~/.openclaw/workspace/tasks/小红书_2026-04-24_数据.md(攻略正文,仅写此文件)

### 执行顺序
1. 连接浏览器(Subagent 启动时任务文件已在 task 参数中,无需重读)
2. 执行3种排序搜索
3. 提取文章列表(去重,约10篇)
4. 逐篇提取正文(至少完成5篇高质量攻略)
5. **每篇完成后 append 攻略到数据文件**(详见下方格式)
6. **每篇完成后更新状态文件**(进度 + 断点)
7. 全部完成后更新状态文件任务状态为「✅ 完成」
8. 如遇二维码拦截,输出「⚠️ 小红书检测到自动化操作,请手动扫码登录」,等待用户确认
9. 如遇任何问题,**更新状态文件**并输出「⚠️ 需要人工介入」

### Subagent 写文件规范(必须严格遵守!)
**数据文件(每篇攻略 append):**
### 1. [文章标题]
- 作者:xxx | 发布日期:xxx
- 点赞数:xxx | 收藏数:xxx
- 正文摘要:xxx
- 【景点】[景点名]:[一句话描述]
  来源:[原文链接](url)
- 【美食】[美食名]:[一句话描述]
  来源:[原文链接](url)
- 【住宿】[住宿名/类型]:[一句话描述]
  来源:[原文链接](url)
- 【打卡点】[打卡点]:[一句话描述]
  来源:[原文链接](url)(可选)
- 原文链接:[查看原文](有效分享链接)
---

**状态文件(每次进度变化,更新进度/断点/状态):**
```markdown
## 执行进度
- [时间] 第1篇完成 → 已写入数据文件
## 断点记录
- 上次完成:第1篇
- 下一步:继续提取第2篇
## 任务状态
- 状态:⏳ 进行中
- 完成进度:1/5篇

任务文件路径(Main Agent 写一次,Subagent 启动后不重读)

~/.openclaw/workspace/tasks/小红书_2026-04-24_任务.md

数据文件路径(Subagent 增量写,Main Agent Phase4 仅读此文件汇总)

~/.openclaw/workspace/tasks/小红书_2026-04-24_数据.md

状态文件路径(Subagent 增量写,Main Agent 读状态确认进度)

~/.openclaw/workspace/tasks/小红书_2026-04-24_状态.md ` })


#### Step 3: Subagent执行(写数据文件和状态文件)

**Subagent 行为:**
- 任务文件:启动后从 task 参数读取一次,之后不重读
- 数据文件:每篇攻略完成后 append 攻略正文
- 状态文件:每篇完成后更新进度(进度时间线 + 断点 + 任务状态)

**状态文件更新示例(每篇完成后):**
```markdown
## 执行进度
- 19:30 任务启动
- 19:32 连接浏览器CDP 18800成功
- 19:35 导航到搜索页面成功
- 19:38 获取文章列表(12篇)
- 19:45 第1篇完成 → 已写入数据文件
- 19:50 ⚠️ 遇到二维码拦截
- 19:50 输出提示:【需要用户帮助】请手动扫码登录小红书
- 20:05 用户确认登录成功
- 20:10 第5篇完成

## 断点记录
- 上次完成:第5篇
- 下一步:更新状态 → 任务完成
- 最后活跃:20:15

## 任务状态
- 状态:✅ 完成
- 完成进度:5/5篇
- 数据文件:~/.openclaw/workspace/tasks/小红书_2026-04-24_数据.md

## 待解决问题
- 无

Step 4: Main Agent检查状态并整合(三文件分离后)

# 1. 快速读状态文件确认各平台进度(极小文件)
read ~/.openclaw/workspace/tasks/小红书_2026-04-24_状态.md
read ~/.openclaw/workspace/tasks/马蜂窝_2026-04-24_状态.md
# 读状态文件只为了确认:✅ 完成 / ⚠️ 部分完成 / ❌ 失败

# 2. 仅读数据文件汇总(纯攻略内容,不含任务/状态指令)
read ~/.openclaw/workspace/tasks/小红书_2026-04-24_数据.md
read ~/.openclaw/workspace/tasks/微信公众号_2026-04-24_数据.md
read ~/.openclaw/workspace/tasks/马蜂窝_2026-04-24_数据.md
# 数据文件只包含攻略正文,token 消耗最低

# 3. 跨篇统计(景点/美食/住宿/打卡点各统计一次)
#    工具:LLM 从数据文件中抽取、归类、去重、统计提及次数

# 4. 计算优先级分并排序
#    公式:平台权重 × 时间衰减 × 季节匹配

# 5. 输出最终攻略
write ~/llm-wiki/raw/articles/台州综合攻略.md

# 确认输出路径
"最终攻略将输出到:~/llm-wiki/raw/articles/台州综合攻略.md,是否确认?"

快捷脚本

# 一键创建三文件,自动检测浏览器,自动启动(如果找不到)
./scripts/start-tourism-guide.sh "目的地" [数量] [平台...]

# 示例
./scripts/start-tourism-guide.sh "台州亲子游" 5 xiaohongshu mafengwo ctrip
./scripts/start-tourism-guide.sh "黄山三日游" 5 xiaohongshu

技能元数据

{
  "name": "tourism-guide-harvester",
  "version": "1.5.0",
  "author": "OpenClaw + darwin-skill",
  "description": "多平台旅游攻略获取与整合技能 - v1.3输出优化版",
  "requires": {
    "tools": ["sessions_spawn", "exec", "read", "write", "web_fetch"],
    "skills": ["xiaohongshu-crawler", "agent-browser-clawdbot", "multi-search-engine", "wechat-article-spider"]
  },
  "optimizations": [
    "添加速查表",
    "一键脚本 start-tourism-guide.sh",
    "自动检测并启动Chrome浏览器 (CDP 18800)",
    "小红书多维度排序 (hot/collect_count/time_descending)",
    "JavaScript 提取正文,解决 snapshot 提取失败",
    "v1.5.0 Phase4六步法详细版 + Phase5清理提醒机制(需用户批准)",
    "v1.3 时间/季节权重公式",
    "v1.3 攻略提及次数标注与来源链接",
    "v1.3 参考攻略分平台展示在报告末尾"
  ],
  "platforms": ["小红书", "马蜂窝", "携程", "微信公众号"],
  "output_path": "~/llm-wiki/raw/articles/",
  "scripts": {
    "start": "scripts/start-tourism-guide.sh",
    "extract-article": "scripts/extract-article.js"
  }
}

Version tags

latestvk97fnm31f4yt9f0a7mf5d9yhpd85fdhm