This repository has been archived on 2026-08-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw/scripts/evolver-run.sh
T
starmen1265 0878535cb8 feat: Capability Evolver 升级 + 日常运行日志
主要变更:
- Capability Evolver 技能大幅升级
  - 新增 LLM 审查、叙事记忆、反思机制模块
  - 改进 Agent 间通信协议和技能搜索
  - 整合 Git 备份到 evolver-run.sh

- Agent 配置与日志更新
  - dev-assist/haonan/main 认证和会话配置
  - 5 个 agent 的 AGENTS.md 文档更新
  - haonan 的 MEMORY.md 和 SOUL.md 更新

- 新增功能目录
  - hooks/self-improvement 自我改进钩子
  - memory/evolution 进化记忆状态
  - workspace/.learnings/ 学习记录

- 清理
  - 删除 scripts/git-auto-sync.sh(已整合到 evolver)
  - 删除旧的 _meta.json 配置
  - 忽略临时工作空间目录
2026-03-05 19:20:35 +08:00

76 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# Capability Evolver 定期运行脚本
# 策略:使用 repair-only 模式,仅修复问题不做大改动
EVOLVER_DIR="$HOME/.openclaw/skills/capability-evolver"
OUTPUT_FILE="$HOME/.openclaw/scripts/evolver-output.txt"
OPENCLAW_DIR="$HOME/.openclaw"
echo "=== Capability Evolver 运行开始 ===" > "$OUTPUT_FILE"
echo "时间: $(date)" >> "$OUTPUT_FILE"
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"
# 检查是否有未提交的更改
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
# 创建备份分支
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
# 推送备份分支
if git remote get-url origin &>/dev/null; then
git push origin "$BACKUP_BRANCH" >> "$OUTPUT_FILE" 2>&1 || echo "备份分支推送失败" >> "$OUTPUT_FILE"
fi
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_DIR"
echo "" >> "$OUTPUT_FILE"
echo "=== 本次变更 ===" >> "$OUTPUT_FILE"
git status --short >> "$OUTPUT_FILE"
# 如果有变更,推送
if [[ -n $(git status --porcelain) ]]; then
echo "" >> "$OUTPUT_FILE"
echo "=== 推送变更到远端 ===" >> "$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"
fi
echo "" >> "$OUTPUT_FILE"
echo "=== 输出完成 ===" >> "$OUTPUT_FILE"