自动同步: 2026-03-12 03:00

This commit is contained in:
2026-03-12 03:00:29 +08:00
parent a078c575b9
commit deff5877b4
70 changed files with 8684 additions and 367 deletions
+83 -79
View File
@@ -10,14 +10,14 @@
"updatedAtMs": 1773169210537,
"schedule": {
"kind": "cron",
"expr": "0 3 * * *",
"expr": "0 2 * * *",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "执行备份脚本:/home/starmen1265/.openclaw/cron/scripts/backup_openclaw.sh"
"message": "执行备份脚本:/home/starmen1265/.openclaw/cron/scripts/backup_openclaw_json.sh"
},
"delivery": {
"mode": "announce"
@@ -30,7 +30,40 @@
"consecutiveErrors": 0,
"lastRunStatus": "ok",
"lastDelivered": true,
"lastDeliveryStatus": "delivered"
"lastDeliveryStatus": "delivered",
"runningAtMs": 1773255600002
}
},
{
"id": "aa4d2de9-79be-4262-83ee-af8824793bfc",
"agentId": "haonan",
"name": "openclaw-git-sync",
"enabled": true,
"createdAtMs": 1772552362242,
"updatedAtMs": 1773169210537,
"schedule": {
"expr": "10 2 * * *",
"kind": "cron",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "执行 OpenClaw Git 同步:bash ~/.openclaw/cron/scripts/openclaw-git-sync.sh"
},
"state": {
"nextRunAtMs": 1773255600000,
"lastRunAtMs": 1773169210537,
"lastStatus": "skipped",
"lastDurationMs": 0,
"consecutiveErrors": 0,
"lastRunStatus": "skipped",
"lastDeliveryStatus": "not-requested",
"runningAtMs": 1773255600002
},
"delivery": {
"mode": "announce"
}
},
{
@@ -39,10 +72,10 @@
"name": "capability-evolver-daily",
"enabled": true,
"createdAtMs": 1772550743528,
"updatedAtMs": 1773140700015,
"updatedAtMs": 1773227100011,
"schedule": {
"kind": "cron",
"expr": "0 19 * * *",
"expr": "20 2 * * *",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
@@ -52,7 +85,7 @@
"message": "执行每日 capability-evolver 任务:\n\n1. 执行脚本:bash ~/.openclaw/cron/scripts/evolver-run.sh\n2. 读取输出:cat ~/work/backup/evolver-output.txt\n3. 将完整的修改内容(包含 Git 备份信息和本次变更)通过 feishu 发送给蒋先生\n\n如果本次无任何变更,回复 '今日无变更' 即可。",
"model": "g47f",
"thinking": "off",
"timeoutSeconds": 300
"timeoutSeconds": 600
},
"delivery": {
"mode": "announce",
@@ -60,25 +93,60 @@
"to": "feishu-pm"
},
"state": {
"nextRunAtMs": 1773226800000,
"lastRunAtMs": 1773140400005,
"nextRunAtMs": 1773313200000,
"lastRunAtMs": 1773226800003,
"lastStatus": "error",
"lastDurationMs": 300010,
"consecutiveErrors": 1,
"lastDurationMs": 300008,
"consecutiveErrors": 2,
"lastRunStatus": "error",
"lastDeliveryStatus": "unknown",
"runningAtMs": 1773226800002
"lastError": "cron: job execution timed out"
}
},
{
"id": "daily-review-cleanup",
"agentId": "knowledge-base",
"name": "daily-review-cleanup",
"description": "每天凌晨2:30整理昨天的已完成任务到每日回顾",
"enabled": true,
"createdAtMs": 1741484880000,
"updatedAtMs": 1773253818558,
"schedule": {
"kind": "cron",
"expr": "30 2 * * *",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "执行每日回顾整理脚本:bash ~/.openclaw/cron/scripts/daily-review.sh\n\n完成后汇报整理结果。",
"timeoutSeconds": 120
},
"delivery": {
"mode": "announce",
"channel": "last"
},
"state": {
"nextRunAtMs": 1773340200000,
"lastRunAtMs": 1773253800004,
"lastRunStatus": "ok",
"lastStatus": "ok",
"lastDurationMs": 18554,
"lastDelivered": true,
"lastDeliveryStatus": "delivered",
"consecutiveErrors": 0
}
},
{
"id": "7e6405b6-c5f8-475a-baad-27ec0153ff8c",
"agentId": "knowledge-base",
"name": "zq-knowledge-base-sync",
"name": "zq_workspace_sync",
"enabled": true,
"createdAtMs": 1772551807455,
"updatedAtMs": 1773169210537,
"schedule": {
"expr": "0 3 * * *",
"expr": "40 2 * * *",
"kind": "cron",
"tz": "Asia/Shanghai"
},
@@ -86,7 +154,7 @@
"wakeMode": "now",
"payload": {
"kind": "systemEvent",
"text": "执行知识库同步:bash ~/.openclaw/cron/scripts/zq-sync.sh"
"text": "执行 zq 工作区同步:bash ~/.openclaw/cron/scripts/zq_workspace_sync.sh"
},
"state": {
"nextRunAtMs": 1773255600000,
@@ -96,36 +164,7 @@
"consecutiveErrors": 0,
"lastRunStatus": "skipped",
"lastDeliveryStatus": "not-requested",
"lastError": "disabled"
}
},
{
"id": "aa4d2de9-79be-4262-83ee-af8824793bfc",
"agentId": "knowledge-base",
"name": "openclaw-backup",
"enabled": true,
"createdAtMs": 1772552362242,
"updatedAtMs": 1773169210537,
"schedule": {
"expr": "0 3 * * *",
"kind": "cron",
"tz": "Asia/Shanghai"
},
"sessionTarget": "main",
"wakeMode": "now",
"payload": {
"kind": "systemEvent",
"text": "执行 OpenClaw 备份:bash ~/.openclaw/cron/scripts/git-auto-sync.sh"
},
"state": {
"nextRunAtMs": 1773255600000,
"lastRunAtMs": 1773169210537,
"lastStatus": "skipped",
"lastDurationMs": 0,
"consecutiveErrors": 0,
"lastRunStatus": "skipped",
"lastDeliveryStatus": "not-requested",
"lastError": "disabled"
"runningAtMs": 1773255600002
}
},
{
@@ -233,41 +272,6 @@
"lastDeliveryStatus": "delivered",
"consecutiveErrors": 1
}
},
{
"id": "daily-review-cleanup",
"agentId": "knowledge-base",
"name": "daily-review-cleanup",
"description": "每天凌晨2:30整理昨天的已完成任务到每日回顾",
"enabled": true,
"createdAtMs": 1741484880000,
"updatedAtMs": 1773167415159,
"schedule": {
"kind": "cron",
"expr": "30 2 * * *",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "执行每日回顾整理脚本:bash ~/.openclaw/cron/scripts/daily-review.sh\n\n完成后汇报整理结果。",
"timeoutSeconds": 120
},
"delivery": {
"mode": "announce",
"channel": "last"
},
"state": {
"nextRunAtMs": 1773253800000,
"lastRunAtMs": 1773167400018,
"lastRunStatus": "ok",
"lastStatus": "ok",
"lastDurationMs": 15141,
"lastDelivered": true,
"lastDeliveryStatus": "delivered",
"consecutiveErrors": 0
}
}
]
}
+89 -86
View File
@@ -10,14 +10,14 @@
"updatedAtMs": 1773169210537,
"schedule": {
"kind": "cron",
"expr": "0 3 * * *",
"expr": "0 2 * * *",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "执行备份脚本:/home/starmen1265/.openclaw/cron/scripts/backup_openclaw.sh"
"message": "执行备份脚本:/home/starmen1265/.openclaw/cron/scripts/backup_openclaw_json.sh"
},
"delivery": {
"mode": "announce"
@@ -34,59 +34,22 @@
}
},
{
"id": "f03b184f-5f1d-4093-ae1b-fc9fe0b59eef",
"id": "aa4d2de9-79be-4262-83ee-af8824793bfc",
"agentId": "haonan",
"name": "capability-evolver-daily",
"name": "openclaw-git-sync",
"enabled": true,
"createdAtMs": 1772550743528,
"updatedAtMs": 1773140700015,
"createdAtMs": 1772552362242,
"updatedAtMs": 1773169210537,
"schedule": {
"expr": "10 2 * * *",
"kind": "cron",
"expr": "0 19 * * *",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "执行每日 capability-evolver 任务:\n\n1. 执行脚本:bash ~/.openclaw/cron/scripts/evolver-run.sh\n2. 读取输出:cat ~/work/backup/evolver-output.txt\n3. 将完整的修改内容(包含 Git 备份信息和本次变更)通过 feishu 发送给蒋先生\n\n如果本次无任何变更,回复 '今日无变更' 即可。",
"model": "g47f",
"thinking": "off",
"timeoutSeconds": 300
},
"delivery": {
"mode": "announce",
"channel": "feishu",
"to": "feishu-pm"
},
"state": {
"nextRunAtMs": 1773226800000,
"lastRunAtMs": 1773140400005,
"lastStatus": "error",
"lastDurationMs": 300010,
"consecutiveErrors": 1,
"lastRunStatus": "error",
"lastDeliveryStatus": "unknown",
"lastError": "cron: job execution timed out"
}
},
{
"id": "7e6405b6-c5f8-475a-baad-27ec0153ff8c",
"agentId": "knowledge-base",
"name": "zq-knowledge-base-sync",
"enabled": true,
"createdAtMs": 1772551807455,
"updatedAtMs": 1773169210537,
"schedule": {
"expr": "0 3 * * *",
"kind": "cron",
"tz": "Asia/Shanghai"
},
"sessionTarget": "main",
"wakeMode": "now",
"payload": {
"kind": "systemEvent",
"text": "执行知识库同步:bash ~/.openclaw/cron/scripts/zq-sync.sh"
"message": "执行 OpenClaw Git 同步:bash ~/.openclaw/cron/scripts/openclaw-git-sync.sh"
},
"state": {
"nextRunAtMs": 1773255600000,
@@ -97,17 +60,92 @@
"lastRunStatus": "skipped",
"lastDeliveryStatus": "not-requested",
"lastError": "disabled"
},
"delivery": {
"mode": "announce"
}
},
{
"id": "aa4d2de9-79be-4262-83ee-af8824793bfc",
"agentId": "knowledge-base",
"name": "openclaw-backup",
"id": "f03b184f-5f1d-4093-ae1b-fc9fe0b59eef",
"agentId": "haonan",
"name": "capability-evolver-daily",
"enabled": true,
"createdAtMs": 1772552362242,
"createdAtMs": 1772550743528,
"updatedAtMs": 1773227100011,
"schedule": {
"kind": "cron",
"expr": "20 2 * * *",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "执行每日 capability-evolver 任务:\n\n1. 执行脚本:bash ~/.openclaw/cron/scripts/evolver-run.sh\n2. 读取输出:cat ~/work/backup/evolver-output.txt\n3. 将完整的修改内容(包含 Git 备份信息和本次变更)通过 feishu 发送给蒋先生\n\n如果本次无任何变更,回复 '今日无变更' 即可。",
"model": "g47f",
"thinking": "off",
"timeoutSeconds": 600
},
"delivery": {
"mode": "announce",
"channel": "feishu",
"to": "feishu-pm"
},
"state": {
"nextRunAtMs": 1773313200000,
"lastRunAtMs": 1773226800003,
"lastStatus": "error",
"lastDurationMs": 300008,
"consecutiveErrors": 2,
"lastRunStatus": "error",
"lastDeliveryStatus": "unknown",
"lastError": "cron: job execution timed out"
}
},
{
"id": "daily-review-cleanup",
"agentId": "knowledge-base",
"name": "daily-review-cleanup",
"description": "每天凌晨2:30整理昨天的已完成任务到每日回顾",
"enabled": true,
"createdAtMs": 1741484880000,
"updatedAtMs": 1773253818558,
"schedule": {
"kind": "cron",
"expr": "30 2 * * *",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "执行每日回顾整理脚本:bash ~/.openclaw/cron/scripts/daily-review.sh\n\n完成后汇报整理结果。",
"timeoutSeconds": 120
},
"delivery": {
"mode": "announce",
"channel": "last"
},
"state": {
"nextRunAtMs": 1773340200000,
"lastRunAtMs": 1773253800004,
"lastRunStatus": "ok",
"lastStatus": "ok",
"lastDurationMs": 18554,
"lastDelivered": true,
"lastDeliveryStatus": "delivered",
"consecutiveErrors": 0
}
},
{
"id": "7e6405b6-c5f8-475a-baad-27ec0153ff8c",
"agentId": "knowledge-base",
"name": "zq_workspace_sync",
"enabled": true,
"createdAtMs": 1772551807455,
"updatedAtMs": 1773169210537,
"schedule": {
"expr": "0 3 * * *",
"expr": "40 2 * * *",
"kind": "cron",
"tz": "Asia/Shanghai"
},
@@ -115,7 +153,7 @@
"wakeMode": "now",
"payload": {
"kind": "systemEvent",
"text": "执行 OpenClaw 备份:bash ~/.openclaw/cron/scripts/git-auto-sync.sh"
"text": "执行 zq 工作区同步:bash ~/.openclaw/cron/scripts/zq_workspace_sync.sh"
},
"state": {
"nextRunAtMs": 1773255600000,
@@ -233,41 +271,6 @@
"lastDeliveryStatus": "delivered",
"consecutiveErrors": 1
}
},
{
"id": "daily-review-cleanup",
"agentId": "knowledge-base",
"name": "daily-review-cleanup",
"description": "每天凌晨2:30整理昨天的已完成任务到每日回顾",
"enabled": true,
"createdAtMs": 1741484880000,
"updatedAtMs": 1773167415159,
"schedule": {
"kind": "cron",
"expr": "30 2 * * *",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "执行每日回顾整理脚本:bash ~/.openclaw/cron/scripts/daily-review.sh\n\n完成后汇报整理结果。",
"timeoutSeconds": 120
},
"delivery": {
"mode": "announce",
"channel": "last"
},
"state": {
"nextRunAtMs": 1773253800000,
"lastRunAtMs": 1773167400018,
"lastRunStatus": "ok",
"lastStatus": "ok",
"lastDurationMs": 15141,
"lastDelivered": true,
"lastDeliveryStatus": "delivered",
"consecutiveErrors": 0
}
}
]
}
+17 -8
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# 每日回顾整理脚本
# 功能:将TODO.md中已完成的任务移动到昨天的每日回顾中
# 流程:NAS pull → 整理任务 → Git commit/push → NAS sync
set -e
@@ -27,13 +27,20 @@ log "处理日期: $YESTERDAY"
# 切换到工作目录
cd "$WORK_DIR"
# 1. 先从 NAS 拉取最新内容
log "1. 从 NAS 拉取更新..."
rclone sync "nas-webdav:/home/Drive/工作区/张青/工作区/" "$WORK_DIR/" \
--exclude ".git/" \
--exclude ".gitignore" \
--log-level INFO >> "$LOG_FILE" 2>&1
# 如果没有已完成的任务,直接退出
if ! grep -q "\[x\]" "$TODO_FILE"; then
log "没有已完成的任务,跳过"
exit 0
fi
log "发现已完成的任务"
log "2. 发现已完成的任务,开始整理..."
# 提取已完成的任务(保留标题结构)
# 读取TODO.md,提取所有包含[x]的行及其所属标题
@@ -83,15 +90,17 @@ awk '
}
' "$TODO_FILE" > "$TODO_FILE.tmp" && mv "$TODO_FILE.tmp" "$TODO_FILE"
# 提交git变更
# 3. 提交并推送到 Gitea
log "3. 提交并推送到 Gitea..."
git add "$TODO_FILE" "$REVIEW_FILE"
git commit -m "每日回顾整理:$YESTERDAY" >> "$LOG_FILE" 2>&1 || log "Git提交无变更"
git push origin main >> "$LOG_FILE" 2>&1 || log "警告:Git推送失败"
# 同步到 NAS
log "推送到 NAS..."
rclone copy "$REVIEW_FILE" "nas-webdav:/home/Drive/工作区/张青/工作区/40.归档/每日回顾/" \
--log-level INFO >> "$LOG_FILE" 2>&1 || log "警告:rclone 推送失败"
rclone copy "$TODO_FILE" "nas-webdav:/home/Drive/工作区/张青/工作区/01.待办/" \
# 4. 全量同步回 NAS
log "4. 同步回 NAS..."
rclone sync "$WORK_DIR/" "nas-webdav:/home/Drive/工作区/张青/工作区/" \
--exclude ".git/" \
--exclude ".gitignore" \
--log-level INFO >> "$LOG_FILE" 2>&1 || log "警告:rclone 推送失败"
log "=== 每日回顾整理完成 ==="
+10 -23
View File
@@ -13,33 +13,20 @@ echo "" >> "$OUTPUT_FILE"
# 切换到 openclaw 目录
cd "$OPENCLAW_DIR"
# 推送到远端(如果有远端)
if git remote get-url origin &>/dev/null; then
echo "=== 推送到远端 ===" >> "$OUTPUT_FILE"
git push origin main >> "$OUTPUT_FILE" 2>&1
echo "推送完成" >> "$OUTPUT_FILE"
else
echo "无远端配置,跳过推送" >> "$OUTPUT_FILE"
fi
echo "" >> "$OUTPUT_FILE"
# 检查是否有未提交的更改
# 检查是否有未提交的更改,先提交到 main
if [[ -n $(git status --porcelain) ]]; then
echo "发现有未提交的更改,先提交..." >> "$OUTPUT_FILE"
echo "发现有未提交的更改,先提交到 main..." >> "$OUTPUT_FILE"
git add -A
git commit -m "Auto backup before evolver run - $(date)" 2>/dev/null
fi
# 创建备份分支
BACKUP_BRANCH="backup/evolver-$(date +%Y%m%d-%H%M%S)"
echo "创建备份分支: $BACKUP_BRANCH" >> "$OUTPUT_FILE"
git branch -D "$BACKUP_BRANCH" 2>/dev/null || true
git branch "$BACKUP_BRANCH" 2>/dev/null
# 推送备份分支
# 推送当前状态到 main(作为备份点)
if git remote get-url origin &>/dev/null; then
git push origin "$BACKUP_BRANCH" >> "$OUTPUT_FILE" 2>&1 || echo "备份分支推送失败" >> "$OUTPUT_FILE"
echo "=== 推送当前状态到 main 分支 ===" >> "$OUTPUT_FILE"
git push origin main >> "$OUTPUT_FILE" 2>&1
echo "备份完成" >> "$OUTPUT_FILE"
else
echo "无远端配置,跳过推送" >> "$OUTPUT_FILE"
fi
echo "" >> "$OUTPUT_FILE"
@@ -62,10 +49,10 @@ echo "" >> "$OUTPUT_FILE"
echo "=== 本次变更 ===" >> "$OUTPUT_FILE"
git status --short >> "$OUTPUT_FILE"
# 如果有变更,推送
# 如果有变更,推送到 main
if [[ -n $(git status --porcelain) ]]; then
echo "" >> "$OUTPUT_FILE"
echo "=== 推送变更到远端 ===" >> "$OUTPUT_FILE"
echo "=== 推送变更到 main 分支 ===" >> "$OUTPUT_FILE"
git add -A
git commit -m "Evolver auto evolution - $(date)" 2>/dev/null || true
git push origin main >> "$OUTPUT_FILE" 2>&1 || echo "推送失败" >> "$OUTPUT_FILE"
@@ -1,5 +1,6 @@
#!/bin/bash
# 知识库同步和备份脚本
# zq 工作区同步脚本
# 流程:NAS pull → Git commit/push(Gitea备份)→ NAS push
ZQ_DIR="$HOME/work/zq"
LOG_FILE="$HOME/work/zq-sync.log"
@@ -13,31 +14,30 @@ log "========== 开始同步 =========="
cd "$ZQ_DIR" || exit 1
# 1. 先拉取远程更新
log "拉取远程更新..."
git pull origin main --rebase >> "$LOG_FILE" 2>&1
# 2. 从 NAS WebDAV 拉取最新内容(排除 .git 目录)
log "从 NAS 拉取更新..."
# 1. 从 NAS WebDAV 拉取最新内容
log "1. 从 NAS 拉取更新..."
rclone sync "nas-webdav:/home/Drive/工作区/张青/工作区/" "$ZQ_DIR/" \
--exclude ".git/" \
--exclude ".gitignore" \
--log-level INFO >> "$LOG_FILE" 2>&1
# 3. 检查是否有变更
# 2. 检查是否有变更,有则提交到 Git(推送到 Gitea 备份)
CHANGES=$(git status --porcelain)
if [ -n "$CHANGES" ]; then
log "检测到变更,提交到 Git..."
log "2. 检测到变更,提交到 Gitea..."
git add -A
git commit -m "自动备份: $DATE" >> "$LOG_FILE" 2>&1
# 4. 推送到 Gitea
log "推送到 Gitea..."
git push origin main >> "$LOG_FILE" 2>&1
log "备份完成!"
else
log "没有变更,跳过提交。"
log "2. 没有变更,跳过 Git 提交。"
fi
# 3. 同步回 NAS
log "3. 同步回 NAS..."
rclone sync "$ZQ_DIR/" "nas-webdav:/home/Drive/工作区/张青/工作区/" \
--exclude ".git/" \
--exclude ".gitignore" \
--log-level INFO >> "$LOG_FILE" 2>&1
log "========== 同步完成 =========="