13209a64cbd824c6d224bda6f5e5ad577b00c300
MEMORY.md
| ... | ... | @@ -95,13 +95,36 @@ |
| 95 | 95 | ``` |
| 96 | 96 | |
| 97 | 97 | ### 相关 Skill |
| 98 | -- `~/.openclaw/skills/trip-planning/SKILL.md` - 旅行规划技能(v2.2 已更新表格规范) |
|
| 98 | +- `~/.openclaw/skills/trip-planning/SKILL.md` - 旅行规划技能(v2.3 已更新省份页面模板) |
|
| 99 | 99 | - `~/.openclaw/skills/wiki-format/SKILL.md` - Wiki 格式规范(v1.0 新建) |
| 100 | +- `~/.openclaw/skills/wiki-province-template/SKILL.md` - 省份页面模板(v1.0 新建)⭐ **重点** |
|
| 100 | 101 | |
| 101 | 102 | ### 修复记录 |
| 102 | 103 | - 2026-03-08 10:45 - 修复冀北线旅行规划(v1.1 → v1.2) |
| 103 | 104 | - 2026-03-08 10:52 - 修复冀东线/冀中线旅行规划(v1.1) |
| 104 | 105 | - 2026-03-08 11:02 - 更新 trip-planning skill 至 v2.2,创建 wiki-format skill v1.0 |
| 106 | +- 2026-03-08 12:35 - 创建 wiki-province-template skill v1.0,更新 trip-planning 至 v2.3 |
|
| 107 | + |
|
| 108 | +### 省份页面标准模板(2026-03-08 固化)⭐ 重点 |
|
| 109 | + |
|
| 110 | +**模板位置**:`~/.openclaw/skills/wiki-province-template/SKILL.md` |
|
| 111 | + |
|
| 112 | +**核心结构**: |
|
| 113 | +1. 面包屑导航(HTML 绝对路径) |
|
| 114 | +2. 分城市统计表(按必去景点总量降序) |
|
| 115 | +3. 专题链接(国保 + 博物馆) |
|
| 116 | +4. 已规划行程表格(所有线路汇总) |
|
| 117 | +5. 总览统计(线路数、景点数、天数) |
|
| 118 | +6. 页面更新日志(时间倒序,精确到分钟) |
|
| 119 | + |
|
| 120 | +**参考范例**: |
|
| 121 | +- ✅ `河南.md` - 标准格式 |
|
| 122 | +- ✅ `河北.md` - 2026-03-08 优化后格式 |
|
| 123 | + |
|
| 124 | +**使用要求**: |
|
| 125 | +- ⚠️ **所有省份页面必须使用此模板** |
|
| 126 | +- ⚠️ **创建新省份页面时先读取模板** |
|
| 127 | +- ⚠️ **修改现有页面时对照模板检查** |
|
| 105 | 128 | |
| 106 | 129 | --- |
| 107 | 130 |
memory/memory_compression.log
| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | +[2026-03-08 11:48:01] ========== Travel Agent 记忆压缩开始 ========== |
|
| 2 | +[2026-03-08 11:48:01] ✅ 找到昨天的日志: /root/.openclaw/workspace/travel/memory/2026-03-07.md |
|
| 3 | +[2026-03-08 11:48:01] ℹ️ 昨天没有标记为重要的内容 |
|
| 4 | +[2026-03-08 11:48:01] 🧹 清理旧日志... |
|
| 5 | +[2026-03-08 11:48:01] ✅ 旧日志清理完成 |
|
| 6 | +[2026-03-08 11:48:01] ========== Travel Agent 记忆压缩完成 ========== |
|
| 7 | +[2026-03-08 11:48:01] |
scripts/memory_compression.sh
| ... | ... | @@ -0,0 +1,93 @@ |
| 1 | +#!/bin/bash |
|
| 2 | +# Travel Agent 记忆压缩脚本 - 每日凌晨执行 |
|
| 3 | +# 功能:将每日日志中的重要信息压缩到长期记忆 |
|
| 4 | + |
|
| 5 | +set -e |
|
| 6 | + |
|
| 7 | +# 配置 |
|
| 8 | +WORKSPACE="/root/.openclaw/workspace/travel" |
|
| 9 | +MEMORY_DIR="$WORKSPACE/memory" |
|
| 10 | +LONG_TERM_MEMORY="$WORKSPACE/MEMORY.md" |
|
| 11 | +LOG_FILE="$MEMORY_DIR/memory_compression.log" |
|
| 12 | + |
|
| 13 | +# 日期 |
|
| 14 | +TODAY=$(date +%Y-%m-%d) |
|
| 15 | +YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) |
|
| 16 | +YESTERDAY_LOG="$MEMORY_DIR/$YESTERDAY.md" |
|
| 17 | + |
|
| 18 | +# 日志函数 |
|
| 19 | +log() { |
|
| 20 | + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE" |
|
| 21 | +} |
|
| 22 | + |
|
| 23 | +log "========== Travel Agent 记忆压缩开始 ==========" |
|
| 24 | + |
|
| 25 | +# 1. 检查昨天的日志是否存在 |
|
| 26 | +if [ ! -f "$YESTERDAY_LOG" ]; then |
|
| 27 | + log "⚠️ 昨天的日志文件不存在: $YESTERDAY_LOG" |
|
| 28 | + log "跳过记忆压缩" |
|
| 29 | + exit 0 |
|
| 30 | +fi |
|
| 31 | + |
|
| 32 | +log "✅ 找到昨天的日志: $YESTERDAY_LOG" |
|
| 33 | + |
|
| 34 | +# 2. 提取重要内容 |
|
| 35 | +IMPORTANT_CONTENT=$(grep -A 50 "^## 重要" "$YESTERDAY_LOG" 2>/dev/null || echo "") |
|
| 36 | + |
|
| 37 | +if [ -z "$IMPORTANT_CONTENT" ]; then |
|
| 38 | + log "ℹ️ 昨天没有标记为重要的内容" |
|
| 39 | +else |
|
| 40 | + log "✅ 找到重要内容,准备压缩" |
|
| 41 | +fi |
|
| 42 | + |
|
| 43 | +# 3. 提取经验教训 |
|
| 44 | +LESSONS=$(grep -A 30 "^## 经验教训" "$YESTERDAY_LOG" 2>/dev/null || echo "") |
|
| 45 | + |
|
| 46 | +if [ -n "$LESSONS" ]; then |
|
| 47 | + log "✅ 找到经验教训" |
|
| 48 | +fi |
|
| 49 | + |
|
| 50 | +# 4. 更新长期记忆 |
|
| 51 | +if [ -n "$IMPORTANT_CONTENT" ] || [ -n "$LESSONS" ]; then |
|
| 52 | + log "📝 更新长期记忆..." |
|
| 53 | + |
|
| 54 | + # 备份 |
|
| 55 | + if [ -f "$LONG_TERM_MEMORY" ]; then |
|
| 56 | + cp "$LONG_TERM_MEMORY" "$LONG_TERM_MEMORY.bak" |
|
| 57 | + fi |
|
| 58 | + |
|
| 59 | + # 更新时间戳 |
|
| 60 | + if [ -f "$LONG_TERM_MEMORY" ]; then |
|
| 61 | + CURRENT_TIME=$(date '+%Y-%m-%d %H:%M') |
|
| 62 | + sed -i "s/最后压缩:.*/最后压缩:$CURRENT_TIME/" "$LONG_TERM_MEMORY" 2>/dev/null || true |
|
| 63 | + log "✅ 时间戳已更新: $CURRENT_TIME" |
|
| 64 | + |
|
| 65 | + # 添加每日摘要 |
|
| 66 | + echo "" >> "$LONG_TERM_MEMORY" |
|
| 67 | + echo "---" >> "$LONG_TERM_MEMORY" |
|
| 68 | + echo "" >> "$LONG_TERM_MEMORY" |
|
| 69 | + echo "## 📅 $YESTERDAY 摘要" >> "$LONG_TERM_MEMORY" |
|
| 70 | + echo "" >> "$LONG_TERM_MEMORY" |
|
| 71 | + |
|
| 72 | + if [ -n "$IMPORTANT_CONTENT" ]; then |
|
| 73 | + echo "$IMPORTANT_CONTENT" >> "$LONG_TERM_MEMORY" |
|
| 74 | + echo "" >> "$LONG_TERM_MEMORY" |
|
| 75 | + fi |
|
| 76 | + |
|
| 77 | + if [ -n "$LESSONS" ]; then |
|
| 78 | + echo "$LESSONS" >> "$LONG_TERM_MEMORY" |
|
| 79 | + echo "" >> "$LONG_TERM_MEMORY" |
|
| 80 | + fi |
|
| 81 | + |
|
| 82 | + log "✅ 长期记忆已更新" |
|
| 83 | + fi |
|
| 84 | +fi |
|
| 85 | + |
|
| 86 | +# 5. 清理超过7天的旧日志 |
|
| 87 | +log "🧹 清理旧日志..." |
|
| 88 | +find "$MEMORY_DIR" -name "*.md" -mtime +7 -type f ! -name "MEMORY.md" -exec rm {} \; 2>/dev/null || true |
|
| 89 | +log "✅ 旧日志清理完成" |
|
| 90 | + |
|
| 91 | +# 6. 完成 |
|
| 92 | +log "========== Travel Agent 记忆压缩完成 ==========" |
|
| 93 | +log "" |
wiki
| ... | ... | @@ -1 +1 @@ |
| 1 | -Subproject commit 927273ba8611410c8e156b5fab49d38c78ce0b38 |
|
| 1 | +Subproject commit 0274dffa02ddb584da4195a66bf0c3fe50611134 |