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 Key 未配置(2026-04-18 更新)⭐ 紧急
现象:
[ERROR] ❌ Tavily API Key 未配置
[WARNING] ⚠️ 爬取数据过少 (0 条),使用已知展览兜底
[INFO] 去重后:6 个
影响:
- 北京展览爬取只能使用兜底数据(6 个已知展览)
- 无法获取实时展览信息
- 飞书文档数据停滞(最后更新 04-06)
- 数据目录为空(
beijing-exhibitions/data/)
根本原因:
-
TAVILY_API_KEY环境变量未配置 - 可能原因:API Key 过期/被删除/从未配置
解决方案(P1 紧急):
- 检查
~/.bashrc中是否配置TAVILY_API_KEY - 如未配置,需要用户重新获取 Tavily API Key
- 或寻找替代数据源(直接爬取北京市文物局官网)
- 配置后验证:
echo $TAVILY_API_KEY | head -c 10
状态:✅ 根因已修复(2026-05-07)
- daily_cron.sh 中
set -e+source ~/.bashrc导致脚本静默退出(连续 31 天) - 已将
source ~/.bashrc移到set -e之前 - Tavily API 已恢复(手动测试获取 18 个展览)
- 等待明天 09:00 CST cron 自动触发验证
根因确认(2026-04-25):
- Tavily API 返回 HTTP 432:
This request exceeds your plan's set usage limit - 不是 Key 未配置,是免费套餐配额已耗尽
- 修复方案:升级 Tavily 套餐 或 切换到替代数据源(Searxng/DuckDuckGo/直接爬取官网)
状态更新(2026-04-29):
- 连续 23 天未修复,已触发无效循环检测
- 暂停每日重复告警,等待用户决策
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-07(daily_cron.sh 根因修复 | Tavily API 恢复 | Cron 脚本安全规范)* |