📚 小说内容: - 《末日重生-开局囤货十亿物资》33章 - 完整的状态文件、记忆索引、钩子系统 🛠️ 系统配置: - 版本控制管理系统 - 自动化脚本系统 - 质量监控系统 🧠 固化记忆: - 长期记忆文件 - 系统配置文档 - 恢复流程指南 💾 数据安全: - 本地备份系统 - Git版本控制 - 远程同步机制 同步时间: 2026-03-30 16:25:35 系统状态: inkos正常运行中 (PID: 1433309) 创作进度: 第33章《油粮》创作中
155 lines
4.3 KiB
Bash
Executable File
155 lines
4.3 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
echo "=== inkos 简单监控系统 ==="
|
||
echo "时间: $(date)"
|
||
echo ""
|
||
|
||
# 配置
|
||
PROJECT_DIR="/root/.openclaw/workspace/tomato-novel"
|
||
BOOK_ID="末日重生-开局囤货十亿物资"
|
||
CHAP_DIR="$PROJECT_DIR/books/$BOOK_ID/chapters"
|
||
|
||
# 获取初始章节数量
|
||
INITIAL_CHAP_COUNT=$(find "$CHAP_DIR" -name "*.md" -type f | grep -E "^[0-9]{4}_" | wc -l)
|
||
|
||
echo "📊 初始状态:"
|
||
echo " - 章节数量: $INITIAL_CHAP_COUNT 章"
|
||
echo " - 监控开始: $(date -Iseconds)"
|
||
echo ""
|
||
|
||
# 监控循环
|
||
MONITOR_INTERVAL=30 # 秒
|
||
MONITOR_CYCLES=60 # 30分钟
|
||
|
||
for ((i=1; i<=MONITOR_CYCLES; i++)); do
|
||
|
||
# 1. 检查 inkos 状态
|
||
|
||
if ps aux | grep "inkos up" | grep -v grep > /dev/null; then
|
||
PID=$(ps aux | grep "inkos up" | grep -v grep | awk '{print $2}')
|
||
STATUS="✅ 运行中 (PID: $PID)"
|
||
else
|
||
|
||
STATUS="❌ 未运行"
|
||
|
||
fi
|
||
|
||
# 2. 检查章节变化
|
||
|
||
CURRENT_CHAP_COUNT=$(find "$CHAP_DIR" -name "*.md" -type f | grep -E "^[0-9]{4}_" | wc -l)
|
||
NEW_CHAP_COUNT=$((CURRENT_CHAP_COUNT - INITIAL_CHAP_COUNT))
|
||
|
||
# 3. 检查日志
|
||
|
||
if [ -f /tmp/inkos_optimized.log ]; then
|
||
|
||
LOG_TAIL=$(tail -2 /tmp/inkos_optimized.log 2>/dev/null | tr '\n' ' ')
|
||
else
|
||
|
||
LOG_TAIL="无日志"
|
||
fi
|
||
|
||
# 4. 显示状态
|
||
echo "========================================"
|
||
|
||
echo "监控周期 #$i - $(date +%H:%M:%S)"
|
||
echo "========================================"
|
||
echo ""
|
||
echo "🖥️ inkos状态: $STATUS"
|
||
|
||
echo "📚 章节统计:"
|
||
echo " - 初始数量: $INITIAL_CHAP_COUNT 章"
|
||
|
||
echo " - 当前数量: $CURRENT_CHAP_COUNT 章"
|
||
echo " - 新增章节: $NEW_CHAP_COUNT 章"
|
||
echo ""
|
||
|
||
# 如果有新章节,检查质量
|
||
|
||
if [ $NEW_CHAP_COUNT -gt 0 ]; then
|
||
|
||
echo "🎉 发现新章节!"
|
||
echo "🔍 检查新章节:"
|
||
|
||
# 找到最新的章节
|
||
|
||
NEWEST_CHAP=$(find "$CHAP_DIR" -name "*.md" -type f -printf "%T@ %p\n" | sort -rn | head -1 | cut -d' ' -f2-)
|
||
if [ -f "$NEWEST_CHAP" ]; then
|
||
|
||
|
||
CHAP_NAME=$(basename "$NEWEST_CHAP")
|
||
CHAP_SIZE=$(wc -c < "$NEWEST_CHAP" 2>/dev/null || echo 0)
|
||
|
||
echo " - 文件名: $CHAP_NAME"
|
||
echo " - 文件大小: $CHAP_SIZE 字符"
|
||
echo ""
|
||
|
||
# 质量检查
|
||
|
||
echo " 🔍 质量检查:"
|
||
python3 /root/.openclaw/workspace/tomato-novel/scripts/simple_quality_check.py "$NEWEST_CHAP" 2>/dev/null | \
|
||
grep -E "段落分析|爽点分析|对话分析|发现问题|修复建议|章节号" | head -8
|
||
fi
|
||
fi
|
||
|
||
# 5. 检查是否第19章产出
|
||
|
||
|
||
|
||
if ls "$CHAP_DIR/0019_"*.md 2>/dev/null >/dev/null; then
|
||
|
||
echo ""
|
||
echo "🎉 第19章已产出!"
|
||
|
||
CHAP_FILE=$(ls -t "$CHAP_DIR/0019_"*.md 2>/dev/null | head -1)
|
||
CHAP_SIZE=$(wc -c < "$CHAP_FILE" 2>/dev/null || echo 0)
|
||
|
||
echo "📊 章节信息:"
|
||
echo " - 文件名: $(basename "$CHAP_FILE")"
|
||
|
||
echo " - 文件大小: $CHAP_SIZE 字符"
|
||
echo " - 产出时间: $(stat -c %y "$CHAP_FILE" 2>/dev/null || echo "unknown")"
|
||
echo ""
|
||
|
||
# 详细质量检查
|
||
|
||
echo "🔍 详细质量检查:"
|
||
python3 /root/.openclaw/workspace/tomato-novel/scripts/simple_quality_check.py "$CHAP_FILE" 2>&1 | tail -30
|
||
echo ""
|
||
|
||
echo "✅ 监控目标达成!"
|
||
echo "第19章已成功产出,请检查质量是否符合番茄小说标准"
|
||
exit 0
|
||
fi
|
||
|
||
# 6. 显示日志
|
||
|
||
echo "📝 最近日志: $LOG_TAIL"
|
||
echo ""
|
||
echo "⏳ 等待 ${MONITOR_INTERVAL}秒..."
|
||
sleep $MONITOR_INTERVAL
|
||
|
||
# 更新章节计数
|
||
|
||
|
||
INITIAL_CHAP_COUNT=$CURRENT_CHAP_COUNT
|
||
|
||
done
|
||
|
||
echo ""
|
||
echo "========================================"
|
||
echo "监控结束 - 达到最长监控时间"
|
||
echo "时间: $(date)"
|
||
echo "========================================"
|
||
echo ""
|
||
echo "⚠️ 注意:第19章尚未产出"
|
||
echo "📊 最后状态:"
|
||
echo " - 章节数量: $CURRENT_CHAP_COUNT 章"
|
||
echo " - inkos状态: $STATUS"
|
||
echo " - 最近日志: $LOG_TAIL"
|
||
echo ""
|
||
echo "🎯 建议:"
|
||
echo "1. 检查 inkos 日志: /tmp/inkos_optimized.log"
|
||
echo "2. 可能需要手动干预"
|
||
echo "3. 检查 spot-fix 修复状态"
|
||
echo "4. 考虑重启 inkos" |