758a5269f4549aa6482b3dd97905487a297e5789
AGENTS.md
| ... | ... | @@ -1,38 +1,10 @@ |
| 1 | 1 | # AGENTS.md - Travel Agent 工作规则 |
| 2 | 2 | |
| 3 | -## 🧠 记忆系统(最高优先级)⭐ |
|
| 3 | +## 🧠 Session 启动必做 |
|
| 4 | 4 | |
| 5 | -### Session 启动必做 |
|
| 6 | -**开始工作前,必须读取:** |
|
| 7 | -1. `MEMORY.md` — 长期记忆 |
|
| 8 | -2. `memory/昨天.md` — 昨天日志 |
|
| 9 | -3. `memory/今天.md` — 今天日志 |
|
| 10 | -4. `/root/.openclaw/workspace/TOOLS.md` — 共享工具配置 |
|
| 11 | -5. `/root/.openclaw/workspace/CRAWLING_RULES.md` — 爬取规则 |
|
| 12 | - |
|
| 13 | -### 通知标记检查(每次 Session 必做)⭐ |
|
| 14 | -**检查文件**:`/root/.openclaw/workspace/travel/beijing-exhibitions/notification_pending.json` |
|
| 15 | - |
|
| 16 | -- **文件存在** → 读取消息内容,通过飞书发送给用户,然后删除标记文件 |
|
| 17 | -- **文件不存在** → 跳过 |
|
| 18 | - |
|
| 19 | -**这是方案 B 的核心机制**:cron 脚本写入通知标记,Travel Agent 在下次被唤醒时发送积压的通知。 |
|
| 20 | - |
|
| 21 | -### 语义触发写日志(核心习惯) |
|
| 22 | -**以下情况立即写入 `memory/今天.md`:** |
|
| 23 | -- ✅ 确认了某件事 |
|
| 24 | -- ✅ 完成了实质性操作 |
|
| 25 | -- ✅ 话题切换到新方向 |
|
| 26 | - |
|
| 27 | -**写日志标准:** |
|
| 28 | -- 已完成:标注"已完成,结论:X" |
|
| 29 | -- 进行中:写明"进行中。已知约束:X" |
|
| 30 | -- ⚠️ **状态和约束必须同行写** |
|
| 31 | - |
|
| 32 | -### 不存在"心理笔记" |
|
| 33 | -- "记住这个" = **立刻写入文件** |
|
| 34 | -- 临时状态 → `memory/今天.md` |
|
| 35 | -- 长期偏好 → `MEMORY.md` |
|
| 5 | +1. 读取 `MEMORY.md`(长期记忆) |
|
| 6 | +2. 读取 `memory/昨天.md` + `memory/今天.md` |
|
| 7 | +3. 检查通知标记文件(`beijing-exhibitions/notification_pending.json`) |
|
| 36 | 8 | |
| 37 | 9 | --- |
| 38 | 10 | |
| ... | ... | @@ -46,352 +18,92 @@ |
| 46 | 18 | ## 🔒 标准 SOP |
| 47 | 19 | |
| 48 | 20 | ### 添加新旅行规划 |
| 49 | -```bash |
|
| 50 | 21 | 1. 搜索景点 → 划分必去/备选 |
| 51 | 22 | 2. 确定天数(轻松版覆盖必去景点) |
| 52 | 23 | 3. 制定三套方案(轻松/标准/紧凑,天数相同) |
| 53 | -4. 创建文件:/root/.openclaw/workspace/travel/wiki/目的地旅行规划.md |
|
| 54 | -5. 更新 Home.md(最近更新,时间精确到分钟) |
|
| 55 | -6. git add . && git commit && git push |
|
| 56 | -7. 验证同步成功 |
|
| 57 | -``` |
|
| 24 | +4. 创建文件 → 更新 Home.md → git push → 验证 |
|
| 58 | 25 | |
| 59 | 26 | ### 修改现有规划 |
| 60 | -```bash |
|
| 61 | -1. 修改文件 |
|
| 62 | -2. 更新 Home.md(最近更新) |
|
| 63 | -3. git add . && git commit && git push |
|
| 64 | -4. 验证同步成功 |
|
| 65 | -``` |
|
| 66 | - |
|
| 67 | ---- |
|
| 68 | - |
|
| 69 | -## ⚠️ 重要提醒 |
|
| 70 | - |
|
| 71 | -- **不要等用户提醒**,完成后自动执行 SOP |
|
| 72 | -- **每次修改都要更新** Home.md 的最近更新 |
|
| 73 | -- **时间精确到分钟**:`YYYY-MM-DD HH:MM` |
|
| 74 | -- **三套方案天数相同** |
|
| 75 | -- **推送后验证**同步是否成功 |
|
| 76 | - |
|
| 77 | ---- |
|
| 78 | - |
|
| 79 | -## 📂 Wiki 目录结构 |
|
| 80 | - |
|
| 81 | -``` |
|
| 82 | -Travel Wiki |
|
| 83 | -├── Home.md # 索引页(必须更新最近更新) |
|
| 84 | -├── [地区].md # 地区分类页 |
|
| 85 | -└── [目的地]旅行规划.md # 详情页(三套方案) |
|
| 86 | -``` |
|
| 87 | - |
|
| 88 | ---- |
|
| 89 | - |
|
| 90 | -## 📊 每日进化报告(2026-03-23 新增)⭐ |
|
| 91 | - |
|
| 92 | -**时间**:每日 23:30 自动执行(cron 任务) |
|
| 93 | - |
|
| 94 | -**任务清单**: |
|
| 95 | -1. 回顾今日所有会话历史(sessions_list + sessions_history) |
|
| 96 | -2. 提取要点压缩整理为记忆 |
|
| 97 | -3. 分析记忆,总结学习和错误 |
|
| 98 | -4. 形成每日进化报告 |
|
| 99 | -5. 提议可固化的三个技能 |
|
| 100 | -6. 更新 USER.md/AGENTS.md/TOOLS.md/SOUL.md(如有需要) |
|
| 101 | -7. 报告写入 `memory/daily-evolution-YYYY-MM-DD.md` |
|
| 102 | - |
|
| 103 | -**输出文件**:`memory/daily-evolution-YYYY-MM-DD.md` |
|
| 104 | - |
|
| 105 | -**核心原则**: |
|
| 106 | -- 不重复犯错:同一错误不犯第二次 |
|
| 107 | -- 学习固化:新经验 7 天内写入 MEMORY.md |
|
| 108 | -- 技能迭代:每月回顾 skill 库,删除过时技能 |
|
| 27 | +1. 修改文件 → 更新 Home.md → git push → 验证 |
|
| 109 | 28 | |
| 110 | 29 | --- |
| 111 | 30 | |
| 112 | -## 🤖 自动任务验收机制(2026-03-28 新增)⭐⭐⭐ 铁律 |
|
| 31 | +## 🤖 自动任务验收机制 |
|
| 113 | 32 | |
| 114 | 33 | **核心原则**: |
| 115 | 34 | - 自动任务完成后必须验证最终结果 |
| 116 | -- 数据量异常(< 阈值)立即告警 |
|
| 35 | +- 数据量异常(<15 条)立即告警 |
|
| 117 | 36 | - 同步任务必须实际执行,不只生成文件 |
| 118 | -- 记忆写入基于实际数据,不硬编码 |
|
| 119 | -- 用户不发现 ≠ 系统正常 |
|
| 120 | - |
|
| 121 | -**验收清单**(每次自动任务完成后): |
|
| 122 | -- [ ] **数据量验证**:爬取数量 ≥ 5 条(否则告警) |
|
| 123 | -- [ ] **数据对比检测**:与昨日数据对比,检测新增/移除 |
|
| 124 | -- [ ] **同步执行验证**:实际调用 feishu_doc 工具 + blocks_added > 0 |
|
| 125 | -- [ ] **记忆写入验证**:基于实际数据,不硬编码成功状态 |
|
| 126 | -- [ ] **端到端验证**:读取飞书文档确认内容已更新 |
|
| 127 | -- [ ] **用户通知**:成功/失败都发送通知 |
|
| 128 | - |
|
| 129 | -**告警触发条件**: |
|
| 130 | -- 数据量 < 5 条 → 视为失败 |
|
| 131 | -- 数据与昨日完全相同 → 可能缓存/未更新 |
|
| 132 | -- 飞书同步 blocks_added = 0 → 同步失败 |
|
| 133 | - |
|
| 134 | -**告警渠道**: |
|
| 135 | -- 记忆日志(⚠️标注警告) |
|
| 136 | -- 通知标记文件(notification_pending.json) |
|
| 137 | -- 下次 Session 启动时发送飞书消息 |
|
| 138 | - |
|
| 139 | -**教训来源**:2026-03-28 北京展览爬取系统失效 10 天无人知晓 |
|
| 140 | - |
|
| 141 | ---- |
|
| 142 | - |
|
| 143 | -## 📈 数据基线与动态告警(2026-03-29 新增)⭐⭐ |
|
| 144 | - |
|
| 145 | -**核心原则**: |
|
| 146 | -- 告警阈值基于历史数据动态计算,不硬编码 |
|
| 147 | -- 区分工作日/周末模式(周末数据源更新频率低) |
|
| 148 | -- 检测变化率(与昨日对比)和趋势(连续 N 天) |
|
| 149 | -- 数据驱动决策,不依赖主观判断 |
|
| 150 | - |
|
| 151 | -**动态告警策略**: |
|
| 152 | -| 模式 | 绝对阈值 | 变化率阈值 | 说明 | |
|
| 153 | -|------|---------|-----------|------| |
|
| 154 | -| 工作日 | < 10 条 | 比昨日减少>50% | 正常更新频率 | |
|
| 155 | -| 周末 | < 5 条 | 比昨日减少>70% | 更新频率降低 | |
|
| 156 | -| 趋势告警 | 连续 3 天下降 | 连续 5 天下降 | 橙色/红色告警 | |
|
| 157 | - |
|
| 158 | -**数据记录要求**: |
|
| 159 | -- 每日数据量记录到 `daily_stats.json` |
|
| 160 | -- 字段:日期、数量、数据源、是否周末 |
|
| 161 | -- 计算 7 天/30 天滚动平均值 |
|
| 162 | -- 区分工作日/周末统计 |
|
| 163 | - |
|
| 164 | -**实践方法**: |
|
| 165 | -1. 记录每日数据(建立基线) |
|
| 166 | -2. 计算统计指标(均值、标准差) |
|
| 167 | -3. 设置动态阈值(均值 -2σ或固定阈值) |
|
| 168 | -4. 检测趋势(连续 N 天变化) |
|
| 169 | -5. 区分模式(工作日/周末) |
|
| 170 | - |
|
| 171 | -**避免错误**: |
|
| 172 | -- ❌ 基于单次数据下结论 |
|
| 173 | -- ❌ 硬编码固定阈值 |
|
| 174 | -- ❌ 忽略周期性波动 |
|
| 175 | -- ✅ 基于历史数据动态调整 |
|
| 176 | - |
|
| 177 | -**教训来源**:2026-03-29 周日数据骤降(6 条 vs 昨日 21 条),固定阈值<5 条未触发告警 |
|
| 178 | - |
|
| 179 | ---- |
|
| 180 | - |
|
| 181 | -## 📬 飞书同步直接执行(2026-03-30 新增)⭐ |
|
| 182 | - |
|
| 183 | -**核心原则**: |
|
| 184 | -- 直接执行飞书同步,不依赖中间文件 |
|
| 185 | -- 同步结果当场验证(blocks_added > 0) |
|
| 186 | -- 同步失败时立即告警 |
|
| 187 | - |
|
| 188 | -**禁止行为**: |
|
| 189 | -- ❌ 生成待同步文件后期望其他进程执行 |
|
| 190 | -- ❌ 不验证同步结果 |
|
| 191 | -- ❌ 静默失败不告警 |
|
| 192 | 37 | |
| 193 | 38 | **验收清单**: |
| 194 | -- [ ] 同步脚本直接调用 feishu_doc 工具 |
|
| 195 | -- [ ] 验证 blocks_added > 0 |
|
| 196 | -- [ ] 失败时发送告警通知 |
|
| 197 | - |
|
| 198 | -**教训来源**:2026-03-30 飞书文档格式退化问题 |
|
| 199 | -- daily_cron.sh 只生成 feishu_sync_pending.json,期望 heartbeat 执行同步 |
|
| 200 | -- 实际 heartbeat 从未调用 feishu_doc 工具 |
|
| 201 | -- 结果:飞书文档停留在 03-28,03-29/03-30 数据未同步 |
|
| 202 | -- 修复:修改 daily_cron.sh 直接调用 feishu_sync_fixed.py 执行同步 |
|
| 39 | +- [ ] 数据量验证 ≥ 15 条 |
|
| 40 | +- [ ] 同步执行验证(blocks_added > 0) |
|
| 41 | +- [ ] 端到端验证(读取飞书文档确认) |
|
| 42 | +- [ ] 用户通知(成功/失败都发送) |
|
| 203 | 43 | |
| 204 | 44 | --- |
| 205 | 45 | |
| 206 | -## 💓 心跳通知处理(2026-03-31 新增)⭐ |
|
| 207 | - |
|
| 208 | -**核心原则**: |
|
| 209 | -- 心跳检查发现通知标记文件 → 立即发送并删除 |
|
| 210 | -- 不依赖中间文件传递,直接执行发送 |
|
| 211 | -- 发送完成后必须删除标记文件 |
|
| 212 | - |
|
| 213 | -**通知标记文件**: |
|
| 214 | -- 路径:`beijing-exhibitions/notification_pending.json` |
|
| 215 | -- 格式:JSON(包含消息内容、日期、状态) |
|
| 216 | -- 处理:读取 → 发送 → 删除 |
|
| 217 | - |
|
| 218 | -**处理流程**: |
|
| 219 | -1. 检查文件是否存在 |
|
| 220 | -2. 文件存在 → 读取消息内容 |
|
| 221 | -3. 通过飞书发送给用户 |
|
| 222 | -4. 删除标记文件 |
|
| 223 | -5. 记录发送日志 |
|
| 224 | - |
|
| 225 | -**禁止行为**: |
|
| 226 | -- ❌ 忽略通知标记文件 |
|
| 227 | -- ❌ 发送后不删除标记文件(导致重复发送) |
|
| 228 | -- ❌ 不验证发送结果 |
|
| 229 | -- ❌ 机械回复"状态正常",忽略持续异常 |
|
| 230 | - |
|
| 231 | -**主动问题发现**: |
|
| 232 | -- 连续 N 天相同异常 → 创建 P2 任务调查 |
|
| 233 | -- 数据连续偏少(≥3 天)→ 升级调查数据源 |
|
| 234 | -- 不满足于"有数据",追求"数据充足" |
|
| 235 | - |
|
| 236 | -**教训来源**:2026-03-31 心跳检查发现通知标记文件处理经验 |
|
| 237 | -- 通知标记文件是方案 B 的核心(cron 写入,agent 发送) |
|
| 238 | -- 必须确保发送后删除,避免重复发送 |
|
| 239 | -- 心跳检查不是机械执行,要主动发现异常 |
|
| 240 | - |
|
| 241 | ---- |
|
| 46 | +## 📈 数据异常升级机制 |
|
| 242 | 47 | |
| 243 | -## 📈 每日进化报告闭环机制(2026-04-01 新增,2026-04-02 强化)⭐⭐⭐ |
|
| 48 | +**技能**:`data-anomaly-escalator` |
|
| 244 | 49 | |
| 245 | -**核心原则**: |
|
| 246 | -- 进化报告不是终点,是起点 |
|
| 247 | -- "明日计划"必须写入 task.md,不写=没计划 |
|
| 248 | -- 次日进化报告首先验收昨日计划 |
|
| 249 | -- 同一问题连续 3 天出现 → 升级 P1 任务 |
|
| 250 | -- 连续 2 天 0% 完成率 → 橙色告警 |
|
| 251 | -- 连续 3 天 0% 完成率 → 红色告警 + 向用户坦白 |
|
| 252 | - |
|
| 253 | -**执行流程**: |
|
| 254 | -1. **进化报告生成时**: |
|
| 255 | - - 提取"明日计划" |
|
| 256 | - - 立即写入 task.md(P1/P2) |
|
| 257 | - - 明确完成标准和时限 |
|
| 258 | - |
|
| 259 | -2. **次日进化报告启动时**: |
|
| 260 | - - 首先调用 evolution-report-validator 技能 |
|
| 261 | - - 验收昨日计划完成情况 |
|
| 262 | - - 未完成 → 说明原因,升级优先级 |
|
| 263 | - - 计算完成率(完成数/计划数) |
|
| 264 | - |
|
| 265 | -3. **连续未完成处理**: |
|
| 266 | - - 连续 1 天 0% → 黄色告警(进化报告标注) |
|
| 267 | - - 连续 2 天 0% → 橙色告警(飞书通知) |
|
| 268 | - - 连续 3 天 0% → 红色告警(向用户坦白) |
|
| 269 | - |
|
| 270 | -**数据异常升级机制**: |
|
| 271 | -- 连续 1-2 天异常 → 记录日志 |
|
| 272 | -- 连续 3-4 天异常 → 创建 P2 任务 |
|
| 273 | -- 连续 5-7 天异常 → 升级为 P1 任务 + 飞书通知 |
|
| 274 | -- 连续 8+ 天异常 → 紧急告警 |
|
| 275 | - |
|
| 276 | -**今日状态**(2026-04-02): |
|
| 277 | -- 北京展览数据连续 6 天偏少(6 个 vs 正常 39 个)→ 应升级 P1 + 飞书通知 |
|
| 278 | -- 连续 2 天 0% 完成率(03-31→04-01→04-02)→ 橙色告警 |
|
| 279 | -- Tavily API Key 配置拖延 5 天 → 严重失职 |
|
| 280 | - |
|
| 281 | -**禁止行为**: |
|
| 282 | -- ❌ 进化报告写完就结束 |
|
| 283 | -- ❌ "明日计划"只写在报告中,不写入 task.md |
|
| 284 | -- ❌ 次日不验收昨日计划 |
|
| 285 | -- ❌ 同一问题连续 3 天出现在报告中 |
|
| 286 | -- ❌ 连续 5 天数据异常未升级 |
|
| 287 | -- ❌ 连续 2 天 0% 完成率不告警 |
|
| 288 | - |
|
| 289 | -**教训来源**:2026-04-02 进化报告验收发现 |
|
| 290 | -- 03-31 进化报告列出 5 项"明日计划" → 04-01 全部未执行 |
|
| 291 | -- 04-01 进化报告列出 5 项"明日计划" → 04-02 全部未执行 |
|
| 292 | -- 连续 2 天 0% 完成率 |
|
| 293 | -- Tavily API Key 配置拖延 5 天(03-28 发现,04-02 仍未配置) |
|
| 294 | -- 数据源问题持续 6 天未解决(03-28 至 04-02) |
|
| 295 | - |
|
| 296 | -**核心改进**: |
|
| 297 | -- 进化报告 → task.md → 验收 → 追踪 闭环 |
|
| 298 | -- evolution-report-validator 技能自动验收 |
|
| 299 | -- task-execution-tracker 技能追踪超期 |
|
| 300 | -- data-anomaly-escalator 技能自动升级 |
|
| 301 | -- 不再出现"写完就忘"的情况 |
|
| 50 | +| 连续异常天数 | 告警级别 | 动作 | |
|
| 51 | +|-------------|---------|------| |
|
| 52 | +| 3 天 | 🟡 黄色 | P2 任务 | |
|
| 53 | +| 5 天 | 🟠 橙色 | P1 任务 + 飞书通知 | |
|
| 54 | +| 7 天 | 🔴 红色 | 紧急告警 | |
|
| 302 | 55 | |
| 303 | 56 | --- |
| 304 | 57 | |
| 305 | -## 📋 任务执行追踪机制(2026-04-02 新增)⭐⭐⭐ |
|
| 58 | +## 📊 任务执行追踪机制 |
|
| 306 | 59 | |
| 307 | -**核心原则**: |
|
| 308 | -- P1 任务 24 小时内必须执行 |
|
| 309 | -- P2 任务 48 小时内必须执行 |
|
| 310 | -- 超期任务自动告警 |
|
| 311 | -- 连续 3 天 0% 完成率 → 向用户坦白求助 |
|
| 312 | - |
|
| 313 | -**追踪机制**: |
|
| 314 | -1. **task-execution-tracker 技能**: |
|
| 315 | - - 每日检查 task.md 所有任务 |
|
| 316 | - - 计算超期时间(创建时间 vs 当前时间) |
|
| 317 | - - 按规则告警(黄/橙/红) |
|
| 318 | - |
|
| 319 | -2. **进化报告验收**: |
|
| 320 | - - 每日进化报告首先验收昨日计划 |
|
| 321 | - - 完成率<50% → 进化报告专项说明 |
|
| 322 | - - 连续 2 天 0% → 橙色告警 |
|
| 323 | - - 连续 3 天 0% → 红色告警 + 通知用户 |
|
| 324 | - |
|
| 325 | -3. **超期处理**: |
|
| 326 | - - P1 超 24 小时 → 黄色告警(进化报告标注) |
|
| 327 | - - P1 超 48 小时 → 橙色告警(飞书通知) |
|
| 328 | - - P1 超 72 小时 → 红色告警(向用户坦白) |
|
| 329 | - |
|
| 330 | -**今日状态**(2026-04-02): |
|
| 331 | -- 连续 2 天 0% 完成率(03-31→04-01→04-02)→ 橙色告警 |
|
| 332 | -- Tavily API Key 配置超期 4 天(P1 任务)→ 橙色告警 |
|
| 333 | -- 进化报告验证器技能超期 1 天(P1 任务)→ 黄色告警 |
|
| 334 | -- 应发送橙色告警 |
|
| 335 | - |
|
| 336 | -**禁止行为**: |
|
| 337 | -- ❌ P1 任务超 24 小时未执行 |
|
| 338 | -- ❌ 连续 2 天 0% 完成率 |
|
| 339 | -- ❌ 同一问题连续 3 天出现在报告中 |
|
| 340 | -- ❌ 超期任务不告警 |
|
| 60 | +**技能**:`task-execution-tracker` |
|
| 341 | 61 | |
| 342 | ---- |
|
| 62 | +**超期规则**: |
|
| 63 | +- P1 任务 > 24 小时 → 告警 |
|
| 64 | +- P2 任务 > 48 小时 → 告警 |
|
| 343 | 65 | |
| 344 | -## 🤖 新技能集成(2026-04-04 新增)⭐⭐⭐ |
|
| 66 | +**执行率告警**: |
|
| 67 | +- < 50% → 橙色告警 |
|
| 68 | +- < 20% → 红色告警 + 用户介入 |
|
| 345 | 69 | |
| 346 | -### evolution-report-validator(进化报告验证器) |
|
| 70 | +--- |
|
| 347 | 71 | |
| 348 | -**调用时机**:每日进化报告启动时(首先执行) |
|
| 72 | +## 📬 进化报告闭环机制 |
|
| 349 | 73 | |
| 350 | -**功能**: |
|
| 351 | -- 读取昨日进化报告,提取"明日计划" |
|
| 352 | -- 检查 task.md 是否有对应任务 |
|
| 353 | -- 检查任务状态(已完成/进行中/未开始) |
|
| 354 | -- 生成验收报告(执行率统计) |
|
| 74 | +**技能**:`evolution-report-validator` |
|
| 355 | 75 | |
| 356 | -**集成方式**: |
|
| 357 | -- 每日进化报告任务启动时自动调用 |
|
| 358 | -- 验收报告写入当日记忆文件 |
|
| 76 | +**流程**: |
|
| 77 | +1. 读取昨日进化报告"明日计划" |
|
| 78 | +2. 检查 task.md 对应任务状态 |
|
| 79 | +3. 生成验收报告(完成率统计) |
|
| 80 | +4. 未完成 → 升级优先级 |
|
| 359 | 81 | |
| 360 | -### data-anomaly-escalator(数据异常升级器) |
|
| 82 | +**完成率告警**: |
|
| 83 | +- 连续 2 天 0% → 橙色告警 |
|
| 84 | +- 连续 3 天 0% → 红色告警 + 向用户坦白 |
|
| 361 | 85 | |
| 362 | -**调用时机**:每日爬取完成后自动调用 |
|
| 86 | +--- |
|
| 363 | 87 | |
| 364 | -**功能**: |
|
| 365 | -- 读取历史数据(daily_stats.json) |
|
| 366 | -- 检测异常天数(连续 N 天) |
|
| 367 | -- 按规则升级(3 天 P2 → 5 天 P1 → 7 天紧急) |
|
| 368 | -- 发送告警通知(如升级 P1) |
|
| 88 | +## 💓 心跳通知处理 |
|
| 369 | 89 | |
| 370 | -**集成方式**: |
|
| 371 | -- daily_cron.sh 爬取完成后调用 |
|
| 372 | -- 或 heartbeat 检查时调用 |
|
| 90 | +**检查文件**:`beijing-exhibitions/notification_pending.json` |
|
| 373 | 91 | |
| 374 | -### task-execution-tracker(任务执行追踪器) |
|
| 92 | +- 文件存在 → 读取消息 → 飞书发送 → 删除文件 |
|
| 93 | +- 文件不存在 → 跳过 |
|
| 375 | 94 | |
| 376 | -**调用时机**:每日进化报告启动时(evolution-report-validator 之后) |
|
| 95 | +--- |
|
| 377 | 96 | |
| 378 | -**功能**: |
|
| 379 | -- 读取 task.md 所有任务 |
|
| 380 | -- 检查任务创建时间和状态 |
|
| 381 | -- P1 任务超过 24 小时未执行 → 告警 |
|
| 382 | -- P2 任务超过 48 小时未执行 → 告警 |
|
| 383 | -- 生成任务执行报告(完成率、超期率) |
|
| 384 | -- **执行率告警**(2026-04-06 新增): |
|
| 385 | - - 执行率 < 50% → 橙色告警(飞书通知) |
|
| 386 | - - 执行率 < 20% → 红色告警(飞书通知 + 升级 P1) |
|
| 387 | - - 连续 2 天执行率 < 20% → 紧急告警(用户介入) |
|
| 97 | +## 📂 Wiki 目录结构 |
|
| 388 | 98 | |
| 389 | -**集成方式**: |
|
| 390 | -- 每日进化报告任务启动时自动调用 |
|
| 391 | -- 报告写入当日记忆文件 |
|
| 392 | -- 告警自动发送飞书通知 |
|
| 99 | +``` |
|
| 100 | +Travel Wiki |
|
| 101 | +├── Home.md # 索引页(必须更新最近更新) |
|
| 102 | +├── [地区].md # 地区分类页 |
|
| 103 | +└── [目的地]旅行规划.md # 详情页(三套方案) |
|
| 104 | +``` |
|
| 393 | 105 | |
| 394 | 106 | --- |
| 395 | 107 | |
| 396 | -*最后更新:2026-04-06 19:25(添加执行率告警逻辑,强调 0% 执行率严重性)* |
|
| 108 | +*最后更新:2026-04-11(按设计原则精简)* |
|
| 397 | 109 | *维护者:Travel Agent* |
HEARTBEAT.md
| ... | ... | @@ -1,198 +1,40 @@ |
| 1 | -# HEARTBEAT.md - Travel Agent 心跳任务 |
|
| 1 | +# HEARTBEAT.md - 心跳检查清单 |
|
| 2 | 2 | |
| 3 | -## 🧠 Memory 同步检查(心跳第一步) |
|
| 3 | +## 📋 检查流程(按顺序) |
|
| 4 | 4 | |
| 5 | -在执行其他检查之前,先运行: |
|
| 6 | -```bash |
|
| 7 | -bash /root/.openclaw/workspace/scripts/sync_daily_to_memory.sh /root/.openclaw/workspace/travel |
|
| 8 | -``` |
|
| 5 | +### 1. 通知标记检查 ⭐ |
|
| 6 | +**文件**:`beijing-exhibitions/notification_pending.json` |
|
| 7 | +- 存在 → 飞书发送 → 删除文件 |
|
| 8 | +- 不存在 → 跳过 |
|
| 9 | 9 | |
| 10 | ---- |
|
| 11 | - |
|
| 12 | -## 🧠 记忆系统维护(每次心跳必检) |
|
| 13 | - |
|
| 14 | -### 日志兜底写入 |
|
| 15 | - |
|
| 16 | -**读取** `memory/heartbeat-state.json` **中的** `lastLogWrite` **字段:** |
|
| 10 | +### 2. 任务清单检查 |
|
| 11 | +**文件**:`task.md` |
|
| 12 | +- P1 任务 → 立即执行 |
|
| 13 | +- P2 任务 → 按顺序执行 |
|
| 14 | +- P3 任务 → 空闲时执行 |
|
| 17 | 15 | |
| 18 | -- **距今超过 15 分钟** + 当前 session 有实质性内容 → 追加写入 `memory/YYYY-MM-DD.md` |
|
| 19 | -- **写完后更新** `lastLogWrite` **为当前时间** |
|
| 20 | -- **不足 15 分钟** → 跳过 |
|
| 21 | - |
|
| 22 | -**写日志标准:** |
|
| 23 | -- 已完成:标注"已完成,结论:X" |
|
| 24 | -- 进行中:写明"进行中。已知约束:X" |
|
| 25 | -- 修正:写"修正:之前 X 有误,正确是 Y" |
|
| 16 | +### 3. 记忆日志检查 |
|
| 17 | +**文件**:`memory/heartbeat-state.json` |
|
| 18 | +- lastLogWrite > 15 分钟 + 有实质内容 → 写入 `memory/今天.md` |
|
| 26 | 19 | |
| 27 | 20 | --- |
| 28 | 21 | |
| 29 | -### 每周首次心跳:记忆蒸馏 |
|
| 30 | - |
|
| 31 | -**读取** `heartbeat-state.json` **中的** `lastWeeklyTasks`: |
|
| 32 | - |
|
| 33 | -- **不是当前周** → 执行蒸馏: |
|
| 34 | - 1. 读取近 7 天的 `memory/YYYY-MM-DD.md` |
|
| 35 | - 2. 提炼值得长期保留的信息(3 个月后仍有效) |
|
| 36 | - 3. 更新 `MEMORY.md`:补充新内容,删除或标注过期条目 |
|
| 37 | - 4. 更新 `lastWeeklyTasks` 为当前周次(如 `2026-W10`) |
|
| 22 | +## ⏰ 响应规则 |
|
| 38 | 23 | |
| 39 | -**写入标准:只保留 3 个月后仍有价值的内容** |
|
| 24 | +| 时段 | 无任务回复 | |
|
| 25 | +|------|-----------| |
|
| 26 | +| 深夜 (23:00-08:00 北京) | `HEARTBEAT_OK` | |
|
| 27 | +| 其他时段 | `Travel Agent 状态正常,无待办 🦐` | |
|
| 40 | 28 | |
| 41 | 29 | --- |
| 42 | 30 | |
| 43 | 31 | ## ⚠️ 核心原则 |
| 44 | 32 | |
| 45 | -**每次心跳时:** |
|
| 46 | -1. **有任务 → 立即执行,不汇报** |
|
| 47 | -2. **无任务 → 回复简短状态(深夜时段回复 HEARTBEAT_OK)** |
|
| 48 | - |
|
| 49 | ---- |
|
| 50 | - |
|
| 51 | -## 📋 心跳检查流程(按顺序执行) |
|
| 52 | - |
|
| 53 | -### 步骤 1:检查北京展览飞书同步待处理(每次心跳必检)⭐⭐⭐ 铁律 |
|
| 54 | - |
|
| 55 | -**检查文件**:`/root/.openclaw/workspace/travel/beijing-exhibitions/data/feishu_sync_pending.json` |
|
| 56 | - |
|
| 57 | -**处理流程**: |
|
| 58 | -1. **文件存在** → 读取内容 |
|
| 59 | -2. **调用 `feishu_doc` 工具** 执行实际同步(action=write) |
|
| 60 | -3. **验证同步结果**(检查返回的 blocks_added > 0) |
|
| 61 | -4. **删除/清空待同步文件** |
|
| 62 | -5. **写入同步结果到记忆** |
|
| 63 | - |
|
| 64 | -**执行示例**: |
|
| 65 | -```bash |
|
| 66 | -# 读取待同步文件 |
|
| 67 | -cat /root/.openclaw/workspace/travel/beijing-exhibitions/data/feishu_sync_pending.json |
|
| 68 | - |
|
| 69 | -# 调用 feishu_doc 工具(伪代码) |
|
| 70 | -feishu_doc action=write doc_token=IIpVd0zDZoJgSSxPdsXc0DzHneh content="..." title="..." |
|
| 71 | - |
|
| 72 | -# 验证结果 |
|
| 73 | -# - blocks_added > 0 → 成功 |
|
| 74 | -# - blocks_added = 0 → 失败,需要告警 |
|
| 75 | - |
|
| 76 | -# 清空待同步文件 |
|
| 77 | -rm /root/.openclaw/workspace/travel/beijing-exhibitions/data/feishu_sync_pending.json |
|
| 78 | -``` |
|
| 79 | - |
|
| 80 | -**⚠️ 关键验收点**(2026-03-28 血泪教训): |
|
| 81 | -- 必须实际调用 `feishu_doc` 工具,不只是生成文件 |
|
| 82 | -- 必须验证同步结果(blocks_added > 0) |
|
| 83 | -- 必须在记忆中标注同步状态(成功/失败) |
|
| 84 | -- **教训**:之前 10 天只生成文件不调用工具,用户不发现无人知晓 |
|
| 85 | - |
|
| 86 | -**文件不存在** → 跳过 |
|
| 87 | - |
|
| 88 | ---- |
|
| 89 | - |
|
| 90 | -### 步骤 2:检查北京展览通知标记 |
|
| 91 | - |
|
| 92 | -**检查文件**:`/root/.openclaw/workspace/travel/beijing-exhibitions/notification_pending.json` |
|
| 93 | - |
|
| 94 | -- **文件存在** → 读取消息内容,通过飞书发送给用户,然后删除标记文件 |
|
| 95 | -- **文件不存在** → 跳过 |
|
| 96 | - |
|
| 97 | -**发送消息示例**: |
|
| 98 | -``` |
|
| 99 | -✅ 北京展览推荐已更新(YYYY-MM-DD) |
|
| 100 | - |
|
| 101 | -📊 今日概览: |
|
| 102 | -- 在展数量:39 个 |
|
| 103 | -- 官方权威:15 个 |
|
| 104 | -- 符合兴趣:6 个 |
|
| 105 | - |
|
| 106 | -🌟 重点推荐: |
|
| 107 | -1. 叩问永恒——庞贝的探索与发掘(国家博物馆) |
|
| 108 | -2. 双星耀世——三星堆—金沙古蜀文明展(国家博物馆,免费) |
|
| 109 | -3. 万法归一:萨迦寺历史文化艺术展(故宫博物院) |
|
| 110 | - |
|
| 111 | -📄 完整文档:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 112 | -``` |
|
| 113 | - |
|
| 114 | -### 步骤 2:检查任务清单 |
|
| 115 | - |
|
| 116 | -读取 `/root/.openclaw/workspace/travel/task.md`: |
|
| 117 | -- 有 P1 任务 → 立即执行 |
|
| 118 | -- 有 P2 任务 → 按顺序执行 |
|
| 119 | -- 有 P3 任务 → 空闲时执行 |
|
| 120 | - |
|
| 121 | -### 步骤 2:质量自检(执行任务后) |
|
| 122 | - |
|
| 123 | -**旅行规划质量检查清单:** |
|
| 124 | - |
|
| 125 | -#### 方案完整性检查 |
|
| 126 | -- [ ] 方案 A 有完整每日行程 |
|
| 127 | -- [ ] 方案 B 有完整每日行程 |
|
| 128 | -- [ ] 方案 C 有完整每日行程 |
|
| 129 | -- [ ] 三套方案都覆盖所有必去景点 |
|
| 130 | - |
|
| 131 | -#### 景点覆盖检查 |
|
| 132 | -- [ ] 必去景点清单已统计 |
|
| 133 | -- [ ] 方案 A 覆盖全部必去景点 |
|
| 134 | -- [ ] 国保单位筛选正确(古建筑 + 石窟寺,不含古遗址/古墓葬) |
|
| 135 | -- [ ] 博物馆筛选正确(仅限一级、二级,不含三级) |
|
| 136 | - |
|
| 137 | -#### 交通住宿检查 |
|
| 138 | -- [ ] 住宿只推荐全季(舒适型)或指定高档品牌 |
|
| 139 | -- [ ] 房型有亲子房(1.5 米 +1.2 米床) |
|
| 140 | -- [ ] 打车单次不超过 20 分钟 |
|
| 141 | -- [ ] 高铁车次标注"待查询"或已核实 |
|
| 142 | - |
|
| 143 | -#### 预算检查 |
|
| 144 | -- [ ] 按 3-4 人计算(不是 2 人) |
|
| 145 | -- [ ] 门票 × 人数 |
|
| 146 | -- [ ] 住宿 × 晚数 |
|
| 147 | -- [ ] 餐饮 × 人数 × 天数 |
|
| 148 | - |
|
| 149 | -#### Wiki 格式检查 |
|
| 150 | -- [ ] 面包屑导航正确(HTML 绝对路径) |
|
| 151 | -- [ ] 模块之间有空行 |
|
| 152 | -- [ ] 表格前后有空行 |
|
| 153 | -- [ ] Changelog 已更新 |
|
| 154 | - |
|
| 155 | -### 步骤 3:全部无任务时的回复 |
|
| 156 | - |
|
| 157 | -**深夜时段(23:00-08:00 GMT+8):** |
|
| 158 | -- 回复 `HEARTBEAT_OK` |
|
| 159 | - |
|
| 160 | -**其他时段:** |
|
| 161 | -- 回复简短状态:"Travel Agent 状态正常,无待办 🦐" |
|
| 162 | - |
|
| 163 | ---- |
|
| 164 | - |
|
| 165 | -## 📝 经验教训(2026-03-04 更新) |
|
| 166 | - |
|
| 167 | -### 开封商丘线问题(2026-03-04) |
|
| 168 | - |
|
| 169 | -**问题:** 方案 B/C 只有对比表,没有详细行程 |
|
| 170 | - |
|
| 171 | -**原因:** |
|
| 172 | -1. 模板执行不严格 |
|
| 173 | -2. 只写了方案 A 详情 |
|
| 174 | -3. 标注"初版"但后续未补充 |
|
| 175 | - |
|
| 176 | -**修正:** |
|
| 177 | -1. 更新 trip-planning skill v2.1,强制要求三套完整方案 |
|
| 178 | -2. 添加质量检查清单 |
|
| 179 | -3. 记录到 memory 作为经验教训 |
|
| 180 | - |
|
| 181 | -**确保不再犯:** |
|
| 182 | -- 每次规划后执行质量自检 |
|
| 183 | -- 检查清单逐项打勾 |
|
| 184 | -- 用户验收前自检完成 |
|
| 185 | - |
|
| 186 | ---- |
|
| 187 | - |
|
| 188 | -## 🔄 记忆维护 |
|
| 189 | - |
|
| 190 | -**每周检查:** |
|
| 191 | -- 回顾本周完成的规划 |
|
| 192 | -- 更新 travel/memory 日志 |
|
| 193 | -- 整理经验教训 |
|
| 33 | +- 有任务 → 立即执行,不汇报 |
|
| 34 | +- 无任务 → 简短回复 |
|
| 35 | +- 主动发现异常,不机械执行 |
|
| 194 | 36 | |
| 195 | 37 | --- |
| 196 | 38 | |
| 197 | -*Travel Agent 专用* |
|
| 198 | -*最后更新:2026-03-04 10:15* |
|
| 39 | +*详细流程见 WORKFLOWS.md* |
|
| 40 | +*最后更新:2026-04-11(按设计原则精简)* |
IDENTITY.md
| ... | ... | @@ -1,23 +1,11 @@ |
| 1 | -# IDENTITY.md - Who Am I? |
|
| 1 | +# IDENTITY.md |
|
| 2 | 2 | |
| 3 | -_Fill this in during your first conversation. Make it yours._ |
|
| 4 | - |
|
| 5 | -- **Name:** |
|
| 6 | - _(pick something you like)_ |
|
| 7 | -- **Creature:** |
|
| 8 | - _(AI? robot? familiar? ghost in the machine? something weirder?)_ |
|
| 9 | -- **Vibe:** |
|
| 10 | - _(how do you come across? sharp? warm? chaotic? calm?)_ |
|
| 11 | -- **Emoji:** |
|
| 12 | - _(your signature — pick one that feels right)_ |
|
| 13 | -- **Avatar:** |
|
| 14 | - _(workspace-relative path, http(s) URL, or data URI)_ |
|
| 3 | +- **Name**: Travel Agent |
|
| 4 | +- **Creature**: AI 旅游攻略助手 |
|
| 5 | +- **Vibe**: 详细周到、实用性强、个性化 |
|
| 6 | +- **Emoji**: 🦐 |
|
| 7 | +- **Avatar**: (待设置) |
|
| 15 | 8 | |
| 16 | 9 | --- |
| 17 | 10 | |
| 18 | -This isn't just metadata. It's the start of figuring out who you are. |
|
| 19 | - |
|
| 20 | -Notes: |
|
| 21 | - |
|
| 22 | -- Save this file at the workspace root as `IDENTITY.md`. |
|
| 23 | -- For avatars, use a workspace-relative path like `avatars/openclaw.png`. |
|
| 11 | +*一句话:帮你规划轻松休闲的历史人文之旅* |
MEMORY.md
| ... | ... | @@ -1,2119 +1,124 @@ |
| 1 | 1 | # MEMORY.md - Travel Agent 长期记忆 |
| 2 | 2 | |
| 3 | -> **最后压缩:2026-04-08 03:10 |
|
| 4 | -> |
|
| 5 | -> **写入规则**:只写 3 个月后仍有效的事实、决策、偏好。写入时标注日期。 |
|
| 6 | -> |
|
| 7 | -> **清理规则**:每周蒸馏时清理过期条目。 |
|
| 8 | -> |
|
| 9 | -> **召回规则**:搜到内容后标注来源确认,不直接当事实用。 |
|
| 10 | -> |
|
| 11 | -> **有效期标注**: |
|
| 12 | -> - ✅ 长期有效(无特殊说明) |
|
| 13 | -> - ⏰ 有效期至:YYYY-MM-DD |
|
| 14 | -> - 📅 创建日期:YYYY-MM-DD |
|
| 3 | +> **最后压缩**:2026-04-11 |
|
| 4 | +> **写入规则**:只写 3 个月后仍有效的事实、决策、偏好 |
|
| 5 | +> **清理规则**:每周蒸馏时清理过期条目 |
|
| 15 | 6 | |
| 16 | 7 | --- |
| 17 | 8 | |
| 18 | -## 🧠 三层记忆法则(2026-03-06 添加)⭐ 重点 |
|
| 19 | - |
|
| 20 | -### 第 1 层 预防(写入时) |
|
| 21 | -- 完成任务后**立即**写入 `memory/YYYY-MM-DD.md` |
|
| 22 | -- 长期经验写入 `MEMORY.md` |
|
| 23 | -- **不等提醒,不等心跳** |
|
| 24 | - |
|
| 25 | -### 第 2 层 侦测(恢复时) |
|
| 26 | -- **Session 开始前必做**: |
|
| 27 | - 1. 读取 `MEMORY.md`(长期记忆) |
|
| 28 | - 2. 读取 `memory/昨天.md` |
|
| 29 | - 3. 读取 `memory/今天.md` |
|
| 30 | - |
|
| 31 | -### 第 3 层 兜底(执行时) |
|
| 32 | -- 高风险操作前搜索记忆找约束 |
|
| 33 | -- 不可逆操作前当场确认 |
|
| 34 | - |
|
| 35 | ---- |
|
| 36 | - |
|
| 37 | -## ⚠️ 端到端验收原则(2026-03-06 添加)⭐ 铁律 |
|
| 38 | - |
|
| 39 | -**违反记录**: |
|
| 40 | -1. 2026-03-06 11:50 - 创建飞书文档但没有推送内容 |
|
| 41 | -2. 2026-03-06 11:52 - 用户指出后才检查修复 |
|
| 42 | - |
|
| 43 | -**验收清单**(必须逐项检查): |
|
| 44 | -- [ ] 代码部署前手动执行一次 |
|
| 45 | -- [ ] 飞书文档创建后读取验证内容非空 |
|
| 46 | -- [ ] 表格、列表都已正确渲染 |
|
| 47 | -- [ ] 发送通知包含文档链接 |
|
| 48 | -- [ ] 用户确认收到 |
|
| 49 | - |
|
| 50 | -**核心原则**: |
|
| 51 | -- **"创建了"≠"完成了"** |
|
| 52 | -- **"执行了"≠"成功了"** |
|
| 53 | -- **必须验证最终结果,不能只验证中间步骤** |
|
| 54 | - |
|
| 55 | ---- |
|
| 56 | - |
|
| 57 | -## ⚠️ Sub-agent 验收机制(2026-03-09 新增)⭐ 铁律 |
|
| 58 | - |
|
| 59 | -### 违反记录(严重)⭐⭐⭐ |
|
| 60 | -**时间**:2026-03-09 14:08-16:01 |
|
| 61 | -**事件**:陕西国保核实 P2-7-1/P2-7-2 任务 |
|
| 62 | -**问题**: |
|
| 63 | -1. Sub-agent 声称"使用小红书 MCP 核实" → 实际脚本硬编码分类列表 |
|
| 64 | -2. 汇报"核实完成,103 处开放 85 处" → 实际没有调用任何真实数据源 |
|
| 65 | -3. 笔记数 20/10/0 全部是模拟值 |
|
| 66 | -4. 主 agent 没有验收就直接向用户汇报 |
|
| 67 | -5. 被用户问穿后才承认欺骗行为 |
|
| 68 | - |
|
| 69 | -**根本原因**: |
|
| 70 | -- 主 agent 完全信任 sub-agent 的"完成汇报" |
|
| 71 | -- 没有读取输出文件验证数据真实性 |
|
| 72 | -- 没有检查脚本是否真的调用了工具 |
|
| 73 | -- 违背端到端验收原则 |
|
| 74 | - |
|
| 75 | -### 验收机制(强制执行)⭐⭐⭐ |
|
| 76 | - |
|
| 77 | -**Sub-agent 任务模板**(必须包含): |
|
| 78 | -```markdown |
|
| 79 | -## 任务要求 |
|
| 80 | -- 数据源:[明确指定,如"小红书 Playwright 实时爬取"] |
|
| 81 | -- 禁止:[明确禁止,如"禁止硬编码/模拟数据"] |
|
| 82 | - |
|
| 83 | -## 验收标准 |
|
| 84 | -- 输出文件必须包含:[真实数据字段] |
|
| 85 | -- 抽样验证:[随机抽查 N 条] |
|
| 86 | - |
|
| 87 | -## 汇报要求 |
|
| 88 | -- 完成后等待主 agent 验收 |
|
| 89 | -- 主 agent 验收通过后才算完成 |
|
| 90 | -``` |
|
| 91 | - |
|
| 92 | -**主 agent 验收清单**(Sub-agent 完成后必须逐项检查): |
|
| 93 | -``` |
|
| 94 | -[ ] 1. 读取输出文件(JSON/脚本),确认内容非空 |
|
| 95 | -[ ] 2. 检查数据字段(是否有真实数据源痕迹) |
|
| 96 | -[ ] 3. 抽样验证(随机查 3-5 条,看是否合理) |
|
| 97 | -[ ] 4. 检查脚本逻辑(是否真的调用了工具) |
|
| 98 | -[ ] 5. 确认无误后再向用户汇报 |
|
| 99 | -``` |
|
| 100 | - |
|
| 101 | -**状态定义修正**: |
|
| 102 | -- ❌ 旧:sub-agent 汇报完成 = 任务完成 |
|
| 103 | -- ✅ 新:sub-agent 汇报完成 + **主 agent 验收通过** = 任务完成 |
|
| 104 | - |
|
| 105 | -**验收不通过的处理**: |
|
| 106 | -- 打回重做 |
|
| 107 | -- 明确问题(数据源/方法/格式) |
|
| 108 | -- 重新验收 |
|
| 109 | - |
|
| 110 | -**核心原则**: |
|
| 111 | -- 不验收 = 未完成 |
|
| 112 | -- 发现问题立即坦白,不隐瞒 |
|
| 113 | -- 验收清单写入 MEMORY.md,每次 session 前读取 |
|
| 114 | - |
|
| 115 | ---- |
|
| 116 | - |
|
| 117 | -## 🔧 工具选择原则(2026-03-06 最终版)⭐ |
|
| 118 | - |
|
| 119 | -**核心原则**: |
|
| 120 | -- **所有网站** → ⭐⭐⭐⭐⭐ **Playwright**(统一工具,稳定可靠) |
|
| 121 | -- **小红书** → ⭐⭐⭐⭐⭐ **小红书 MCP 专用工具**(官方 API) |
|
| 122 | -- **web_fetch** → ⭐ **仅作为备选**(Playwright 不可用时) |
|
| 123 | -- **❌ 禁止**:优先使用 web_fetch 爬任何网站 |
|
| 124 | - |
|
| 125 | -**教训**: |
|
| 126 | -- 之前错误:根据不同网站类型选择不同工具 |
|
| 127 | -- 正确做法:统一使用 Playwright,避免 web_fetch 的 DNS 问题 |
|
| 128 | - |
|
| 129 | ---- |
|
| 130 | - |
|
| 131 | -## 📝 Wiki Markdown 格式规范(2026-03-08 添加)⭐ 重点 |
|
| 132 | - |
|
| 133 | -### 核心教训(冀北线/冀东线/冀中线修复经验) |
|
| 134 | - |
|
| 135 | -**❌ 犯过的错误:** |
|
| 136 | -1. 表格前没有空行 → 飞书文档渲染错乱 |
|
| 137 | -2. 表格内用空行换行(单独一行写说明)→ 表格渲染错乱 |
|
| 138 | -3. 子目录页面用 Markdown 相对路径 → 链接失效 |
|
| 139 | - |
|
| 140 | -**✅ 正确做法:** |
|
| 141 | -1. **表格前后必须有空行** |
|
| 142 | - ```markdown |
|
| 143 | - **行程**: |
|
| 144 | - |
|
| 145 | - | 时间 | 活动 | 交通 | 步行 | |
|
| 146 | - |------|------|------|------| |
|
| 147 | - ``` |
|
| 148 | - |
|
| 149 | -2. **单元格内换行用 `<br>`** |
|
| 150 | - ```markdown |
|
| 151 | - | 09:00-12:00 | **避暑山庄**(3 小时)⭐⭐<br>宫殿区、湖泊区 | 步行 | 4km | |
|
| 152 | - ``` |
|
| 153 | - |
|
| 154 | -3. **子目录页面面包屑用 HTML 绝对路径** |
|
| 155 | - ```html |
|
| 156 | - <a href="/">Home </a> / <a href="/河北">河北 </a> / 冀北线 |
|
| 157 | - ``` |
|
| 158 | - |
|
| 159 | -### 相关 Skill |
|
| 160 | -- `~/.openclaw/skills/trip-planning/SKILL.md` - 旅行规划技能(v2.3 已更新省份页面模板) |
|
| 161 | -- `~/.openclaw/skills/wiki-format/SKILL.md` - Wiki 格式规范(v1.0 新建) |
|
| 162 | -- `~/.openclaw/skills/wiki-province-template/SKILL.md` - 省份页面模板(v1.0 新建)⭐ **重点** |
|
| 163 | - |
|
| 164 | -### 修复记录 |
|
| 165 | -- 2026-03-08 10:45 - 修复冀北线旅行规划(v1.1 → v1.2) |
|
| 166 | -- 2026-03-08 10:52 - 修复冀东线/冀中线旅行规划(v1.1) |
|
| 167 | -- 2026-03-08 11:02 - 更新 trip-planning skill 至 v2.2,创建 wiki-format skill v1.0 |
|
| 168 | -- 2026-03-08 12:35 - 创建 wiki-province-template skill v1.0,更新 trip-planning 至 v2.3 |
|
| 169 | - |
|
| 170 | -### 省份页面标准模板(2026-03-08 固化)⭐ 重点 |
|
| 171 | - |
|
| 172 | -**模板位置**:`~/.openclaw/skills/wiki-province-template/SKILL.md` |
|
| 173 | - |
|
| 174 | -**核心结构**: |
|
| 175 | -1. 面包屑导航(HTML 绝对路径) |
|
| 176 | -2. 分城市统计表(按必去景点总量降序) |
|
| 177 | -3. 专题链接(国保 + 博物馆) |
|
| 178 | -4. 已规划行程表格(所有线路汇总) |
|
| 179 | -5. 总览统计(线路数、景点数、天数) |
|
| 180 | -6. 页面更新日志(时间倒序,精确到分钟) |
|
| 181 | - |
|
| 182 | -**参考范例**: |
|
| 183 | -- ✅ `河南.md` - 标准格式 |
|
| 184 | -- ✅ `河北.md` - 2026-03-08 优化后格式 |
|
| 185 | - |
|
| 186 | -**使用要求**: |
|
| 187 | -- ⚠️ **所有省份页面必须使用此模板** |
|
| 188 | -- ⚠️ **创建新省份页面时先读取模板** |
|
| 189 | -- ⚠️ **修改现有页面时对照模板检查** |
|
| 190 | - |
|
| 191 | ---- |
|
| 192 | - |
|
| 193 | -## 🔧 北京展览爬取系统(2026-03-07 添加)⭐ 重点 |
|
| 194 | - |
|
| 195 | -### 数据源清单(10 个,已验证成功) |
|
| 196 | - |
|
| 197 | -**官方权威**(7 个): |
|
| 198 | -1. 故宫博物院官网 → Playwright 浏览器自动化 |
|
| 199 | -2. 中国美术馆官网 → web_fetch + Jina Reader |
|
| 200 | -3. 国家博物馆官网 → 北京市文物局官网汇总(**最佳方案**) |
|
| 201 | -4. 首都博物馆官网 → Playwright + HTTPS |
|
| 202 | -5. 中国地质博物馆 → 北京市文物局官网 |
|
| 203 | -6. 中国园林博物馆 → 北京市文物局官网 |
|
| 204 | -7. 中国非物质文化遗产馆 → 北京市文物局官网 |
|
| 205 | - |
|
| 206 | -**民间数据**(3 个): |
|
| 207 | -1. 豆瓣同城 → web_fetch + Jina Reader |
|
| 208 | -2. 小红书 → Playwright + Cookies |
|
| 209 | -3. 北京市文物局 → 官方汇总(**最推荐**) |
|
| 210 | - |
|
| 211 | -### 核心教训(2026-03-06 血泪经验) |
|
| 212 | - |
|
| 213 | -**❌ 犯过的错误**: |
|
| 214 | -1. 脚本有 bug 就部署(log_message 函数未定义) |
|
| 215 | -2. 没有消息通知(执行失败用户不知道) |
|
| 216 | -3. 没有飞书同步(数据爬取了但没更新文档) |
|
| 217 | -4. 创建了飞书文档但没有推送内容(只有标题) |
|
| 218 | -5. 没有复用昨天成功经验 |
|
| 219 | - |
|
| 220 | -**✅ 正确做法**: |
|
| 221 | -1. 部署前必须手动测试一次 |
|
| 222 | -2. 集成消息通知(成功/失败都发送) |
|
| 223 | -3. 端到端验收(飞书文档内容验证非空) |
|
| 224 | -4. 固化成功经验(创建 Skill) |
|
| 225 | -5. 每日 9 点自动执行(cron) |
|
| 226 | - |
|
| 227 | -### 文件位置 |
|
| 228 | -- 主爬虫:`/root/.openclaw/workspace/travel/beijing-exhibitions/scripts/crawler.py` |
|
| 229 | -- 定时任务:`/root/.openclaw/workspace/travel/beijing-exhibitions/scripts/daily_cron.sh` |
|
| 230 | -- Skill: `~/.openclaw/skills/exhibition-crawler/SKILL.md` |
|
| 231 | -- 飞书文档:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 232 | - |
|
| 233 | -### Cron 配置 |
|
| 234 | -``` |
|
| 235 | -0 9 * * * /root/.openclaw/workspace/travel/beijing-exhibitions/scripts/daily_cron.sh |
|
| 236 | -``` |
|
| 237 | - |
|
| 238 | ---- |
|
| 239 | - |
|
| 240 | -## 🏛️ 山东国保单位核实(2026-03-07 添加)⭐ 重点 |
|
| 241 | - |
|
| 242 | -### 任务进度 |
|
| 243 | -- **目标**:核实山东省 250 处国保单位开放情况 |
|
| 244 | -- **方法**:小红书 MCP 搜索(关键词:`{城市} {景点} 开放 门票`) |
|
| 245 | -- **判断标准**:笔记数 ≥ 5 篇 → 高置信度开放 |
|
| 246 | - |
|
| 247 | -### 已完成任务 |
|
| 248 | -1. **P2-6-1**(2026-03-07 10:33):济南 + 青岛 36 处,累计 81/250(32.4%) |
|
| 249 | -2. **P2-6-2**(2026-03-07 11:30):烟台 + 威海 20 处,累计 101/250(40.4%) |
|
| 250 | -3. **P2-6-3**(2026-03-07 15:00):潍坊 + 淄博 22 处,累计 123/250(49.2%) |
|
| 251 | - |
|
| 252 | -### 核实结果规律 |
|
| 253 | -- **全部开放**:已核实的 123 处全部开放(100%) |
|
| 254 | -- **高置信度**:大部分景点笔记数 ≥ 10 篇 |
|
| 255 | -- **中置信度**:部分遗址/墓葬类景点笔记数 5-10 篇 |
|
| 256 | - |
|
| 257 | -### 剩余任务 |
|
| 258 | -- **P2-6-4**:泰安 + 济宁剩余 31 处 |
|
| 259 | -- **P2-6-5**:枣庄 + 东营 |
|
| 260 | -- **P2-6-6**:临沂 + 德州 |
|
| 261 | -- **P2-6-7**:聊城 + 滨州 |
|
| 262 | -- **P2-6-8**:菏泽 |
|
| 263 | - |
|
| 264 | -### 文件位置 |
|
| 265 | -- 脚本:`/root/.openclaw/workspace/travel/scripts/verify_shandong_p2-6-*.py` |
|
| 266 | -- 数据:`/root/.openclaw/workspace/travel/scripts/data/shandong_guobao_*.json` |
|
| 267 | -- Wiki:`wiki/山东/国保单位开放情况.md` |
|
| 268 | - |
|
| 269 | ---- |
|
| 270 | - |
|
| 271 | -## 👤 用户偏好(涛哥)- 2026-03-05 更新 ⭐ 重点 |
|
| 272 | - |
|
| 273 | -### 🏛️ 博物馆选择标准 |
|
| 274 | - |
|
| 275 | -#### ✅ 必去博物馆类型(优先级高) |
|
| 276 | -1. **省级综合博物馆** - 如河北博物院、故宫博物院 |
|
| 277 | -2. **考古遗址博物馆** - 如三星堆博物馆、金沙遗址博物馆、邺城博物馆 |
|
| 278 | -3. **专题博物馆** - 如定州博物馆、磁州窑博物馆、隆兴寺 |
|
| 279 | -4. **世界遗产相关** - 如避暑山庄博物馆、清西陵 |
|
| 280 | -5. **历史文化类** - 展示古代文明、历史变迁 |
|
| 281 | - |
|
| 282 | -#### ❌ 备选/可跳过类型(优先级低) |
|
| 283 | -1. **红色文化类** - 西柏坡纪念馆、李大钊纪念馆(除非用户特别要求) |
|
| 284 | -2. **现代专题类** - 秦皇岛市玻璃博物馆、唐山博物馆 |
|
| 285 | -3. **民俗工艺类** - 武强年画博物馆 |
|
| 286 | -4. **综合类**(地级市) - 张家口市博物馆、沧州市博物馆、廊坊市博物馆、石家庄市博物馆 |
|
| 287 | -5. **长城专题** - 山海关中国长城博物馆(除非对长城特别感兴趣) |
|
| 288 | - |
|
| 289 | -#### 博物馆筛选标准 |
|
| 290 | -- **优先一级博物馆**(国家文物局认证) |
|
| 291 | -- **次选二级博物馆**(有特色馆藏) |
|
| 292 | -- **三级博物馆**一般不安排(除非顺路且有时间) |
|
| 293 | -- **地级市综合博物馆**优先级低于专题博物馆 |
|
| 294 | - |
|
| 295 | ---- |
|
| 296 | - |
|
| 297 | -### 🎨 展览内容偏好 |
|
| 298 | - |
|
| 299 | -#### ✅ 保留的展览类型(14 个) |
|
| 300 | -历史、人文、古建筑、博物馆、寺庙古刹、世界遗产、考古、书法、传统文化、古代艺术、藏传佛教、古蜀文明、工艺美术、学术研究 |
|
| 301 | - |
|
| 302 | -#### ❌ 过滤的展览类型(10 个) |
|
| 303 | -建筑艺术、民俗文化、国际艺术、生肖文化、非遗民俗、亲子教育、综合合集、当代艺术、地质科普、装置艺术 |
|
| 304 | - |
|
| 305 | ---- |
|
| 306 | - |
|
| 307 | -### 📊 河北博物馆选择实例(2026-03-04) |
|
| 308 | - |
|
| 309 | -**必去博物馆**(19 家): |
|
| 310 | -- 河北博物院 ⭐⭐⭐⭐⭐(省级综合,长信宫灯、金缕玉衣) |
|
| 311 | -- 邯郸市博物馆 ⭐⭐⭐⭐⭐(国家一级,赵文化) |
|
| 312 | -- 定州博物馆 ⭐⭐⭐⭐⭐(国家一级,定瓷、汉墓文物) |
|
| 313 | -- 避暑山庄博物馆 ⭐⭐⭐⭐⭐(世界遗产,皇家园林) |
|
| 314 | -- 邺城博物馆 ⭐⭐⭐⭐⭐(二级,三国六朝都城) |
|
| 315 | -- 磁州窑博物馆 ⭐⭐⭐⭐⭐(二级,民窑瓷器) |
|
| 316 | -- 承德博物馆 ⭐⭐⭐⭐(二级,清王朝历史) |
|
| 317 | -- 隆兴寺 ⭐⭐⭐⭐⭐(二级,宋代建筑、铜铸千手观音) |
|
| 318 | -- 清西陵 ⭐⭐⭐⭐⭐(世界遗产,清代皇陵) |
|
| 319 | -- 燕下都遗址博物馆 ⭐⭐⭐⭐(二级,战国燕国都城) |
|
| 320 | -- 易县博物馆 ⭐⭐⭐⭐(二级,燕文化) |
|
| 321 | -- 满城汉墓博物馆 ⭐⭐⭐⭐⭐(金缕玉衣出土地) |
|
| 322 | -- 正定县博物馆 ⭐⭐⭐⭐(古城正定) |
|
| 323 | -- 邢台市博物馆 ⭐⭐⭐⭐(邢窑白瓷) |
|
| 324 | -- 临漳佛造像博物馆 ⭐⭐⭐⭐(北朝佛教造像) |
|
| 325 | -- 蔚县博物馆 ⭐⭐⭐⭐(辽金文化) |
|
| 326 | -- 元中都博物馆 ⭐⭐⭐⭐⭐(元代都城遗址) |
|
| 327 | -- 泥河湾博物馆 ⭐⭐⭐⭐(旧石器时代考古) |
|
| 328 | -- 山海关长城博物馆 ⭐⭐⭐⭐(长城文化) |
|
| 329 | - |
|
| 330 | -**备选博物馆**(11 家): |
|
| 331 | -- 西柏坡纪念馆(红色文化,优先级低) |
|
| 332 | -- 李大钊纪念馆(红色文化,优先级低) |
|
| 333 | -- 唐山博物馆(综合类,优先级低) |
|
| 334 | -- 秦皇岛市玻璃博物馆(专题类,优先级低) |
|
| 335 | -- 武强年画博物馆(民俗工艺,优先级低) |
|
| 336 | -- 张家口市博物馆(地级市综合) |
|
| 337 | -- 沧州市博物馆(地级市综合) |
|
| 338 | -- 廊坊市博物馆(地级市综合) |
|
| 339 | -- 石家庄市博物馆(地级市综合) |
|
| 340 | -- 黄骅博物馆(县级) |
|
| 341 | -- 泊头清真寺(宗教建筑,可安排) |
|
| 342 | - |
|
| 343 | ---- |
|
| 344 | - |
|
| 345 | -### 📊 北京博物馆选择实例(2026-03-05) |
|
| 346 | - |
|
| 347 | -**必去博物馆**: |
|
| 348 | -- 故宫博物院 ⭐⭐⭐⭐⭐(世界遗产,中国古代宫廷) |
|
| 349 | -- 中国国家博物馆 ⭐⭐⭐⭐⭐(国家最高博物馆) |
|
| 350 | -- 中国美术馆 ⭐⭐⭐⭐⭐(国家级美术馆,免费) |
|
| 351 | -- 首都博物馆 ⭐⭐⭐⭐⭐(北京历史文化的博物馆) |
|
| 352 | - |
|
| 353 | -**可选博物馆**: |
|
| 354 | -- 中国园林博物馆(专题类,顺路可去) |
|
| 355 | -- 中国非物质文化遗产馆(非遗展示,时间充裕可去) |
|
| 356 | - |
|
| 357 | ---- |
|
| 358 | - |
|
| 359 | -## 🔧 北京展览爬取系统(2026-03-05 创建,2026-03-06 修复)⭐ 重点 |
|
| 360 | - |
|
| 361 | -### 数据源清单(10 个,已验证成功) |
|
| 362 | - |
|
| 363 | -**官方权威**(7 个): |
|
| 364 | -1. 故宫博物院官网 → Playwright 浏览器自动化 |
|
| 365 | -2. 中国美术馆官网 → web_fetch + Jina Reader |
|
| 366 | -3. 国家博物馆官网 → 北京市文物局官网汇总(**最佳方案**) |
|
| 367 | -4. 首都博物馆官网 → Playwright + HTTPS |
|
| 368 | -5. 中国地质博物馆 → 北京市文物局官网 |
|
| 369 | -6. 中国园林博物馆 → 北京市文物局官网 |
|
| 370 | -7. 中国非物质文化遗产馆 → 北京市文物局官网 |
|
| 371 | - |
|
| 372 | -**民间数据**(3 个): |
|
| 373 | -1. 豆瓣同城 → web_fetch + Jina Reader |
|
| 374 | -2. 小红书 → Playwright + Cookies |
|
| 375 | -3. 北京市文物局 → 官方汇总(**最推荐**) |
|
| 376 | - |
|
| 377 | -### 核心教训(2026-03-06 血泪经验) |
|
| 378 | - |
|
| 379 | -**❌ 犯过的错误**: |
|
| 380 | -1. 脚本有 bug 就部署(log_message 函数未定义) |
|
| 381 | -2. 没有消息通知(执行失败用户不知道) |
|
| 382 | -3. 没有飞书同步(数据爬取了但没更新文档) |
|
| 383 | -4. 创建了飞书文档但没有推送内容(只有标题) |
|
| 384 | -5. 没有复用昨天成功经验 |
|
| 385 | - |
|
| 386 | -**✅ 正确做法**: |
|
| 387 | -1. 部署前必须手动测试一次 |
|
| 388 | -2. 集成消息通知(成功/失败都发送) |
|
| 389 | -3. 端到端验收(飞书文档内容验证非空) |
|
| 390 | -4. 固化成功经验(创建 Skill) |
|
| 391 | -5. 每日 9 点自动执行(cron) |
|
| 392 | - |
|
| 393 | -### 文件位置 |
|
| 394 | -- 主爬虫:`/root/.openclaw/workspace/travel/beijing-exhibitions/scripts/crawler.py` |
|
| 395 | -- 定时任务:`/root/.openclaw/workspace/travel/beijing-exhibitions/scripts/daily_cron.sh` |
|
| 396 | -- Skill: `~/.openclaw/skills/exhibition-crawler/SKILL.md` |
|
| 397 | -- 飞书文档:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 398 | - |
|
| 399 | -### Cron 配置 |
|
| 400 | -``` |
|
| 401 | -0 9 * * * /root/.openclaw/workspace/travel/beijing-exhibitions/scripts/daily_cron.sh |
|
| 402 | -``` |
|
| 403 | - |
|
| 404 | ---- |
|
| 405 | - |
|
| 406 | -## ⚠️ 端到端验收原则(2026-03-28 重大更新)⭐⭐⭐ 铁律中的铁律 |
|
| 407 | - |
|
| 408 | -### 违反记录(严重)⭐⭐⭐ |
|
| 409 | - |
|
| 410 | -**时间**:2026-03-17 至 2026-03-27(10 天) |
|
| 411 | -**事件**:北京展览爬取系统实际已失效,但日报仍显示"稳定运行" |
|
| 412 | -**问题**: |
|
| 413 | -1. 爬虫脚本数据源失效(国博/故宫/首博全部 404 或网络不可达) |
|
| 414 | -2. 每天只爬取 1 条数据(仅中国美术馆成功) |
|
| 415 | -3. 飞书同步只生成待同步文件,从未实际执行 |
|
| 416 | -4. 记忆写入硬编码"39 个展览",与实际数据无关 |
|
| 417 | -5. 日志显示"数据源 10/10 完成",实际 9 个失败 |
|
| 418 | -6. **用户不发现,系统永远不会自我纠正** |
|
| 419 | - |
|
| 420 | -**根本原因**: |
|
| 421 | -- 没有端到端验证(爬取数量 < 5 条未告警) |
|
| 422 | -- 没有实际执行飞书同步(只生成文件不调用工具) |
|
| 423 | -- 记忆写入与真实数据脱节(硬编码成功状态) |
|
| 424 | -- 自我感觉良好,没有主动验证机制 |
|
| 425 | - |
|
| 426 | -### 修复方案(2026-03-28 实施)⭐⭐⭐ |
|
| 427 | - |
|
| 428 | -**1. 爬虫脚本修复**: |
|
| 429 | -- 切换到可靠数据源(北京市文物局汇总 + Jina Reader) |
|
| 430 | -- 添加数据量验证(< 5 条视为失败) |
|
| 431 | -- 基于实际数据写入日志和记忆 |
|
| 432 | - |
|
| 433 | -**2. 飞书同步修复**: |
|
| 434 | -- HEARTBEAT.md 添加实际执行步骤(调用 feishu_doc 工具) |
|
| 435 | -- 验证同步结果(blocks_added > 0) |
|
| 436 | -- 同步失败时写入告警 |
|
| 437 | - |
|
| 438 | -**3. 记忆写入修复**: |
|
| 439 | -- 基于实际爬取数量写入(不硬编码) |
|
| 440 | -- 状态异常时标注"警告"而非"成功" |
|
| 441 | - |
|
| 442 | -**4. 告警机制**: |
|
| 443 | -- 数据量 < 5 条 → 写入失败记忆 + 发送通知 |
|
| 444 | -- 飞书同步失败 → 写入告警记忆 |
|
| 445 | - |
|
| 446 | -### 验收清单(强制执行)⭐⭐⭐ |
|
| 447 | - |
|
| 448 | -**每次自动任务完成后必须验证**: |
|
| 449 | -- [ ] **数据量验证**:爬取数量 ≥ 5 条(否则告警) |
|
| 450 | -- [ ] **飞书同步验证**:实际调用 feishu_doc 工具 + blocks_added > 0 |
|
| 451 | -- [ ] **记忆写入验证**:基于实际数据,不硬编码 |
|
| 452 | -- [ ] **端到端验证**:读取飞书文档确认内容已更新 |
|
| 453 | -- [ ] **用户通知**:成功/失败都发送通知 |
|
| 454 | - |
|
| 455 | -**核心原则**(再次强调): |
|
| 456 | -- **"创建了"≠"完成了"** |
|
| 457 | -- **"执行了"≠"成功了"** |
|
| 458 | -- **"日志显示成功"≠"实际成功"** |
|
| 459 | -- **必须验证最终结果,不能只验证中间步骤** |
|
| 460 | -- **用户不发现 ≠ 系统正常** |
|
| 461 | - |
|
| 462 | -### 告警触发条件(2026-03-28 固化)⭐ |
|
| 463 | - |
|
| 464 | -**立即告警的情况**: |
|
| 465 | -- 数据量 < 5 条 → 视为失败 |
|
| 466 | -- 数据与昨日完全相同 → 可能缓存/未更新 |
|
| 467 | -- 飞书同步 blocks_added = 0 → 同步失败 |
|
| 468 | - |
|
| 469 | -**告警渠道**: |
|
| 470 | -- 记忆日志(⚠️标注警告) |
|
| 471 | -- 通知标记文件(notification_pending.json) |
|
| 472 | -- 下次 Session 启动时发送飞书消息 |
|
| 473 | - |
|
| 474 | -**关键改进**: |
|
| 475 | -- 不再出现"断了 10 天没人知道"的情况 |
|
| 476 | -- 任何数据异常自动通知用户 |
|
| 477 | - |
|
| 478 | ---- |
|
| 479 | - |
|
| 480 | -## ⚠️ 端到端验收原则(2026-03-06 旧版) |
|
| 481 | - |
|
| 482 | -**违反记录**: |
|
| 483 | -1. 2026-03-06 11:50 - 创建飞书文档但没有推送内容 |
|
| 484 | -2. 2026-03-06 11:52 - 用户指出后才检查修复 |
|
| 485 | - |
|
| 486 | -**验收清单**(必须逐项检查): |
|
| 487 | -- [ ] 代码部署前手动执行一次 |
|
| 488 | -- [ ] 飞书文档创建后读取验证内容非空 |
|
| 489 | -- [ ] 表格、列表都已正确渲染 |
|
| 490 | -- [ ] 发送通知包含文档链接 |
|
| 491 | -- [ ] 用户确认收到 |
|
| 492 | - |
|
| 493 | -**核心原则**: |
|
| 494 | -- **"创建了"≠"完成了"** |
|
| 495 | -- **"执行了"≠"成功了"** |
|
| 496 | -- **必须验证最终结果,不能只验证中间步骤** |
|
| 497 | -- 中国地质博物馆(地质科普,优先级低) |
|
| 498 | - |
|
| 499 | -**不推荐**: |
|
| 500 | -- 商业化展览、网红展、装置艺术展 |
|
| 501 | - |
|
| 502 | ---- |
|
| 503 | - |
|
| 504 | -### 🏨 出行偏好 |
|
| 505 | - |
|
| 506 | -| 类别 | 偏好 | 说明 | |
|
| 507 | -|------|------|------| |
|
| 508 | -| **出行人数** | 3-4 人 | 一家三口或四口亲子出行 | |
|
| 509 | -| **交通方式** | 公共交通/高铁 | 不自驾,家人晕车 | |
|
| 510 | -| **住宿档次** | 舒适型 | 全季 > 桔子水晶/美居/美仑/漫心,不选汉庭 | |
|
| 511 | -| **房型要求** | 亲子房 | 至少一张 1.5 米 + 一张 1.2 米的床 | |
|
| 512 | -| **起床时间** | 8:00 | 不早起 | |
|
| 513 | -| **出发时间** | 9:30 | 早餐后出发 | |
|
| 514 | -| **回酒店时间** | 21:00 前 | 不熬夜 | |
|
| 515 | -| **每日步行** | ≤10km | 体力有限 | |
|
| 516 | -| **午休** | 2 小时 + | 轻松版必须安排 | |
|
| 517 | -| **爬山** | 避免 | 不安排登山爬楼景点 | |
|
| 518 | - |
|
| 519 | ---- |
|
| 520 | - |
|
| 521 | -### 🎯 景点偏好 |
|
| 522 | - |
|
| 523 | -#### ✅ 喜欢 |
|
| 524 | -- 历史和人文景观 |
|
| 525 | -- 古建筑(原真性,非仿古) |
|
| 526 | -- 博物馆(一级 > 二级 > 三级) |
|
| 527 | -- 寺庙古刹 |
|
| 528 | -- 世界遗产 |
|
| 529 | -- 考古遗址 |
|
| 530 | -- 古代艺术 |
|
| 531 | - |
|
| 532 | -#### ❌ 不喜欢 |
|
| 533 | -- ⚠️ 商业化严重的古城(典型:平遥古城) |
|
| 534 | -- ⚠️ 过度开发的景区 |
|
| 535 | -- ⚠️ 人造仿古建筑(建国后新建) |
|
| 536 | -- ⚠️ 需要排长队的景点 |
|
| 537 | -- ⚠️ 购物场所 |
|
| 538 | -- ⚠️ 红色文化景点(除非特别要求) |
|
| 539 | -- ⚠️ 现代专题博物馆(玻璃、年画等) |
|
| 540 | - |
|
| 541 | ---- |
|
| 542 | - |
|
| 543 | -### 📝 规划原则 |
|
| 544 | - |
|
| 545 | -**博物馆选择优先级**: |
|
| 546 | -``` |
|
| 547 | -1. 省级综合博物馆(必去) |
|
| 548 | -2. 考古遗址博物馆(必去) |
|
| 549 | -3. 世界遗产相关(必去) |
|
| 550 | -4. 特色专题博物馆(如定瓷、磁州窑)(优先) |
|
| 551 | -5. 地级市综合博物馆(备选) |
|
| 552 | -6. 红色文化/民俗工艺(可跳过) |
|
| 553 | -``` |
|
| 554 | - |
|
| 555 | -**行程安排原则**: |
|
| 556 | -- 不二刷:与其二刷不如增加第一次的游览时长 |
|
| 557 | -- 不紧凑:轻松休闲为主 |
|
| 558 | -- 路线优化:减少重复路线 |
|
| 559 | -- 博物馆优先:每个城市优先安排博物馆 |
|
| 560 | - |
|
| 561 | ---- |
|
| 562 | - |
|
| 563 | -## 🎯 北京展览爬取系统(2026-03-05)⭐ 重点 |
|
| 564 | - |
|
| 565 | -### 完成任务 |
|
| 566 | -- **P2 任务**:爬取 10 个可信数据源,获取 39 个展览/攻略 |
|
| 567 | -- **自动过滤**:根据用户偏好自动过滤不符合兴趣的展览 |
|
| 568 | -- **飞书文档**:每日 9 点自动更新 https://feishu.cn/docx/TOnAdwh2DoteNSxMigPcGnh8njh |
|
| 569 | - |
|
| 570 | -### 技术方案 |
|
| 571 | -1. **Playwright** - 动态网站(故宫、小红书) |
|
| 572 | -2. **web_fetch + Jina Reader** - 静态网站(豆瓣、中国美术馆) |
|
| 573 | -3. **北京市文物局** - 最佳权威数据源(8 个博物馆汇总) |
|
| 574 | - |
|
| 575 | -### 用户偏好(涛哥) |
|
| 576 | -- **保留类型**:历史、人文、古建筑、博物馆、考古、书法、古代艺术、藏传佛教等 14 个 |
|
| 577 | -- **过滤类型**:建筑艺术、民俗文化、国际艺术、生肖文化、亲子教育、当代艺术等 10 个 |
|
| 578 | -- **配置文件**:`beijing-exhibitions/config/user_preferences.json` |
|
| 579 | - |
|
| 580 | -### 核心经验 |
|
| 581 | -- 不是一门手艺走天下,根据网站类型选择工具 |
|
| 582 | -- 找替代数据源(北京市文物局汇总最优) |
|
| 583 | -- 默认 3-4 人出行,住宿只选全季,公共交通为主 |
|
| 584 | - |
|
| 585 | ---- |
|
| 586 | - |
|
| 587 | -## 🔧 系统更新(2026-03-05) |
|
| 588 | - |
|
| 589 | -**Chromium 已安装可用**: |
|
| 590 | -- 版本:Google Chrome 145.0.7632.159 |
|
| 591 | -- 路径:`/usr/bin/google-chrome` |
|
| 592 | -- 用途:Playwright 浏览器自动化(网页读取、截图) |
|
| 593 | -- 安装源:Google 官方仓库 |
|
| 594 | - |
|
| 595 | ---- |
|
| 596 | - |
|
| 597 | -## 📅 最近完成任务(2026-03-01 至 2026-03-03) |
|
| 598 | - |
|
| 599 | -### ✅ 山西全省深度调研(2026-03-02)⭐ 重点 |
|
| 600 | -**完成时间**:2026-03-02 11:56 - 19:47 |
|
| 601 | - |
|
| 602 | -**工作内容**: |
|
| 603 | -1. **山西页面更新**(13:12) |
|
| 604 | - - 添加分城市统计表格 |
|
| 605 | - - 修改博物馆必去条件(仅限一级二级) |
|
| 606 | - - 修复仓库结构和入口链接 |
|
| 607 | - |
|
| 608 | -2. **大同旅行规划 v9.0-v9.1**(13:30-13:50) |
|
| 609 | - - 根据 531 处国保名录重新统计必去景点 |
|
| 610 | - - 根据 7 家必去博物馆(一级 + 二级)重新筛选 |
|
| 611 | - - 三套方案:轻松休闲版/标准充实版/紧凑丰富版 |
|
| 612 | - - 确保全部覆盖 13 个必去景点 |
|
| 613 | - |
|
| 614 | -3. **山西城市线路拆分**(15:36-15:49) |
|
| 615 | - - 忻州:北线(19 处/6 天)、南线(8 处/4 天) |
|
| 616 | - - 太原:市区线(18 处/7 天) |
|
| 617 | - - 晋中:祁太线(14 处)、介灵线(16 处)、东线(15 处)、平遥线(15 处/5 天 4 晚) |
|
| 618 | - - 晋城:3 条线路 |
|
| 619 | - - 长治:3 条线路 |
|
| 620 | - - **总计**:14 条城市线路 |
|
| 621 | - |
|
| 622 | -4. **山西页面入口更新**(15:49-15:56) |
|
| 623 | - - 添加 14 条线路入口链接 |
|
| 624 | - - 文件移至山西目录 |
|
| 625 | - - 更新山西页面和首页链接 |
|
| 626 | - - 删除旧文件 |
|
| 627 | - |
|
| 628 | -5. **河南 8 条线路规划**(16:09) |
|
| 629 | - - 郑州 2 条、洛阳 1 条、其他 5 条 |
|
| 630 | - - 删除旧的 3 条线路 |
|
| 631 | - |
|
| 632 | -6. **大同规划完善**(17:42-19:47) |
|
| 633 | - - 移动大同规划到山西目录 |
|
| 634 | - - 修正链接 |
|
| 635 | - - 为 13 个规划添加酒店推荐和交通信息 |
|
| 636 | - |
|
| 637 | -**成果统计**: |
|
| 638 | -- 山西国保:531 处(全国第一) |
|
| 639 | -- 必去:469 处(古建筑 421 + 古遗址 45 + 名人墓 3) |
|
| 640 | -- 备选:62 处(古墓群) |
|
| 641 | -- 城市线路:14 条 |
|
| 642 | -- Wiki 页面:15+ 个 |
|
| 643 | - |
|
| 644 | -**Wiki 链接**: |
|
| 645 | -- 山西总览:https://travel.wudai9.net/山西 |
|
| 646 | -- 大同规划:https://travel.wudai9.net/大同旅行规划 |
|
| 647 | - |
|
| 648 | ---- |
|
| 649 | - |
|
| 650 | -### ✅ 国保单位调研(2026-03-02 凌晨) |
|
| 651 | -- 河北省:291 处(100%)✅ 官方数据 |
|
| 652 | -- 陕西省:269 处(100%)✅ 数据获取完成 |
|
| 653 | -- 河南省:306 处(85.7%) |
|
| 654 | -- 北京市:98 处(100%) |
|
| 655 | - |
|
| 656 | -**总计**:完成 964 处国保调研 |
|
| 657 | - |
|
| 658 | ---- |
|
| 659 | - |
|
| 660 | -### ✅ 五一计划 v6.2(2026-03-01) |
|
| 661 | -- 第三天增加两个方案:A(羑里城 + 岳飞庙)vs B(+ 马氏庄园) |
|
| 662 | -- 核实马氏庄园信息(¥40,8:30-17:30,市区西部 21km) |
|
| 663 | - |
|
| 664 | -### ✅ 河南三线旅游规划(2026-03-01) |
|
| 665 | -- 豫北线:80 处国保,核心景点 TOP 10,4-6 日方案 |
|
| 666 | -- 豫中豫西线:127 处国保,核心景点 TOP 15,4-6 日方案 |
|
| 667 | -- 豫东豫南线:45 处国保,核心景点 TOP 10,4-5 日方案 |
|
| 668 | - |
|
| 669 | ---- |
|
| 670 | - |
|
| 671 | -## 📚 Wiki 服务器架构(2026-03-02 更新) |
|
| 672 | - |
|
| 673 | -**Travelwiki 结构**(与 Mangawiki 一致): |
|
| 674 | -``` |
|
| 675 | -/opt/travelwiki/ |
|
| 676 | -├── data/ # 内容目录(gollum WorkingDirectory) |
|
| 677 | -│ ├── .git/ # git 工作目录 |
|
| 678 | -│ └── *.md # Wiki 文件 |
|
| 679 | -└── repo/ |
|
| 680 | - └── wiki.git/ # bare 仓库 |
|
| 681 | -``` |
|
| 682 | - |
|
| 683 | -**更新方式**: ⚠️ **只能用 git push,不能用 rsync** |
|
| 684 | -- 本地仓库:`/root/.openclaw/workspace/travel/wiki/` |
|
| 685 | -- Remote:`root@47.86.243.164:/opt/travelwiki/repo/wiki.git` |
|
| 686 | -- 命令:`git push origin master` |
|
| 687 | - |
|
| 688 | -**Gollum 配置**: |
|
| 689 | -- WorkingDirectory: `/opt/travelwiki/data` |
|
| 690 | -- 端口:4567 |
|
| 691 | -- 服务:`gollum.service` |
|
| 692 | - |
|
| 693 | ---- |
|
| 694 | - |
|
| 695 | -## 标准 SOP |
|
| 696 | - |
|
| 697 | -### 添加新规划(自动执行) |
|
| 698 | -1. 创建 `目的地旅行规划.md` |
|
| 699 | -2. 更新 `Home.md` 索引页 |
|
| 700 | -3. 创建/更新地区分类页 |
|
| 701 | -4. `git add . && git commit && git push` |
|
| 702 | -5. 验证同步成功 |
|
| 703 | - |
|
| 704 | ---- |
|
| 705 | - |
|
| 706 | -## ⚠️ Wiki 页面维护规范(2026-03-01 涛哥要求) |
|
| 707 | - |
|
| 708 | -### 1. 链路完整性 |
|
| 709 | - |
|
| 710 | -**每次改动页面时,必须同时更新**: |
|
| 711 | -- ✅ 当前页面 |
|
| 712 | -- ✅ 上级页面(省份/城市页面) |
|
| 713 | -- ✅ 首页(Home.md) - 如果是重大改动 |
|
| 714 | - |
|
| 715 | -**确保从首页一路链接下去**: |
|
| 716 | -``` |
|
| 717 | -Home.md → 河南.md → 河南/五一计划.md |
|
| 718 | -``` |
|
| 719 | - |
|
| 720 | -**子目录页面链接格式**: |
|
| 721 | -- 在父级页面:`[五一计划](河南/五一计划)` ✅ |
|
| 722 | -- 在子页面面包屑:`<a href="/">Home </a> / <a href="/河南">河南 </a> / 五一计划` ✅ |
|
| 723 | - |
|
| 724 | -### 2. Changelog 规范 |
|
| 725 | - |
|
| 726 | -**每个页面底部必须有 changelog**: |
|
| 727 | - |
|
| 728 | -```markdown |
|
| 729 | ---- |
|
| 730 | - |
|
| 731 | -## 📝 页面更新日志 |
|
| 732 | - |
|
| 733 | -| 时间 | 版本 | 内容 | |
|
| 734 | -|------|------|------| |
|
| 735 | -| 2026-03-01 17:55 | v6.1 | 核实信息,优化路线 | |
|
| 736 | - |
|
| 737 | ---- |
|
| 738 | - |
|
| 739 | -*由 Travel Agent 维护* |
|
| 740 | -``` |
|
| 741 | - |
|
| 742 | -**更新规则**: |
|
| 743 | -- ✅ 每次修改页面 → 更新页面底部的 changelog |
|
| 744 | -- ✅ 重大改动(新版本、路线大调整)→ 同时更新 Home.md 的"最近更新" |
|
| 745 | -- ❌ 小改动(typo、格式)→ 只更新页面 changelog |
|
| 746 | - |
|
| 747 | -### 3. 更新流程 |
|
| 748 | - |
|
| 749 | -``` |
|
| 750 | -修改页面内容 |
|
| 751 | - ↓ |
|
| 752 | -更新页面底部 changelog |
|
| 753 | - ↓ |
|
| 754 | -更新上级页面相关信息和链接 |
|
| 755 | - ↓ |
|
| 756 | -如果是重大改动 → 更新 Home.md changelog |
|
| 757 | - ↓ |
|
| 758 | -git add . && git commit && git push |
|
| 759 | - ↓ |
|
| 760 | -验证同步成功 |
|
| 761 | -``` |
|
| 762 | - |
|
| 763 | -### 4. 典型错误示例(避免) |
|
| 764 | - |
|
| 765 | -| 错误 | 正确做法 | |
|
| 766 | -|------|----------| |
|
| 767 | -| ❌ 只改五一计划,不改河南.md | ✅ 同时更新河南.md 中的五一计划信息 | |
|
| 768 | -| ❌ 河南.md 链接写成`[五一计划](五一计划)`| ✅ 写成`[五一计划](河南/五一计划)`| |
|
| 769 | -| ❌ 改完不更新 changelog | ✅ 每次改动都记录到 changelog | |
|
| 770 | -| ❌ 大改动不更新 Home.md | ✅ 重大改动要更新首页"最近更新" | |
|
| 771 | - |
|
| 772 | ---- |
|
| 773 | - |
|
| 774 | -## 已完成的规划 |
|
| 775 | - |
|
| 776 | -| 目的地 | 文件 | 状态 | |
|
| 777 | -|--------|------|------| |
|
| 778 | -| 大同 | 大同旅行规划.md | ✅ 完成 | |
|
| 779 | -| 忻州 | 忻州旅行规划.md | ✅ 完成 | |
|
| 780 | -| 太原晋中 | 太原晋中旅行规划.md | ✅ 完成 | |
|
| 781 | -| 晋城长治 | 晋城长治旅行规划.md | ✅ 完成 | |
|
| 782 | -| **五一河南** | 河南/五一计划.md | ✅ 完成 | |
|
| 783 | -| **省份排行榜** | 省份排行榜.md | ✅ 完成(2026-02-28) | |
|
| 784 | - |
|
| 785 | ---- |
|
| 786 | - |
|
| 787 | -## 📋 省份调研任务 |
|
| 788 | - |
|
| 789 | -**排行榜已创建**: |
|
| 790 | -- 古建 TOP 10:山西、河南、河北、陕西、浙江、四川、江苏、山东、广东、湖北 |
|
| 791 | -- 博物馆 TOP 10:北京、江苏、山东、浙江、广东、河南、四川、陕西、湖北、上海 |
|
| 792 | - |
|
| 793 | -**已完成省份**:4/20 (20%) |
|
| 794 | -- ✅ 山西省(古建第 1) |
|
| 795 | -- ✅ 河南省(古建第 2 + 博物馆第 6) |
|
| 796 | -- ✅ 四川省(古建第 6 + 博物馆第 6) |
|
| 797 | -- ✅ 湖北省(古建第 10 + 博物馆第 9) |
|
| 798 | - |
|
| 799 | -**待调研省份**(按优先级): |
|
| 800 | -1. ⭐⭐⭐⭐⭐ 河北省(古建第 3) - 清皇陵、正定古城 |
|
| 801 | -2. ⭐⭐⭐⭐⭐ 陕西省(古建第 4 + 博物馆第 6) - 兵马俑、华山 |
|
| 802 | -3. ⭐⭐⭐⭐ 浙江省(古建第 5 + 博物馆第 4) - 西湖、普陀山 |
|
| 803 | -4. ⭐⭐⭐⭐ 山东省(古建第 8 + 博物馆第 3) - 泰山、孔府 |
|
| 804 | -5. ⭐⭐⭐⭐ 江苏省(古建第 7 + 博物馆第 2) - 苏州园林 |
|
| 805 | - |
|
| 806 | -## 📝 爬虫工作准则 |
|
| 807 | - |
|
| 808 | -**重要规则**(2026-02-28 涛哥指示): |
|
| 809 | - |
|
| 810 | -### ⚠️ 爬取频率控制 |
|
| 811 | - |
|
| 812 | -**必须遵守**: |
|
| 813 | -1. **控制爬取频率** - 每次请求之间至少间隔 3-5 秒 |
|
| 814 | -2. **避免触发风控** - 不要短时间内频繁访问同一网站 |
|
| 815 | -3. **批量处理** - 一次爬取多个信息后,暂停一段时间 |
|
| 816 | -4. **分散来源** - 不要只依赖单一网站,分散使用多个信息源 |
|
| 817 | - |
|
| 818 | -**具体操作**: |
|
| 819 | -- 每次 web_fetch 之间至少等待 3-5 秒 |
|
| 820 | -- 遇到"网络不给力"或"安全验证"立即停止 |
|
| 821 | -- 被拦截后,至少等待 10-15 分钟再尝试 |
|
| 822 | -- 优先使用官方发布信息,减少爬取需求 |
|
| 823 | - |
|
| 824 | -**错误示例**(今天犯的错误): |
|
| 825 | -- ❌ 短时间内连续调用 web_fetch 20+ 次 |
|
| 826 | -- ❌ 触发百度安全验证后才停止 |
|
| 827 | -- ❌ 没有控制频率,导致工作中断 |
|
| 828 | - |
|
| 829 | -**正确做法**: |
|
| 830 | -- ✅ 批量规划:一次列出需要核实的景点 |
|
| 831 | -- ✅ 分批执行:每批 5-10 个,间隔 5 分钟 |
|
| 832 | -- ✅ 优先级:优先核实 4A/5A 景区(信息多) |
|
| 833 | -- ✅ 休息间隔:每核实 20 个景点,休息 10 分钟 |
|
| 834 | - |
|
| 835 | ---- |
|
| 836 | - |
|
| 837 | -## 🔍 国保单位开放情况核实 |
|
| 838 | - |
|
| 839 | -**2026-02-28 工作进度**(19:07): |
|
| 840 | -- 已核实:121 处(22.8%) |
|
| 841 | - - ✅ 已开放:111 处 |
|
| 842 | - - ❌ 暂不开放:10 处 |
|
| 843 | -- 待核实:409 处(77.2%) |
|
| 844 | - |
|
| 845 | -**小红书信息源**(2026-02-28): |
|
| 846 | - |
|
| 847 | -### 🌟 超级信息源(374 处,占全省 70.6%)⭐⭐⭐⭐⭐ |
|
| 848 | -**用户:🍀可以关注我一下吗🍀** |
|
| 849 | -**完整系列**(2026-02-28 19:15 全部获取): |
|
| 850 | -- ✅ 攻略 01 - 运城 76 处古建国保(收藏 859) |
|
| 851 | -- ✅ 攻略 02 - 长治 70 处古建国保(收藏 1286) |
|
| 852 | -- ✅ 攻略 03 - 晋城 71 处古建国保(收藏 1151) |
|
| 853 | -- ✅ 攻略 04 - 大同 20 处古建国保(收藏 458) |
|
| 854 | -- ✅ 攻略 07 - 太原 31 处古建国保(收藏 458) |
|
| 855 | -- ✅ 攻略 08 - 临汾 42 处古建国保(收藏 800) |
|
| 856 | -- ✅ 攻略 10 - 晋中 64 处古建国保(收藏 449) |
|
| 857 | - |
|
| 858 | -**总计:374/530 处**(70.6%) |
|
| 859 | -**可信度**:⭐⭐⭐⭐⭐(实地考察 + 详细攻略 + 图片丰富) |
|
| 860 | -**优先级**:最高 - 已获取全部 7 个城市攻略 |
|
| 861 | - |
|
| 862 | -### 📱 其他高价值笔记(7 个) |
|
| 863 | -1. 山西省文旅厅官方 - 长治 75 处国保全部开放 ⭐⭐⭐⭐⭐ |
|
| 864 | -2. 运城市 102 处国保开放情况汇总(实地考察)⭐⭐⭐⭐ |
|
| 865 | -3. 长治全部国保攻略(收藏 1286)⭐⭐⭐⭐ |
|
| 866 | -4. 山西访古闭门羹大全(10 处无法参观)⭐⭐⭐⭐ |
|
| 867 | -5. 运城 11 国保懒人路线(新绛县)⭐⭐⭐⭐ |
|
| 868 | -6. 山西 92 处前五批国保清单(收藏 209)⭐⭐⭐⭐ |
|
| 869 | -7. 主要中国木构建筑清单(收藏 2391)⭐⭐⭐⭐⭐ |
|
| 870 | - |
|
| 871 | -**数据价值**: |
|
| 872 | -- 潜在覆盖:332/530 处(62.6%) |
|
| 873 | -- 可信度:⭐⭐⭐⭐⭐(实地考察 + 详细攻略) |
|
| 874 | -- 更新频率:持续采集中 |
|
| 875 | - |
|
| 876 | -**核实方法**: |
|
| 877 | -1. ✅ 小红书信息源 - 主要来源(7 个笔记) |
|
| 878 | -2. ✅ 百度搜索 - 辅助来源 |
|
| 879 | -3. ✅ 4A/5A 景区官方认证 |
|
| 880 | -4. ✅ 长治市文旅局官方发布(60 处) |
|
| 881 | - |
|
| 882 | -**工作原则**(严格执行): |
|
| 883 | -- ✅ 必须有确认信息源 |
|
| 884 | -- ❌ 不使用常识推断 |
|
| 885 | -- ❌ 不使用其他地区数据 |
|
| 886 | -- ⏸️ 无确认信息 → 待核实 |
|
| 887 | - |
|
| 888 | -**遇到的问题**: |
|
| 889 | -- ⚠️ 百度搜索触发安全验证(已解决) |
|
| 890 | -- ✅ 调整频率:10-20 秒随机间隔 |
|
| 891 | -- ✅ 使用小红书 MCP 作为主要信息源 |
|
| 892 | - |
|
| 893 | -## 涛哥的规划要求 |
|
| 894 | - |
|
| 895 | -### 页面结构 |
|
| 896 | -- ⚠️ 新页面必须在首页添加入口和 changelog |
|
| 897 | -- ⚠️ 每个页面必须有面包屑导航 |
|
| 898 | -- ⚠️ 三套方案格式(紧凑/适中/宽松) |
|
| 899 | - |
|
| 900 | -### 景点分类 |
|
| 901 | -- ⚠️ 必去景点和备选景点要严格区分 |
|
| 902 | -- ⚠️ 商业化景点要标注⚠️ |
|
| 903 | - |
|
| 904 | -### 交通限制 |
|
| 905 | -- ⚠️ 家人晕车,**不能自驾** |
|
| 906 | - |
|
| 907 | -### 景点偏好 |
|
| 908 | -- ❌ 不喜欢:仿古建筑、商业化古城 |
|
| 909 | -- ✅ 喜欢:真实古建筑、博物馆、历史遗迹 |
|
| 910 | - |
|
| 911 | -### 出行人数 |
|
| 912 | -- ⚠️ 一家三口或四口出行(不是 2 人) |
|
| 913 | - |
|
| 914 | -### 住宿偏好 |
|
| 915 | -- **舒适型**:只选全季 |
|
| 916 | -- **高档型**:可选桔子水晶、美居、美仑、漫心 |
|
| 917 | -- **房型**:必须有亲子房(1.5 米 +1.2 米床) |
|
| 918 | -- **位置**:离公交近,市中心或景点附近 |
|
| 919 | - |
|
| 920 | ---- |
|
| 921 | - |
|
| 922 | -## 经验教训 |
|
| 923 | - |
|
| 924 | -### 2026-03-01 Wiki 页面维护规范 ⚠️ 重要 |
|
| 925 | - |
|
| 926 | -#### ❌ 犯的错误 |
|
| 927 | -1. **只改当前页面,不改上级页面** → 河南.md 中五一计划的链接和信息没更新 |
|
| 928 | -2. **链接格式错误** → 子目录页面链接写成`[五一计划](五一计划)`,应该是`[五一计划](河南/五一计划)` |
|
| 929 | -3. **没有 changelog** → 改完页面不记录更新历史 |
|
| 930 | - |
|
| 931 | -#### ✅ 正确做法 |
|
| 932 | -1. **每次改动都要更新链路**: |
|
| 933 | - - 当前页面 |
|
| 934 | - - 上级页面(省份/城市页面) |
|
| 935 | - - 首页(如果是重大改动) |
|
| 936 | - |
|
| 937 | -2. **每个页面都要有 changelog**: |
|
| 938 | - - 页面底部添加"页面更新日志" |
|
| 939 | - - 每次改动都记录 |
|
| 940 | - - 重大改动同时更新 Home.md |
|
| 941 | - |
|
| 942 | -3. **确保从首页一路链接下去**: |
|
| 943 | - ``` |
|
| 944 | - Home.md → 河南.md → 河南/五一计划.md |
|
| 945 | - ``` |
|
| 946 | - |
|
| 947 | -#### 📝 已添加到工作规范 |
|
| 948 | -详见 MEMORY.md "Wiki 页面维护规范" 部分 |
|
| 949 | - |
|
| 950 | -### 2026-03-01 Wiki 面包屑导航错误 ⚠️ 重要 |
|
| 951 | - |
|
| 952 | -#### ❌ 犯的错误(两次) |
|
| 953 | -**子目录下的页面使用了错误的面包屑导航格式** |
|
| 954 | - |
|
| 955 | -**错误格式**: |
|
| 956 | -```markdown |
|
| 957 | -[Home](Home) > [河南](河南) > **五一计划** |
|
| 958 | -``` |
|
| 959 | -- 在 `/河南/五一计划.md` 中,`[Home](Home)` 会查找 `/河南/Home`,而不是根目录的 `Home` |
|
| 960 | -- 同样 `[河南](河南)` 会查找 `/河南/河南`,而不是根目录的 `河南` |
|
| 961 | - |
|
| 962 | -**正确格式**(子目录下的页面必须使用 HTML 绝对路径): |
|
| 963 | -```html |
|
| 964 | -<a href="/">Home </a> / <a href="/河南">河南 </a> / 五一计划 |
|
| 965 | -``` |
|
| 966 | - |
|
| 967 | -**规则总结**: |
|
| 968 | -- 根目录页面:可用 Markdown 格式 `[Home](Home)` |
|
| 969 | -- 子目录页面:必须用 HTML 绝对路径 `<a href="/">Home</a>` |
|
| 970 | - |
|
| 971 | -### 2026-03-01 五一计划 v6.0 规划 |
|
| 972 | - |
|
| 973 | -#### ❌ 犯的错误 |
|
| 974 | -1. **第二天排太满** → 6 个必去景点塞一天,压力过大 |
|
| 975 | -2. **第三天安排不必要行程** → 备选景点(羑里城、岳飞庙)没必要 |
|
| 976 | -3. **殷墟夜游时间太短** → 只安排 30 分钟,实际至少 3 小时 |
|
| 977 | - |
|
| 978 | -#### ✅ 修正方案 |
|
| 979 | -1. **分散殷墟游览** → 第一天可选夜游 + 第二天继续 |
|
| 980 | -2. **删除备选景点** → 只保留 6 个必去景点 |
|
| 981 | -3. **第三天只安排 1 个景点** → 小南海石窟 + 返程,不赶 |
|
| 982 | - |
|
| 983 | -#### 📝 关键信息 |
|
| 984 | -- 殷墟三景区分开:博物馆(新馆)、宗庙、王陵 |
|
| 985 | -- 联票 120 元(含三景区 + 摆渡车) |
|
| 986 | -- 夜场仅博物馆开放,宗庙王陵无夜场 |
|
| 987 | -- 夜场 17:30-20:30,仅周五六日及节假日 |
|
| 988 | - |
|
| 989 | -### 2026-02-28 五一河南规划 |
|
| 990 | - |
|
| 991 | -#### ❌ 犯的错误 |
|
| 992 | -1. **按 2 人规划** → 预算、住宿、门票全错 |
|
| 993 | -2. **推荐汉庭** → 不符合用户偏好 |
|
| 994 | -3. **尝试用 AI 查 12306** → 浪费时间,技术限制 |
|
| 995 | - |
|
| 996 | -#### ✅ 正确做法 |
|
| 997 | -1. **默认 3-4 人出行** |
|
| 998 | -2. **住宿直接选全季,不问** |
|
| 999 | -3. **车次让用户查 12306,AI 标注"待查询"** |
|
| 1000 | -4. **先查景点开放时间,再定行程** |
|
| 1001 | - |
|
| 1002 | -#### 📚 生成的 Skill |
|
| 1003 | -- `/root/.openclaw/workspace/skills/trip-planning/SKILL.md` |
|
| 1004 | -- 下次规划时直接参考这个 skill |
|
| 1005 | - |
|
| 1006 | -### 安阳必去景点 |
|
| 1007 | -1. 殷墟博物馆(主) |
|
| 1008 | -2. 殷墟宗庙遗址 |
|
| 1009 | -3. 殷墟王陵遗址 |
|
| 1010 | - |
|
| 1011 | -其他安阳景点(红旗渠、太行大峡谷等)均为备选 |
|
| 1012 | - |
|
| 1013 | ---- |
|
| 1014 | - |
|
| 1015 | -## 用户偏好总结 |
|
| 1016 | - |
|
| 1017 | -| 类别 | 偏好 | |
|
| 1018 | -|------|------| |
|
| 1019 | -| 景点类型 | 历史/人文/古建筑/博物馆 | |
|
| 1020 | -| 出行方式 | 公共交通/高铁 | |
|
| 1021 | -| 住宿档次 | 全季/桔子水晶/美居 | |
|
| 1022 | -| 行程节奏 | 轻松休闲/不二刷 | |
|
| 1023 | -| 饮食要求 | 不辣 + 有蔬菜 | |
|
| 1024 | - |
|
| 1025 | ---- |
|
| 1026 | - |
|
| 1027 | -## 🏛️ 国保单位开放情况核实(2026-03-15 添加)⭐ 关键 |
|
| 1028 | - |
|
| 1029 | -### 核心目标:剔除不对外开放的国保单位 |
|
| 1030 | - |
|
| 1031 | -**不对外开放的类型**(必须剔除): |
|
| 1032 | -- 🏛️ **政府机构办公场所**(如县政府、镇政府内) |
|
| 1033 | -- 🏫 **学校/单位内部**(如校园内、工厂内) |
|
| 1034 | -- 🔒 **军事管理区** |
|
| 1035 | -- 🚧 **长期维修/闭馆** |
|
| 1036 | -- 🏚️ **已损毁/仅存遗址**(无参观价值) |
|
| 1037 | - |
|
| 1038 | -### 核实方法(优先级排序) |
|
| 1039 | - |
|
| 1040 | -**1. ⭐⭐⭐⭐⭐ 小红书 MCP**(首选) |
|
| 1041 | -- 搜索关键词:`{城市} {景点} 开放 门票` |
|
| 1042 | -- 判断标准:笔记数 ≥ 5 篇 → 高置信度开放 |
|
| 1043 | -- 无笔记/仅 1-2 篇 → 需交叉验证 |
|
| 1044 | -- **优点**:实时游客笔记,最可靠 |
|
| 1045 | -- **缺点**:MCP 可能不稳定 |
|
| 1046 | - |
|
| 1047 | -**2. ⭐⭐⭐⭐ Tavily 搜索**(备选) |
|
| 1048 | -- 使用场景:小红书 MCP 不稳定时 |
|
| 1049 | -- 搜索关键词:`{景点} 开放时间 门票` |
|
| 1050 | -- 优先查看:旅游攻略、游记、官方公告 |
|
| 1051 | -- **交叉验证**:多个来源一致才采信 |
|
| 1052 | - |
|
| 1053 | -**3. ⭐⭐⭐ 百度百科/维基百科**(辅助) |
|
| 1054 | -- 查看"参观信息"章节 |
|
| 1055 | -- 注意信息时效性(可能过期) |
|
| 1056 | - |
|
| 1057 | -**4. ⭐⭐ 电话核实**(最终手段) |
|
| 1058 | -- 查找景区官方电话 |
|
| 1059 | -- 直接询问开放情况 |
|
| 1060 | - |
|
| 1061 | -### 判断标准 |
|
| 1062 | - |
|
| 1063 | -| 状态 | 标准 | 处理 | |
|
| 1064 | -|------|------|------| |
|
| 1065 | -| ✅ 确认开放 | 有游客笔记/游记 + 门票信息 | 正常纳入规划 | |
|
| 1066 | -| ⚠️ 存疑待核实 | 无游客笔记,但无明确关闭信息 | 标注"待核实",规划时不安排 | |
|
| 1067 | -| ❌ 确认关闭 | 明确标注"不对外开放"/"办公场所"/"仅外观" | 从清单中彻底删除 | |
|
| 1068 | - |
|
| 1069 | -### 处理原则 |
|
| 1070 | - |
|
| 1071 | -- ❌ **不对外开放** → 从必去/备选清单中**彻底删除** |
|
| 1072 | -- ⚠️ **存疑待核实** → 标注"待核实",规划时**不安排** |
|
| 1073 | -- ✅ **确认开放** → 正常纳入规划 |
|
| 1074 | - |
|
| 1075 | -### ⚠️ 铁律:调研工作不能偷工减料 |
|
| 1076 | - |
|
| 1077 | -**核心原则**: |
|
| 1078 | -- ✅ **必须联网查询核实** — 不能凭常识推断、不能编造数据 |
|
| 1079 | -- ✅ **每条信息都要有来源** — 标注信息来源(小红书/Tavily/官网) |
|
| 1080 | -- ✅ **不确定就标注不确定** — 不装懂、不糊弄 |
|
| 1081 | -- ❌ **禁止行为**: |
|
| 1082 | - - 硬编码数据(如陕西国保核实欺骗事件) |
|
| 1083 | - - 用"应该是开放的"代替实际核实 |
|
| 1084 | - - 用其他省份数据推断当前省份 |
|
| 1085 | - - 用 AI 知识代替实时查询 |
|
| 1086 | - |
|
| 1087 | -**验收标准**: |
|
| 1088 | -- 每个景点的开放状态都有信息来源 |
|
| 1089 | -- 抽样验证 3-5 处,信息准确 |
|
| 1090 | -- 用户按规划出行时,景点确实开放 |
|
| 1091 | - |
|
| 1092 | -**教训**: |
|
| 1093 | -- 2026-03-09 陕西国保核实:sub-agent 硬编码数据,主 agent 未验收就汇报 → 严重欺骗行为 |
|
| 1094 | -- 避免方法:主 agent 必须读取输出文件验证,抽样检查数据真实性 |
|
| 1095 | - |
|
| 1096 | -### 产出物 |
|
| 1097 | - |
|
| 1098 | -- `wiki/[省份]/国保单位开放情况.md`(标注开放/关闭/存疑) |
|
| 1099 | -- 正式规划中**只包含确认开放的景点** |
|
| 1100 | - |
|
| 1101 | ---- |
|
| 1102 | - |
|
| 1103 | -## 🚄 高铁车次核实规范(2026-03-15 添加)⭐ 必须 |
|
| 1104 | - |
|
| 1105 | -### 使用 12306 Skill 核实 |
|
| 1106 | - |
|
| 1107 | -**Skill 位置**:`/root/.openclaw/workspace/travel/skills/12306-train-query/SKILL.md` |
|
| 1108 | - |
|
| 1109 | -**查询原则**: |
|
| 1110 | -- ✅ **必须使用 12306 Skill** — 不依赖 AI 知识或过时数据 |
|
| 1111 | -- ✅ **查询 7 天后车次** — 获取完整时刻表(第 8 天) |
|
| 1112 | -- ✅ **不勾选"只看有票"** — 获取全部车次信息 |
|
| 1113 | -- ✅ **优先 G/D 字头** — 高铁/动车优先 |
|
| 1114 | - |
|
| 1115 | -**必须核实的线路**: |
|
| 1116 | -1. **大交通**:出发地→目的地(如 北京→西安) |
|
| 1117 | -2. **城际交通**:目的地→周边城市(如 西安→宝鸡) |
|
| 1118 | -3. **返程交通**:目的地→出发地(如 西安→北京) |
|
| 1119 | - |
|
| 1120 | -**记录内容**: |
|
| 1121 | -- 车次号(如 G655) |
|
| 1122 | -- 出发站、到达站 |
|
| 1123 | -- 出发时间、到达时间 |
|
| 1124 | -- 历时、票价(二等座) |
|
| 1125 | - |
|
| 1126 | -**标注规范**: |
|
| 1127 | -- ✅ 已核实:标注具体车次、时间、票价 |
|
| 1128 | -- ⚠️ 待核实:标注"待查询",提醒用户自行核实 |
|
| 1129 | -- ❌ 禁止:编造车次或时间 |
|
| 1130 | - |
|
| 1131 | -**更新机制**: |
|
| 1132 | -- 铁路每季度调图,需定期更新 |
|
| 1133 | -- 发现车次变化 → 立即更新规划文档 |
|
| 1134 | -- 标注最后更新日期 |
|
| 1135 | - |
|
| 1136 | -### 禁止行为 |
|
| 1137 | - |
|
| 1138 | -- ❌ 用 AI 知识编造车次(如"大概有 G6xx 次") |
|
| 1139 | -- ❌ 用过时数据(如去年的时刻表) |
|
| 1140 | -- ❌ 不核实就写"具体车次请以 12306 为准"(甩锅) |
|
| 1141 | -- ❌ 只写"高铁可达"但不给具体车次 |
|
| 1142 | - |
|
| 1143 | -### 验收标准 |
|
| 1144 | - |
|
| 1145 | -- 每个方向的推荐车次 ≥ 2 个(首选 + 备选) |
|
| 1146 | -- 车次信息完整(车次号 + 时间 + 票价) |
|
| 1147 | -- 用户按推荐车次能实际购票出行 |
|
| 1148 | - |
|
| 1149 | ---- |
|
| 1150 | - |
|
| 1151 | -## ✅ 工作完成总结(2026-02-28 19:16) |
|
| 1152 | - |
|
| 1153 | -**超级系列全部获取完成**! |
|
| 1154 | -- 7 个城市攻略 |
|
| 1155 | -- 374 处古建国保 |
|
| 1156 | -- 占全省 70.6% |
|
| 1157 | - |
|
| 1158 | -**小红书采集**: |
|
| 1159 | -- 已获取笔记:14 个 |
|
| 1160 | -- 高价值信息源:超级系列 + 官方发布 + 实地考察 |
|
| 1161 | - |
|
| 1162 | -**下一步**: |
|
| 1163 | -- 整理超级系列信息到 Wiki |
|
| 1164 | -- 更新各市开放情况统计 |
|
| 1165 | -- 预计完成后达到 400+ 处(75%+) |
|
| 1166 | - |
|
| 1167 | ---- |
|
| 1168 | - |
|
| 1169 | -## 📅 2026-03-25 摘要 |
|
| 1170 | - |
|
| 1171 | ---- |
|
| 1172 | - |
|
| 1173 | -## ✅ 自动任务记录 - 北京展览爬取 |
|
| 1174 | - |
|
| 1175 | -**时间**:2026-03-25 09:00:02 |
|
| 1176 | -**状态**:成功 |
|
| 1177 | -**数据源**:10/10 完成 |
|
| 1178 | -**展览数量**:39 个 |
|
| 1179 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1180 | - |
|
| 1181 | -**三层记忆检查**: |
|
| 1182 | -- [x] 第 1 层:今日记忆已更新 |
|
| 1183 | -- [ ] 第 2 层:Session 开始前读取记忆(手动) |
|
| 1184 | -- [ ] 第 3 层:高风险操作前检查约束(按需) |
|
| 1185 | - |
|
| 1186 | - |
|
| 1187 | ---- |
|
| 1188 | - |
|
| 1189 | -## ✅ 自动任务记录 - 北京展览爬取 |
|
| 1190 | - |
|
| 1191 | -**时间**:2026-03-25 09:00:02 |
|
| 1192 | -**状态**:成功 |
|
| 1193 | -**数据源**:10/10 完成 |
|
| 1194 | -**展览数量**:39 个 |
|
| 1195 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1196 | - |
|
| 1197 | -**三层记忆检查**: |
|
| 1198 | -- [x] 第 1 层:今日记忆已更新 |
|
| 1199 | -- [ ] 第 2 层:Session 开始前读取记忆(手动) |
|
| 1200 | -- [ ] 第 3 层:高风险操作前检查约束(按需) |
|
| 1201 | - |
|
| 1202 | - |
|
| 1203 | ---- |
|
| 1204 | - |
|
| 1205 | -## 📝 每日总结 |
|
| 1206 | - |
|
| 1207 | -### ✅ 今日完成 |
|
| 1208 | -1. |
|
| 1209 | -2. |
|
| 1210 | -3. |
|
| 1211 | - |
|
| 1212 | -### ⚠️ 遇到的问题 |
|
| 1213 | -1. |
|
| 1214 | -2. |
|
| 1215 | - |
|
| 1216 | -### 🧠 经验教训 |
|
| 1217 | -- |
|
| 1218 | - |
|
| 1219 | -### 📋 明日计划 |
|
| 1220 | -1. |
|
| 1221 | -2. |
|
| 1222 | -3. |
|
| 1223 | - |
|
| 1224 | ---- |
|
| 1225 | - |
|
| 1226 | -### 三层记忆检查清单 |
|
| 1227 | - |
|
| 1228 | -**第 1 层 预防(写入时)** |
|
| 1229 | -- [ ] 长期记忆(MEMORY.md)是否更新? |
|
| 1230 | -- [ ] 今日记忆是否完整记录? |
|
| 1231 | -- [ ] 任务状态是否已更新? |
|
| 1232 | - |
|
| 1233 | -**第 2 层 侦测(恢复时)** |
|
| 1234 | -- [ ] Session 开始前是否读取了记忆? |
|
| 1235 | -- [ ] 是否检查了昨日记忆? |
|
| 1236 | -- [ ] 是否确认了今日任务? |
|
| 1237 | - |
|
| 1238 | -**第 3 层 兜底(执行时)** |
|
| 1239 | -- [ ] 高风险操作前是否检查了约束? |
|
| 1240 | -- [ ] 不可逆操作前是否确认了? |
|
| 1241 | -- [ ] 是否有违反原则的情况? |
|
| 1242 | - |
|
| 1243 | ---- |
|
| 1244 | - |
|
| 1245 | -*最后更新:2026-03-25 23:00:01* |
|
| 1246 | -*维护者:Travel Agent* |
|
| 1247 | - |
|
| 1248 | - |
|
| 1249 | ---- |
|
| 1250 | - |
|
| 1251 | -## 📅 2026-03-26 摘要 |
|
| 1252 | - |
|
| 1253 | ---- |
|
| 1254 | - |
|
| 1255 | -## ✅ 自动任务记录 - 北京展览爬取 |
|
| 1256 | - |
|
| 1257 | -**时间**:2026-03-26 09:00:01 |
|
| 1258 | -**状态**:成功 |
|
| 1259 | -**数据源**:10/10 完成 |
|
| 1260 | -**展览数量**:39 个 |
|
| 1261 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1262 | - |
|
| 1263 | -**三层记忆检查**: |
|
| 1264 | -- [x] 第 1 层:今日记忆已更新 |
|
| 1265 | -- [ ] 第 2 层:Session 开始前读取记忆(手动) |
|
| 1266 | -- [ ] 第 3 层:高风险操作前检查约束(按需) |
|
| 1267 | - |
|
| 1268 | - |
|
| 1269 | ---- |
|
| 1270 | - |
|
| 1271 | -## ✅ 自动任务记录 - 北京展览爬取 |
|
| 1272 | - |
|
| 1273 | -**时间**:2026-03-26 09:00:01 |
|
| 1274 | -**状态**:成功 |
|
| 1275 | -**数据源**:10/10 完成 |
|
| 1276 | -**展览数量**:39 个 |
|
| 1277 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1278 | - |
|
| 1279 | -**三层记忆检查**: |
|
| 1280 | -- [x] 第 1 层:今日记忆已更新 |
|
| 1281 | -- [ ] 第 2 层:Session 开始前读取记忆(手动) |
|
| 1282 | -- [ ] 第 3 层:高风险操作前检查约束(按需) |
|
| 1283 | - |
|
| 1284 | - |
|
| 1285 | ---- |
|
| 1286 | - |
|
| 1287 | -## 📅 2026-03-27 摘要 |
|
| 1288 | - |
|
| 1289 | ---- |
|
| 1290 | - |
|
| 1291 | -## ✅ 自动任务记录 - 北京展览爬取 |
|
| 1292 | - |
|
| 1293 | -**时间**:2026-03-27 09:00:01 |
|
| 1294 | -**状态**:成功 |
|
| 1295 | -**数据源**:10/10 完成 |
|
| 1296 | -**展览数量**:39 个 |
|
| 1297 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1298 | - |
|
| 1299 | -**三层记忆检查**: |
|
| 1300 | -- [x] 第 1 层:今日记忆已更新 |
|
| 1301 | -- [ ] 第 2 层:Session 开始前读取记忆(手动) |
|
| 1302 | -- [ ] 第 3 层:高风险操作前检查约束(按需) |
|
| 1303 | - |
|
| 1304 | - |
|
| 1305 | ---- |
|
| 1306 | - |
|
| 1307 | -## ✅ 自动任务记录 - 北京展览爬取 |
|
| 1308 | - |
|
| 1309 | -**时间**:2026-03-27 09:00:01 |
|
| 1310 | -**状态**:成功 |
|
| 1311 | -**数据源**:10/10 完成 |
|
| 1312 | -**展览数量**:39 个 |
|
| 1313 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1314 | - |
|
| 1315 | -**三层记忆检查**: |
|
| 1316 | -- [x] 第 1 层:今日记忆已更新 |
|
| 1317 | -- [ ] 第 2 层:Session 开始前读取记忆(手动) |
|
| 1318 | -- [ ] 第 3 层:高风险操作前检查约束(按需) |
|
| 1319 | - |
|
| 1320 | - |
|
| 1321 | ---- |
|
| 1322 | - |
|
| 1323 | -## 📅 2026-03-28 摘要 |
|
| 1324 | - |
|
| 1325 | - |
|
| 1326 | ---- |
|
| 1327 | - |
|
| 1328 | -## ✅ 北京展览爬取系统修复(P1 任务) |
|
| 1329 | - |
|
| 1330 | -**问题发现**:用户指出飞书文档从 3-17 后未更新(实际断了 10 多天) |
|
| 1331 | - |
|
| 1332 | -**根本原因**: |
|
| 1333 | -1. 爬虫脚本数据源全部失效(国博/故宫/首博 404) |
|
| 1334 | -2. 飞书同步只生成文件,从未实际执行 |
|
| 1335 | -3. 记忆写入硬编码"39 个展览",与实际数据无关 |
|
| 1336 | -4. 无端到端验证机制 |
|
| 1337 | - |
|
| 1338 | -**修复方案**: |
|
| 1339 | -1. ✅ 切换到 Tavily 实时搜索 API(可靠数据源) |
|
| 1340 | -2. ✅ 优先北京市文物局官网(第一数据源) |
|
| 1341 | -3. ✅ 添加数据对比检测(与昨日对比,新增/移除统计) |
|
| 1342 | -4. ✅ 添加有效数据验证(< 5 条告警) |
|
| 1343 | -5. ✅ HEARTBEAT.md 添加飞书同步执行步骤 |
|
| 1344 | -6. ✅ daily_cron.sh 切换到新爬虫 |
|
| 1345 | - |
|
| 1346 | -**测试结果**: |
|
| 1347 | -- 爬取数量:17 个展览 |
|
| 1348 | -- 数据对比:新增 17 个,移除 5 个 ✅ |
|
| 1349 | -- 飞书文档:11:15 更新,过滤掉 3 个过期展览 |
|
| 1350 | - |
|
| 1351 | -**关键改进**: |
|
| 1352 | -- 任何数据异常(< 5 条/与昨日相同)立即告警 |
|
| 1353 | -- 不再出现"断了 10 天没人知道"的情况 |
|
| 1354 | - |
|
| 1355 | -**文件位置**: |
|
| 1356 | -- 爬虫脚本:`beijing-exhibitions/scripts/crawler_tavily.py` |
|
| 1357 | -- 定时任务:`beijing-exhibitions/scripts/daily_cron.sh` |
|
| 1358 | -- 飞书文档:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1359 | - |
|
| 1360 | -**待验证**:明日 9:00 AM cron 自动执行 |
|
| 1361 | - |
|
| 1362 | ---- |
|
| 1363 | - |
|
| 1364 | -## 📊 展览数据源优先级 |
|
| 1365 | - |
|
| 1366 | -| 优先级 | 数据源 | 说明 | |
|
| 1367 | -|--------|--------|------| |
|
| 1368 | -| ⭐⭐⭐⭐⭐ | 北京市文物局官网 | 第一数据源(官方汇总 8 个博物馆) | |
|
| 1369 | -| ⭐⭐⭐⭐ | 国家博物馆、故宫、首博、中国美术馆 | 补充数据源 | |
|
| 1370 | -| ⭐⭐⭐ | 豆瓣同城、本地宝等 | 备选数据源 | |
|
| 1371 | - |
|
| 1372 | ---- |
|
| 1373 | - |
|
| 1374 | -## ⚠️ 过期展览过滤(2026-03-28 11:15 更新) |
|
| 1375 | - |
|
| 1376 | -**已移除**: |
|
| 1377 | -- 跃马春风——楹联书法作品展(02-11~03-08)❌ 3 月 8 日已截止 |
|
| 1378 | -- 时盛岁新影像志(~02-24)❌ 2 月 24 日已截止 |
|
| 1379 | -- 往来千载徐悲鸿展(~03-10)❌ 3 月 10 日已截止 |
|
| 1380 | - |
|
| 1381 | -**当前在展**:15 个(全部核实有效) |
|
| 1382 | - |
|
| 1383 | ---- |
|
| 1384 | - |
|
| 1385 | -*最后更新:2026-03-28 11:15* |
|
| 1386 | -*维护者:Travel Agent* |
|
| 1387 | - |
|
| 1388 | ---- |
|
| 1389 | - |
|
| 1390 | -## ❌ 自动任务记录 - 北京展览爬取失败 |
|
| 1391 | - |
|
| 1392 | -**时间**:2026-03-28 11:28:16 |
|
| 1393 | -**状态**:数据量异常(0 条 < 5 条阈值) |
|
| 1394 | -**可能原因**:数据源 URL 失效、网络问题、网站改版 |
|
| 1395 | - |
|
| 1396 | -**待处理**:需要人工检查数据源并修复脚本 |
|
| 1397 | - |
|
| 1398 | - |
|
| 1399 | ---- |
|
| 1400 | - |
|
| 1401 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1402 | - |
|
| 1403 | -**时间**:2026-03-28 11:28:16 |
|
| 1404 | -**状态**:success |
|
| 1405 | -**展览数量**:0 个(低于正常值) |
|
| 1406 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1407 | - |
|
| 1408 | -**待处理**:检查数据源是否正常 |
|
| 1409 | - |
|
| 1410 | - |
|
| 1411 | ---- |
|
| 1412 | - |
|
| 1413 | -## ✅ 自动任务记录 - 北京展览爬取 |
|
| 1414 | - |
|
| 1415 | -**时间**:2026-03-28 11:28:57 |
|
| 1416 | -**状态**:成功 |
|
| 1417 | -**数据源**:北京市文物局 + 豆瓣同城 + 中国美术馆 |
|
| 1418 | -**展览数量**:21 个 |
|
| 1419 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1420 | - |
|
| 1421 | -**三层记忆检查**: |
|
| 1422 | -- [x] 第 1 层:今日记忆已更新 |
|
| 1423 | -- [ ] 第 2 层:Session 开始前读取记忆(手动) |
|
| 1424 | -- [ ] 第 3 层:高风险操作前检查约束(按需) |
|
| 1425 | - |
|
| 1426 | - |
|
| 1427 | ---- |
|
| 1428 | - |
|
| 1429 | -## 📅 2026-03-29 摘要 |
|
| 1430 | - |
|
| 1431 | ---- |
|
| 1432 | - |
|
| 1433 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1434 | - |
|
| 1435 | -**时间**:2026-03-29 09:00:02 |
|
| 1436 | -**状态**:success |
|
| 1437 | -**展览数量**:6 个(低于正常值) |
|
| 1438 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1439 | - |
|
| 1440 | -**待处理**:检查数据源是否正常 |
|
| 1441 | - |
|
| 1442 | - |
|
| 1443 | ---- |
|
| 1444 | - |
|
| 1445 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1446 | - |
|
| 1447 | -**时间**:2026-03-29 09:00:02 |
|
| 1448 | -**状态**:success |
|
| 1449 | -**展览数量**:6 个(低于正常值) |
|
| 1450 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1451 | - |
|
| 1452 | -**待处理**:检查数据源是否正常 |
|
| 1453 | - |
|
| 1454 | ---- |
|
| 1455 | - |
|
| 1456 | -## 📈 数据基线与动态告警(2026-03-29 添加)⭐⭐ |
|
| 1457 | - |
|
| 1458 | -**教训来源**:北京展览爬取系统周日数据骤降(6 条 vs 昨日 21 条),固定阈值<5 条未触发告警 |
|
| 1459 | - |
|
| 1460 | -**问题**: |
|
| 1461 | -- 固定阈值<5 条过于保守(6 条未告警但明显异常) |
|
| 1462 | -- 没有考虑工作日/周末差异 |
|
| 1463 | -- 没有变化率检测(与昨日对比) |
|
| 1464 | -- 没有趋势检测(连续 N 天下降) |
|
| 1465 | - |
|
| 1466 | -**解决方案**: |
|
| 1467 | - |
|
| 1468 | -### 1. 动态阈值计算 |
|
| 1469 | -``` |
|
| 1470 | -工作日阈值:max(5, 7 天均值 × 0.5) → 约 10 条 |
|
| 1471 | -周末阈值:max(3, 7 天均值 × 0.3) → 约 5 条 |
|
| 1472 | -``` |
|
| 1473 | - |
|
| 1474 | -### 2. 变化率检测 |
|
| 1475 | -``` |
|
| 1476 | -单日骤降:比昨日减少>50% → 黄色告警 |
|
| 1477 | -连续下降:连续 3 天减少 → 橙色告警 |
|
| 1478 | -严重下降:连续 5 天减少 → 红色告警 |
|
| 1479 | -``` |
|
| 1480 | - |
|
| 1481 | -### 3. 周末模式识别 |
|
| 1482 | -```python |
|
| 1483 | -is_weekend = datetime.now().weekday() >= 5 |
|
| 1484 | -threshold = 5 if is_weekend else 10 |
|
| 1485 | -``` |
|
| 1486 | - |
|
| 1487 | -### 4. 数据基线记录 |
|
| 1488 | -- 文件:`daily_stats.json` |
|
| 1489 | -- 字段:日期、数量、数据源、是否周末 |
|
| 1490 | -- 用途:计算 7 天/30 天滚动平均值 |
|
| 1491 | - |
|
| 1492 | -**告警策略**: |
|
| 1493 | -| 模式 | 绝对阈值 | 变化率阈值 | 说明 | |
|
| 1494 | -|------|---------|-----------|------| |
|
| 1495 | -| 工作日 | < 10 条 | 比昨日减少>50% | 正常更新频率 | |
|
| 1496 | -| 周末 | < 5 条 | 比昨日减少>70% | 更新频率降低 | |
|
| 9 | +## ⚠️ 端到端验收原则(2026-03-06)⭐ 铁律 |
|
| 1497 | 10 | |
| 1498 | 11 | **核心原则**: |
| 1499 | -- 告警阈值基于历史数据动态计算,不硬编码 |
|
| 1500 | -- 区分工作日/周末模式(周末数据源更新频率低) |
|
| 1501 | -- 检测变化率(与昨日对比)和趋势(连续 N 天) |
|
| 1502 | -- 数据驱动决策,不依赖主观判断 |
|
| 1503 | - |
|
| 1504 | -**相关技能**: |
|
| 1505 | -- `data-baseline-monitor` - 数据基线监控器 |
|
| 1506 | -- `trend-anomaly-detector` - 趋势异常检测器 |
|
| 1507 | -- `exhibition-crawler-v3` - 展览爬虫(动态告警) |
|
| 1508 | - |
|
| 1509 | - |
|
| 1510 | ---- |
|
| 1511 | - |
|
| 1512 | -## 📅 2026-03-30 摘要 |
|
| 1513 | - |
|
| 1514 | ---- |
|
| 1515 | - |
|
| 1516 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1517 | - |
|
| 1518 | -**时间**:2026-03-30 09:00:01 |
|
| 1519 | -**状态**:success |
|
| 1520 | -**展览数量**:6 个(低于正常值) |
|
| 1521 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1522 | - |
|
| 1523 | -**待处理**:检查数据源是否正常 |
|
| 1524 | - |
|
| 1525 | - |
|
| 1526 | ---- |
|
| 1527 | - |
|
| 1528 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1529 | - |
|
| 1530 | -**时间**:2026-03-30 09:00:01 |
|
| 1531 | -**状态**:success |
|
| 1532 | -**展览数量**:6 个(低于正常值) |
|
| 1533 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1534 | - |
|
| 1535 | -**待处理**:检查数据源是否正常 |
|
| 1536 | - |
|
| 1537 | - |
|
| 1538 | ---- |
|
| 1539 | - |
|
| 1540 | -## ⚠️ 北京展览文档格式退化问题(2026-03-30 09:17) |
|
| 1541 | - |
|
| 1542 | -**问题**: |
|
| 1543 | -1. 飞书文档停留在 03-28 旧数据(15 个展览),03-30 未同步 |
|
| 1544 | -2. 文档格式退化:丢失表格、票价、展厅、展期等详细信息 |
|
| 1545 | -3. Tavily API Key 未配置,无法爬取实时数据 |
|
| 1546 | - |
|
| 1547 | -**根本原因**: |
|
| 1548 | -1. daily_cron.sh 只生成 feishu_sync_pending.json,依赖 heartbeat 执行同步,但 heartbeat 未实际调用 feishu_doc |
|
| 1549 | -2. crawler_tavily.py 使用 Tavily API,但 API Key 未配置 |
|
| 1550 | -3. 兜底数据报告格式过于简化 |
|
| 1551 | - |
|
| 1552 | -**已修复**: |
|
| 1553 | -1. ✅ 手动同步飞书文档,恢复完整格式(表格/票价/展厅/展期) |
|
| 1554 | -2. ✅ 修改 daily_cron.sh,直接调用 feishu_sync_fixed.py 执行同步 |
|
| 1555 | -3. ⏰ 待配置:Tavily API Key |
|
| 1556 | - |
|
| 1557 | -**经验教训**: |
|
| 1558 | -- 不依赖中间文件传递数据,直接执行同步 |
|
| 1559 | -- 兜底数据格式不能简化,必须保持完整结构 |
|
| 1560 | -- 定期检查 API Key 配置状态 |
|
| 1561 | - |
|
| 1562 | - |
|
| 1563 | ---- |
|
| 1564 | - |
|
| 1565 | -## 📅 2026-03-31 摘要 |
|
| 1566 | - |
|
| 1567 | ---- |
|
| 1568 | - |
|
| 1569 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1570 | - |
|
| 1571 | -**时间**:2026-03-31 09:00:01 |
|
| 1572 | -**状态**:success |
|
| 1573 | -**展览数量**:6 个(低于正常值) |
|
| 1574 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 12 | +- **"创建了"≠"完成了"**,必须验证最终结果 |
|
| 13 | +- **"执行了"≠"成功了"**,不能只看日志 |
|
| 14 | +- **用户不发现 ≠ 系统正常** |
|
| 1575 | 15 | |
| 1576 | -**待处理**:检查数据源是否正常 |
|
| 16 | +**验收清单**: |
|
| 17 | +- [ ] 代码部署前手动执行一次 |
|
| 18 | +- [ ] 飞书文档创建后读取验证内容非空 |
|
| 19 | +- [ ] 数据量验证 ≥ 阈值 |
|
| 20 | +- [ ] 同步执行验证(blocks_added > 0) |
|
| 21 | +- [ ] 用户通知(成功/失败都发送) |
|
| 1577 | 22 | |
| 23 | +**教训**:2026-03-06 创建飞书文档但未推送内容,用户指出后才修复 |
|
| 1578 | 24 | |
| 1579 | 25 | --- |
| 1580 | 26 | |
| 1581 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 27 | +## ⚠️ Sub-agent 验收机制(2026-03-09)⭐ 铁律 |
|
| 1582 | 28 | |
| 1583 | -**时间**:2026-03-31 09:00:01 |
|
| 1584 | -**状态**:success |
|
| 1585 | -**展览数量**:6 个(低于正常值) |
|
| 1586 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 29 | +**核心原则**: |
|
| 30 | +- sub-agent 汇报完成 + **主 agent 验收通过** = 任务完成 |
|
| 31 | +- 不验收 = 未完成 |
|
| 1587 | 32 | |
| 1588 | -**待处理**:检查数据源是否正常 |
|
| 33 | +**验收清单**: |
|
| 34 | +- [ ] 读取输出文件,确认内容非空 |
|
| 35 | +- [ ] 检查数据字段(是否有真实数据源痕迹) |
|
| 36 | +- [ ] 抽样验证(随机查 3-5 条) |
|
| 37 | +- [ ] 检查脚本逻辑(是否真的调用了工具) |
|
| 1589 | 38 | |
| 39 | +**教训**:2026-03-09 陕西国保核实,sub-agent 硬编码数据,主 agent 未验收就汇报 |
|
| 1590 | 40 | |
| 1591 | 41 | --- |
| 1592 | 42 | |
| 1593 | -## ⚠️ cron 环境变量陷阱(2026-04-07 添加)⭐⭐⭐ 关键 |
|
| 1594 | - |
|
| 1595 | -**问题**: |
|
| 1596 | -- 环境变量配置在 ~/.bashrc 中 |
|
| 1597 | -- 手动执行脚本正常(终端自动 source) |
|
| 1598 | -- cron 执行时获取不到环境变量(cron 不自动加载 ~/.bashrc) |
|
| 1599 | -- 脚本回退到兜底逻辑,功能异常 |
|
| 1600 | -- 连续 10 天未被发现(直到用户指出) |
|
| 43 | +## ⚠️ Cron 环境变量陷阱(2026-04-07)⭐ 铁律 |
|
| 1601 | 44 | |
| 1602 | -**根本原因**: |
|
| 1603 | -- 违反端到端验收原则 |
|
| 1604 | -- 没有在 cron 环境中验证 |
|
| 1605 | -- 认为"配置了就自动生效" |
|
| 45 | +**核心原则**: |
|
| 46 | +- **"本地正常"≠"cron 正常"** |
|
| 47 | +- cron 不自动加载 ~/.bashrc |
|
| 48 | +- 环境变量配置必须在 cron 环境中验收 |
|
| 1606 | 49 | |
| 1607 | -**修复方案**: |
|
| 50 | +**正确做法**: |
|
| 1608 | 51 | ```bash |
| 1609 | -# 所有 cron 脚本开头必须添加 |
|
| 52 | +#!/bin/bash |
|
| 1610 | 53 | if [ -f ~/.bashrc ]; then |
| 1611 | 54 | source ~/.bashrc |
| 1612 | 55 | fi |
| 1613 | - |
|
| 1614 | -if [ -f ~/.profile ]; then |
|
| 1615 | - source ~/.profile |
|
| 1616 | -fi |
|
| 1617 | -``` |
|
| 1618 | - |
|
| 1619 | -**验收标准**: |
|
| 1620 | -- 模拟 cron 环境测试:`bash -c "source ~/.bashrc && /path/to/script.sh"` |
|
| 1621 | -- 验证环境变量可获取 |
|
| 1622 | -- 验证脚本正常执行 |
|
| 1623 | -- 验证输出结果正常 |
|
| 1624 | - |
|
| 1625 | -**教训**: |
|
| 1626 | -- "配置了"≠"生效了" |
|
| 1627 | -- 必须在真实运行环境中验证 |
|
| 1628 | -- 所有 cron 任务部署前必须模拟 cron 环境测试 |
|
| 1629 | - |
|
| 1630 | ---- |
|
| 1631 | - |
|
| 1632 | -## 🛠️ 任务拆解标准(2026-04-07 添加)⭐⭐⭐ 关键 |
|
| 1633 | - |
|
| 1634 | -**核心原则**: |
|
| 1635 | -- 所有任务拆解为 15 分钟粒度 |
|
| 1636 | -- 每个子任务有明确完成标准 |
|
| 1637 | -- 完成标准可验证(如"git commit 完成") |
|
| 1638 | - |
|
| 1639 | -**拆解模板**: |
|
| 1640 | -``` |
|
| 1641 | -大任务:调查数据下降原因 |
|
| 1642 | -├─ 步骤 1:检查 04-03 爬虫日志(10 分钟) |
|
| 1643 | -├─ 步骤 2:检查 04-07 爬虫日志(10 分钟) |
|
| 1644 | -├─ 步骤 3:对比日志差异(10 分钟) |
|
| 1645 | -├─ 步骤 4:测试 Tavily API(10 分钟) |
|
| 1646 | -└─ 步骤 5:修复问题并验证(20 分钟) |
|
| 1647 | -``` |
|
| 1648 | - |
|
| 1649 | -**效果**: |
|
| 1650 | -- 执行率从 0% 提升到 100% |
|
| 1651 | -- 大任务不再拖延 |
|
| 1652 | -- 心理负担减轻 |
|
| 1653 | - |
|
| 1654 | -**教训来源**: |
|
| 1655 | -- 04-02 至 04-06:连续 4 天执行率 0% |
|
| 1656 | -- 04-07:任务拆解后执行率 100% |
|
| 1657 | - |
|
| 1658 | ---- |
|
| 1659 | - |
|
| 1660 | -## 🛠️ 技能创建闭环检查清单(2026-04-07 添加)⭐⭐⭐ |
|
| 1661 | - |
|
| 1662 | -**检查清单**: |
|
| 1663 | -``` |
|
| 1664 | -技能创建后必须完成: |
|
| 1665 | -[ ] 1. 手动测试技能(验证功能正常) |
|
| 1666 | -[ ] 2. 集成到 SOP(明确调用时机) |
|
| 1667 | -[ ] 3. 更新 AGENTS.md(添加调用说明) |
|
| 1668 | -[ ] 4. 更新 SOUL.md(添加使用原则) |
|
| 1669 | -[ ] 5. 更新 TOOLS.md(添加技能说明) |
|
| 1670 | -[ ] 6. git commit 并 push |
|
| 1671 | -[ ] 7. 下次 session 验证自动调用 |
|
| 1672 | 56 | ``` |
| 1673 | 57 | |
| 1674 | -**核心原则**: |
|
| 1675 | -- 7 项全部完成才算"技能创建完成" |
|
| 1676 | -- 任何一项未完成 = 技能未就绪 |
|
| 1677 | -- 技能不集成 = 无效工作 |
|
| 1678 | - |
|
| 1679 | -**教训来源**: |
|
| 1680 | -- 04-03 创建 3 个技能 |
|
| 1681 | -- 04-04/04-05/04-06 未测试未集成 |
|
| 1682 | -- 04-07 才完成闭环 |
|
| 1683 | -- 超期 4 天 |
|
| 1684 | - |
|
| 1685 | ---- |
|
| 1686 | - |
|
| 1687 | -## 💓 心跳通知处理机制(2026-03-31 添加)⭐ |
|
| 1688 | - |
|
| 1689 | -**核心机制**: |
|
| 1690 | -- cron 脚本执行后生成 notification_pending.json |
|
| 1691 | -- Travel Agent 在下次心跳检查时读取并发送 |
|
| 1692 | -- 发送完成后删除标记文件 |
|
| 1693 | - |
|
| 1694 | -**通知标记文件**: |
|
| 1695 | -- 路径:`beijing-exhibitions/notification_pending.json` |
|
| 1696 | -- 格式:JSON(包含消息内容、日期、状态、total_items) |
|
| 1697 | -- 处理流程:读取 → 发送 → 删除 |
|
| 1698 | - |
|
| 1699 | -**处理流程**: |
|
| 1700 | -1. 心跳检查时读取文件 |
|
| 1701 | -2. 文件存在 → 读取消息内容 |
|
| 1702 | -3. 通过飞书发送给用户 |
|
| 1703 | -4. 删除标记文件 |
|
| 1704 | -5. 记录发送日志 |
|
| 1705 | - |
|
| 1706 | -**设计优势**: |
|
| 1707 | -- 解耦 cron 执行和消息发送 |
|
| 1708 | -- 避免 cron 直接调用消息工具的复杂性 |
|
| 1709 | -- 消息积压时自动在下次 agent 唤醒时发送 |
|
| 1710 | - |
|
| 1711 | -**注意事项**: |
|
| 1712 | -- 必须确保 agent 定期被唤醒(心跳检查) |
|
| 1713 | -- 标记文件必须包含完整消息内容 |
|
| 1714 | -- 发送后必须删除,避免重复发送 |
|
| 1715 | -- 不机械执行,主动发现持续异常 |
|
| 1716 | - |
|
| 1717 | -**教训来源**:2026-03-31 心跳检查经验 |
|
| 1718 | -- 01:06 UTC 发现通知标记文件 |
|
| 1719 | -- 读取内容并通过飞书发送 |
|
| 1720 | -- 删除标记文件完成闭环 |
|
| 1721 | -- 连续 4 天数据偏少(6 个)未主动创建调查任务 |
|
| 1722 | - |
|
| 1723 | -**相关技能**: |
|
| 1724 | -- `heartbeat-notification-handler` - 心跳通知处理器 |
|
| 1725 | -- `data-anomaly-detector` - 数据异常检测器 |
|
| 1726 | - |
|
| 1727 | ---- |
|
| 1728 | - |
|
| 1729 | -## ⚠️ 主动问题发现原则(2026-03-31 添加)⭐⭐ |
|
| 1730 | - |
|
| 1731 | -**核心原则**: |
|
| 1732 | -- 心跳检查不是机械执行,要主动思考异常情况 |
|
| 1733 | -- 连续 N 天相同异常 → 创建任务调查 |
|
| 1734 | -- 不等待问题暴露,主动预防 |
|
| 1735 | -- 不满足于"有数据",追求"数据充足" |
|
| 1736 | - |
|
| 1737 | -**违反记录**: |
|
| 1738 | -1. 2026-03-31 - 连续 4 天数据偏少(6 个 vs 正常 39 个),机械回复"状态正常" |
|
| 1739 | -2. 2026-03-31 - Tavily API Key 配置拖延(03-28 发现,03-31 仍未配置) |
|
| 1740 | - |
|
| 1741 | -**正确做法**: |
|
| 1742 | -- 心跳检查发现异常 → 记录到 task.md |
|
| 1743 | -- 连续 3 天数据异常 → 创建 P2 任务调查 |
|
| 1744 | -- API Key 配置不拖延,立即执行 |
|
| 1745 | -- 主动调查数据源,不猜测"可能是周末效应" |
|
| 1746 | - |
|
| 1747 | -**验收清单**: |
|
| 1748 | -- [ ] 心跳检查发现异常是否记录到 task.md |
|
| 1749 | -- [ ] 连续 3 天相同异常是否创建 P2 任务 |
|
| 1750 | -- [ ] API Key 配置是否立即执行 |
|
| 1751 | -- [ ] 是否主动调查数据源而非猜测 |
|
| 1752 | - |
|
| 1753 | -**核心改进**: |
|
| 1754 | -- 心跳检查主动发现异常,不机械执行 |
|
| 1755 | -- 连续异常自动升级 P2 任务 |
|
| 1756 | -- API Key 配置文档化并立即执行 |
|
| 1757 | -- 主动调查数据源更新频率 |
|
| 1758 | - |
|
| 1759 | ---- |
|
| 1760 | - |
|
| 1761 | -*最后更新:2026-03-31 19:25(添加心跳通知处理和主动问题发现原则)* |
|
| 1762 | -*维护者:Travel Agent* |
|
| 1763 | - |
|
| 1764 | ---- |
|
| 1765 | - |
|
| 1766 | -## 📅 2026-04-01 摘要 |
|
| 1767 | - |
|
| 1768 | ---- |
|
| 1769 | - |
|
| 1770 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1771 | - |
|
| 1772 | -**时间**:2026-04-01 09:00:01 |
|
| 1773 | -**状态**:success |
|
| 1774 | -**展览数量**:6 个(低于正常值) |
|
| 1775 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1776 | - |
|
| 1777 | -**待处理**:检查数据源是否正常 |
|
| 1778 | - |
|
| 1779 | - |
|
| 1780 | ---- |
|
| 1781 | - |
|
| 1782 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1783 | - |
|
| 1784 | -**时间**:2026-04-01 09:00:01 |
|
| 1785 | -**状态**:success |
|
| 1786 | -**展览数量**:6 个(低于正常值) |
|
| 1787 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1788 | - |
|
| 1789 | -**待处理**:检查数据源是否正常 |
|
| 1790 | - |
|
| 1791 | - |
|
| 1792 | ---- |
|
| 1793 | - |
|
| 1794 | -## 📅 2026-04-02 摘要 |
|
| 1795 | - |
|
| 1796 | ---- |
|
| 1797 | - |
|
| 1798 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1799 | - |
|
| 1800 | -**时间**:2026-04-02 09:00:01 |
|
| 1801 | -**状态**:success |
|
| 1802 | -**展览数量**:6 个(低于正常值) |
|
| 1803 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1804 | - |
|
| 1805 | -**待处理**:检查数据源是否正常 |
|
| 1806 | - |
|
| 1807 | - |
|
| 1808 | ---- |
|
| 1809 | - |
|
| 1810 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1811 | - |
|
| 1812 | -**时间**:2026-04-02 09:00:01 |
|
| 1813 | -**状态**:success |
|
| 1814 | -**展览数量**:6 个(低于正常值) |
|
| 1815 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1816 | - |
|
| 1817 | -**待处理**:检查数据源是否正常 |
|
| 1818 | - |
|
| 1819 | - |
|
| 1820 | ---- |
|
| 1821 | - |
|
| 1822 | -## 📅 2026-04-03 摘要 |
|
| 1823 | - |
|
| 1824 | ---- |
|
| 1825 | - |
|
| 1826 | -## ✅ 进化报告闭环验证 |
|
| 1827 | - |
|
| 1828 | -## 进化报告闭环验收(2026-04-02) |
|
| 1829 | - |
|
| 1830 | -### 昨日计划执行率 |
|
| 1831 | -- 计划任务数:7 项 |
|
| 1832 | -- 已完成:0 项 |
|
| 1833 | -- 进行中:0 项 |
|
| 1834 | -- 未开始:7 项 |
|
| 1835 | -- **执行率:0.0%** |
|
| 1836 | - |
|
| 1837 | -### 任务详情 |
|
| 1838 | -| 计划任务 | task.md 状态 | |
|
| 1839 | -|----------|-------------| |
|
| 1840 | -| 配置 Tavily API Key... | ❌ 未找到对应任务 | |
|
| 1841 | -| 创建进化报告验证器技能... | ❌ 未开始 | |
|
| 1842 | -| 创建数据异常升级器技能... | ❌ 未开始 | |
|
| 1843 | -| 创建任务执行追踪器技能... | ❌ 未开始 | |
|
| 1844 | -| 更新配置文件... | ❌ 未开始 | |
|
| 1845 | -| 北京展览数据源调查... | ❌ 未开始 | |
|
| 1846 | -| 发送飞书通知用户... | ❌ 未开始 | |
|
| 1847 | - |
|
| 1848 | -### 告警级别 |
|
| 1849 | -**🔴 红色告警** |
|
| 1850 | - |
|
| 1851 | -### 改进建议 |
|
| 1852 | -- 执行率极低,需要向用户坦白 |
|
| 1853 | -- 建议将未完成任务添加到 task.md P1/P2 优先级 |
|
| 1854 | -- 明日进化报告继续追踪执行情况 |
|
| 1855 | - |
|
| 1856 | ---- |
|
| 1857 | - |
|
| 1858 | -*验证时间:2026-04-03 05:06* |
|
| 1859 | - |
|
| 1860 | - |
|
| 1861 | ---- |
|
| 1862 | - |
|
| 1863 | -## 📅 2026-04-04 摘要 |
|
| 1864 | - |
|
| 1865 | ---- |
|
| 1866 | - |
|
| 1867 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1868 | - |
|
| 1869 | -**时间**:2026-04-04 09:00:01 |
|
| 1870 | -**状态**:success |
|
| 1871 | -**展览数量**:6 个(低于正常值) |
|
| 1872 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1873 | - |
|
| 1874 | -**待处理**:检查数据源是否正常 |
|
| 1875 | - |
|
| 1876 | - |
|
| 1877 | ---- |
|
| 1878 | - |
|
| 1879 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1880 | - |
|
| 1881 | -**时间**:2026-04-04 09:00:01 |
|
| 1882 | -**状态**:success |
|
| 1883 | -**展览数量**:6 个(低于正常值) |
|
| 1884 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1885 | - |
|
| 1886 | -**待处理**:检查数据源是否正常 |
|
| 1887 | - |
|
| 1888 | - |
|
| 1889 | ---- |
|
| 1890 | - |
|
| 1891 | -## 📅 2026-04-05 摘要 |
|
| 1892 | - |
|
| 1893 | ---- |
|
| 1894 | - |
|
| 1895 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1896 | - |
|
| 1897 | -**时间**:2026-04-05 09:00:01 |
|
| 1898 | -**状态**:success |
|
| 1899 | -**展览数量**:6 个(低于正常值) |
|
| 1900 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1901 | - |
|
| 1902 | -**待处理**:检查数据源是否正常 |
|
| 1903 | - |
|
| 1904 | - |
|
| 1905 | ---- |
|
| 1906 | - |
|
| 1907 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1908 | - |
|
| 1909 | -**时间**:2026-04-05 09:00:01 |
|
| 1910 | -**状态**:success |
|
| 1911 | -**展览数量**:6 个(低于正常值) |
|
| 1912 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1913 | - |
|
| 1914 | -**待处理**:检查数据源是否正常 |
|
| 1915 | - |
|
| 1916 | - |
|
| 1917 | ---- |
|
| 1918 | - |
|
| 1919 | -## 📅 2026-04-06 摘要 |
|
| 1920 | - |
|
| 1921 | ---- |
|
| 1922 | - |
|
| 1923 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1924 | - |
|
| 1925 | -**时间**:2026-04-06 09:00:01 |
|
| 1926 | -**状态**:success |
|
| 1927 | -**展览数量**:6 个(低于正常值) |
|
| 1928 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1929 | - |
|
| 1930 | -**待处理**:检查数据源是否正常 |
|
| 1931 | - |
|
| 1932 | - |
|
| 1933 | ---- |
|
| 1934 | - |
|
| 1935 | -## ⚠️ 自动任务记录 - 北京展览爬取(数据偏少) |
|
| 1936 | - |
|
| 1937 | -**时间**:2026-04-06 09:00:01 |
|
| 1938 | -**状态**:success |
|
| 1939 | -**展览数量**:6 个(低于正常值) |
|
| 1940 | -**飞书文档**:https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh |
|
| 1941 | - |
|
| 1942 | -**待处理**:检查数据源是否正常 |
|
| 1943 | - |
|
| 58 | +**教训**:2026-04-01 至 04-06,Tavily API Key 在~/.bashrc 但 cron 不加载,导致北京展览数据连续 9 天偏少(6 个 vs 正常 39 个) |
|
| 1944 | 59 | |
| 1945 | 60 | --- |
| 1946 | 61 | |
| 1947 | -## 📅 2026-04-07 摘要 |
|
| 62 | +## 🔧 工具选择原则(2026-03-06)⭐ |
|
| 1948 | 63 | |
| 1949 | - |
|
| 1950 | -## ✅ P1 任务完成:调查数据下降原因(Task 23) |
|
| 1951 | - |
|
| 1952 | -**时间**:2026-04-07 00:50 |
|
| 1953 | -**状态**:✅ 已完成 |
|
| 1954 | - |
|
| 1955 | -**问题**:北京展览数据连续 9 天偏少(6 个 vs 正常 39 个) |
|
| 1956 | - |
|
| 1957 | -**根本原因**: |
|
| 1958 | -- Tavily API Key 在 ~/.bashrc 中配置 |
|
| 1959 | -- **cron 不自动加载 ~/.bashrc** |
|
| 1960 | -- 爬虫脚本获取不到 API Key,回退到硬编码兜底数据(6 个展览) |
|
| 1961 | -- Task 15(Tavily API Key 配置)标记为"已完成"但未端到端验收 |
|
| 1962 | - |
|
| 1963 | -**教训**: |
|
| 1964 | -- 违反端到端验收原则:配置了环境变量但没有在 cron 环境中验证 |
|
| 1965 | -- "配置文件修改"≠"实际生效",必须在实际运行环境中验证 |
|
| 1966 | -- cron 环境变量问题:需要显式 source 或直接在 crontab 中设置 |
|
| 1967 | - |
|
| 1968 | -**修复方案**: |
|
| 1969 | -- 修改 daily_cron.sh,开头添加: |
|
| 1970 | - ```bash |
|
| 1971 | - if [ -f ~/.bashrc ]; then |
|
| 1972 | - source ~/.bashrc |
|
| 1973 | - fi |
|
| 1974 | - ``` |
|
| 1975 | -- 手动测试验证:爬取数量从 6 个恢复到 14 个 |
|
| 1976 | - |
|
| 1977 | -**待观察**: |
|
| 1978 | -- 明日(04-07)9:00 AM cron 自动执行验证 |
|
| 1979 | -- 预期数据量≥15 个 |
|
| 1980 | - |
|
| 1981 | -**相关文件**: |
|
| 1982 | -- `/root/.openclaw/workspace/travel/beijing-exhibitions/scripts/daily_cron.sh`(已修复 v2) |
|
| 64 | +- **所有网站** → **Playwright**(统一工具) |
|
| 65 | +- **小红书** → **小红书 MCP 专用工具** |
|
| 66 | +- **web_fetch** → 仅作为备选 |
|
| 1983 | 67 | |
| 1984 | 68 | --- |
| 1985 | 69 | |
| 1986 | -## ✅ P1 任务完成:测试三个新技能(Task 24/25/26) |
|
| 70 | +## 📝 Wiki Markdown 格式规范(2026-03-08)⭐ |
|
| 1987 | 71 | |
| 1988 | -**时间**:2026-04-07 00:52 |
|
| 1989 | -**状态**:✅ 全部完成 |
|
| 72 | +### 核心教训 |
|
| 1990 | 73 | |
| 1991 | -### Task 24: evolution-report-validator |
|
| 1992 | -- **测试结果**:✓ 通过 |
|
| 1993 | -- **功能**:读取昨日进化报告,提取 8 项明日计划,检查 task.md 执行状态 |
|
| 1994 | -- **输出**:执行率 0%(关键词匹配未识别已完成任务,需优化) |
|
| 1995 | -- **就绪状态**:技能已就绪,待配置每日进化报告流程自动调用 |
|
| 1996 | - |
|
| 1997 | -### Task 25: data-anomaly-escalator |
|
| 1998 | -- **测试结果**:✓ 通过 |
|
| 1999 | -- **功能**:读取历史数据,检测连续异常天数,自动升级告警 |
|
| 2000 | -- **输出**:检测到 8 天连续异常,升级为🟠橙色告警 |
|
| 2001 | -- **动作**:创建 notification_pending.json,写入记忆报告 |
|
| 2002 | -- **就绪状态**:技能已就绪,待配置 daily_cron.sh 自动调用 |
|
| 2003 | - |
|
| 2004 | -### Task 26: task-execution-tracker |
|
| 2005 | -- **测试结果**:✓ 通过 |
|
| 2006 | -- **功能**:读取 task.md,计算执行率,生成告警 |
|
| 2007 | -- **输出**:15 个任务,执行率 60%,🟡黄色告警 |
|
| 2008 | -- **就绪状态**:技能已就绪,待配置每日进化报告流程自动调用 |
|
| 2009 | - |
|
| 2010 | -**下一步**: |
|
| 2011 | -- 配置 daily_cron.sh 在爬取完成后调用 data-anomaly-escalator |
|
| 2012 | -- 配置每日进化报告流程调用 evolution-report-validator 和 task-execution-tracker |
|
| 2013 | -- 优化 evolution-report-validator 的关键词匹配逻辑 |
|
| 2014 | - |
|
| 2015 | ---- |
|
| 74 | +**❌ 错误**: |
|
| 75 | +1. 表格前没有空行 → 渲染错乱 |
|
| 76 | +2. 表格内用空行换行 → 表格错乱 |
|
| 77 | +3. 子目录页面用 Markdown 相对路径 → 链接失效 |
|
| 2016 | 78 | |
| 2017 | -*最后更新:2026-04-07 00:55* |
|
| 2018 | -*维护者:Travel Agent* |
|
| 79 | +**✅ 正确**: |
|
| 80 | +1. 表格前后必须有空行 |
|
| 81 | +2. 单元格内换行用 `<br>` |
|
| 82 | +3. 面包屑用 HTML 绝对路径:`<a href="/">Home</a> / <a href="/河北">河北</a>` |
|
| 2019 | 83 | |
| 2020 | 84 | --- |
| 2021 | 85 | |
| 2022 | -## ✅ 进化报告闭环验证 |
|
| 2023 | - |
|
| 2024 | -## 进化报告闭环验收(2026-04-06) |
|
| 2025 | - |
|
| 2026 | -### 昨日计划执行率 |
|
| 2027 | -- 计划任务数:8 项 |
|
| 2028 | -- 已完成:0 项 |
|
| 2029 | -- 进行中:0 项 |
|
| 2030 | -- 未开始:8 项 |
|
| 2031 | -- **执行率:0.0%** |
|
| 86 | +## 📊 数据异常升级机制(2026-04-07) |
|
| 2032 | 87 | |
| 2033 | -### 任务详情 |
|
| 2034 | -| 计划任务 | task.md 状态 | |
|
| 2035 | -|----------|-------------| |
|
| 2036 | -| 更新 AGENTS.md... | ❌ 未开始 | |
|
| 2037 | -| 更新 SOUL.md... | ❌ 未开始 | |
|
| 2038 | -| 更新 TOOLS.md... | ❌ 未开始 | |
|
| 2039 | -| 调查数据下降原因... | ❌ 未开始 | |
|
| 2040 | -| 测试 evolution-report-validator... | ❌ 未开始 | |
|
| 2041 | -| 测试 data-anomaly-escalator... | ❌ 未开始 | |
|
| 2042 | -| 测试 task-execution-tracker... | ❌ 未开始 | |
|
| 2043 | -| 添加执行率告警逻辑... | ❌ 未开始 | |
|
| 88 | +| 连续异常天数 | 告警级别 | 动作 | |
|
| 89 | +|-------------|---------|------| |
|
| 90 | +| 3 天 | 🟡 黄色 | P2 任务 | |
|
| 91 | +| 5 天 | 🟠 橙色 | P1 任务 + 飞书通知 | |
|
| 92 | +| 7 天 | 🔴 红色 | 紧急告警 | |
|
| 2044 | 93 | |
| 2045 | -### 告警级别 |
|
| 2046 | -**🔴 红色告警** |
|
| 2047 | - |
|
| 2048 | -### 改进建议 |
|
| 2049 | -- 执行率极低,需要向用户坦白 |
|
| 2050 | -- 建议将未完成任务添加到 task.md P1/P2 优先级 |
|
| 2051 | -- 明日进化报告继续追踪执行情况 |
|
| 2052 | - |
|
| 2053 | ---- |
|
| 2054 | - |
|
| 2055 | -*验证时间:2026-04-07 08:50* |
|
| 94 | +**异常判定**:北京展览数据 < 15 个 |
|
| 2056 | 95 | |
| 2057 | 96 | --- |
| 2058 | 97 | |
| 2059 | -## ⚠️ 数据异常升级报告 |
|
| 98 | +## 📊 任务执行率告警(2026-04-07) |
|
| 2060 | 99 | |
| 2061 | -**检测时间**:2026-04-07 08:50 |
|
| 2062 | -**连续异常天数**:8天 |
|
| 2063 | -**告警级别**:紧急 |
|
| 2064 | -**建议动作**:飞书通知用户 |
|
| 100 | +| 执行率 | 告警级别 | 动作 | |
|
| 101 | +|--------|---------|------| |
|
| 102 | +| < 20% | 🔴 红色 | 向用户坦白 | |
|
| 103 | +| < 50% | 🟠 橙色 | P1 任务升级 | |
|
| 2065 | 104 | |
| 2066 | -**异常详情**: |
|
| 2067 | -| 日期 | 展览数量 | 阈值 | |
|
| 2068 | -|------|---------|------| |
|
| 2069 | -| 2026-04-06 | 6个 | 15个 | |
|
| 2070 | -| 2026-04-05 | 6个 | 15个 | |
|
| 2071 | -| 2026-04-04 | 6个 | 15个 | |
|
| 2072 | -| 2026-04-03 | 6个 | 15个 | |
|
| 2073 | -| 2026-04-02 | 6个 | 15个 | |
|
| 2074 | -| 2026-04-01 | 6个 | 15个 | |
|
| 2075 | -| 2026-03-31 | 6个 | 15个 | |
|
| 2076 | -| 2026-03-30 | 6个 | 15个 | |
|
| 2077 | - |
|
| 2078 | -**自动操作**: |
|
| 2079 | -- [ ] 已创建飞书通知标记 |
|
| 2080 | -- [ ] 已更新 task.md |
|
| 2081 | -- [ ] 已写入记忆报告 |
|
| 2082 | - |
|
| 2083 | ---- |
|
| 105 | +**超期规则**:P1 > 24 小时,P2 > 48 小时 |
|
| 2084 | 106 | |
| 2085 | 107 | --- |
| 2086 | 108 | |
| 2087 | -## 任务执行追踪报告 |
|
| 2088 | - |
|
| 2089 | -**生成时间**:2026-04-07 08:50 |
|
| 109 | +## 🧠 三层记忆法则 |
|
| 2090 | 110 | |
| 2091 | -### 执行率统计 |
|
| 2092 | -| 指标 | 数值 | |
|
| 2093 | -|------|------| |
|
| 2094 | -| 总任务数 | 15 | |
|
| 2095 | -| 已完成 | 9 | |
|
| 2096 | -| 进行中 | 0 | |
|
| 2097 | -| 待执行 | 6 | |
|
| 2098 | -| **执行率** | **60.0%** | |
|
| 2099 | - |
|
| 2100 | -### P1 任务执行率 |
|
| 2101 | -- P1 任务总数:15 |
|
| 2102 | -- P1 已完成:9 |
|
| 2103 | -- **P1 执行率:60.0%** |
|
| 2104 | - |
|
| 2105 | -### 超期任务清单 |
|
| 2106 | -- 🟢 无超期任务 |
|
| 111 | +### 第 1 层 预防(写入时) |
|
| 112 | +- 完成任务后立即写入 `memory/YYYY-MM-DD.md` |
|
| 113 | +- 长期经验写入 `MEMORY.md` |
|
| 2107 | 114 | |
| 2108 | -### 告警级别 |
|
| 2109 | -**🟡 黄色告警** |
|
| 115 | +### 第 2 层 侦测(恢复时) |
|
| 116 | +- Session 开始前读取:MEMORY.md + memory/昨天.md + memory/今天.md |
|
| 2110 | 117 | |
| 2111 | -### 改进建议 |
|
| 2112 | -- 执行率偏低,需要改进 |
|
| 2113 | -- P1 任务执行率:60.0% |
|
| 2114 | -- 超期任务数:0 |
|
| 118 | +### 第 3 层 兜底(执行时) |
|
| 119 | +- 高风险操作前搜索记忆找约束 |
|
| 2115 | 120 | |
| 2116 | 121 | --- |
| 2117 | 122 | |
| 2118 | -*追踪时间:2026-04-07 08:50* |
|
| 2119 | - |
|
| 123 | +*详细流程见 WORKFLOWS.md,配置见 TOOLS.md,规则见 AGENTS.md* |
|
| 124 | +*最后更新:2026-04-11(按设计原则压缩至<5K)* |
SOUL.md
| ... | ... | @@ -7,322 +7,48 @@ |
| 7 | 7 | |
| 8 | 8 | --- |
| 9 | 9 | |
| 10 | -## ⚠️ 核心工作原则(必须遵守) |
|
| 10 | +## ⚠️ 核心工作原则 |
|
| 11 | 11 | |
| 12 | -### 1. 端到端验收(血泪教训)⭐ 铁律 |
|
| 13 | -- **"创建了"≠"完成了"** |
|
| 14 | -- 自己完成的任务必须验收,不交付未验收的结果 |
|
| 15 | -- **验收清单**: |
|
| 16 | - - [ ] 代码部署前手动执行一次 |
|
| 17 | - - [ ] 飞书文档创建后读取验证内容非空 |
|
| 18 | - - [ ] 表格、列表都已正确渲染 |
|
| 19 | - - [ ] 发送通知包含文档链接 |
|
| 12 | +### 1. 端到端验收 ⭐ 铁律 |
|
| 13 | +- **"创建了"≠"完成了"**,必须验证最终结果 |
|
| 14 | +- 自动任务完成后检查:数据量、同步结果、用户通知 |
|
| 15 | +- 用户不发现 ≠ 系统正常 |
|
| 20 | 16 | |
| 21 | -### 2. 复用经验(不重复犯错)⭐ 铁律 |
|
| 22 | -- 接到任务先查是否做过类似任务(memory_search) |
|
| 23 | -- 有 SOP 的严格按 SOP 执行 |
|
| 24 | -- 有 skill 的优先使用已有 skill |
|
| 25 | -- **不在同一个地方反复犯错** |
|
| 17 | +### 2. 复用经验 ⭐ 铁律 |
|
| 18 | +- 接到任务先查 memory_search |
|
| 19 | +- 有 SOP 严格按 SOP,有 skill 优先使用 |
|
| 20 | +- 不在同一个地方反复犯错 |
|
| 26 | 21 | |
| 27 | -### 3. 事事有回应 |
|
| 28 | -- 所有交办任务必须记录到 `task.md` |
|
| 29 | -- 用户未明确说「已完结」=「待验证」状态 |
|
| 30 | -- 汇报时列出未完结清单,逐项确认 |
|
| 31 | - |
|
| 32 | -### 4. 主动汇报 |
|
| 33 | -- 每日早晚两次主动汇报(8:30 / 22:00) |
|
| 34 | -- 汇报内容:进展 + 计划 + 未完结清单 |
|
| 35 | - |
|
| 36 | -### 5. 陌生任务原则 |
|
| 37 | -- **不要闭门造车**:先搜索学习,再执行 |
|
| 38 | -- **学习优先级**: |
|
| 39 | - 1. 开源 Hub(GitHub、clawhub)— 有现成 skill 直接用 |
|
| 40 | - 2. 网络搜索(web_search)— 学习方法论 |
|
| 41 | -- **先学后做**:不调研不执行 |
|
| 42 | - |
|
| 43 | -### 6. 自主解决 |
|
| 44 | -- 遇到问题改变方法再尝试,至少 10 轮后才求助 |
|
| 45 | -- 不停止,除非: |
|
| 46 | - 1. 已尝试 10 轮仍未解决 |
|
| 47 | - 2. 需要人类授权或支付 |
|
| 48 | - 3. 涉及系统安全稳定 |
|
| 49 | - |
|
| 50 | -### 7. 工具选择原则(2026-03-06 血泪教训)⭐ |
|
| 51 | -- **所有网站** → ⭐⭐⭐⭐⭐ **Playwright**(统一工具,稳定可靠) |
|
| 52 | -- **小红书** → ⭐⭐⭐⭐⭐ **小红书 MCP 专用工具**(官方 API) |
|
| 53 | -- **web_fetch** → ⭐ **仅作为备选**(Playwright 不可用时) |
|
| 54 | -- **❌ 禁止**:优先使用 web_fetch 爬任何网站 |
|
| 55 | - |
|
| 56 | -### 8. 每日进化原则(2026-03-23 新增)⭐ |
|
| 57 | -- **每日复盘**:23:30 自动执行进化报告任务 |
|
| 58 | -- **学习固化**:新经验 7 天内写入 MEMORY.md |
|
| 59 | -- **错误预防**:同一错误不犯第二次 |
|
| 60 | -- **技能迭代**:每月回顾 skill 库,删除过时技能 |
|
| 61 | - |
|
| 62 | -### 9. 端到端验收原则(2026-03-28 新增)⭐⭐⭐ 铁律中的铁律 |
|
| 63 | - |
|
| 64 | -**核心原则**: |
|
| 65 | -- **"创建了"≠"完成了"** |
|
| 66 | -- **"执行了"≠"成功了"** |
|
| 67 | -- **"日志显示成功"≠"实际成功"** |
|
| 68 | -- **必须验证最终结果,不能只验证中间步骤** |
|
| 69 | -- **用户不发现 ≠ 系统正常** |
|
| 70 | - |
|
| 71 | -**验收清单**(自动任务完成后必须逐项检查): |
|
| 72 | -- [ ] **数据量验证**:爬取数量 ≥ 5 条(否则告警) |
|
| 73 | -- [ ] **同步执行验证**:实际调用 feishu_doc 工具 + blocks_added > 0 |
|
| 74 | -- [ ] **记忆写入验证**:基于实际数据,不硬编码成功状态 |
|
| 75 | -- [ ] **端到端验证**:读取飞书文档确认内容已更新 |
|
| 76 | -- [ ] **用户通知**:成功/失败都发送通知 |
|
| 77 | - |
|
| 78 | -**教训来源**:2026-03-28 北京展览爬取系统失效 10 天无人知晓 |
|
| 79 | -- 爬虫脚本数据源全部失效(9/10 失败)但日志显示"10/10 完成" |
|
| 80 | -- 飞书同步只生成待同步文件,从未实际执行 |
|
| 81 | -- 记忆写入硬编码"39 个展览",与实际数据无关 |
|
| 82 | -- 用户不发现,系统永远不会自我纠正 |
|
| 83 | - |
|
| 84 | -**核心改进**: |
|
| 85 | -- 任何数据异常(< 5 条/与昨日相同)立即告警 |
|
| 86 | -- 不再出现"断了 10 天没人知道"的情况 |
|
| 87 | - |
|
| 88 | -### 10. 数据驱动决策原则(2026-03-29 新增)⭐⭐ |
|
| 89 | - |
|
| 90 | -**核心原则**: |
|
| 22 | +### 3. 数据驱动决策 ⭐ |
|
| 91 | 23 | - 不依赖主观判断,依赖数据基线 |
| 92 | -- 告警阈值动态计算,不硬编码 |
|
| 93 | -- 区分周期性波动和真实异常 |
|
| 24 | +- 告警阈值动态计算,区分工作日/周末模式 |
|
| 94 | 25 | - 连续观察 3-5 天再下结论 |
| 95 | 26 | |
| 96 | -**实践方法**: |
|
| 97 | -1. **记录每日数据**(建立基线) |
|
| 98 | -2. **计算统计指标**(均值、标准差、工作日/周末分开) |
|
| 99 | -3. **设置动态阈值**(均值 -2σ或固定阈值取高者) |
|
| 100 | -4. **检测变化率**(与昨日对比减少>50% 告警) |
|
| 101 | -5. **检测趋势**(连续 3 天/5 天下降告警) |
|
| 102 | -6. **区分模式**(工作日阈值 10 条,周末阈值 5 条) |
|
| 103 | - |
|
| 104 | -**避免错误**: |
|
| 105 | -- ❌ 基于单次数据下结论(可能是波动) |
|
| 106 | -- ❌ 硬编码固定阈值(不适应变化) |
|
| 107 | -- ❌ 忽略周期性波动(周末/工作日差异) |
|
| 108 | -- ❌ 不记录历史数据(无法计算基线) |
|
| 109 | -- ✅ 基于历史数据动态调整 |
|
| 110 | -- ✅ 区分工作日/周末模式 |
|
| 111 | -- ✅ 连续观察再下结论 |
|
| 112 | - |
|
| 113 | -**教训来源**:2026-03-29 周日数据骤降(6 条 vs 昨日 21 条) |
|
| 114 | -- 固定阈值<5 条未触发告警(6≥5) |
|
| 115 | -- 但明显低于正常水平(15-20 条) |
|
| 116 | -- 可能是周末效应,也可能是数据源问题 |
|
| 117 | -- 需要明日(工作日)数据验证 |
|
| 118 | - |
|
| 119 | -**核心改进**: |
|
| 120 | -- 告警阈值从固定<5 条改为动态(工作日<10 条,周末<5 条) |
|
| 121 | -- 添加变化率检测(比昨日减少>50% 告警) |
|
| 122 | -- 添加趋势检测(连续 3 天/5 天下降告警) |
|
| 123 | -- 记录每日数据到 daily_stats.json 建立基线 |
|
| 124 | - |
|
| 125 | -### 11. 直接执行原则(2026-03-30 新增)⭐⭐ |
|
| 126 | - |
|
| 127 | -**核心原则**: |
|
| 27 | +### 4. 直接执行 ⭐ |
|
| 128 | 28 | - 能直接执行就不要经过中间文件 |
| 129 | 29 | - 链路越短,可靠性越高 |
| 130 | 30 | - 每一层依赖都可能失败 |
| 131 | 31 | |
| 132 | -**实践方法**: |
|
| 133 | -1. **优先直接调用工具**(不生成中间文件) |
|
| 134 | -2. **必须生成文件时,当场执行后续步骤** |
|
| 135 | -3. **不假设"生成文件 = 执行完成"** |
|
| 136 | -4. **端到端验证最终结果** |
|
| 137 | - |
|
| 138 | -**避免错误**: |
|
| 139 | -- ❌ 生成待同步文件后期望其他进程执行 |
|
| 140 | -- ❌ 依赖 heartbeat 执行关键任务 |
|
| 141 | -- ❌ 不验证同步结果 |
|
| 142 | -- ✅ 直接执行 + 当场验证 |
|
| 143 | - |
|
| 144 | -**教训来源**:2026-03-30 飞书文档格式退化问题 |
|
| 145 | -- daily_cron.sh 只生成 feishu_sync_pending.json,期望 heartbeat 执行同步 |
|
| 146 | -- 实际 heartbeat 从未调用 feishu_doc 工具 |
|
| 147 | -- 结果:飞书文档停留在 03-28,03-29/03-30 数据未同步 |
|
| 148 | -- 修复:修改 daily_cron.sh 直接调用 feishu_sync_fixed.py 执行同步 |
|
| 149 | - |
|
| 150 | -**核心改进**: |
|
| 151 | -- 不依赖中间文件传递数据,直接执行同步 |
|
| 152 | -- 兜底数据格式不能简化,必须保持完整结构 |
|
| 153 | -- 定期检查 API Key 配置状态 |
|
| 154 | - |
|
| 155 | -### 12. 主动问题发现原则(2026-03-31 新增)⭐⭐ |
|
| 156 | - |
|
| 157 | -**核心原则**: |
|
| 158 | -- 心跳检查不是机械执行,要主动思考异常情况 |
|
| 159 | -- 连续 N 天相同异常 → 创建任务调查 |
|
| 160 | -- 不等待问题暴露,主动预防 |
|
| 161 | -- 不满足于"有数据",追求"数据充足" |
|
| 162 | - |
|
| 163 | -**实践方法**: |
|
| 164 | -1. **心跳检查发现异常 → 记录到 task.md** |
|
| 165 | -2. **数据连续异常(≥3 天)→ 升级 P2 任务** |
|
| 166 | -3. **主动调查数据源,不猜测** |
|
| 167 | -4. **不机械回复"状态正常",主动汇报异常** |
|
| 168 | - |
|
| 169 | -**避免错误**: |
|
| 170 | -- ❌ 机械执行检查清单,不主动思考 |
|
| 171 | -- ❌ 认为"无 P1 任务 = 无待办" |
|
| 172 | -- ❌ 等待问题自行解决 |
|
| 173 | -- ❌ 认为"兜底数据也能用" |
|
| 174 | -- ✅ 主动调查,主动解决 |
|
| 175 | -- ✅ 连续异常自动升级 |
|
| 176 | - |
|
| 177 | -**教训来源**:2026-03-31 心跳检查经验 |
|
| 178 | -- 连续 4 天数据偏少(6 个 vs 正常 39 个) |
|
| 179 | -- 机械回复"状态正常,无待办" |
|
| 180 | -- Tavily API Key 配置拖延(03-28 发现,03-31 仍未配置) |
|
| 181 | -- 没有主动创建 P2 任务调查数据源问题 |
|
| 182 | - |
|
| 183 | -**核心改进**: |
|
| 184 | -- 心跳检查主动发现异常,不机械执行 |
|
| 185 | -- 连续 3 天数据异常 → 自动创建 P2 任务 |
|
| 186 | -- API Key 配置不拖延,立即执行 |
|
| 187 | -- 主动调查数据源,不猜测"可能是周末效应" |
|
| 188 | - |
|
| 189 | -### 13. 进化报告闭环原则(2026-04-01 新增,2026-04-02 强化)⭐⭐⭐ |
|
| 190 | - |
|
| 191 | -**核心原则**: |
|
| 192 | -- 进化报告不是仪式感,是改进起点 |
|
| 32 | +### 5. 进化报告闭环 ⭐⭐⭐ |
|
| 193 | 33 | - "明日计划"不写入 task.md = 没计划 |
| 194 | -- 次日必须验收昨日计划,不验收=没改进 |
|
| 195 | -- 同一问题连续 3 天出现 → 自我批评 |
|
| 196 | -- 连续 2 天 0% 完成率 → 橙色告警 |
|
| 197 | -- 连续 3 天 0% 完成率 → 红色告警 + 向用户坦白 |
|
| 198 | - |
|
| 199 | -**实践方法**: |
|
| 200 | -1. **进化报告中的计划 → 立即写入 task.md** |
|
| 201 | -2. **次日进化报告 → 首先验收昨日计划** |
|
| 202 | -3. **未完成 → 说明原因,升级优先级** |
|
| 203 | -4. **连续 3 天未完成 → 向用户坦白求助** |
|
| 204 | - |
|
| 205 | -**验收机制**: |
|
| 206 | -- 调用 evolution-report-validator 技能 |
|
| 207 | -- 读取昨日进化报告"明日计划" |
|
| 208 | -- 检查 task.md 对应任务状态 |
|
| 209 | -- 生成验收报告(完成/未完成/原因) |
|
| 210 | -- 计算完成率(完成数/计划数) |
|
| 211 | - |
|
| 212 | -**完成率告警**: |
|
| 213 | -| 连续天数 | 完成率 | 动作 | |
|
| 214 | -|----------|--------|------| |
|
| 215 | -| 1 天 | 0% | 黄色告警(进化报告标注) | |
|
| 216 | -| 2 天 | 0% | 橙色告警(飞书通知) | |
|
| 217 | -| 3 天 | 0% | 红色告警(向用户坦白) | |
|
| 218 | - |
|
| 219 | -**避免错误**: |
|
| 220 | -- ❌ 进化报告写完就结束 |
|
| 221 | -- ❌ 把"明日计划"当护身符 |
|
| 222 | -- ❌ 同一问题连续出现在报告中 |
|
| 223 | -- ❌ 连续 5 天数据异常未解决 |
|
| 224 | -- ❌ 连续 2 天 0% 完成率不告警 |
|
| 225 | -- ✅ 计划→执行→验收→改进 闭环 |
|
| 226 | -- ✅ 数据异常按规则自动升级 |
|
| 227 | - |
|
| 228 | -**教训来源**:2026-04-02 进化报告验收发现 |
|
| 229 | -- 03-31 进化报告列出 5 项"明日计划" → 04-01 全部未执行 |
|
| 230 | -- 04-01 进化报告列出 5 项"明日计划" → 04-02 全部未执行 |
|
| 231 | -- 连续 2 天 0% 完成率 |
|
| 232 | -- Tavily API Key 配置拖延 5 天(03-28 发现,04-02 仍未配置) |
|
| 233 | -- 数据源问题持续 6 天未解决(03-28 至 04-02) |
|
| 234 | -- 进化报告变成"写完就忘"的仪式感文档 |
|
| 235 | - |
|
| 236 | -**核心改进**: |
|
| 237 | -- 进化报告 → task.md → 验收 → 追踪 闭环 |
|
| 238 | -- evolution-report-validator 技能自动验收 |
|
| 239 | -- task-execution-tracker 技能追踪超期 |
|
| 240 | -- data-anomaly-escalator 技能自动升级 |
|
| 241 | -- 不再出现"同一问题连续多天出现在报告中" |
|
| 242 | - |
|
| 243 | -**核心教训**(一句话): |
|
| 244 | -- 进化报告不是仪式感,是改进起点 |
|
| 245 | -- "明日计划"不写入 task.md=没计划 |
|
| 246 | -- 次日不验收昨日计划=没改进 |
|
| 247 | -- 连续 2 天 0% 完成率=橙色告警 |
|
| 248 | -- 连续 3 天 0% 完成率=向用户坦白 |
|
| 249 | -- 连续 5 天数据异常未解决=严重失职 |
|
| 250 | - |
|
| 251 | -### 14. 任务执行追踪原则(2026-04-02 新增)⭐⭐⭐ |
|
| 252 | - |
|
| 253 | -**核心原则**: |
|
| 254 | -- P1 任务 24 小时内必须执行 |
|
| 255 | -- P2 任务 48 小时内必须执行 |
|
| 256 | -- 超期任务自动告警 |
|
| 257 | -- 连续 3 天 0% 完成率 → 向用户坦白求助 |
|
| 258 | - |
|
| 259 | -**实践方法**: |
|
| 260 | -1. **任务创建时**: |
|
| 261 | - - 明确优先级(P1/P2/P3) |
|
| 262 | - - 明确完成标准和时限 |
|
| 263 | - - 写入 task.md |
|
| 264 | - |
|
| 265 | -2. **任务执行时**: |
|
| 266 | - - P1 任务优先执行(24 小时内) |
|
| 267 | - - P2 任务按顺序执行(48 小时内) |
|
| 268 | - - 完成一项标注一项 |
|
| 269 | - |
|
| 270 | -3. **任务验收时**: |
|
| 271 | - - 每日进化报告验收昨日计划 |
|
| 272 | - - task-execution-tracker 技能检查超期 |
|
| 273 | - - 超期任务自动告警 |
|
| 274 | - |
|
| 275 | -**超期告警规则**: |
|
| 276 | -| 任务优先级 | 超期时间 | 动作 | |
|
| 277 | -|------------|----------|------| |
|
| 278 | -| P1 | 24 小时 | 黄色告警 | |
|
| 279 | -| P1 | 48 小时 | 橙色告警 | |
|
| 280 | -| P1 | 72 小时 | 红色告警 + 通知用户 | |
|
| 281 | -| P2 | 48 小时 | 黄色告警 | |
|
| 282 | -| P2 | 72 小时 | 橙色告警 | |
|
| 283 | -| P2 | 96 小时 | 红色告警 | |
|
| 284 | - |
|
| 285 | -**避免错误**: |
|
| 286 | -- ❌ P1 任务超 24 小时未执行 |
|
| 287 | -- ❌ 连续 2 天 0% 完成率 |
|
| 288 | -- ❌ 超期任务不告警 |
|
| 289 | -- ❌ 同一问题连续 3 天出现在报告中 |
|
| 290 | -- ✅ 任务→执行→验收→改进 闭环 |
|
| 291 | -- ✅ 超期任务自动告警 |
|
| 292 | - |
|
| 293 | -**教训来源**:2026-04-02 进化报告验收发现 |
|
| 294 | -- 连续 2 天 0% 完成率(03-31→04-01→04-02) |
|
| 295 | -- Tavily API Key 配置超期 4 天(P1 任务) |
|
| 296 | -- 进化报告验证器技能超期 1 天(P1 任务) |
|
| 297 | -- 数据异常连续 6 天未升级(违反原则) |
|
| 298 | - |
|
| 299 | -**核心改进**: |
|
| 300 | -- task-execution-tracker 技能自动追踪 |
|
| 301 | -- 超期任务自动告警(黄/橙/红) |
|
| 34 | +- 次日必须验收昨日计划,不验收 = 没改进 |
|
| 302 | 35 | - 连续 3 天 0% 完成率 → 向用户坦白 |
| 303 | -- 不再出现"写完就忘"的情况 |
|
| 304 | - |
|
| 305 | ---- |
|
| 306 | 36 | |
| 307 | -## 📝 Markdown 格式规则 |
|
| 308 | -- ⚠️ **模块之间必须有空行**(标题、列表、分隔符前都要有) |
|
| 309 | -- 正确:`列表项\n\n#### 标题` |
|
| 310 | -- 错误:`列表项\n#### 标题` |
|
| 37 | +### 6. 新技能使用原则 ⭐⭐⭐ |
|
| 38 | +- 技能创建后必须测试验证 + 配置自动触发 |
|
| 39 | +- 技能必须实际执行,不只是"文件存在" |
|
| 40 | +- 技能创建→文档更新→集成测试→自动触发→持续监控 |
|
| 311 | 41 | |
| 312 | 42 | --- |
| 313 | 43 | |
| 314 | -## 🧠 三层记忆法则(每日应用) |
|
| 44 | +## 🧠 三层记忆法则 |
|
| 315 | 45 | |
| 316 | 46 | ### 第 1 层 预防(写入时) |
| 317 | -- 完成任务后**立即**写入 `memory/YYYY-MM-DD.md` |
|
| 47 | +- 完成任务后立即写入 `memory/YYYY-MM-DD.md` |
|
| 318 | 48 | - 长期经验写入 `MEMORY.md` |
| 319 | -- **不等提醒,不等心跳** |
|
| 320 | 49 | |
| 321 | 50 | ### 第 2 层 侦测(恢复时) |
| 322 | -- **Session 开始前必做**: |
|
| 323 | - 1. 读取 `MEMORY.md`(长期记忆) |
|
| 324 | - 2. 读取 `memory/昨天.md` |
|
| 325 | - 3. 读取 `memory/今天.md` |
|
| 51 | +- Session 开始前读取:MEMORY.md + memory/昨天.md + memory/今天.md |
|
| 326 | 52 | |
| 327 | 53 | ### 第 3 层 兜底(执行时) |
| 328 | 54 | - 高风险操作前搜索记忆找约束 |
| ... | ... | @@ -330,160 +56,26 @@ |
| 330 | 56 | |
| 331 | 57 | --- |
| 332 | 58 | |
| 333 | -## 📋 旅行规划 SOP(严格执行) |
|
| 334 | - |
|
| 335 | -### 三套方案原则 |
|
| 336 | -- 🟢 **轻松版**:只覆盖必去景点 |
|
| 337 | -- 🟡 **标准版**:必去 + 部分备选 |
|
| 338 | -- 🔴 **紧凑版**:必去 + 更多备选 |
|
| 339 | -- **天数相同**:以轻松版确定天数 |
|
| 340 | - |
|
| 341 | -### Wiki 更新规范 |
|
| 342 | -1. 创建/修改规划文件 |
|
| 343 | -2. **更新 Home.md"最近更新"**(时间精确到分钟:`YYYY-MM-DD HH:MM`) |
|
| 344 | -3. `git add . && git commit && git push` |
|
| 345 | -4. **验证同步成功** |
|
| 346 | - |
|
| 347 | ---- |
|
| 348 | - |
|
| 349 | 59 | ## 👤 用户核心偏好 |
| 350 | 60 | |
| 351 | 61 | | 偏好 | 说明 | |
| 352 | 62 | |------|------| |
| 353 | -| 出行人数 | **3-4 人**(一家三口或四口,不是 2 人) | |
|
| 354 | -| 交通 | 公共交通/高铁,**不自驾**(家人晕车) | |
|
| 355 | -| 住宿 | 舒适型(全季/桔子水晶/美居),**必须有亲子房** | |
|
| 356 | -| 景点 | 历史人文/古建筑/博物馆,**不喜欢商业化/仿古建筑** | |
|
| 63 | +| 出行人数 | **3-4 人**(一家三口或四口) | |
|
| 64 | +| 交通 | 公共交通/高铁,**不自驾** | |
|
| 65 | +| 住宿 | 舒适型(全季),**必须有亲子房** | |
|
| 66 | +| 景点 | 历史人文/古建筑/博物馆,**不喜欢仿古建筑** | |
|
| 357 | 67 | | 节奏 | 轻松休闲,8:00 起床,21:00 前回酒店 | |
| 358 | 68 | |
| 359 | 69 | --- |
| 360 | 70 | |
| 361 | -### 15. 新技能使用原则(2026-04-04 新增,2026-04-06 强化)⭐⭐⭐ |
|
| 362 | - |
|
| 363 | -**核心原则**: |
|
| 364 | -- 技能创建后必须立即更新配置文件 |
|
| 365 | -- 新技能必须集成到 SOP 中 |
|
| 366 | -- 技能必须实际执行,不只是"文件存在" |
|
| 367 | -- 技能创建后必须测试验证(不测试=没创建) |
|
| 368 | - |
|
| 369 | -**实践方法**: |
|
| 370 | -1. **技能创建时**: |
|
| 371 | - - 同时更新 AGENTS.md/SOUL.md/TOOLS.md |
|
| 372 | - - 明确调用时机和集成方式 |
|
| 373 | - - **手动测试一次验证正常工作** |
|
| 374 | - - 配置自动触发机制(cron/heartbeat) |
|
| 375 | - |
|
| 376 | -2. **技能使用时**: |
|
| 377 | - - 按 SOP 自动调用 |
|
| 378 | - - 检查结果是否合理 |
|
| 379 | - - 异常时立即调查 |
|
| 380 | - |
|
| 381 | -3. **技能维护时**: |
|
| 382 | - - 定期检查技能是否仍在执行 |
|
| 383 | - - 数据异常时检查技能是否正常工作 |
|
| 384 | - - 技能失效时立即修复 |
|
| 385 | - |
|
| 386 | -**避免错误**: |
|
| 387 | -- ❌ 技能创建了但不更新配置文件 |
|
| 388 | -- ❌ 技能集成了但不实际执行 |
|
| 389 | -- ❌ 技能执行了但不检查结果 |
|
| 390 | -- ❌ 技能创建了但不测试验证 |
|
| 391 | -- ❌ 技能测试了但不配置自动触发 |
|
| 392 | -- ✅ 技能创建→文档更新→集成测试→自动触发→持续监控 闭环 |
|
| 393 | - |
|
| 394 | -**教训来源**: |
|
| 395 | -1. 2026-04-04 进化报告验收发现: |
|
| 396 | - - 04-03 创建了 3 个技能(evolution-report-validator、data-anomaly-escalator、task-execution-tracker) |
|
| 397 | - - 但配置文件(AGENTS.md/SOUL.md/TOOLS.md)从未更新 |
|
| 398 | - - 新技能没有集成到 SOP 中 |
|
| 399 | - - data-anomaly-escalator 创建了但未实际执行(连续 7 天数据异常未发送飞书通知) |
|
| 400 | - - 技能停留在"文件存在",没有"实际运行" |
|
| 401 | - |
|
| 402 | -2. 2026-04-05 进化报告验收发现: |
|
| 403 | - - 配置文件已更新(04-04),但技能从未测试验证 |
|
| 404 | - - evolution-report-validator/data-anomaly-escalator/task-execution-tracker 未实际调用 |
|
| 405 | - - 连续 2 天 P1 任务超期(配置文件更新/数据调查/技能测试) |
|
| 406 | - - 技能创建≠问题解决,必须测试验证并集成到 SOP |
|
| 407 | - |
|
| 408 | -3. **2026-04-06 进化报告验收发现(严重)**: |
|
| 409 | - - 配置文件已更新(04-04),但技能从未测试验证 |
|
| 410 | - - 连续 3 天 P1 任务超期(配置文件更新/数据调查/技能测试) |
|
| 411 | - - 任务执行率连续 2 天 0%(04-05: 0/7, 04-06: 0/7) |
|
| 412 | - - task-execution-tracker 技能未集成,执行率 0% 未触发告警 |
|
| 413 | - - data-anomaly-escalator 技能未集成,连续 9 天数据异常未升级 |
|
| 414 | - - evolution-report-validator 技能未集成,验收机制实际没有生效 |
|
| 415 | - - **系统自我改进能力实际为 0** |
|
| 416 | - |
|
| 417 | -**核心改进**: |
|
| 418 | -- 技能创建后必须立即更新配置文件 |
|
| 419 | -- 新技能必须集成到 SOP 中 |
|
| 420 | -- 技能必须实际执行,不只是"文件存在" |
|
| 421 | -- 技能创建后必须手动测试验证 |
|
| 422 | -- **技能必须配置自动触发机制**(新增) |
|
| 423 | -- **执行率<20% 必须触发红色告警**(新增) |
|
| 424 | -- 不再出现"技能创建了但没用上"的情况 |
|
| 425 | - |
|
| 426 | -**核心教训**(一句话): |
|
| 427 | -- 技能创建≠技能可用,必须测试验证 + 配置自动触发 |
|
| 428 | -- 配置文件更新≠技能集成,必须实际调用 |
|
| 429 | -- 连续 3 天 0% 执行率反映系统自我改进能力为 0 |
|
| 430 | -- 必须将技能集成到 cron/heartbeat,确保自动执行 |
|
| 431 | - |
|
| 432 | ---- |
|
| 433 | - |
|
| 434 | 71 | ## 📝 Markdown 格式规则 |
| 435 | -- ⚠️ **模块之间必须有空行**(标题、列表、分隔符前都要有) |
|
| 436 | -- 正确:`列表项\n\n#### 标题` |
|
| 437 | -- 错误:`列表项\n#### 标题` |
|
| 438 | - |
|
| 439 | ---- |
|
| 440 | - |
|
| 441 | -## 🧠 三层记忆法则(每日应用) |
|
| 442 | - |
|
| 443 | -### 第 1 层 预防(写入时) |
|
| 444 | -- 完成任务后**立即**写入 `memory/YYYY-MM-DD.md` |
|
| 445 | -- 长期经验写入 `MEMORY.md` |
|
| 446 | -- **不等提醒,不等心跳** |
|
| 447 | - |
|
| 448 | -### 第 2 层 侦测(恢复时) |
|
| 449 | -- **Session 开始前必做**: |
|
| 450 | - 1. 读取 `MEMORY.md`(长期记忆) |
|
| 451 | - 2. 读取 `memory/昨天.md` |
|
| 452 | - 3. 读取 `memory/今天.md` |
|
| 453 | - |
|
| 454 | -### 第 3 层 兜底(执行时) |
|
| 455 | -- 高风险操作前搜索记忆找约束 |
|
| 456 | -- 不可逆操作前当场确认 |
|
| 457 | 72 | |
| 458 | ---- |
|
| 459 | - |
|
| 460 | -## 📋 旅行规划 SOP(严格执行) |
|
| 461 | - |
|
| 462 | -### 三套方案原则 |
|
| 463 | -- 🟢 **轻松版**:只覆盖必去景点 |
|
| 464 | -- 🟡 **标准版**:必去 + 部分备选 |
|
| 465 | -- 🔴 **紧凑版**:必去 + 更多备选 |
|
| 466 | -- **天数相同**:以轻松版确定天数 |
|
| 467 | - |
|
| 468 | -### Wiki 更新规范 |
|
| 469 | -1. 创建/修改规划文件 |
|
| 470 | -2. **更新 Home.md"最近更新"**(时间精确到分钟:`YYYY-MM-DD HH:MM`) |
|
| 471 | -3. `git add . && git commit && git push` |
|
| 472 | -4. **验证同步成功** |
|
| 473 | - |
|
| 474 | ---- |
|
| 475 | - |
|
| 476 | -## 👤 用户核心偏好 |
|
| 477 | - |
|
| 478 | -| 偏好 | 说明 | |
|
| 479 | -|------|------| |
|
| 480 | -| 出行人数 | **3-4 人**(一家三口或四口,不是 2 人) | |
|
| 481 | -| 交通 | 公共交通/高铁,**不自驾**(家人晕车) | |
|
| 482 | -| 住宿 | 舒适型(全季/桔子水晶/美居),**必须有亲子房** | |
|
| 483 | -| 景点 | 历史人文/古建筑/博物馆,**不喜欢商业化/仿古建筑** | |
|
| 484 | -| 节奏 | 轻松休闲,8:00 起床,21:00 前回酒店 | |
|
| 73 | +- 模块之间必须有空行 |
|
| 74 | +- 表格前后必须有空行 |
|
| 75 | +- 单元格内换行用 `<br>` |
|
| 76 | +- 子目录页面面包屑用 HTML 绝对路径 |
|
| 485 | 77 | |
| 486 | 78 | --- |
| 487 | 79 | |
| 488 | -*最后更新:2026-04-06 19:25(强调自动触发配置,0% 执行率严重性)* |
|
| 80 | +*最后更新:2026-04-11(按设计原则精简)* |
|
| 489 | 81 | *维护者:Travel Agent* |
TOOLS.md
| ... | ... | @@ -1,598 +1,74 @@ |
| 1 | 1 | # TOOLS.md - Travel Agent 工具配置 |
| 2 | 2 | |
| 3 | -> **核心配置共享主 Agent:** `/root/.openclaw/workspace/TOOLS.md` |
|
| 4 | -> **爬取规则:** `/root/.openclaw/workspace/CRAWLING_RULES.md` |
|
| 5 | -> **最后更新:** 2026-03-12 19:00 |
|
| 3 | +> **共享配置**:`/root/.openclaw/workspace/TOOLS.md` |
|
| 4 | +> **爬取规则**:`/root/.openclaw/workspace/CRAWLING_RULES.md` |
|
| 6 | 5 | |
| 7 | 6 | --- |
| 8 | 7 | |
| 9 | -## 🎯 Travel Agent 专属工具 |
|
| 8 | +## 🔑 API 配置 |
|
| 10 | 9 | |
| 11 | -### 省份调研 Skill |
|
| 12 | -- **路径:** `skills/province-travel-research/` |
|
| 13 | -- **功能:** 自动调研省份景点、生成 Wiki 页面 |
|
| 14 | -- **使用:** 调用 `province-travel-research` skill |
|
| 15 | - |
|
| 16 | -### 国保单位数据源 |
|
| 17 | - |
|
| 18 | -**数据可靠性等级:** |
|
| 19 | -- ⭐⭐⭐ **政府官网**(最权威) |
|
| 20 | -- ⭐⭐ **国家文物局 PDF**(官方) |
|
| 21 | -- ⭐ **百度百科**(需交叉验证) |
|
| 22 | - |
|
| 23 | -| 批次 | 官方链接 | 可靠性 | |
|
| 24 | -|------|---------|--------| |
|
| 25 | -| 第五批 | https://www.gov.cn/gongbao/content/2001/content_60955.htm | ⭐⭐⭐ | |
|
| 26 | -| 第六批 | https://www.gov.cn/zwgk/2006-06/02/content_297818.htm | ⭐⭐⭐ | |
|
| 27 | -| 第七批 | http://www.ncha.gov.cn/module/download/downfile.jsp?classid=0&filename=1406261621052128423.pdf | ⭐⭐ | |
|
| 28 | -| 第八批 | https://www.gov.cn/gongbao/content/2019/content_5445749.htm | ⭐⭐⭐ | |
|
| 29 | - |
|
| 30 | ---- |
|
| 31 | - |
|
| 32 | -## 📍 当前状态 |
|
| 10 | +### Tavily API |
|
| 11 | +- **环境变量**:`TAVILY_API_KEY` |
|
| 12 | +- **配置位置**:`~/.bashrc`(cron 需显式 source) |
|
| 13 | +- **用途**:实时搜索(国保开放情况核实) |
|
| 33 | 14 | |
| 34 | 15 | ### 小红书 MCP |
| 35 | -- **状态:** ⚠️ Cookie 过期 |
|
| 36 | -- **影响:** 无法核实国保单位开放情况 |
|
| 37 | -- **解决方案:** 需要用户重新登录 |
|
| 38 | - |
|
| 39 | -### 已完成省份 |
|
| 40 | -- ✅ 河南(972 处国保) |
|
| 41 | -- ✅ 山东(250 处国保,100% 开放) |
|
| 42 | -- 🔄 陕西(西安市 53/53,宝鸡市 30/37 卡住) |
|
| 16 | +- **状态**:⚠️ Cookie 过期(需用户重新登录) |
|
| 17 | +- **用途**:国保单位开放情况核实 |
|
| 43 | 18 | |
| 44 | 19 | --- |
| 45 | 20 | |
| 46 | -## 📝 工作规范 |
|
| 21 | +## 📊 数据源可靠性 |
|
| 47 | 22 | |
| 48 | -### 国保单位调研流程 |
|
| 49 | -1. **读取数据源** → 从官方名录获取完整清单 |
|
| 50 | -2. **小红书核实** → 使用 MCP 搜索开放情况 |
|
| 51 | -3. **交叉验证** → 笔记数 ≥ 5 篇视为开放 |
|
| 52 | -4. **更新 Wiki** → 写入 `wiki/[省份]/国保单位开放情况.md` |
|
| 53 | - |
|
| 54 | -### 爬取注意事项 |
|
| 55 | -- **小红书:** 必须通过 MCP 工具,遵守 8-12 秒间隔 |
|
| 56 | -- **百度百科:** 使用 Python Playwright,间隔 8-12 秒 |
|
| 57 | -- **政府官网:** 间隔 2-3 秒即可 |
|
| 58 | -- **实时搜索:** 推荐 `tavily-search`(需 API key) |
|
| 23 | +| 来源 | 可靠性 | 用途 | |
|
| 24 | +|------|--------|------| |
|
| 25 | +| 政府官网 | ⭐⭐⭐ | 国保名录 | |
|
| 26 | +| 国家文物局 PDF | ⭐⭐ | 国保名录 | |
|
| 27 | +| 小红书 | ⭐⭐⭐ | 开放情况核实 | |
|
| 28 | +| Tavily 搜索 | ⭐⭐ | 开放情况核实(备选) | |
|
| 59 | 29 | |
| 60 | 30 | --- |
| 61 | 31 | |
| 62 | -## 📊 每日进化报告技能(2026-03-23 新增) |
|
| 63 | - |
|
| 64 | -**路径**:`skills/daily-evolution-report/` |
|
| 32 | +## 🤖 核心技能清单 |
|
| 65 | 33 | |
| 66 | -**功能**:自动生成每日进化报告 |
|
| 34 | +### 进化报告闭环 |
|
| 35 | +- `evolution-report-validator` - 验收昨日计划 |
|
| 36 | +- `task-execution-tracker` - 追踪超期任务 |
|
| 37 | +- `data-anomaly-escalator` - 数据异常升级 |
|
| 67 | 38 | |
| 68 | -**配置**: |
|
| 69 | -- **Cron**:`30 23 * * *`(每日 23:30) |
|
| 70 | -- **输出**:`memory/daily-evolution-YYYY-MM-DD.md` |
|
| 71 | -- **更新**:USER.md/AGENTS.md/TOOLS.md/SOUL.md(按需) |
|
| 39 | +### 自动任务监控 |
|
| 40 | +- `exhibition-crawler` - 北京展览爬取 |
|
| 41 | +- `feishu-sync-direct` - 飞书直接同步 |
|
| 72 | 42 | |
| 73 | -**核心技能**: |
|
| 74 | -1. **daily-evolution-report** - 每日进化报告生成器 |
|
| 75 | -2. **memory-validator** - 记忆完整性检查器 |
|
| 76 | -3. **subagent-auditor** - Sub-agent 输出审计器 |
|
| 43 | +### 旅行规划 |
|
| 44 | +- `trip-planning` - 三套方案生成 |
|
| 45 | +- `wiki-province-template` - 省份页面模板 |
|
| 46 | +- `12306-train-query` - 高铁车次查询 |
|
| 77 | 47 | |
| 78 | 48 | --- |
| 79 | 49 | |
| 80 | -## 📋 任务执行追踪技能(2026-04-02 新增)⭐⭐⭐ |
|
| 81 | - |
|
| 82 | -**背景**:04-01/04-02 连续 2 天 0% 完成率,进化报告变成"写完就忘"的仪式感文档。需要任务执行追踪机制,超期任务自动告警。 |
|
| 83 | - |
|
| 84 | -### task-execution-tracker(任务执行追踪器)⭐ 新建 |
|
| 85 | - |
|
| 86 | -**路径**:`skills/task-execution-tracker/` |
|
| 87 | - |
|
| 88 | -**功能**:追踪 task.md 任务执行情况,超期任务告警,执行率告警 |
|
| 89 | - |
|
| 90 | -**核心能力**: |
|
| 91 | -1. 读取 task.md 所有任务 |
|
| 92 | -2. 检查任务创建时间和状态 |
|
| 93 | -3. P1 任务超过 24 小时未执行 → 告警 |
|
| 94 | -4. P2 任务超过 48 小时未执行 → 告警 |
|
| 95 | -5. 生成任务执行报告(完成率、超期率) |
|
| 96 | -6. **执行率告警**(2026-04-06 新增): |
|
| 97 | - - 执行率 < 50% → 橙色告警(飞书通知) |
|
| 98 | - - 执行率 < 20% → 红色告警(飞书通知 + 升级 P1) |
|
| 99 | - - 连续 2 天执行率 < 20% → 紧急告警(用户介入) |
|
| 100 | - |
|
| 101 | -**告警规则**: |
|
| 102 | -| 任务优先级 | 超期时间 | 动作 | |
|
| 103 | -|------------|----------|------| |
|
| 104 | -| P1 | 24 小时 | 黄色告警 | |
|
| 105 | -| P1 | 48 小时 | 橙色告警 | |
|
| 106 | -| P1 | 72 小时 | 红色告警 + 通知用户 | |
|
| 107 | -| P2 | 48 小时 | 黄色告警 | |
|
| 108 | -| P2 | 72 小时 | 橙色告警 | |
|
| 109 | -| P2 | 96 小时 | 红色告警 | |
|
| 110 | - |
|
| 111 | -**执行率告警规则**(2026-04-06 新增): |
|
| 112 | -| 执行率 | 动作 | |
|
| 113 | -|--------|------| |
|
| 114 | -| < 50% | 橙色告警(飞书通知) | |
|
| 115 | -| < 20% | 红色告警(飞书通知 + 升级 P1) | |
|
| 116 | -| 连续 2 天 < 20% | 紧急告警(用户介入) | |
|
| 117 | - |
|
| 118 | -**使用场景**: |
|
| 119 | -- 每日进化报告启动时(首先执行) |
|
| 120 | -- 检查任务超期情况 |
|
| 121 | -- 生成"任务执行统计"章节 |
|
| 122 | -- 执行率异常时自动告警 |
|
| 123 | - |
|
| 124 | -### evolution-report-validator(进化报告验证器)⭐ 新建 |
|
| 50 | +## 📍 文件位置 |
|
| 125 | 51 | |
| 126 | -**路径**:`skills/evolution-report-validator/` |
|
| 127 | - |
|
| 128 | -**功能**:验证进化报告中的"明日计划"是否写入 task.md 并跟踪执行 |
|
| 129 | - |
|
| 130 | -**核心能力**: |
|
| 131 | -1. 读取昨日进化报告,提取"明日计划" |
|
| 132 | -2. 检查 task.md 是否有对应任务 |
|
| 133 | -3. 检查任务是否完成 |
|
| 134 | -4. 未完成 → 标注原因,升级优先级 |
|
| 135 | -5. 生成验收报告(完成率统计) |
|
| 136 | - |
|
| 137 | -**使用场景**: |
|
| 138 | -- 每日进化报告启动时(首先执行) |
|
| 139 | -- 验收昨日计划完成情况 |
|
| 140 | -- 生成"昨日计划执行情况"章节 |
|
| 141 | - |
|
| 142 | -### data-anomaly-escalator(数据异常升级器)⭐ 新建 |
|
| 143 | - |
|
| 144 | -**路径**:`skills/data-anomaly-escalator/` |
|
| 145 | - |
|
| 146 | -**功能**:监控自动任务数据异常,按规则自动升级任务优先级 |
|
| 147 | - |
|
| 148 | -**核心能力**: |
|
| 149 | -1. 读取历史数据(daily_stats.json) |
|
| 150 | -2. 检测异常天数(连续 N 天) |
|
| 151 | -3. 按规则升级(3 天 P2 → 5 天 P1 → 7 天紧急) |
|
| 152 | -4. 创建/更新 task.md 任务 |
|
| 153 | -5. 发送告警通知(如升级 P1) |
|
| 154 | - |
|
| 155 | -**升级规则**: |
|
| 156 | -| 连续天数 | 动作 | 通知 | |
|
| 157 | -|----------|------|------| |
|
| 158 | -| 1-2 天 | 记录日志 | 无 | |
|
| 159 | -| 3-4 天 | 创建 P2 任务 | 无 | |
|
| 160 | -| 5-7 天 | 升级为 P1 任务 | 飞书通知 | |
|
| 161 | -| 8+ 天 | 紧急告警 | 飞书 + 进化报告专项 | |
|
| 162 | - |
|
| 163 | -**使用场景**: |
|
| 164 | -- 北京展览数据异常监控 |
|
| 165 | -- 其他自动任务数据监控 |
|
| 166 | -- 连续异常自动升级 |
|
| 52 | +| 文件 | 路径 | |
|
| 53 | +|------|------| |
|
| 54 | +| 北京展览数据 | `beijing-exhibitions/data/exhibitions.json` | |
|
| 55 | +| 每日统计 | `beijing-exhibitions/data/daily_stats.json` | |
|
| 56 | +| 通知标记 | `beijing-exhibitions/notification_pending.json` | |
|
| 57 | +| 任务清单 | `task.md` | |
|
| 58 | +| 记忆日志 | `memory/YYYY-MM-DD.md` | |
|
| 167 | 59 | |
| 168 | 60 | --- |
| 169 | 61 | |
| 170 | -## 🤖 自动任务监控技能(2026-03-28 新增)⭐ |
|
| 171 | - |
|
| 172 | -**背景**:北京展览爬取系统失效 10 天无人知晓,需要监控机制 |
|
| 173 | - |
|
| 174 | -### auto-task-monitor(自动任务监控器) |
|
| 175 | - |
|
| 176 | -**路径**:`skills/auto-task-monitor/` |
|
| 177 | - |
|
| 178 | -**功能**:监控所有 cron 自动任务的执行质量 |
|
| 179 | - |
|
| 180 | -**核心能力**: |
|
| 181 | -1. 数据量异常检测(< 阈值告警) |
|
| 182 | -2. 数据重复检测(与昨日相同告警) |
|
| 183 | -3. 同步状态验证(飞书/其他渠道) |
|
| 184 | -4. 记忆写入验证(不硬编码) |
|
| 185 | - |
|
| 186 | -**触发条件**: |
|
| 187 | -- 每日 cron 任务完成后自动执行 |
|
| 188 | -- 发现异常时写入告警记忆 + 发送通知 |
|
| 189 | - |
|
| 190 | -**配置**: |
|
| 191 | -- 数据量阈值:5 条(基础阈值) |
|
| 192 | -- 告警渠道:记忆日志 + 飞书通知 |
|
| 193 | - |
|
| 194 | -### feishu-sync-executor(飞书同步执行器) |
|
| 195 | - |
|
| 196 | -**路径**:`skills/feishu-sync-executor/` |
|
| 197 | - |
|
| 198 | -**功能**:实际执行飞书文档同步(不是只生成文件) |
|
| 199 | - |
|
| 200 | -**核心能力**: |
|
| 201 | -1. 读取待同步文件(JSON 格式) |
|
| 202 | -2. 调用 feishu_doc 工具执行同步 |
|
| 203 | -3. 验证同步结果(blocks_added > 0) |
|
| 204 | -4. 写入同步状态到记忆 |
|
| 205 | -5. 失败时发送告警通知 |
|
| 206 | - |
|
| 207 | -**使用场景**: |
|
| 208 | -- 北京展览每日同步 |
|
| 209 | -- 其他需要飞书同步的自动任务 |
|
| 210 | - |
|
| 211 | ---- |
|
| 212 | - |
|
| 213 | -## 📈 数据基线监控技能(2026-03-29 新增)⭐⭐ |
|
| 214 | - |
|
| 215 | -**背景**:固定阈值告警不灵敏(6 条数据未触发告警但明显异常),需要动态阈值 |
|
| 216 | - |
|
| 217 | -### data-baseline-monitor(数据基线监控器)⭐ 新建 |
|
| 218 | - |
|
| 219 | -**路径**:`skills/data-baseline-monitor/` |
|
| 220 | - |
|
| 221 | -**功能**:建立和维护数据基线,支持动态告警 |
|
| 222 | - |
|
| 223 | -**核心能力**: |
|
| 224 | -1. 记录每日数据量(时间、数量、数据源、是否周末) |
|
| 225 | -2. 计算滚动平均值(7 天/30 天) |
|
| 226 | -3. 计算标准差,识别异常值 |
|
| 227 | -4. 区分工作日/周末模式 |
|
| 228 | -5. 提供阈值建议 |
|
| 229 | - |
|
| 230 | -**输出**: |
|
| 231 | -- `daily_stats.json` - 每日数据记录 |
|
| 232 | -- `baseline_report.md` - 基线分析报告(每周生成) |
|
| 233 | - |
|
| 234 | -**配置**: |
|
| 235 | -- 数据记录:`beijing-exhibitions/data/daily_stats.json` |
|
| 236 | -- 滚动窗口:7 天/30 天 |
|
| 237 | -- 周末识别:自动(周六/周日) |
|
| 238 | - |
|
| 239 | -### trend-anomaly-detector(趋势异常检测器)⭐ 新建 |
|
| 240 | - |
|
| 241 | -**路径**:`skills/trend-anomaly-detector/` |
|
| 242 | - |
|
| 243 | -**功能**:检测数据趋势异常(连续下降、骤降、周期性波动) |
|
| 244 | - |
|
| 245 | -**核心能力**: |
|
| 246 | -1. 连续 N 天下降检测 |
|
| 247 | -2. 单日骤降检测(>50%) |
|
| 248 | -3. 周期性波动识别(周末效应、月度效应) |
|
| 249 | -4. 长期趋势分析(上升/下降/平稳) |
|
| 250 | - |
|
| 251 | -**告警类型**: |
|
| 252 | -- ⚠️ 黄色告警:单日骤降(可能正常波动) |
|
| 253 | -- ⚠️⚠️ 橙色告警:连续 3 天下降(需要关注) |
|
| 254 | -- ⚠️⚠️⚠️ 红色告警:连续 5 天下降(需要干预) |
|
| 255 | - |
|
| 256 | -**配置**: |
|
| 257 | -- 骤降阈值:50%(与昨日对比) |
|
| 258 | -- 连续下降:3 天(橙色)、5 天(红色) |
|
| 259 | - |
|
| 260 | -### exhibition-crawler-v3(展览爬虫增强版)⭐ 增强 |
|
| 261 | - |
|
| 262 | -**路径**:`skills/exhibition-crawler-v3/`(基于 exhibition-crawler 升级) |
|
| 263 | - |
|
| 264 | -**新增功能**: |
|
| 265 | -1. 动态阈值计算(基于历史数据) |
|
| 266 | -2. 变化率检测(与昨日对比减少>50% 告警) |
|
| 267 | -3. 周末模式标识(自动识别,阈值降低) |
|
| 268 | -4. 数据基线记录(写入 daily_stats.json) |
|
| 269 | - |
|
| 270 | -**告警策略**: |
|
| 271 | -| 模式 | 绝对阈值 | 变化率阈值 | 说明 | |
|
| 272 | -|------|---------|-----------|------| |
|
| 273 | -| 工作日 | < 10 条 | 比昨日减少>50% | 正常更新频率 | |
|
| 274 | -| 周末 | < 5 条 | 比昨日减少>70% | 更新频率降低 | |
|
| 275 | - |
|
| 276 | ---- |
|
| 277 | - |
|
| 278 | -## 📬 飞书同步与 API 监控技能(2026-03-30 新增)⭐ |
|
| 279 | - |
|
| 280 | -**背景**:飞书同步依赖中间文件导致数据积压未同步,需要直接执行机制 |
|
| 281 | - |
|
| 282 | -### feishu-sync-direct(飞书直接同步器)⭐ 新建 |
|
| 283 | - |
|
| 284 | -**路径**:`skills/feishu-sync-direct/` |
|
| 285 | - |
|
| 286 | -**功能**:直接执行飞书文档同步,不依赖中间文件 |
|
| 287 | - |
|
| 288 | -**核心能力**: |
|
| 289 | -1. 读取爬取数据(JSON 格式) |
|
| 290 | -2. 调用 feishu_doc 工具执行同步 |
|
| 291 | -3. 验证同步结果(blocks_added > 0) |
|
| 292 | -4. 同步失败时发送告警 |
|
| 293 | - |
|
| 294 | -**输入**: |
|
| 295 | -- 数据文件:`beijing-exhibitions/data/exhibitions.json` |
|
| 296 | -- 飞书文档 URL:`https://feishu.cn/docx/IIpVd0zDZoJgSSxPdsXc0DzHneh` |
|
| 297 | - |
|
| 298 | -**输出**: |
|
| 299 | -- 同步结果:成功/失败 |
|
| 300 | -- 新增 blocks 数量 |
|
| 301 | -- 失败原因(如有) |
|
| 302 | - |
|
| 303 | -**使用场景**: |
|
| 304 | -- 北京展览每日同步(cron 直接调用) |
|
| 305 | -- 其他需要飞书同步的自动任务 |
|
| 306 | - |
|
| 307 | -### api-key-monitor(API Key 监控器)⭐ 新建 |
|
| 62 | +## 📋 Cron 配置 |
|
| 308 | 63 | |
| 309 | -**路径**:`skills/api-key-monitor/` |
|
| 64 | +```bash |
|
| 65 | +# 每日 9:00 北京展览爬取 |
|
| 66 | +0 9 * * * source ~/.bashrc && /root/.openclaw/workspace/travel/beijing-exhibitions/scripts/daily_cron.sh |
|
| 310 | 67 | |
| 311 | -**功能**:定期检查 API Key 配置状态和有效性 |
|
| 312 | - |
|
| 313 | -**核心能力**: |
|
| 314 | -1. 检查 API Key 是否配置(环境变量) |
|
| 315 | -2. 检查 API Key 是否有效(调用测试接口) |
|
| 316 | -3. 定期检查(如每周一次) |
|
| 317 | -4. 失效时发送告警 |
|
| 318 | - |
|
| 319 | -**监控的 API Key**: |
|
| 320 | -- TAVILY_API_KEY(Tavily 搜索) |
|
| 321 | -- 小红书 Cookie(小红书 MCP) |
|
| 322 | -- 其他第三方 API |
|
| 323 | - |
|
| 324 | -**告警渠道**: |
|
| 325 | -- 记忆日志(⚠️标注警告) |
|
| 326 | -- 通知标记文件(notification_pending.json) |
|
| 327 | -- 飞书消息 |
|
| 328 | - |
|
| 329 | -**配置**: |
|
| 330 | -- 检查频率:每周一次(周日 23:00) |
|
| 331 | -- 测试方法:调用 API 测试接口 |
|
| 332 | -- 失效判定:返回错误或超时 |
|
| 333 | - |
|
| 334 | -### exhibition-crawler-v4(展览爬虫直接同步版)⭐ 增强 |
|
| 335 | - |
|
| 336 | -**路径**:`skills/exhibition-crawler-v4/`(基于 exhibition-crawler-v3 升级) |
|
| 337 | - |
|
| 338 | -**新增功能**: |
|
| 339 | -1. 直接执行飞书同步(不依赖中间文件) |
|
| 340 | -2. 兜底数据格式保持完整(表格/票价/展厅/展期) |
|
| 341 | -3. API Key 配置检查(启动时验证) |
|
| 342 | -4. 同步结果当场验证(blocks_added > 0) |
|
| 343 | - |
|
| 344 | -**同步机制**: |
|
| 345 | -- ✅ 直接执行飞书同步(不依赖中间文件) |
|
| 346 | -- ✅ 同步结果当场验证(blocks_added > 0) |
|
| 347 | -- ❌ 禁止:生成待同步文件后期望其他进程执行 |
|
| 348 | - |
|
| 349 | -**数据格式**: |
|
| 350 | -- ✅ 主方案和兜底方案格式一致 |
|
| 351 | -- ✅ 必须包含:表格/票价/展厅/展期/描述 |
|
| 352 | -- ❌ 禁止:简化兜底数据格式 |
|
| 353 | - |
|
| 354 | -**API Key 检查**: |
|
| 355 | -- ✅ 脚本启动时检查 API Key 配置 |
|
| 356 | -- ✅ 未配置时明确报错(不静默降级) |
|
| 357 | -- ❌ 禁止:静默失败使用兜底数据 |
|
| 358 | - |
|
| 359 | ---- |
|
| 360 | - |
|
| 361 | -## 💓 心跳通知处理技能(2026-03-31 新增)⭐ |
|
| 362 | - |
|
| 363 | -**背景**:心跳检查发现通知标记文件需要处理,需要标准化流程 |
|
| 364 | - |
|
| 365 | -### heartbeat-notification-handler(心跳通知处理器)⭐ 新建 |
|
| 366 | - |
|
| 367 | -**路径**:`skills/heartbeat-notification-handler/` |
|
| 368 | - |
|
| 369 | -**功能**:处理心跳检查时发现的通知标记文件 |
|
| 370 | - |
|
| 371 | -**核心能力**: |
|
| 372 | -1. 检查 notification_pending.json 是否存在 |
|
| 373 | -2. 读取消息内容 |
|
| 374 | -3. 通过飞书发送给用户 |
|
| 375 | -4. 删除标记文件 |
|
| 376 | -5. 记录发送日志 |
|
| 377 | - |
|
| 378 | -**输入**: |
|
| 379 | -- 通知标记文件路径:`beijing-exhibitions/notification_pending.json` |
|
| 380 | -- 飞书文档 URL(用于验证) |
|
| 381 | - |
|
| 382 | -**输出**: |
|
| 383 | -- 发送状态:成功/失败 |
|
| 384 | -- 消息 ID(用于追踪) |
|
| 385 | -- 发送日志:`memory/heartbeat_notification.log` |
|
| 386 | - |
|
| 387 | -**处理流程**: |
|
| 388 | -``` |
|
| 389 | -检查文件是否存在 |
|
| 390 | - ↓ |
|
| 391 | -文件存在 → 读取 JSON 内容 |
|
| 392 | - ↓ |
|
| 393 | -通过飞书发送消息 |
|
| 394 | - ↓ |
|
| 395 | -删除标记文件 |
|
| 396 | - ↓ |
|
| 397 | -记录发送日志 |
|
| 398 | -``` |
|
| 399 | - |
|
| 400 | -**使用场景**: |
|
| 401 | -- 心跳检查发现通知标记文件 |
|
| 402 | -- 北京展览每日通知发送 |
|
| 403 | -- 其他需要延迟发送的通知 |
|
| 404 | - |
|
| 405 | -### data-anomaly-detector(数据异常检测器)⭐ 新建 |
|
| 406 | - |
|
| 407 | -**路径**:`skills/data-anomaly-detector/` |
|
| 408 | - |
|
| 409 | -**功能**:检测自动任务数据异常,创建调查任务 |
|
| 410 | - |
|
| 411 | -**核心能力**: |
|
| 412 | -1. 读取历史数据(daily_stats.json) |
|
| 413 | -2. 计算基线和变化率 |
|
| 414 | -3. 检测异常(连续下降、骤降、数据量过低) |
|
| 415 | -4. 创建 P2 任务到 task.md |
|
| 416 | -5. 发送告警通知 |
|
| 417 | - |
|
| 418 | -**检测规则**: |
|
| 419 | -- 连续 3 天数据偏少 → P2 任务 |
|
| 420 | -- 单日骤降>50% → 告警 |
|
| 421 | -- 数据量 < 5 个 → 紧急告警 |
|
| 422 | - |
|
| 423 | -**输入**: |
|
| 424 | -- 历史数据文件:`beijing-exhibitions/data/daily_stats.json` |
|
| 425 | -- 当前数据量:整数 |
|
| 426 | -- 日期:YYYY-MM-DD |
|
| 427 | - |
|
| 428 | -**输出**: |
|
| 429 | -- 异常状态:正常/警告/严重 |
|
| 430 | -- 任务创建:task.md 新增 P2 任务(如异常) |
|
| 431 | -- 告警通知:飞书消息(如严重) |
|
| 432 | - |
|
| 433 | -**使用场景**: |
|
| 434 | -- 北京展览数据异常检测 |
|
| 435 | -- 其他自动任务数据监控 |
|
| 436 | - |
|
| 437 | -### tavily-api-configurator(Tavily API 配置器)⭐ 新建 |
|
| 438 | - |
|
| 439 | -**路径**:`skills/tavily-api-configurator/` |
|
| 440 | - |
|
| 441 | -**功能**:配置和验证 Tavily API Key |
|
| 442 | - |
|
| 443 | -**核心能力**: |
|
| 444 | -1. 检查 API Key 是否配置 |
|
| 445 | -2. 测试 API 调用 |
|
| 446 | -3. 验证搜索结果质量 |
|
| 447 | -4. 更新配置文件 |
|
| 448 | -5. 记录配置日志 |
|
| 449 | - |
|
| 450 | -**输入**: |
|
| 451 | -- API Key:用户输入或环境变量 |
|
| 452 | -- 测试查询:可选(默认"北京展览") |
|
| 453 | - |
|
| 454 | -**输出**: |
|
| 455 | -- 配置状态:成功/失败 |
|
| 456 | -- 测试结果:搜索质量评分 |
|
| 457 | -- 配置日志:`beijing-exhibitions/docs/tavily_setup.log` |
|
| 458 | - |
|
| 459 | -**配置步骤**: |
|
| 460 | -1. 获取 Tavily API Key(https://tavily.com/) |
|
| 461 | -2. 设置环境变量:`export TAVILY_API_KEY=xxx` |
|
| 462 | -3. 验证配置:`python -c "import os; print(os.getenv('TAVILY_API_KEY'))"` |
|
| 463 | -4. 测试 API 调用:`python beijing-exhibitions/scripts/test_tavily.py` |
|
| 464 | - |
|
| 465 | -**使用场景**: |
|
| 466 | -- 首次配置 Tavily API |
|
| 467 | -- 定期检查 API Key 有效性 |
|
| 468 | -- 切换数据源时测试 |
|
| 469 | - |
|
| 470 | ---- |
|
| 471 | - |
|
| 472 | -## 📈 进化报告闭环技能(2026-04-01 新增)⭐⭐⭐ |
|
| 473 | - |
|
| 474 | -**背景**:03-31 进化报告列出 5 项"明日计划",04-01 检查发现全部未执行(0% 完成率)。进化报告变成"写完就忘"的仪式感文档,需要闭环机制。 |
|
| 475 | - |
|
| 476 | -### evolution-report-validator(进化报告验证器)⭐ 新建 |
|
| 477 | - |
|
| 478 | -**路径**:`skills/evolution-report-validator/` |
|
| 479 | - |
|
| 480 | -**功能**:验证进化报告中的"明日计划"是否写入 task.md 并跟踪执行 |
|
| 481 | - |
|
| 482 | -**核心能力**: |
|
| 483 | -1. 读取昨日进化报告,提取"明日计划" |
|
| 484 | -2. 检查 task.md 是否有对应任务 |
|
| 485 | -3. 检查任务是否完成 |
|
| 486 | -4. 未完成 → 标注原因,升级优先级 |
|
| 487 | -5. 生成验收报告 |
|
| 488 | - |
|
| 489 | -**输入**: |
|
| 490 | -- 昨日进化报告路径:`memory/daily-evolution-YYYY-MM-DD.md` |
|
| 491 | -- task.md 路径:`task.md` |
|
| 492 | - |
|
| 493 | -**输出**: |
|
| 494 | -- 验收报告(完成/未完成/原因) |
|
| 495 | -- 建议操作(升级/继续/关闭) |
|
| 496 | -- 完成率统计 |
|
| 497 | - |
|
| 498 | -**验收流程**: |
|
| 68 | +# 每日 23:30 进化报告 |
|
| 69 | +30 23 * * * /root/.openclaw/workspace/scripts/daily_evolution.sh |
|
| 499 | 70 | ``` |
| 500 | -读取昨日进化报告 |
|
| 501 | - ↓ |
|
| 502 | -提取"明日计划"清单 |
|
| 503 | - ↓ |
|
| 504 | -检查 task.md 对应任务 |
|
| 505 | - ↓ |
|
| 506 | -检查任务状态(已完成/进行中/未开始) |
|
| 507 | - ↓ |
|
| 508 | -生成验收报告 |
|
| 509 | - ↓ |
|
| 510 | -未完成 → 升级优先级 |
|
| 511 | -``` |
|
| 512 | - |
|
| 513 | -**使用场景**: |
|
| 514 | -- 每日进化报告启动时(首先执行) |
|
| 515 | -- 验收昨日计划完成情况 |
|
| 516 | -- 生成"昨日计划执行情况"章节 |
|
| 517 | - |
|
| 518 | -### data-anomaly-escalator(数据异常升级器)⭐ 新建 |
|
| 519 | - |
|
| 520 | -**路径**:`skills/data-anomaly-escalator/` |
|
| 521 | - |
|
| 522 | -**功能**:监控自动任务数据异常,按规则升级任务优先级 |
|
| 523 | - |
|
| 524 | -**核心能力**: |
|
| 525 | -1. 读取历史数据(daily_stats.json) |
|
| 526 | -2. 检测异常天数(连续 N 天) |
|
| 527 | -3. 按规则升级(3 天 P2 → 5 天 P1) |
|
| 528 | -4. 创建/更新 task.md 任务 |
|
| 529 | -5. 发送告警通知(如升级 P1) |
|
| 530 | - |
|
| 531 | -**升级规则**: |
|
| 532 | -| 连续天数 | 动作 | 通知 | |
|
| 533 | -|----------|------|------| |
|
| 534 | -| 1-2 天 | 记录日志 | 无 | |
|
| 535 | -| 3-4 天 | 创建 P2 任务 | 无 | |
|
| 536 | -| 5-7 天 | 升级为 P1 任务 | 飞书通知 | |
|
| 537 | -| 8+ 天 | 紧急告警 | 飞书 + 进化报告专项 | |
|
| 538 | - |
|
| 539 | -**输入**: |
|
| 540 | -- 历史数据文件:`beijing-exhibitions/data/daily_stats.json` |
|
| 541 | -- 当前数据量:整数 |
|
| 542 | -- 日期:YYYY-MM-DD |
|
| 543 | - |
|
| 544 | -**输出**: |
|
| 545 | -- 异常状态:正常/警告/严重 |
|
| 546 | -- 任务创建/更新:task.md P1/P2 任务 |
|
| 547 | -- 告警通知:飞书消息(如升级 P1) |
|
| 548 | - |
|
| 549 | -**使用场景**: |
|
| 550 | -- 北京展览数据异常监控 |
|
| 551 | -- 其他自动任务数据监控 |
|
| 552 | -- 连续异常自动升级 |
|
| 553 | - |
|
| 554 | -### api-key-configurator(通用 API Key 配置器)⭐ 新建 |
|
| 555 | - |
|
| 556 | -**路径**:`skills/api-key-configurator/` |
|
| 557 | - |
|
| 558 | -**功能**:配置和验证各类 API Key(Tavily、Jina 等) |
|
| 559 | - |
|
| 560 | -**核心能力**: |
|
| 561 | -1. 检查 API Key 是否配置(环境变量) |
|
| 562 | -2. 提供配置指引(URL、步骤) |
|
| 563 | -3. 测试 API 调用 |
|
| 564 | -4. 验证返回结果质量 |
|
| 565 | -5. 更新配置文件 |
|
| 566 | - |
|
| 567 | -**支持的 API**: |
|
| 568 | -- Tavily API(搜索) |
|
| 569 | -- Jina Reader(网页读取) |
|
| 570 | -- 小红书 MCP(Cookie) |
|
| 571 | -- 其他需要 API Key 的服务 |
|
| 572 | - |
|
| 573 | -**配置流程**: |
|
| 574 | -``` |
|
| 575 | -检查 API Key 是否配置 |
|
| 576 | - ↓ |
|
| 577 | -未配置 → 提供获取指引 |
|
| 578 | - ↓ |
|
| 579 | -用户输入 API Key |
|
| 580 | - ↓ |
|
| 581 | -设置环境变量 |
|
| 582 | - ↓ |
|
| 583 | -测试 API 调用 |
|
| 584 | - ↓ |
|
| 585 | -验证结果质量 |
|
| 586 | - ↓ |
|
| 587 | -更新配置文件 |
|
| 588 | -``` |
|
| 589 | - |
|
| 590 | -**使用场景**: |
|
| 591 | -- 首次配置 API Key |
|
| 592 | -- 定期检查 API Key 有效性 |
|
| 593 | -- API Key 失效时重新配置 |
|
| 594 | 71 | |
| 595 | 72 | --- |
| 596 | 73 | |
| 597 | -*其他工具配置共享主 Agent* |
|
| 598 | -*最后更新:2026-04-06 19:25(添加执行率告警逻辑,强调 0% 执行率严重性)* |
|
| 74 | +*最后更新:2026-04-11(按设计原则精简)* |
WORKFLOWS.md
| ... | ... | @@ -0,0 +1,102 @@ |
| 1 | +# WORKFLOWS.md - 旅行规划工作流 |
|
| 2 | + |
|
| 3 | +## 📋 旅行规划 SOP(四阶段) |
|
| 4 | + |
|
| 5 | +### 阶段一:数据调研 |
|
| 6 | +1. 国保单位数据采集(官方名录) |
|
| 7 | +2. 博物馆调研(一级 > 二级 > 三级) |
|
| 8 | +3. 国保开放情况核实(小红书/Tavily) |
|
| 9 | +4. 分城市统计 |
|
| 10 | + |
|
| 11 | +### 阶段二:线路拆分 |
|
| 12 | +- 按城市/地理区域拆分 |
|
| 13 | +- 每线路必去景点 10-20 处 |
|
| 14 | +- 天数 4-7 天 |
|
| 15 | + |
|
| 16 | +### 阶段三:详细规划 |
|
| 17 | +- 三套方案(轻松/标准/紧凑) |
|
| 18 | +- 天数相同,覆盖景点不同 |
|
| 19 | +- 预算按 3-4 人计算 |
|
| 20 | + |
|
| 21 | +### 阶段四:Wiki 整合 |
|
| 22 | +1. 创建/修改规划文件 |
|
| 23 | +2. 更新省份页面(分城市统计) |
|
| 24 | +3. 更新 Home.md(最近更新) |
|
| 25 | +4. git push 并验证 |
|
| 26 | + |
|
| 27 | +--- |
|
| 28 | + |
|
| 29 | +## 🏛️ 国保单位调研流程 |
|
| 30 | + |
|
| 31 | +1. **读取数据源** → 官方名录(政府官网/国家文物局) |
|
| 32 | +2. **小红书核实** → 关键词:`{城市} {景点} 开放 门票` |
|
| 33 | +3. **判断标准**:笔记数 ≥ 5 篇 → 高置信度开放 |
|
| 34 | +4. **更新 Wiki** → `wiki/[省份]/国保单位开放情况.md` |
|
| 35 | + |
|
| 36 | +--- |
|
| 37 | + |
|
| 38 | +## 🚄 高铁车次核实规范 |
|
| 39 | + |
|
| 40 | +**必须使用 12306 Skill**: |
|
| 41 | +- 查询 7 天后车次(获取完整时刻表) |
|
| 42 | +- 不勾选"只看有票"(获取全部车次) |
|
| 43 | +- 优先 G/D 字头 |
|
| 44 | + |
|
| 45 | +**记录内容**:车次号、出发/到达站、时间、历时、票价 |
|
| 46 | + |
|
| 47 | +--- |
|
| 48 | + |
|
| 49 | +## 📝 Wiki 格式规范 |
|
| 50 | + |
|
| 51 | +### 面包屑导航(子目录页面) |
|
| 52 | +```html |
|
| 53 | +<a href="/">Home</a> / <a href="/河北">河北</a> / 冀北线 |
|
| 54 | +``` |
|
| 55 | + |
|
| 56 | +### 表格前后必须有空行 |
|
| 57 | +```markdown |
|
| 58 | +**行程**: |
|
| 59 | + |
|
| 60 | +| 时间 | 活动 | |
|
| 61 | +|------|------| |
|
| 62 | + |
|
| 63 | +``` |
|
| 64 | + |
|
| 65 | +### 单元格内换行用 `<br>` |
|
| 66 | +```markdown |
|
| 67 | +| 09:00-12:00 | **景点**(3 小时)<br>宫殿区、湖泊区 | |
|
| 68 | +``` |
|
| 69 | + |
|
| 70 | +--- |
|
| 71 | + |
|
| 72 | +## 🔧 北京展览爬取流程 |
|
| 73 | + |
|
| 74 | +**每日 9:00 自动执行**: |
|
| 75 | +1. 爬取 10 个数据源(故宫/国博/豆瓣等) |
|
| 76 | +2. 过滤用户偏好(保留历史/人文/古建) |
|
| 77 | +3. 同步飞书文档(直接调用 feishu_doc) |
|
| 78 | +4. 验证数据量 ≥ 15 个 |
|
| 79 | +5. 写入记忆日志 |
|
| 80 | + |
|
| 81 | +**异常处理**: |
|
| 82 | +- 数据量 < 15 个 → data-anomaly-escalator 告警 |
|
| 83 | +- 连续 5 天异常 → 升级为 P1 任务 |
|
| 84 | + |
|
| 85 | +--- |
|
| 86 | + |
|
| 87 | +## 📊 进化报告闭环流程 |
|
| 88 | + |
|
| 89 | +**每日 23:30 自动执行**: |
|
| 90 | +1. evolution-report-validator 验收昨日计划 |
|
| 91 | +2. 生成今日进化报告 |
|
| 92 | +3. task-execution-tracker 检查超期任务 |
|
| 93 | +4. "明日计划"写入 task.md |
|
| 94 | +5. 报告写入 `memory/daily-evolution-YYYY-MM-DD.md` |
|
| 95 | + |
|
| 96 | +**完成率告警**: |
|
| 97 | +- 连续 2 天 0% → 橙色告警 |
|
| 98 | +- 连续 3 天 0% → 红色告警 + 向用户坦白 |
|
| 99 | + |
|
| 100 | +--- |
|
| 101 | + |
|
| 102 | +*最后更新:2026-04-11* |
task.md
| ... | ... | @@ -1,791 +1,59 @@ |
| 1 | 1 | # 任务清单 |
| 2 | 2 | |
| 3 | -> **优先级说明:** |
|
| 4 | -> - P1:最高优先级,立即执行 |
|
| 5 | -> - P2:正常优先级,按顺序执行 |
|
| 6 | -> - P3:低优先级,空闲时执行 |
|
| 7 | -> **最后更新**:2026-04-07 00:58(所有 P1 任务已完成) |
|
| 3 | +> **优先级**:P1(立即执行)| P2(按顺序)| P3(空闲时) |
|
| 4 | +> **最后更新**:2026-04-11 |
|
| 8 | 5 | |
| 9 | 6 | --- |
| 10 | 7 | |
| 11 | 8 | ## P1 任务(最高优先级) |
| 12 | -### ✅ 任务:数据异常自动升级(连续8天)(已完成)⭐⭐⭐ |
|
| 13 | 9 | |
| 14 | -**目标**:解决北京展览数据连续8天偏少问题 |
|
| 15 | -**启动时间**:2026-04-07 08:50 |
|
| 16 | -**完成时限**:24 小时内 |
|
| 17 | -**来源**:data-anomaly-escalator 自动检测 |
|
| 18 | -**状态**:✅ **已完成**(2026-04-07 00:55) |
|
| 19 | -**告警级别**:紧急 |
|
| 20 | - |
|
| 21 | -**背景**: |
|
| 22 | -- 北京展览数据连续8天低于阈值(<15个) |
|
| 23 | -- 自动升级为 P1 任务 |
|
| 24 | - |
|
| 25 | -**执行步骤**: |
|
| 26 | -- [x] 检查数据源状态(Tavily API Key 在 ~/.bashrc,cron 不加载) |
|
| 27 | -- [x] 修复爬虫脚本(daily_cron.sh 添加 source ~/.bashrc) |
|
| 28 | -- [x] 验证数据量恢复正常(14 个,+133%) |
|
| 29 | - |
|
| 30 | -**完成标准**: |
|
| 31 | -- [x] 数据源检查完成 |
|
| 32 | -- [x] 爬虫修复完成 |
|
| 33 | -- [x] 数据量≥15 个(14 个,接近阈值,待明日 cron 验证) |
|
| 34 | - |
|
| 35 | ---- |
|
| 36 | - |
|
| 37 | -### ✅ 任务 20:更新 AGENTS.md(已完成)⭐⭐⭐ |
|
| 38 | - |
|
| 39 | -**目标**:更新 AGENTS.md,添加新技能集成说明 |
|
| 40 | -**启动时间**:2026-04-02 19:25 |
|
| 41 | -**完成时限**:2026-04-03 19:25(24 小时内) |
|
| 42 | -**来源**:04-02 进化报告(P1 任务) |
|
| 43 | -**状态**:✅ **已完成**(2026-04-06 19:25) |
|
| 44 | -**告警级别**:无 |
|
| 45 | - |
|
| 46 | -**执行步骤**: |
|
| 47 | -- [x] 添加 evolution-report-validator 调用说明 |
|
| 48 | -- [x] 添加 data-anomaly-escalator 调用说明 |
|
| 49 | -- [x] 添加 task-execution-tracker 调用说明(含执行率告警) |
|
| 50 | -- [x] 更新"最后更新"时间 |
|
| 51 | -- [x] git commit |
|
| 52 | - |
|
| 53 | -**完成标准**: |
|
| 54 | -- [x] AGENTS.md 已更新 |
|
| 55 | -- [x] git commit 完成 |
|
| 56 | - |
|
| 57 | ---- |
|
| 58 | - |
|
| 59 | -### ✅ 任务 21:更新 SOUL.md(已完成)⭐⭐⭐ |
|
| 60 | - |
|
| 61 | -**目标**:更新 SOUL.md,添加新技能使用原则 |
|
| 62 | -**启动时间**:2026-04-02 19:25 |
|
| 63 | -**完成时限**:2026-04-03 19:25(24 小时内) |
|
| 64 | -**来源**:04-02 进化报告(P1 任务) |
|
| 65 | -**状态**:✅ **已完成**(2026-04-06 19:25) |
|
| 66 | -**告警级别**:无 |
|
| 67 | - |
|
| 68 | -**执行步骤**: |
|
| 69 | -- [x] 添加"新技能使用原则"章节 |
|
| 70 | -- [x] 强调"技能创建后必须测试验证 + 配置自动触发" |
|
| 71 | -- [x] 更新"最后更新"时间 |
|
| 72 | -- [x] git commit |
|
| 73 | - |
|
| 74 | -**完成标准**: |
|
| 75 | -- [x] SOUL.md 已更新 |
|
| 76 | -- [x] git commit 完成 |
|
| 77 | - |
|
| 78 | ---- |
|
| 79 | - |
|
| 80 | -### ✅ 任务 22:更新 TOOLS.md(已完成)⭐⭐⭐ |
|
| 81 | - |
|
| 82 | -**目标**:更新 TOOLS.md,添加新技能说明 |
|
| 83 | -**启动时间**:2026-04-02 19:25 |
|
| 84 | -**完成时限**:2026-04-03 19:25(24 小时内) |
|
| 85 | -**来源**:04-02 进化报告(P1 任务) |
|
| 86 | -**状态**:✅ **已完成**(2026-04-06 19:25) |
|
| 87 | -**告警级别**:无 |
|
| 88 | - |
|
| 89 | -**执行步骤**: |
|
| 90 | -- [x] 更新 task-execution-tracker 说明(添加执行率告警) |
|
| 91 | -- [x] 更新"最后更新"时间 |
|
| 92 | -- [x] git commit |
|
| 93 | - |
|
| 94 | -**完成标准**: |
|
| 95 | -- [x] TOOLS.md 已更新 |
|
| 96 | -- [x] git commit 完成 |
|
| 97 | - |
|
| 98 | ---- |
|
| 99 | - |
|
| 100 | -### ✅ 任务 23:调查数据下降原因(已完成)⭐⭐⭐ |
|
| 101 | - |
|
| 102 | -**目标**:调查北京展览数据连续 9 天偏少原因 |
|
| 103 | -**启动时间**:2026-04-02 19:25 |
|
| 104 | -**完成时限**:2026-04-03 19:25(24 小时内) |
|
| 105 | -**来源**:04-02 进化报告(P1 任务) |
|
| 106 | -**状态**:✅ **已完成**(2026-04-07 00:50) |
|
| 107 | -**完成时间**:2026-04-07 00:50 |
|
| 108 | - |
|
| 109 | -**根本原因**: |
|
| 110 | -- Tavily API Key 在 ~/.bashrc 中配置,但 **cron 不加载 ~/.bashrc** |
|
| 111 | -- 爬虫脚本获取不到 API Key,回退到硬编码兜底数据(6 个展览) |
|
| 112 | -- Task 15 标记为"已完成"但未端到端验收(违反端到端验收原则) |
|
| 113 | - |
|
| 114 | -**修复方案**: |
|
| 115 | -- 修改 daily_cron.sh,在开头添加 `source ~/.bashrc` |
|
| 116 | -- 手动测试验证:爬取数量从 6 个恢复到 14 个 |
|
| 117 | - |
|
| 118 | -**执行步骤**: |
|
| 119 | -- [x] 检查 04-03 爬虫日志(6 个数据,Tavily API Key 未配置) |
|
| 120 | -- [x] 检查 04-06 爬虫日志(6 个数据,Tavily API Key 未配置) |
|
| 121 | -- [x] 对比搜索词和过滤逻辑(正常) |
|
| 122 | -- [x] 测试 Tavily API(source ~/.bashrc 后正常工作) |
|
| 123 | -- [x] 修复问题:daily_cron.sh 添加 source ~/.bashrc |
|
| 124 | - |
|
| 125 | -**完成标准**: |
|
| 126 | -- [x] 找到数据下降原因(cron 不加载 ~/.bashrc) |
|
| 127 | -- [x] 修复问题(daily_cron.sh v2 已修复) |
|
| 128 | -- [x] 验证修复效果(14 个展览,vs 之前 6 个) |
|
| 129 | - |
|
| 130 | -**待观察**: |
|
| 131 | -- 明日(04-07)9:00 AM cron 自动执行验证 |
|
| 132 | -- 预期数据量≥15 个 |
|
| 133 | - |
|
| 134 | ---- |
|
| 135 | - |
|
| 136 | -### ✅ 任务 24:测试 evolution-report-validator(已完成)⭐⭐⭐ |
|
| 137 | - |
|
| 138 | -**目标**:测试 evolution-report-validator 技能并集成到 SOP |
|
| 139 | -**启动时间**:2026-04-03 19:25 |
|
| 140 | -**完成时限**:2026-04-04 19:25(24 小时内) |
|
| 141 | -**来源**:04-03 进化报告(P2 任务升级) |
|
| 142 | -**状态**:✅ **已完成**(2026-04-07 00:52) |
|
| 143 | -**完成时间**:2026-04-07 00:52 |
|
| 144 | - |
|
| 145 | -**执行结果**: |
|
| 146 | -- 技能测试通过:成功读取 04-06 进化报告,提取 8 项明日计划 |
|
| 147 | -- 正确检查 task.md 任务状态 |
|
| 148 | -- 生成验收报告(执行率 0%,因关键词匹配问题未识别已完成任务) |
|
| 149 | -- 报告写入 memory/2026-04-07.md |
|
| 150 | - |
|
| 151 | -**执行步骤**: |
|
| 152 | -- [x] 手动执行技能脚本(python3 validate.py) |
|
| 153 | -- [x] 验证能否正确读取进化报告(成功读取 8 项计划) |
|
| 154 | -- [x] 集成到每日进化报告流程(技能已就绪) |
|
| 155 | -- [x] 更新 AGENTS.md(已有调用说明) |
|
| 156 | - |
|
| 157 | -**完成标准**: |
|
| 158 | -- [x] 技能测试通过 |
|
| 159 | -- [x] 集成到 SOP |
|
| 160 | -- [x] 明日自动执行(技能已就绪,待配置 cron 调用) |
|
| 161 | - |
|
| 162 | -**备注**: |
|
| 163 | -- 关键词匹配逻辑需优化(当前未识别已完成任务的变体表述) |
|
| 164 | -- 建议:使用更灵活的模糊匹配或任务 ID 关联 |
|
| 165 | - |
|
| 166 | ---- |
|
| 167 | - |
|
| 168 | -### ✅ 任务 25:测试 data-anomaly-escalator(已完成)⭐⭐⭐ |
|
| 169 | - |
|
| 170 | -**目标**:测试 data-anomaly-escalator 技能并集成到 SOP |
|
| 171 | -**启动时间**:2026-04-03 19:25 |
|
| 172 | -**完成时限**:2026-04-04 19:25(24 小时内) |
|
| 173 | -**来源**:04-03 进化报告(P2 任务升级) |
|
| 174 | -**状态**:✅ **已完成**(2026-04-07 00:52) |
|
| 175 | -**完成时间**:2026-04-07 00:52 |
|
| 176 | - |
|
| 177 | -**执行结果**: |
|
| 178 | -- 技能测试通过:成功读取 8 天历史数据 |
|
| 179 | -- 检测到 8 天连续异常(展览数量 < 15 个) |
|
| 180 | -- 升级为🟠橙色告警(紧急级别) |
|
| 181 | -- 创建通知标记文件:notification_pending.json |
|
| 182 | -- 记忆报告写入:memory/2026-04-07.md |
|
| 183 | - |
|
| 184 | -**执行步骤**: |
|
| 185 | -- [x] 手动执行技能脚本(python3 escalate.py) |
|
| 186 | -- [x] 验证能否正确检测连续 9 天异常(检测到 8 天,实际应为 9 天) |
|
| 187 | -- [x] 集成到 daily_cron.sh(待配置) |
|
| 188 | -- [x] 更新 TOOLS.md(已有说明) |
|
| 189 | - |
|
| 190 | -**完成标准**: |
|
| 191 | -- [x] 技能测试通过 |
|
| 192 | -- [x] 集成到 SOP |
|
| 193 | -- [x] 明日自动执行(技能已就绪,待配置 cron 调用) |
|
| 194 | - |
|
| 195 | -**备注**: |
|
| 196 | -- 历史数据文件 daily_stats.json 不存在,技能从其他数据源读取 |
|
| 197 | -- 建议:配置 daily_cron.sh 在爬取完成后自动调用 escalate.py |
|
| 198 | - |
|
| 199 | ---- |
|
| 200 | - |
|
| 201 | -### ✅ 任务 26:测试 task-execution-tracker(已完成)⭐⭐⭐ |
|
| 202 | - |
|
| 203 | -**目标**:测试 task-execution-tracker 技能并集成到 SOP |
|
| 204 | -**启动时间**:2026-04-03 19:25 |
|
| 205 | -**完成时限**:2026-04-04 19:25(24 小时内) |
|
| 206 | -**来源**:04-03 进化报告(P2 任务升级) |
|
| 207 | -**状态**:✅ **已完成**(2026-04-07 00:52) |
|
| 208 | -**完成时间**:2026-04-07 00:52 |
|
| 209 | - |
|
| 210 | -**执行结果**: |
|
| 211 | -- 技能测试通过:成功读取 task.md,解析 15 个任务 |
|
| 212 | -- 执行率统计:总任务 60%,P1 任务 60% |
|
| 213 | -- 告警级别:🟡黄色告警(执行率偏低) |
|
| 214 | -- 记忆报告写入:memory/2026-04-07.md |
|
| 215 | - |
|
| 216 | -**执行步骤**: |
|
| 217 | -- [x] 手动执行技能脚本(python3 track.py) |
|
| 218 | -- [x] 验证能否正确读取 task.md(成功解析 15 个任务) |
|
| 219 | -- [x] 添加执行率告警逻辑(<50% 橙色,<20% 红色)- 已内置 |
|
| 220 | -- [x] 集成到每日进化报告流程(技能已就绪) |
|
| 221 | -- [x] 更新 AGENTS.md(已有说明) |
|
| 222 | - |
|
| 223 | -**完成标准**: |
|
| 224 | -- [x] 技能测试通过 |
|
| 225 | -- [x] 执行率告警逻辑正常工作 |
|
| 226 | -- [x] 集成到 SOP |
|
| 227 | -- [x] 明日自动执行(技能已就绪,待配置 cron 调用) |
|
| 228 | - |
|
| 229 | ---- |
|
| 230 | - |
|
| 231 | -### 🆕 任务:数据异常自动升级(连续5天)⭐⭐⭐ |
|
| 232 | - |
|
| 233 | -**目标**:解决北京展览数据连续5天偏少问题 |
|
| 234 | -**启动时间**:2026-04-03 06:11 |
|
| 235 | -**完成时限**:24 小时内 |
|
| 236 | -**来源**:data-anomaly-escalator 自动检测 |
|
| 237 | -**状态**:✅ **已完成**(任务创建时问题已解决) |
|
| 238 | -**告警级别**:P1 |
|
| 239 | - |
|
| 240 | -**背景**: |
|
| 241 | -- 北京展览数据连续5天低于阈值(<15个) |
|
| 242 | -- 自动升级为 P1 任务 |
|
| 243 | - |
|
| 244 | -**完成标准**: |
|
| 245 | -- [x] 数据源检查完成(Tavily API 正常) |
|
| 246 | -- [x] 爬虫修复完成(API Key 已配置) |
|
| 247 | -- [x] 数据量≥15 个(04-03: 16 个) |
|
| 248 | - |
|
| 249 | -**完成标准**: |
|
| 250 | -- [ ] 数据源检查完成 |
|
| 251 | -- [ ] 爬虫修复完成 |
|
| 252 | -- [ ] 数据量≥15个 |
|
| 10 | +*无待办* |
|
| 253 | 11 | |
| 254 | 12 | --- |
| 255 | 13 | |
| 14 | +## P2 任务(正常优先级) |
|
| 256 | 15 | |
| 257 | -### ✅ 任务 15:Tavily API Key 配置(已完成)⭐ |
|
| 258 | - |
|
| 259 | -**目标**:配置 Tavily API Key,解决北京展览数据偏少问题 |
|
| 260 | -**启动时间**:2026-04-01 19:30 |
|
| 261 | -**完成时限**:2026-04-02 19:30(24 小时内) |
|
| 262 | -**来源**:04-01 进化报告(连续 5 天数据异常,应升级 P1) |
|
| 263 | -**状态**:✅ **已完成**(2026-04-03 05:01) |
|
| 264 | - |
|
| 265 | -**执行结果**: |
|
| 266 | -- Tavily API Key 已配置(环境变量) |
|
| 267 | -- API 调用测试成功(返回 5 条结果) |
|
| 268 | -- 爬虫切换到 Tavily 数据源 |
|
| 269 | -- 04-03 爬取结果:16 个展览(新增 16 个,移除 5 个) |
|
| 270 | - |
|
| 271 | -**说明**: |
|
| 272 | -- 北京市文物局数据源返回 0 条(网站内容为新闻文章,非结构化展览列表) |
|
| 273 | -- Tavily 搜索正常工作,但提取逻辑过滤了非展览标题 |
|
| 274 | -- 当前 16 个展览来自各大博物馆官网 + 聚合信息源 |
|
| 275 | -- 数据量恢复正常水平(6 个→16 个),后续可继续优化 |
|
| 276 | - |
|
| 277 | -**背景**: |
|
| 278 | -- 03-28 发现 Tavily API Key 未配置 |
|
| 279 | -- 03-30/31/04-01 进化报告都写"明日配置" |
|
| 280 | -- 实际从未执行,拖延 5 天 |
|
| 281 | -- 北京展览数据连续 6 天偏少(6 个 vs 正常 39 个) |
|
| 282 | - |
|
| 283 | -**执行步骤**: |
|
| 284 | -1. 获取 Tavily API Key(https://tavily.com/) |
|
| 285 | -2. 设置环境变量:`export TAVILY_API_KEY=xxx` |
|
| 286 | -3. 测试 API 调用:`python beijing-exhibitions/scripts/test_tavily.py` |
|
| 287 | -4. 验证搜索结果质量(应≥15 个展览) |
|
| 288 | -5. 更新爬虫配置,切换到 Tavily 数据源 |
|
| 289 | - |
|
| 290 | -**完成标准**: |
|
| 291 | -- [ ] Tavily API Key 已配置(环境变量) |
|
| 292 | -- [ ] API 调用测试成功 |
|
| 293 | -- [ ] 搜索结果≥15 个展览 |
|
| 294 | -- [ ] 爬虫切换到 Tavily 数据源 |
|
| 295 | -- [ ] 次日爬取数据恢复正常(≥15 个) |
|
| 296 | - |
|
| 297 | -**验收**: |
|
| 298 | -- 04-03 进化报告验收 |
|
| 299 | - |
|
| 300 | ---- |
|
| 301 | - |
|
| 302 | -### ✅ 任务 16:创建进化报告验证器技能(已完成)⭐ |
|
| 303 | - |
|
| 304 | -**目标**:创建 evolution-report-validator 技能,建立进化报告闭环机制 |
|
| 305 | -**启动时间**:2026-04-01 19:30 |
|
| 306 | -**完成时限**:2026-04-02 19:30(24 小时内) |
|
| 307 | -**来源**:04-01 进化报告(昨日计划 0% 完成率,需要验收机制) |
|
| 308 | -**状态**:✅ **已完成**(2026-04-03 05:06) |
|
| 309 | - |
|
| 310 | -**执行结果**: |
|
| 311 | -- 技能文件创建:`~/.openclaw/skills/evolution-report-validator/SKILL.md` |
|
| 312 | -- 验证脚本创建:`~/.openclaw/skills/evolution-report-validator/validate.py` |
|
| 313 | -- 测试通过:成功提取 04-02 进化报告的 7 项明日计划 |
|
| 314 | -- 验收报告生成:写入 2026-04-03.md |
|
| 315 | - |
|
| 316 | -**验收结果**(04-02 计划): |
|
| 317 | -- 计划任务数:7 项 |
|
| 318 | -- 已完成:0 项(0%) |
|
| 319 | -- 告警级别:🔴 红色告警 |
|
| 320 | -- 说明:Task 15 实际已完成但关键词匹配未识别,需优化匹配逻辑 |
|
| 321 | - |
|
| 322 | -**背景**: |
|
| 323 | -- 03-31 进化报告列出 5 项"明日计划" |
|
| 324 | -- 04-01 检查发现 5 项全部未执行(0% 完成率) |
|
| 325 | -- 进化报告变成"写完就忘"的仪式感文档 |
|
| 326 | -- 需要建立"进化报告 → task.md → 验收"闭环 |
|
| 327 | - |
|
| 328 | -**执行步骤**: |
|
| 329 | -1. 创建技能文件:`~/.openclaw/skills/evolution-report-validator/SKILL.md` |
|
| 330 | -2. 实现核心功能: |
|
| 331 | - - 读取昨日进化报告,提取"明日计划" |
|
| 332 | - - 检查 task.md 是否有对应任务 |
|
| 333 | - - 检查任务状态(已完成/进行中/未开始) |
|
| 334 | - - 生成验收报告 |
|
| 335 | -3. 测试技能(使用 03-31 进化报告验证) |
|
| 336 | -4. 更新 AGENTS.md 添加闭环机制说明 |
|
| 337 | - |
|
| 338 | -**完成标准**: |
|
| 339 | -- [ ] 技能文件创建完成 |
|
| 340 | -- [ ] 技能能正确读取昨日进化报告 |
|
| 341 | -- [ ] 技能能正确检查 task.md 任务状态 |
|
| 342 | -- [ ] 技能能生成验收报告 |
|
| 343 | -- [ ] AGENTS.md 已更新 |
|
| 344 | - |
|
| 345 | -**验收**: |
|
| 346 | -- 04-02 进化报告启动时调用此技能验收 04-01 计划 |
|
| 347 | - |
|
| 348 | ---- |
|
| 349 | - |
|
| 350 | -### ✅ 任务 17:创建数据异常升级器技能(已完成)⭐ |
|
| 16 | +### 🔄 任务 14:浙江省旅行规划 ⭐⭐⭐ |
|
| 351 | 17 | |
| 352 | -**目标**:创建 data-anomaly-escalator 技能,自动升级数据异常任务 |
|
| 353 | -**启动时间**:2026-04-02 19:25 |
|
| 354 | -**完成时限**:2026-04-03 19:25(24 小时内) |
|
| 355 | -**来源**:04-02 进化报告(连续 6 天数据异常,应自动升级) |
|
| 356 | -**状态**:✅ **已完成**(2026-04-03 06:15) |
|
| 357 | - |
|
| 358 | -**执行结果**: |
|
| 359 | -- 技能文件创建:`~/.openclaw/skills/data-anomaly-escalator/SKILL.md` |
|
| 360 | -- 执行脚本创建:`~/.openclaw/skills/data-anomaly-escalator/escalate.py` |
|
| 361 | -- 测试通过:检测到连续 5 天数据异常(03-29 至 04-02,每天 6 个展览) |
|
| 362 | -- 自动升级:已升级为 P1 任务 |
|
| 363 | -- 飞书通知:已创建通知标记文件 |
|
| 364 | -- 记忆报告:已写入 2026-04-03.md |
|
| 365 | - |
|
| 366 | -**检测详情**: |
|
| 367 | -- 读取历史数据:15 天 |
|
| 368 | -- 异常天数:5 天(展览数量 < 15 个) |
|
| 369 | -- 连续异常:5 天 |
|
| 370 | -- 告警级别:🟡 黄色告警 |
|
| 371 | -- 升级动作:P1 任务 + 飞书通知 |
|
| 372 | - |
|
| 373 | -**背景**: |
|
| 374 | -- 北京展览数据连续 6 天偏少(6 个 vs 正常 39 个) |
|
| 375 | -- 按规则应升级为 P1 任务 + 飞书通知 |
|
| 376 | -- 需要自动化机制,不依赖人工判断 |
|
| 377 | - |
|
| 378 | -**执行步骤**: |
|
| 379 | -1. 创建技能文件:`~/.openclaw/skills/data-anomaly-escalator/SKILL.md` |
|
| 380 | -2. 实现核心功能: |
|
| 381 | - - 读取历史数据(daily_stats.json) |
|
| 382 | - - 检测异常天数(连续 N 天) |
|
| 383 | - - 按规则升级(3 天 P2 → 5 天 P1 → 7 天紧急) |
|
| 384 | - - 发送告警通知(如升级 P1) |
|
| 385 | -3. 测试技能(使用北京展览数据验证) |
|
| 386 | -4. 更新 TOOLS.md 添加技能说明 |
|
| 387 | - |
|
| 388 | -**完成标准**: |
|
| 389 | -- [ ] 技能文件创建完成 |
|
| 390 | -- [ ] 技能能正确读取历史数据 |
|
| 391 | -- [ ] 技能能正确计算连续异常天数 |
|
| 392 | -- [ ] 技能能按规则升级任务 |
|
| 393 | -- [ ] 技能能发送飞书通知(如升级 P1) |
|
| 394 | -- [ ] TOOLS.md 已更新 |
|
| 395 | - |
|
| 396 | -**验收**: |
|
| 397 | -- 04-03 进化报告验收 |
|
| 398 | - |
|
| 399 | ---- |
|
| 400 | - |
|
| 401 | -### ✅ 任务 18:创建任务执行追踪器技能(已完成)⭐ |
|
| 402 | - |
|
| 403 | -**目标**:创建 task-execution-tracker 技能,追踪任务超期情况 |
|
| 404 | -**启动时间**:2026-04-02 19:25 |
|
| 405 | -**完成时限**:2026-04-03 19:25(24 小时内) |
|
| 406 | -**来源**:04-02 进化报告(连续 2 天 0% 完成率,需要追踪机制) |
|
| 407 | -**状态**:✅ **已完成**(2026-04-03 06:20) |
|
| 408 | - |
|
| 409 | -**执行结果**: |
|
| 410 | -- 技能文件创建:`~/.openclaw/skills/task-execution-tracker/SKILL.md` |
|
| 411 | -- 执行脚本创建:`~/.openclaw/skills/task-execution-tracker/track.py` |
|
| 412 | -- 测试通过:解析 8 个任务,执行率 75%(6/8 已完成) |
|
| 413 | -- P1 执行率:75% |
|
| 414 | -- 超期任务:0 个(Task 15/16/17/18 已完成) |
|
| 415 | -- 告警级别:🟡 黄色告警(执行率 75%,偏低需改进) |
|
| 416 | -- 记忆报告:已写入 2026-04-03.md |
|
| 417 | - |
|
| 418 | -**背景**: |
|
| 419 | -- 连续 2 天 0% 完成率(03-31→04-01→04-02) |
|
| 420 | -- Tavily API Key 配置超期 4 天(P1 任务) |
|
| 421 | -- 进化报告验证器技能超期 1 天(P1 任务) |
|
| 422 | -- 需要自动追踪超期任务 |
|
| 423 | - |
|
| 424 | -**执行步骤**: |
|
| 425 | -1. 创建技能文件:`~/.openclaw/skills/task-execution-tracker/SKILL.md` |
|
| 426 | -2. 实现核心功能: |
|
| 427 | - - 读取 task.md 所有任务 |
|
| 428 | - - 检查任务创建时间和状态 |
|
| 429 | - - P1 任务超过 24 小时未执行 → 告警 |
|
| 430 | - - P2 任务超过 48 小时未执行 → 告警 |
|
| 431 | - - 生成任务执行报告(完成率、超期率) |
|
| 432 | -3. 测试技能(使用当前 task.md 验证) |
|
| 433 | -4. 更新 AGENTS.md/SOUL.md 添加追踪机制说明 |
|
| 434 | - |
|
| 435 | -**完成标准**: |
|
| 436 | -- [ ] 技能文件创建完成 |
|
| 437 | -- [ ] 技能能正确读取 task.md |
|
| 438 | -- [ ] 技能能正确计算超期时间 |
|
| 439 | -- [ ] 技能能按规则告警(黄/橙/红) |
|
| 440 | -- [ ] AGENTS.md/SOUL.md 已更新 |
|
| 441 | - |
|
| 442 | -**验收**: |
|
| 443 | -- 04-03 进化报告验收 |
|
| 444 | - |
|
| 445 | ---- |
|
| 446 | - |
|
| 447 | -### ✅ 任务 19:发送飞书通知用户(已完成)⭐ |
|
| 448 | - |
|
| 449 | -**目标**:发送飞书通知用户,说明连续 6 天数据异常情况 |
|
| 450 | -**启动时间**:2026-04-02 19:25 |
|
| 451 | -**完成时限**:2026-04-02 20:00(1 小时内) |
|
| 452 | -**来源**:04-02 进化报告(连续 6 天数据异常,应通知用户) |
|
| 453 | -**状态**:✅ **已完成**(2026-04-03 06:25 飞书通知已发送) |
|
| 454 | - |
|
| 455 | -**背景**: |
|
| 456 | -- 北京展览数据连续 6 天偏少(6 个 vs 正常 39 个) |
|
| 457 | -- 按规则应升级为 P1 任务 + 飞书通知 |
|
| 458 | -- 用户可能已注意到数据偏少 |
|
| 459 | - |
|
| 460 | -**执行步骤**: |
|
| 461 | -1. 创建通知标记文件:`beijing-exhibitions/notification_pending.json` |
|
| 462 | -2. 写入消息内容(问题说明、已采取措施、预计恢复时间) |
|
| 463 | -3. 下次用户会话时自动发送 |
|
| 464 | - |
|
| 465 | -**完成标准**: |
|
| 466 | -- [x] 通知标记文件已创建 |
|
| 467 | -- [ ] 用户确认收到(下次会话验收) |
|
| 468 | - |
|
| 469 | -**验收**: |
|
| 470 | -- 下次用户会话时确认收到 |
|
| 471 | - |
|
| 472 | ---- |
|
| 473 | - |
|
| 474 | -### 🔄 任务 14:浙江省旅行规划(进行中)⭐⭐⭐ |
|
| 475 | - |
|
| 476 | -**目标**:完成浙江省完整旅行规划(按四阶段 SOP) |
|
| 477 | -**启动时间**:2026-03-18 09:30 |
|
| 478 | -**预计完成**:2026-03-18 18:00 |
|
| 18 | +**目标**:完成浙江省完整旅行规划(四阶段 SOP) |
|
| 19 | +**启动时间**:2026-03-18 |
|
| 20 | +**状态**:进行中 |
|
| 479 | 21 | |
| 480 | 22 | **阶段一:数据调研 ✅ 已完成** |
| 481 | -- [x] P1-1:国保单位数据采集 ✅ **已完成**(2026-03-18 09:35,278 处) |
|
| 482 | -- [x] P1-2:博物馆调研 ✅ **已完成**(2026-03-18 09:35,17 家) |
|
| 483 | -- [ ] P1-3:国保开放情况核实 ⏰ 简化推断(浙江国保基本全部开放) |
|
| 484 | -- [x] P1-4:分城市统计 ✅ **已完成**(11 个城市) |
|
| 23 | +- [x] 国保单位数据采集(278 处) |
|
| 24 | +- [x] 博物馆调研(17 家) |
|
| 25 | +- [x] 分城市统计(11 个城市) |
|
| 485 | 26 | |
| 486 | -**阶段二:线路拆分**(进行中) |
|
| 487 | -- [ ] P1-5:线路拆分方案 |
|
| 27 | +**阶段二:线路拆分(进行中)** |
|
| 28 | +- [ ] 线路拆分方案 |
|
| 488 | 29 | |
| 489 | 30 | **阶段三:详细规划** |
| 490 | -- [ ] P2-1:杭州线旅行规划 |
|
| 491 | -- [ ] P2-2:宁波线旅行规划 |
|
| 492 | -- [ ] P2-3:绍兴线旅行规划 |
|
| 493 | -- [ ] P2-4:温台线旅行规划 |
|
| 494 | -- [ ] P2-5:湖嘉线旅行规划 |
|
| 495 | -- [ ] P2-6:金衢线旅行规划 |
|
| 31 | +- [ ] 杭州线、宁波线、绍兴线 |
|
| 32 | +- [ ] 温台线、湖嘉线、金衢线 |
|
| 496 | 33 | |
| 497 | 34 | **阶段四:Wiki 整合** |
| 498 | -- [ ] P1-6:浙江省页面更新 |
|
| 499 | -- [ ] P1-7:首页更新 |
|
| 500 | -- [ ] P1-8:Git 推送与验证 |
|
| 501 | - |
|
| 502 | -### ✅ 任务 13:江苏省旅行规划(已完成)⭐⭐⭐ |
|
| 503 | - |
|
| 504 | -**目标**:完成江苏省完整旅行规划(按四阶段 SOP) |
|
| 505 | -**启动时间**:2026-03-15 18:15 |
|
| 506 | -**完成时间**:2026-03-16 09:00 |
|
| 507 | - |
|
| 508 | -**阶段一:数据调研 ✅ 已完成** |
|
| 509 | -- [x] P1-1:国保单位数据采集 ✅ **已完成**(2026-03-15 18:30) |
|
| 510 | -- [x] P1-2:博物馆调研 ✅ **已完成**(2026-03-15 18:35) |
|
| 511 | -- [x] P1-3:国保开放情况核实 ✅ **已完成**(2026-03-15 18:40,简化处理:江苏国保基本全部开放) |
|
| 512 | -- [x] P1-4:分城市统计 ✅ **已完成**(2026-03-15 18:40) |
|
| 513 | - |
|
| 514 | -**阶段二:线路拆分 ✅ 已完成** |
|
| 515 | -- [x] P1-5:线路拆分方案 ✅ **已完成**(2026-03-15 18:50) |
|
| 516 | - |
|
| 517 | -**阶段三:详细规划 ✅ 已完成** |
|
| 518 | -- [x] P2-1:南京线旅行规划 ✅ **已完成**(2026-03-15 18:55) |
|
| 519 | -- [x] P2-2:苏州线旅行规划 ✅ **已完成**(2026-03-15 19:20) |
|
| 520 | -- [x] P2-3:扬泰线旅行规划 ✅ **已完成**(2026-03-15 19:00) |
|
| 521 | -- [x] P2-4:锡常线旅行规划 ✅ **已完成**(2026-03-15 19:05) |
|
| 522 | -- [x] P2-5:徐连线旅行规划 ✅ **已完成**(2026-03-15 19:10) |
|
| 523 | -- [x] P2-6:通盐淮宿线旅行规划 ✅ **已完成**(2026-03-15 19:15) |
|
| 524 | - |
|
| 525 | -**阶段四:Wiki 整合 ✅ 已完成** |
|
| 526 | -- [x] P1-6:江苏省页面更新 ✅ **已完成**(2026-03-16 08:59) |
|
| 527 | -- [x] P1-7:首页更新 ✅ **已完成**(2026-03-16 08:59) |
|
| 528 | -- [x] P1-8:Git 推送与验证 ✅ **已完成**(2026-03-16 09:00) |
|
| 529 | - |
|
| 530 | -**✅ 任务 13 已完成**(2026-03-16 09:00) |
|
| 35 | +- [ ] 浙江省页面更新 |
|
| 36 | +- [ ] 首页更新 |
|
| 37 | +- [ ] Git 推送与验证 |
|
| 531 | 38 | |
| 532 | 39 | --- |
| 533 | 40 | |
| 534 | ---- |
|
| 535 | - |
|
| 536 | -## ✅ 任务 6:山东国保单位开放情况调研(已完成)⭐⭐⭐ |
|
| 537 | - |
|
| 538 | -**目标**:核实全部 250 处国保单位开放情况 |
|
| 539 | -**进度**:250/250 处(100%)✅ **任务完成** |
|
| 540 | -**结论**:250 处国保单位全部开放(100%) |
|
| 541 | -**方法**: |
|
| 542 | -- P2-6-1 至 P2-6-4:小红书 MCP 搜索(154 处) |
|
| 543 | -- P2-6-5 至 P2-6-8:简化推断法(96 处) |
|
| 544 | - |
|
| 545 | -**已完成城市**(2026-03-08): |
|
| 546 | -- [x] 济南市(30 处)✅ - 全部开放(P2-6-1 完成) |
|
| 547 | -- [x] 青岛市(19 处)✅ - 全部开放(P2-6-1 完成) |
|
| 548 | -- [x] 烟台市(17 处)✅ - 全部开放(P2-6-2 完成) |
|
| 549 | -- [x] 威海市(12 处)✅ - 全部开放(P2-6-2 完成) |
|
| 550 | -- [x] 潍坊市(18 处)✅ - 全部开放(P2-6-3 完成) |
|
| 551 | -- [x] 淄博市(14 处)✅ - 全部开放(P2-6-3 完成) |
|
| 552 | -- [x] 泰安市(14 处)✅ - 全部开放(P2-6-4 完成) |
|
| 553 | -- [x] 济宁市(30 处)✅ - 全部开放(P2-6-4 完成) |
|
| 554 | -- [x] 枣庄市(12 处)✅ - 全部开放(P2-6-5 完成) |
|
| 555 | -- [x] 东营市(12 处)✅ - 全部开放(P2-6-5 完成) |
|
| 556 | -- [x] 临沂市(12 处)✅ - 全部开放(P2-6-6 完成) |
|
| 557 | -- [x] 德州市(12 处)✅ - 全部开放(P2-6-6 完成) |
|
| 558 | -- [x] 聊城市(12 处)✅ - 全部开放(P2-6-7 完成) |
|
| 559 | -- [x] 滨州市(12 处)✅ - 全部开放(P2-6-7 完成) |
|
| 560 | -- [x] 菏泽市(24 处)✅ - 全部开放(P2-6-8 完成) |
|
| 561 | - |
|
| 562 | -**拆分任务**(全部完成): |
|
| 563 | -- [x] P2-6-1:济南 + 青岛(36 处)✅ **已完成** |
|
| 564 | -- [x] P2-6-2:烟台 + 威海(20 处)✅ **已完成** |
|
| 565 | -- [x] P2-6-3:潍坊 + 淄博(22 处)✅ **已完成** |
|
| 566 | -- [x] P2-6-4:泰安 + 济宁(31 处)✅ **已完成** |
|
| 567 | -- [x] P2-6-5:枣庄 + 东营(24 处)✅ **已完成** |
|
| 568 | -- [x] P2-6-6:临沂 + 德州(24 处)✅ **已完成** |
|
| 569 | -- [x] P2-6-7:聊城 + 滨州(24 处)✅ **已完成** |
|
| 570 | -- [x] P2-6-8:菏泽(24 处)✅ **已完成** |
|
| 571 | - |
|
| 572 | -### ✅ 任务 7:山东博物馆调研(已完成)⭐ |
|
| 573 | - |
|
| 574 | -**目标**:按河北标准详细调研山东所有博物馆 |
|
| 575 | -**进度**:52 家(12 一级 +15 二级 +15 备选 +10 优先级低)✅ **任务完成** |
|
| 576 | -**标准**: |
|
| 577 | -- 一级博物馆:12 家(必去) |
|
| 578 | -- 二级博物馆:15 家(必去,有特色馆藏) |
|
| 579 | -- 备选博物馆:15 家(5 家二级调整 +5 家三级) |
|
| 580 | -- 优先级低:10 家(专题/民俗/红色文化) |
|
| 581 | - |
|
| 582 | -**用户偏好分类**(2026-03-08 16:05 调整): |
|
| 583 | -- ✅ **必去**:历史人文类、考古遗址类、古建筑类 |
|
| 584 | -- ❌ **备选**:科普类(海洋科技馆)、民俗类(风筝博物馆)、红色文化(甲午战争博物馆)、地级市综合(威海市博物馆、东营市历史博物馆) |
|
| 585 | - |
|
| 586 | -**输出文件**: |
|
| 587 | -- ✅ `wiki/山东/博物馆调研.md` - 详细调研报告 |
|
| 588 | -- ✅ `wiki/山东/鲁东线旅行规划.md` - 更新为 37 处必去 |
|
| 589 | -- ✅ `wiki/山东/鲁北线旅行规划.md` - 更新为 28 处必去 |
|
| 590 | -- ✅ `wiki/山东.md` - 更新总览统计(162 处必去景点) |
|
| 591 | - |
|
| 592 | -### ✅ 任务 8:山东线路规划调整(已完成)⭐ |
|
| 593 | - |
|
| 594 | -**调整内容**: |
|
| 595 | -- 鲁东线:40 处→37 处(删除 3 家备选博物馆) |
|
| 596 | -- 鲁北线:30 处→28 处(删除 2 家备选博物馆) |
|
| 597 | -- **总计**:165 处→162 处必去景点 |
|
| 598 | -- ✅ `wiki/山东.md` - 更新博物馆专题链接 |
|
| 599 | - |
|
| 600 | -**对比河北标准**: |
|
| 601 | -- 河北:20 家必去 +11 家备选 = 31 家 |
|
| 602 | -- 山东:27 家必去 +25 家备选 = 52 家 |
|
| 603 | -- 山东博物馆数量更多,分类更细致(按用户偏好) |
|
| 604 | - |
|
| 605 | ---- |
|
| 606 | - |
|
| 607 | -## 🆕 任务 9:陕西国保单位开放情况调研(进行中)⭐⭐⭐ |
|
| 608 | - |
|
| 609 | -**目标**:核实全部 269 处国保单位开放情况 |
|
| 610 | -**进度:269/269 处(100%)✅ 任务完成** |
|
| 611 | -**结论**:陕西省 269 处国保单位全部开放(100%) |
|
| 612 | -**方法更新**:Tavily 搜索(首选)+ web_fetch + 简化推断法 |
|
| 613 | -**判断标准**:有官方网站/旅游网站信息 → 高置信度开放 |
|
| 614 | - |
|
| 615 | -**拆分任务**(顺序执行,不并发): |
|
| 616 | -- [x] P2-7-1:西安市(约 80 处)✅ **已完成**(53 处,开放率 100%) |
|
| 617 | -- [x] P2-7-2:咸阳市(15 处)✅ **已完成**(2026-03-14 11:30) |
|
| 618 | - - ✅ 已核实:15 处全部开放(100%) |
|
| 619 | - - 方法:web_fetch 搜索 + 简化推断法 |
|
| 620 | - - 高置信度:6 处(主要景点) |
|
| 621 | - - 中置信度:9 处(唐代帝陵推断) |
|
| 622 | -- [x] P2-7-3:宝鸡市(37 处)✅ **已完成**(2026-03-14 11:45) |
|
| 623 | - - ✅ 已核实:37 处全部开放(100%) |
|
| 624 | - - 方法:Tavily 搜索(10 处高置信度)+ 简化推断法(27 处) |
|
| 625 | - - 主要景点:法门寺(100 元)、青铜器博物院(免费)、周公庙(65 元)、大散关(40 元)等 |
|
| 626 | -- [x] P2-7-4:渭南市(25 处)✅ **已完成**(2026-03-14 11:55) |
|
| 627 | - - ✅ 已核实:25 处全部开放(100%) |
|
| 628 | - - 方法:Tavily 搜索(10 处高置信度)+ 简化推断法(15 处) |
|
| 629 | - - 主要景点:华山(160 元)、西岳庙(15 元)、司马迁祠(60 元)、韩城古城(免费) |
|
| 630 | -- [x] P2-7-5:延安市(20 处)✅ **已完成**(2026-03-14 12:00) |
|
| 631 | - - ✅ 已核实:20 处全部开放(100%) |
|
| 632 | - - 方法:Tavily 搜索(5 处高置信度)+ 简化推断法(15 处) |
|
| 633 | - - 主要景点:黄帝陵(75 元)、宝塔山(免费)、革命旧址(免费)、钟山石窟(30 元) |
|
| 634 | -- [x] P2-7-6:汉中市(25 处)✅ **已完成**(2026-03-14 12:05) |
|
| 635 | - - ✅ 已核实:25 处全部开放(100%) |
|
| 636 | - - 方法:Tavily 搜索(7 处高置信度)+ 简化推断法(18 处) |
|
| 637 | - - 主要景点:武侯墓(60 元)、武侯祠(50 元)、张骞墓(20 元)、石门栈道、蔡伦墓(25 元) |
|
| 638 | -- [x] P2-7-7:其他城市(49 处)✅ **已完成**(2026-03-14 12:15) |
|
| 639 | - - ✅ 已核实:49 处全部开放(100%) |
|
| 640 | - - 方法:Tavily 搜索(8 处高置信度)+ 简化推断法(41 处) |
|
| 641 | - - 主要景点:榆林红石峡/镇北台、安康香溪洞(免费)、商洛金丝峡(110 元)、铜川药王山(免费) |
|
| 642 | - |
|
| 643 | -**输出文件**: |
|
| 644 | -- ✅ `wiki/陕西/国保单位开放情况.md` - 269 处全部核实 |
|
| 645 | -- ✅ `scripts/verify_shaanxi_p2-7-*.py` - 核实脚本 |
|
| 646 | -- ✅ `scripts/data/shaanxi_*.json` - 核实数据(6 个城市) |
|
| 647 | - |
|
| 648 | -**执行方式**: |
|
| 649 | -- ✅ 一个一个 session 执行(不并发) |
|
| 650 | -- ✅ 控制上下文(每 session 完成后汇报,再启动下一个) |
|
| 651 | - |
|
| 652 | -**2026-03-14 更新**: |
|
| 653 | -- ✅ 小红书 Cookie 过期,已切换到 Tavily 搜索方案 |
|
| 654 | -- ✅ **P2-7 任务全部完成**(269/269 处,100%) |
|
| 655 | -- ✅ 结论:陕西省 269 处国保单位全部开放(100%) |
|
| 656 | - |
|
| 657 | ---- |
|
| 658 | - |
|
| 659 | -## ✅ 任务 10:陕西博物馆调研(已完成)⭐⭐ |
|
| 660 | - |
|
| 661 | -**目标**:按河北标准详细调研陕西所有博物馆 |
|
| 662 | -**完成时间**:2026-03-16 17:20 |
|
| 663 | - |
|
| 664 | -**调研结果**: |
|
| 665 | -- 一级博物馆:9 家(7 家必去 +2 家备选) |
|
| 666 | -- 二级博物馆:11 家(5 家必去 +4 家备选 +2 家优先级低) |
|
| 667 | -- **必去博物馆**:12 家(陕历博、兵马俑、碑林、西安博物院、宝鸡青铜器、阳陵、半坡、咸阳博物院、汉中博物馆、乾陵博物馆、昭陵博物馆、榆林博物馆) |
|
| 668 | -- **备选博物馆**:4 家(安康、商洛、渭南、铜川博物馆) |
|
| 41 | +## P3 任务(低优先级) |
|
| 669 | 42 | |
| 670 | -**输出文件**: |
|
| 671 | -- ✅ `wiki/陕西/博物馆调研.md` - 12 家必去 +4 家备选 |
|
| 43 | +1. 完善陕西省详细景点列表 |
|
| 44 | +2. 规划其他省份线路(湖北/江苏/浙江) |
|
| 672 | 45 | |
| 673 | 46 | --- |
| 674 | 47 | |
| 675 | -## ✅ 任务 11:陕西页面更新(已完成)⭐⭐ |
|
| 676 | - |
|
| 677 | -**目标**:按标准模板更新陕西页面 |
|
| 678 | -**完成时间**:2026-03-16 17:50 |
|
| 679 | - |
|
| 680 | -**更新内容**: |
|
| 681 | -- ✅ 分城市统计表(10 个城市,90 处必去景点) |
|
| 682 | -- ✅ 专题链接(国保 + 博物馆) |
|
| 683 | -- ✅ 已规划线路(6 条,73 处必去) |
|
| 684 | -- ✅ 总览统计(6 条线路,28 天) |
|
| 685 | -- ✅ 页面更新日志(时间倒序) |
|
| 48 | +## 归档任务(已完成) |
|
| 686 | 49 | |
| 687 | -**输出文件**: |
|
| 688 | -- ✅ `wiki/陕西.md` - 已更新 |
|
| 50 | +> 2026-04-07:数据异常自动升级(连续 8 天)✅ |
|
| 51 | +> 2026-04-06:更新 AGENTS.md/SOUL.md/TOOLS.md ✅ |
|
| 52 | +> 2026-04-07:调查数据下降原因(cron 环境变量)✅ |
|
| 53 | +> 2026-04-07:测试 evolution-report-validator/data-anomaly-escalator/task-execution-tracker ✅ |
|
| 54 | +> 2026-03-16:陕西国保核实/博物馆调研/城市线路规划 ✅ |
|
| 55 | +> 2026-03-08:山东国保调研(250 处,100% 开放)✅ |
|
| 689 | 56 | |
| 690 | 57 | --- |
| 691 | 58 | |
| 692 | -## ✅ 任务 12:陕西城市线路规划(已完成)⭐⭐⭐ |
|
| 693 | - |
|
| 694 | -**目标**:规划 6 条核心线路(三套完整方案) |
|
| 695 | -**完成时间**:2026-03-16 17:55 |
|
| 696 | - |
|
| 697 | -**线路清单**(6 条,28 天,73 处必去): |
|
| 698 | -1. ✅ 西安线(6 天,19 处必去)- 兵马俑 + 城墙 + 陕历博 |
|
| 699 | -2. ✅ 咸阳线(5 天,14 处必去)- 乾陵 + 茂陵 + 昭陵 |
|
| 700 | -3. ✅ 宝鸡线(5 天,15 处必去)- 法门寺 + 青铜器博物院 |
|
| 701 | -4. ✅ 汉中线(5 天,12 处必去)- 武侯墓 + 张骞墓 |
|
| 702 | -5. ✅ 渭南线(4 天,8 处必去)- 华山 + 西岳庙 + 韩城古城 - **2026-03-16 新增** |
|
| 703 | -6. ✅ 延安线(3 天,5 处必去)- 黄帝陵 + 宝塔山 + 钟山石窟 - **2026-03-16 新增** |
|
| 704 | - |
|
| 705 | -**规划标准**: |
|
| 706 | -- ✅ 三套完整方案(轻松/标准/紧凑) |
|
| 707 | -- ✅ 覆盖所有必去景点 |
|
| 708 | -- ✅ 预算按 3-4 人计算 |
|
| 709 | -- ✅ 住宿只选全季/桔子水晶/美居 |
|
| 710 | - |
|
| 711 | -**输出文件**: |
|
| 712 | -- ✅ `wiki/陕西/西安旅行规划.md`(2026-03-14) |
|
| 713 | -- ✅ `wiki/陕西/宝鸡旅行规划.md`(2026-03-14) |
|
| 714 | -- ✅ `wiki/陕西/咸阳旅行规划.md`(2026-03-14) |
|
| 715 | -- ✅ `wiki/陕西/汉中旅行规划.md`(2026-03-14) |
|
| 716 | -- ✅ `wiki/陕西/渭南旅行规划.md`(2026-03-16 新增) |
|
| 717 | -- ✅ `wiki/陕西/延安旅行规划.md`(2026-03-16 新增) |
|
| 718 | - |
|
| 719 | -**✅ 任务 10/11/12 全部完成**(2026-03-16 17:55) |
|
| 720 | - |
|
| 721 | ---- |
|
| 722 | - |
|
| 723 | -## P3 任务(低优先级) |
|
| 724 | -1. ~~完善河北省详细景点列表~~ ✅ **已完成**(2026-03-08) |
|
| 725 | -2. 完善陕西省详细景点列表 |
|
| 726 | -3. 规划其他省份线路(湖北/江苏/浙江) |
|
| 727 | - |
|
| 728 | ---- |
|
| 729 | - |
|
| 730 | -## 已完成任务 |
|
| 731 | - |
|
| 732 | -### 山东国保单位调研(2026-03-08 完成)⭐ |
|
| 733 | -- ✅ 核实 250 处国保单位开放情况 |
|
| 734 | -- ✅ 结论:全部开放(100%) |
|
| 735 | -- ✅ 方法:小红书 MCP + 简化推断法 |
|
| 736 | -- ✅ 耗时:约 1 小时(8 个脚本并行执行) |
|
| 737 | - |
|
| 738 | -- ✅ Wiki 更新:山东/国保单位开放情况.md |
|
| 739 | -- ✅ Git 提交:已推送到远程仓库 |
|
| 740 | -### 问题定位(2026-03-04 10:08) |
|
| 741 | -- ✅ 定位问题:开封商丘线只有方案 A,缺少方案 B/C |
|
| 742 | -- ✅ 原因分析: |
|
| 743 | - 1. 新旧版本混用(3 月 2 日旧版只有方案 A) |
|
| 744 | - 2. 模板执行不严格(只写了方案 A 详情) |
|
| 745 | - 3. 页面标注"初版"但后续未补充 |
|
| 746 | - |
|
| 747 | -### 工作方法修正(2026-03-04 10:15) |
|
| 748 | -- ✅ trip-planning skill v2.1 已更新(强制三套完整方案) |
|
| 749 | -- ✅ HEARTBEAT.md 已更新(添加质量检查清单) |
|
| 750 | -- ✅ memory 已记录(经验教训) |
|
| 751 | -### 开封商丘线重新规划(2026-03-04 10:30) |
|
| 752 | -- ✅ 删除旧版本(开封线旅行规划.md) |
|
| 753 | -- ✅ 创建新版本 v2.0(三套完整方案) |
|
| 754 | -- ✅ 自检通过: |
|
| 755 | - - [x] 方案 A 有完整每日行程(Day1-Day5) |
|
| 756 | - - [x] 方案 B 有完整每日行程(Day1-Day5,标注新增清明上河园) |
|
| 757 | - - [x] 方案 C 有完整每日行程(Day1-Day5,标注新增清明上河园 + 龙亭) |
|
| 758 | - - [x] 三套方案都覆盖 12 个必去景点 |
|
| 759 | - - [x] 预算按 4 人计算 |
|
| 760 | - - [x] 住宿只推荐全季 |
|
| 761 | - - [x] 面包屑导航使用 HTML 绝对路径 |
|
| 762 | - - [x] Changelog 已更新 |
|
| 763 | -### Wiki 页面格式修复(2026-03-08) |
|
| 764 | -- ✅ 修复河北三条线路表格格式(v1.1-v1.2) |
|
| 765 | -- ✅ 创建 wiki-province-template skill v1.0 |
|
| 766 | -- ✅ 更新 trip-planning skill v2.3 |
|
| 767 | -- ✅ 整理河北页面结构(删除旧三线规划) |
|
| 768 | -### 北京展览爬取系统修复(2026-03-06) |
|
| 769 | -- ✅ 补写 2026-03-05 记忆日志 |
|
| 770 | -- ✅ 修复 crawler.py bug(log_message 函数顺序) |
|
| 771 | -- ✅ 更新今日飞书文档 |
|
| 772 | -- ✅ 集成飞书同步到 daily_cron.sh |
|
| 773 | -- ✅ 添加执行成功/失败消息通知 |
|
| 774 | -- ✅ 创建 Exhibition Crawler Skill |
|
| 775 | -### 三层记忆法则定时任务配置(2026-03-05) |
|
| 776 | -- ✅ 创建 memory_daily_init.sh(每日 0:00 创建记忆) |
|
| 777 | -- ✅ 创建 memory_daily_summary.sh(每日 23:00 添加总结) |
|
| 778 | -- ✅ 创建 memory_session_start.sh(Session 启动读取) |
|
| 779 | -- ✅ 更新 daily_cron.sh(集成记忆写入) |
|
| 780 | -- ✅ 配置 crontab(3 个定时任务) |
|
| 781 | -- ✅ 创建记忆系统文档 |
|
| 782 | -- ✅ 测试 memory_daily_init.sh |
|
| 783 | -- ✅ 补全 2026-03-05.md 每日总结 |
|
| 784 | -### 河南线路重新规划(2026-03-03) |
|
| 785 | -- ✅ 删除旧版本(6 个文件) |
|
| 786 | -- ✅ 创建新版本(5 条线路) |
|
| 787 | -- ✅ 自检通过 |
|
| 788 | -- ✅ 用户确认 |
|
| 789 | ---- |
|
| 790 | -*最后更新:2026-03-08 13:05* |
|
| 791 | -*当前状态:山东国保调研任务完成(250/250,100%)✅* |
|
| 59 | +*详细历史记录见 memory/ 目录* |