86 lines
2.4 KiB
Bash
Executable File
86 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# ============================================================================
|
|
# 后台学习脚本 - 启动 sub-agent 进行持续学习
|
|
# ============================================================================
|
|
|
|
# 启动青龙后台学习
|
|
start_qinglong_bg_learning() {
|
|
echo "[$(date)] 启动青龙后台学习..." >> /var/log/openclaw/sleep-learning/background.log
|
|
|
|
# 使用 nohup 后台运行,自动学习 10 轮
|
|
nohup /root/.openclaw/scripts/auto-learning.sh 10 > /tmp/qinglong-bg-learning.log 2>&1 &
|
|
QL_PID=$!
|
|
echo $QL_PID > /tmp/qinglong-bg-learning.pid
|
|
|
|
echo "青龙后台学习已启动 (PID: $QL_PID)"
|
|
}
|
|
|
|
# 启动守护者后台学习
|
|
start_guardian_bg_learning() {
|
|
echo "[$(date)] 启动守护者后台学习..." >> /var/log/openclaw/sleep-learning/background.log
|
|
|
|
nohup /root/.openclaw/scripts/auto-learning.sh 10 > /tmp/guardian-bg-learning.log 2>&1 &
|
|
GR_PID=$!
|
|
echo $GR_PID > /tmp/guardian-bg-learning.pid
|
|
|
|
echo "守护者后台学习已启动 (PID: $GR_PID)"
|
|
}
|
|
|
|
# 启动所有后台学习
|
|
start_all() {
|
|
start_qinglong_bg_learning
|
|
start_guardian_bg_learning
|
|
}
|
|
|
|
# 检查状态
|
|
status() {
|
|
echo "========================================"
|
|
echo "🔄 后台学习状态"
|
|
echo "========================================"
|
|
echo ""
|
|
|
|
if [ -f /tmp/qinglong-bg-learning.pid ]; then
|
|
QL_PID=$(cat /tmp/qinglong-bg-learning.pid)
|
|
if ps -p $QL_PID > /dev/null 2>&1; then
|
|
echo "🐉 青龙:运行中 (PID: $QL_PID)"
|
|
echo " 日志: /tmp/qinglong-bg-learning.log"
|
|
else
|
|
echo "🐉 青龙:已结束"
|
|
fi
|
|
else
|
|
echo "🐉 青龙:未启动"
|
|
fi
|
|
|
|
if [ -f /tmp/guardian-bg-learning.pid ]; then
|
|
GR_PID=$(cat /tmp/guardian-bg-learning.pid)
|
|
if ps -p $GR_PID > /dev/null 2>&1; then
|
|
echo "🛡️ 守护者:运行中 (PID: $GR_PID)"
|
|
echo " 日志: /tmp/guardian-bg-learning.log"
|
|
else
|
|
echo "🛡️ 守护者:已结束"
|
|
fi
|
|
else
|
|
echo "🛡️ 守护者:未启动"
|
|
fi
|
|
}
|
|
|
|
# 主程序
|
|
case "$1" in
|
|
start-qinglong)
|
|
start_qinglong_bg_learning
|
|
;;
|
|
start-guardian)
|
|
start_guardian_bg_learning
|
|
;;
|
|
start-all)
|
|
start_all
|
|
;;
|
|
status)
|
|
status
|
|
;;
|
|
*)
|
|
echo "用法: $0 {start-qinglong|start-guardian|start-all|status}"
|
|
exit 1
|
|
;;
|
|
esac
|