TOOLS.md - Travel Agent 工具配置
共享配置:
/root/.openclaw/workspace/TOOLS.md
爬取规则:/root/.openclaw/workspace/CRAWLING_RULES.md
🔑 API 配置
Tavily API
-
环境变量:
TAVILY_API_KEY -
配置位置:
~/.bashrc(cron 需显式 source) - 用途:实时搜索(国保开放情况核实)
小红书 MCP
- 状态:⚠️ Cookie 过期(需用户重新登录)
- 用途:国保单位开放情况核实
📊 数据源可靠性
| 来源 | 可靠性 | 用途 |
|---|---|---|
| 政府官网 | ⭐⭐⭐ | 国保名录 |
| 国家文物局 PDF | ⭐⭐ | 国保名录 |
| 小红书 | ⭐⭐⭐ | 开放情况核实 |
| Tavily 搜索 | ⭐⭐ | 开放情况核实(备选) |
🤖 核心技能清单
进化报告闭环
-
evolution-report-validator- 验收昨日计划 -
task-execution-tracker- 追踪超期任务 -
data-anomaly-escalator- 数据异常升级
自动任务监控
-
exhibition-crawler- 北京展览爬取 -
feishu-sync-direct- 飞书直接同步
旅行规划
-
trip-planning- 三套方案生成 -
wiki-province-template- 省份页面模板 -
12306-train-query- 高铁车次查询
📍 文件位置
北京展览数据目录规范 ⭐(2026-04-11 修复)
| 文件 | 路径 | 说明 |
|---|---|---|
| 爬虫输出 | beijing-exhibitions/scripts/data/beijing_exhibitions_YYYY-MM-DD.md |
✅ 正确路径 |
| 飞书同步读取 | beijing-exhibitions/scripts/data/ |
✅ 已修复(原 data/ 错误) |
| 历史遗留目录 | beijing-exhibitions/data/ |
⚠️ 空目录,待清理 |
| 通知标记 | beijing-exhibitions/notification_pending.json |
✅ 正常 |
教训:04-07 至 04-10 因路径不匹配(爬虫写 scripts/data/,飞书读 data/)导致 4 天数据未同步
其他文件
| 文件 | 路径 |
|---|---|
| 任务清单 | task.md |
| 记忆日志 | memory/YYYY-MM-DD.md |
📋 Cron 配置
# 每日 00:00 记忆初始化(确保记忆文件存在)⭐
0 0 * * * cd /root/.openclaw/workspace/travel && ./scripts/memory_daily_init.sh >> memory/daily_init.log 2>&1
# 每日 22:55 记忆初始化检查(兜底保障)
55 22 * * * cd /root/.openclaw/workspace/travel && ./scripts/memory_daily_init.sh >> memory/daily_init.log 2>&1
# 每日 9:00 北京展览爬取
0 9 * * * source ~/.bashrc && /root/.openclaw/workspace/travel/beijing-exhibitions/scripts/daily_cron.sh
# 每日 23:00 每日记忆总结
0 23 * * * cd /root/.openclaw/workspace/travel && ./scripts/memory_daily_summary.sh >> memory/daily_summary.log 2>&1
# 每日 23:30 进化报告
30 23 * * * /root/.openclaw/workspace/scripts/daily_evolution.sh
⚠️ 重要:关键任务行首不能有 #(注释符号),否则任务不会执行!
🔍 Cron 配置检查
检查命令:
crontab -l | grep -E "(memory|beijing|crawl)"
检查项:
-
memory_daily_init.sh未被注释(行首无#) -
daily_cron.sh未被注释 -
memory_daily_summary.sh未被注释
故障排查:
- 检查 cron 配置:
crontab -l - 取消注释:
crontab -e,移除行首的# - 验证服务:
systemctl status cron - 手动执行测试:
./scripts/memory_daily_init.sh - 检查日志:
cat memory/daily_init.log
教训:2026-04-08 至 04-17,memory_daily_init.sh 的 cron 配置被注释,导致连续 10 天记忆文件未创建
修复方案:
- 取消注释 cron 配置行
- 手动执行一次验证脚本功能
- 补创建缺失的记忆文件(04-08/09/11/12/13/14/15/16/17)
- 添加 cron 配置健康检查(每日进化报告流程自动执行)
状态:✅ 已修复(2026-04-17 19:26)
✅ Tavily API 状态(2026-05-10 更新)
状态:✅ 已恢复,cron 连续 3 天自动爬取正常(05-08/05-09/05-10)
时间线:
- 04-06:最后一次正常执行
- 04-07~05-07:连续 31 天失败(根因:set-e + source bashrc → 脚本静默退出)
- 05-07:找到根因并修复
- 05-08:cron 自动执行成功,13 个展览 ✅
- 05-09:cron 自动执行成功,18 个展览 ✅
- 05-10:cron 自动执行成功,14 个展览 ✅
- 05-11:cron 自动执行成功,19 个展览 ✅
根因:set -e + source ~/.bashrc 组合,/etc/profile.d/colorxzgrep.sh 返回非零导致脚本退出
修复:将 source ~/.bashrc 移到 set -e 之前
API 错误码速查(2026-04-25 新增)
| HTTP 状态码 | 含义 | 修复建议 |
|---|---|---|
| 401/403 | Key 未配置或无效 | 检查环境变量 |
| 429 | 限流 | 增加请求间隔 |
| 432 | 配额耗尽 | 升级套餐或更换 API |
Cron 脚本安全规范(2026-05-07 新增)
| 规则 | 说明 |
|---|---|
| source 在 set -e 之前 |
source ~/.bashrc 必须在 set -e 之前执行 |
| 避免非交互 source | cron 脚本中尽量只加载必要环境变量 |
| 第一行输出标识 | 脚本第一行有效输出必须是标识性日志 |
根因:/etc/profile.d/colorxzgrep.sh 中 /usr/libexec/grepconf.sh -c 返回 exit 1,在 set -e 模式下导致整个脚本静默退出
🆕 提议新技能
技能 1:Wiki 三级校准器 (wiki-calibrator)
功能:
- 批量检查所有省份页面格式一致性
- 验证 Home.md 统计表与省份页面数据对齐
- 自动统一格式(表格、面包屑、链接结构)
状态:提议中(04-29 首次完成手动校准,建议脚本化)
技能 2:Git 提交完整性检查器 (git-commit-checker)
功能:
- 每次进化报告末尾自动检查
git status - 检测到 unstaged 变更时自动执行提交
- 记录提交状态到当日记忆文件
状态:提议中(反复出现未提交变更问题)
🔧 记忆初始化脚本
路径:scripts/memory_daily_init.sh
功能:
- 创建
memory/YYYY-MM-DD.md模板文件 - 确保每日记忆总结有写入目标
- 记录执行日志到
memory/daily_init.log
故障排查:
- 检查脚本是否存在:
ls -la scripts/memory_daily_init.sh - 检查脚本权限:
chmod +x scripts/memory_daily_init.sh - 检查 cron 配置:
crontab -l - 手动执行验证:
./scripts/memory_daily_init.sh - 检查日志:
cat memory/daily_init.log
| *最后更新:2026-05-11(cron 连续 4 天正常 | sync 白名单策略确认生效 | 系统稳定期)* |