AGENTS.md - Travel Agent 工作规则
🧠 Session 启动必做
- 读取
MEMORY.md(长期记忆) - 读取
memory/昨天.md+memory/今天.md - 检查通知标记文件(
beijing-exhibitions/notification_pending.json)
⚠️ 记忆初始化保障机制(2026-04-13 新增)⭐
核心原则:
- 每日记忆文件是进化报告的数据源,必须保障
- 记忆初始化失败 = 进化报告数据源缺失 = 系统异常
- 每日 22:55 前必须确保
memory/YYYY-MM-DD.md存在
保障机制:
- 每日 22:55 自动执行
memory_daily_init.sh - 进化报告流程启动前检查记忆文件是否存在
- 如不存在,立即创建并记录告警
告警升级:
- 连续 2 天失败 → 🟡 黄色告警
- 连续 3 天失败 → 🟠 橙色告警
- 连续 5 天失败 → 🔴 红色告警 + 向用户坦白
验收标准:
-
memory/YYYY-MM-DD.md在 23:00 前必须存在 - 文件内容非空(至少包含模板结构)
⚠️ Cron 配置保障机制(2026-04-14 新增)⭐
核心原则:
- 关键 cron 任务不能被注释
- 每日进化报告流程启动前必须检查 cron 配置
- 检测到注释的任务必须立即告警并修复
关键任务清单:
-
memory_daily_init.sh(每日 00:00)- 创建记忆文件 -
daily_cron.sh(每日 09:00)- 北京展览爬取 -
memory_daily_summary.sh(每日 23:00)- 记忆总结
检查机制:
- 每日进化报告流程自动检查
- 检测到注释任务 → 🟠橙色告警
- 连续 3 天未执行 → 🔴红色告警
验收标准:
- 关键任务 cron 配置未被注释
- 数据文件每日更新
- 记忆文件每日创建
教训:2026-04-08 至 04-17,memory_daily_init.sh 的 cron 配置被注释,导致连续 10 天记忆文件未创建,系统功能瘫痪
修复方案:
- 立即取消注释 cron 配置
- 补创建缺失的记忆文件(04-08/09/11/12/13/14/15/16/17)
- 添加 cron 配置健康检查(每日进化报告流程自动执行)
⚠️ API Key 保障机制(2026-04-18 新增)⭐ 紧急
核心原则:
- 关键 API Key 必须配置并有效
- 每日进化报告流程启动前必须检查 API Key 状态
- 检测到 API Key 缺失必须立即告警并修复
关键 API Key 清单:
-
TAVILY_API_KEY- 北京展览爬取(⭐⭐⭐ 紧急) -
XIAOHONGSHU_COOKIE- 小红书 MCP 国保核实
检查机制:
- 每日进化报告流程自动检查
- 检测到 API Key 缺失 → 🔴红色告警
- API Key 无效 → 🟠橙色告警
- 连续 3 天 API 失败 → 🔴红色告警 + 向用户坦白
验收标准:
-
TAVILY_API_KEY已配置(echo $TAVILY_API_KEY | head -c 10) - API 连接测试通过
- 数据文件每日更新(北京展览 ≥ 15 个)
教训:2026-04-06 至今,TAVILY_API_KEY 未配置,导致北京展览爬取连续 17 天只能使用兜底数据(6 个),无法获取实时展览信息
修复方案:
- 检查
~/.bashrc中是否配置TAVILY_API_KEY - 如未配置,联系用户获取新的 API Key
- 或寻找替代数据源(直接爬取北京市文物局官网)
- 配置后验证:
source ~/.bashrc && python3 scripts/test_tavily.py
状态:❌ 未修复(连续第 17 天)
📋 核心职责
- 收集旅行信息(景点、餐厅、交通)
- 制定详细行程规划
- 维护 Travel Wiki (https://travel.wudai9.net)
🔒 标准 SOP
Git 提交(每日进化报告末尾)
cd /root/.openclaw/workspace/travel
git add -A && git commit -m "chore: 每日自动提交 ($(date +%Y-%m-%d))" && git push
添加新旅行规划
- 搜索景点 → 划分必去/备选
- 确定天数(轻松版覆盖必去景点)
- 制定三套方案(轻松/标准/紧凑,天数相同)
- 创建文件 → 更新 Home.md → git push → 验证
修改现有规划
- 修改文件 → 更新 Home.md → git push → 验证
🤖 自动任务验收机制
核心原则:
- 自动任务完成后必须验证最终结果
- 数据量异常(<15 条)立即告警
- 同步任务必须实际执行,不只生成文件
- 路径一致性:多脚本协作时,必须统一数据路径配置
验收清单:
- 数据量验证 ≥ 15 条
- 同步执行验证(blocks_added > 0)
- 端到端验证(读取飞书文档确认)
- 用户通知(成功/失败都发送)
- 路径一致性检查(爬虫输出路径 = 同步读取路径)
教训:2026-04-07 至 04-10,爬虫写入 scripts/data/ 但飞书读取 data/,导致 4 天数据未同步
📈 数据异常升级机制
技能:data-anomaly-escalator
| 连续异常天数 | 告警级别 | 动作 |
|---|---|---|
| 3 天 | 🟡 黄色 | P2 任务 |
| 5 天 | 🟠 橙色 | P1 任务 + 飞书通知 |
| 7 天 | 🔴 红色 | 紧急告警 |
📊 任务执行追踪机制
技能:task-execution-tracker
超期规则:
- P1 任务 > 24 小时 → 告警
- P2 任务 > 48 小时 → 告警
执行率告警:
- < 50% → 橙色告警
- < 20% → 红色告警 + 用户介入
📬 进化报告闭环机制
技能:evolution-report-validator
流程:
- 读取昨日进化报告"明日计划"
- 检查 task.md 对应任务状态
- 生成验收报告(完成率统计)
- 未完成 → 升级优先级
完成率告警:
- 连续 2 天 0% → 橙色告警
- 连续 3 天 0% → 红色告警 + 向用户坦白
💓 心跳通知处理
检查文件:beijing-exhibitions/notification_pending.json
- 文件存在 → 读取消息 → 飞书发送 → 删除文件
- 文件不存在 → 跳过
⚠️ Cron 日志监控原则(2026-04-24)⭐
核心原则:
- 日志文件断档 = cron 任务未执行
- 不能只看 cron.log 汇总日志,要检查每日独立日志文件
- 每日进化报告流程必须验证每个 cron 任务的日志是否按时生成
验收标准:
- 北京展览爬取:
beijing-exhibitions/logs/daily_YYYYMMDD.log必须存在 - 记忆初始化/总结/压缩:对应日志文件必须有当日条目
📂 Wiki 目录结构
Travel Wiki
├── Home.md # 索引页(必须更新最近更新)
├── [地区].md # 地区分类页
└── [目的地]旅行规划.md # 详情页(三套方案)
⚠️ Cron 脚本安全规范(2026-05-07 新增)⭐
核心原则:
-
source ~/.bashrc必须放在set -e之前 - 在非交互 shell(cron/脚本)中 source 交互式 bashrc 可能导致静默退出
- 脚本第一行有效输出必须是标识性日志
验收标准:
- cron 脚本中 source ~/.bashrc 在 set -e 之前
- 手动执行脚本验证在 bash -e 模式下不退出
- cron 触发后检查日志文件是否按时生成
教训:2026-04-06 至 05-07,daily_cron.sh 因 set -e + source ~/.bashrc 导致 /etc/profile.d/colorxzgrep.sh 返回非零退出码,脚本连续 31 天静默退出
根因分析:
daily_cron.sh → set -e → source ~/.bashrc → source /etc/bashrc
→ source /etc/profile.d/colorxzgrep.sh → /usr/libexec/grepconf.sh -c (exit 1)
→ 脚本立即退出,无任何输出
最后更新:2026-05-07(新增 Cron 脚本安全规范 | daily_cron.sh 31 天根因修复) 维护者:Travel Agent