51 lines
1.6 KiB
Bash
Executable File
51 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Capability Evolver 定期运行脚本
|
|
# 策略:使用 repair-only 模式,仅修复问题不做大改动
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
EVOLVER_DIR="$SCRIPT_DIR/capability-evolver"
|
|
OUTPUT_FILE="$SCRIPT_DIR/evolver-output.txt"
|
|
BACKUP_BRANCH="backup/evolver-$(date +%Y%m%d-%H%M%S)"
|
|
|
|
echo "=== Capability Evolver 运行开始 ===" > "$OUTPUT_FILE"
|
|
echo "时间: $(date)" >> "$OUTPUT_FILE"
|
|
echo "" >> "$OUTPUT_FILE"
|
|
|
|
# 切换到 openclaw 目录进行 git 备份
|
|
cd ~/.openclaw
|
|
|
|
# 检查是否有未提交的更改
|
|
if [[ -n $(git status --porcelain) ]]; then
|
|
echo "发现有未提交的更改,先提交..." >> "$OUTPUT_FILE"
|
|
git add -A
|
|
git commit -m "Auto backup before evolver run - $(date)" 2>/dev/null
|
|
fi
|
|
|
|
# 创建备份分支
|
|
echo "创建备份分支: $BACKUP_BRANCH" >> "$OUTPUT_FILE"
|
|
git branch -D "$BACKUP_BRANCH" 2>/dev/null || true
|
|
git branch "$BACKUP_BRANCH" 2>/dev/null
|
|
|
|
echo "" >> "$OUTPUT_FILE"
|
|
echo "=== Git 备份完成 ===" >> "$OUTPUT_FILE"
|
|
echo "" >> "$OUTPUT_FILE"
|
|
|
|
# 运行 evolver - 使用 repair-only 策略确保安全
|
|
cd "$EVOLVER_DIR"
|
|
export EVOLVE_STRATEGY="repair-only"
|
|
echo "=== 运行 Capability Evolver (repair-only 模式) ===" >> "$OUTPUT_FILE"
|
|
node index.js >> "$OUTPUT_FILE" 2>&1
|
|
EXIT_CODE=$?
|
|
|
|
echo "" >> "$OUTPUT_FILE"
|
|
echo "=== Evolver 运行完成 (exit code: $EXIT_CODE) ===" >> "$OUTPUT_FILE"
|
|
|
|
# 检查变更
|
|
cd ~/.openclaw
|
|
echo "" >> "$OUTPUT_FILE"
|
|
echo "=== 本次变更 ===" >> "$OUTPUT_FILE"
|
|
git status --short >> "$OUTPUT_FILE"
|
|
|
|
echo "" >> "$OUTPUT_FILE"
|
|
echo "=== 输出完成 ===" >> "$OUTPUT_FILE"
|