# 记忆同步 cron prompt v3.2（配置驱动版）
# 用户列表来自 /etc/memory-users.conf（每行一个）
# 脏活由 memory.sh 独立脚本完成，输出 JSON

## 步骤 1：跑同步脚本

exec:
bash /root/.openclaw/workspace/scripts/memory.sh sync

输出 JSON 数组，每个元素包含一个用户的对话数据和现有摘要

## 步骤 2：逐条处理

遍历 JSON 数组，对每个用户：
a) `status` 为 "error" / "skip" → 跳过
b) `file` 或 `dialog_lines` 为空 → 跳过（NOTHING_NEW）
c) 有对话 → 生成 2-3 句中文摘要
d) 去重对比 `existing_summary`：
   - 空 → 新写入
   - 内容重复 → 跳过（ALREADY_SYNCED）
   - 有新信息 → `原摘要\n后续: 新内容`
   - 超过 `summary_max_len` → 压缩精简

## 步骤 3：写入 Redis

对每个需要写入的用户：

exec:
read USER SUMMARY
redis-cli EVAL "
  redis.call('HSET', 'memory:'..ARGV[1], ARGV[2], ARGV[3])
  redis.call('EXPIRE', 'memory:'..ARGV[1], 604800)
  redis.call('SET', 'activity:'..ARGV[1]..':last_seen', ARGV[4], 'EX', 43200)
  return 'OK'
" 0 "$USER" "$(date +%Y-%m-%d)" "$SUMMARY" "$(date '+%Y-%m-%d %H:%M')"
echo "DONE: $USER ${#SUMMARY} chars"

## 约束

- 只使用 exec 工具
- 空摘要不写入
- 用中文回复执行结果
