#!/bin/bash
# 记忆系统 - 每日初始化脚本
# 添加到 crontab: 0 0 * * * /root/.openclaw/workspace/travel/scripts/memory_daily_init.sh

set -e

WORKSPACE_DIR="/root/.openclaw/workspace/travel"
MEMORY_DIR="${WORKSPACE_DIR}/memory"
TODAY=$(date '+%Y-%m-%d')
YESTERDAY=$(date -d 'yesterday' '+%Y-%m-%d')
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')

echo "[${TIMESTAMP}] ========== 开始每日记忆初始化 =========="

# 1. 检查今日记忆文件是否存在，不存在则创建
TODAY_MEMORY="${MEMORY_DIR}/${TODAY}.md"
if [ ! -f "${TODAY_MEMORY}" ]; then
    echo "[${TIMESTAMP}] 创建今日记忆文件：${TODAY_MEMORY}"
    cat > "${TODAY_MEMORY}" << EOF
# ${TODAY} - Travel Agent 记忆日志

## 📋 今日任务

### P1 任务（最高优先级）
- [ ] 

### P2 任务（正常优先级）
- [ ] 

### P3 任务（低优先级）
- [ ] 

---

## 📝 工作记录

### 上午


### 下午


### 晚上


---

## ✅ 已完成任务

| 时间 | 任务 | 状态 | 备注 |
|------|------|------|------|
| | | | |

---

## ⚠️ 经验教训

- 

---

## 🧠 三层记忆应用

### 第 1 层 预防（写入时）
- [ ] 长期记忆已更新（MEMORY.md）
- [ ] 今日记忆已创建
- [ ] 任务状态已记录

### 第 2 层 侦测（恢复时）
- [ ] 已读取 MEMORY.md
- [ ] 已读取昨日记忆（${YESTERDAY}.md）
- [ ] 已读取今日记忆（${TODAY}.md）

### 第 3 层 兜底（执行时）
- [ ] 高风险操作前已检查记忆约束
- [ ] 不可逆操作前已确认

---

*创建时间：${TIMESTAMP}*
*维护者：Travel Agent*
EOF
    echo "[${TIMESTAMP}] ✓ 今日记忆文件创建成功"
else
    echo "[${TIMESTAMP}] ✓ 今日记忆文件已存在"
fi

# 2. 检查昨日记忆是否已关闭（如果没有"已完成"标记，提醒关闭）
YESTERDAY_MEMORY="${MEMORY_DIR}/${YESTERDAY}.md"
if [ -f "${YESTERDAY_MEMORY}" ]; then
    if ! grep -q "## 📝 每日总结" "${YESTERDAY_MEMORY}"; then
        echo "[${TIMESTAMP}] ⚠️ 昨日记忆文件未关闭，请在 memory/${YESTERDAY}.md 中添加每日总结"
    else
        echo "[${TIMESTAMP}] ✓ 昨日记忆文件已关闭"
    fi
fi

# 3. 读取记忆文件（Session 启动准备）
echo "[${TIMESTAMP}] 准备读取记忆文件..."
echo "[${TIMESTAMP}] - MEMORY.md（长期记忆）"
echo "[${TIMESTAMP}] - ${YESTERDAY}.md（昨日记忆）"
echo "[${TIMESTAMP}] - ${TODAY}.md（今日记忆）"

echo "[${TIMESTAMP}] ========== 每日记忆初始化完成 =========="

# 输出到日志
echo "[${TIMESTAMP}] 记忆初始化完成" >> "${MEMORY_DIR}/daily_init.log"
