每日备份 2026-06-10 12:57:13
This commit is contained in:
1 parent
fda2ccb8c2
commit
3d2e638c6a
244 files changed
+58890
-3
No files matched your search
Executable
+118
@@ -0,0 +1,118 @@
|
||||
#!/bin/bash
|
||||
# ============================================================================
|
||||
# 睡眠自动学习脚本 - 调用标准学习模块版 v2.0
|
||||
# ============================================================================
|
||||
# 功能:守护者 & 青龙 通用版
|
||||
# 特点:自动检测 + 调用learn-core模块
|
||||
#
|
||||
# 模式说明:
|
||||
# source /root/.openclaw/scripts/learn-core.sh
|
||||
# learn_topic "主题" "auto"
|
||||
# ============================================================================
|
||||
|
||||
# -------------------- 加载标准学习模块 --------------------
|
||||
source /root/.openclaw/scripts/learn-core.sh
|
||||
|
||||
# -------------------- 配置 --------------------
|
||||
ROBOT_NAME="${ROBOT_NAME:-守护者}"
|
||||
ROBOT_TYPE="${ROBOT_TYPE:-guardian}"
|
||||
LOG_DIR="/var/log/openclaw/sleep-learning/${ROBOT_NAME}"
|
||||
LOG_FILE="${LOG_DIR}/learning.log"
|
||||
LEARNING_DIR="${LEARNING_DIR:-/root/.openclaw/workspace/sleep-learning}"
|
||||
THRESHOLD_MINUTES=60
|
||||
|
||||
mkdir -p "$LOG_DIR" "$LEARNING_DIR"
|
||||
|
||||
# ============================================================================
|
||||
# 初始化
|
||||
# ============================================================================
|
||||
init() {
|
||||
echo "========================================"
|
||||
echo "睡眠学习脚本启动"
|
||||
echo "机器人: ${ROBOT_NAME} (${ROBOT_TYPE})"
|
||||
echo "学习模块: learn-core.sh"
|
||||
echo "========================================"
|
||||
}
|
||||
|
||||
# ============================================================================
|
||||
# 检测是否需要学习
|
||||
# ============================================================================
|
||||
should_learn() {
|
||||
local last_active=$(cat /tmp/openclaw-last-active.txt 2>/dev/null)
|
||||
local now=$(date +%s)
|
||||
local last_time
|
||||
|
||||
if [ -n "$last_active" ]; then
|
||||
last_time=$last_active
|
||||
else
|
||||
last_time=$now
|
||||
fi
|
||||
|
||||
local diff=$((now - last_time))
|
||||
local minutes=$((diff / 60))
|
||||
|
||||
if [ "$minutes" -ge "$THRESHOLD_MINUTES" ]; then
|
||||
return 0 # 需要学习
|
||||
else
|
||||
echo "未满足学习条件:${minutes}分钟 < ${THRESHOLD_MINUTES}分钟"
|
||||
return 1 # 不需要学习
|
||||
fi
|
||||
}
|
||||
|
||||
# ============================================================================
|
||||
# 执行学习
|
||||
# ============================================================================
|
||||
run_learning() {
|
||||
local topic="$1"
|
||||
local type="${2:-auto}"
|
||||
|
||||
log_learn "开始学习: $topic (类型: $type)"
|
||||
|
||||
# 调用标准学习流程
|
||||
learn_topic "$topic" "$type"
|
||||
|
||||
log_learn "学习完成"
|
||||
}
|
||||
|
||||
# ============================================================================
|
||||
# 主程序
|
||||
# ============================================================================
|
||||
main() {
|
||||
init
|
||||
|
||||
if should_learn; then
|
||||
echo ""
|
||||
echo "🔄 开始自动学习..."
|
||||
|
||||
# 从青龙7大品类中选择
|
||||
local category=$(choose_category)
|
||||
log_learn "品类: $category"
|
||||
|
||||
# 调用学习模块
|
||||
run_learning "$category" "auto"
|
||||
else
|
||||
echo "💤 进入睡眠模式"
|
||||
fi
|
||||
}
|
||||
|
||||
# ============================================================================
|
||||
# 品类选择(轮询)
|
||||
# ============================================================================
|
||||
choose_category() {
|
||||
local categories=(
|
||||
"写作助手"
|
||||
"贵金属交易"
|
||||
"期货交易"
|
||||
"合约交易"
|
||||
"虚拟货币"
|
||||
"网络自动化"
|
||||
"AI能力提升"
|
||||
)
|
||||
|
||||
# 随机选择或轮询
|
||||
local index=$(($(date +%s) % 7))
|
||||
echo "${categories[$index]}"
|
||||
}
|
||||
|
||||
# 执行主程序
|
||||
main "$@"
|
||||
Reference in new issue
Block a user