AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning
This commit is contained in:
50
skills/openclaw-self-healing/scripts/memory-compaction.sh
Normal file
50
skills/openclaw-self-healing/scripts/memory-compaction.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
# 주간 메모리 압축 스크립트
|
||||
# 매주 일요일 23:00 실행
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
MEMORY_DIR="$HOME/openclaw/memory"
|
||||
ARCHIVE_DIR="$MEMORY_DIR/archive"
|
||||
DATE=$(date '+%Y-%m-%d')
|
||||
WEEK_AGO=$(date -v-7d '+%Y-%m-%d' 2>/dev/null || date -d '7 days ago' '+%Y-%m-%d')
|
||||
|
||||
echo "🗂️ 메모리 압축 시작: $DATE"
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
|
||||
# Archive 디렉토리 생성
|
||||
mkdir -p "$ARCHIVE_DIR"
|
||||
|
||||
# 1. 7일 이상 된 daily notes 아카이브
|
||||
echo "📁 7일 이상 된 daily notes 아카이브 중..."
|
||||
find "$MEMORY_DIR" -maxdepth 1 -name "202[0-9]-[0-9][0-9]-[0-9][0-9].md" -mtime +7 | while read -r file; do
|
||||
basename=$(basename "$file")
|
||||
if [[ ! -f "$ARCHIVE_DIR/$basename" ]]; then
|
||||
mv "$file" "$ARCHIVE_DIR/"
|
||||
echo " → $basename"
|
||||
fi
|
||||
done
|
||||
|
||||
# 2. 7일 이상 된 품질 체크 삭제
|
||||
echo "🗑️ 7일 이상 된 품질 체크 삭제 중..."
|
||||
find "$MEMORY_DIR" -maxdepth 1 -name "quality-check-*.md" -mtime +7 -delete -print | while read -r file; do
|
||||
echo " → $(basename "$file")"
|
||||
done
|
||||
|
||||
# 3. 빈 파일 정리
|
||||
echo "🧹 빈 파일 정리 중..."
|
||||
find "$MEMORY_DIR" -maxdepth 1 -type f -empty -delete -print | while read -r file; do
|
||||
echo " → $(basename "$file")"
|
||||
done
|
||||
|
||||
# 4. 통계
|
||||
TOTAL_FILES=$(find "$MEMORY_DIR" -maxdepth 1 -type f | wc -l)
|
||||
ARCHIVE_FILES=$(find "$ARCHIVE_DIR" -type f 2>/dev/null | wc -l)
|
||||
TOTAL_SIZE=$(du -sh "$MEMORY_DIR" 2>/dev/null | cut -f1)
|
||||
|
||||
echo ""
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
echo "📊 메모리 압축 완료"
|
||||
echo " - 현재 파일: $TOTAL_FILES개"
|
||||
echo " - 아카이브: $ARCHIVE_FILES개"
|
||||
echo " - 총 크기: $TOTAL_SIZE"
|
||||
Reference in New Issue
Block a user