📚 小说内容: - 《末日重生-开局囤货十亿物资》33章 - 完整的状态文件、记忆索引、钩子系统 🛠️ 系统配置: - 版本控制管理系统 - 自动化脚本系统 - 质量监控系统 🧠 固化记忆: - 长期记忆文件 - 系统配置文档 - 恢复流程指南 💾 数据安全: - 本地备份系统 - Git版本控制 - 远程同步机制 同步时间: 2026-03-30 16:25:35 系统状态: inkos正常运行中 (PID: 1433309) 创作进度: 第33章《油粮》创作中
108 lines
3.8 KiB
Bash
Executable File
108 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# inkos 状态报告脚本
|
||
# 直接通过命令检查状态,生成报告
|
||
|
||
PROJECT_DIR="/root/.openclaw/workspace/tomato-novel"
|
||
REPORT_FILE="/tmp/inkos-status-report.txt"
|
||
|
||
# 生成报告
|
||
generate_report() {
|
||
echo "# 🦠 inkos 状态报告 $(date '+%Y-%m-%d %H:%M:%S')" > "$REPORT_FILE"
|
||
echo "" >> "$REPORT_FILE"
|
||
|
||
# 1. 检查守护进程
|
||
echo "## 🔄 进程状态" >> "$REPORT_FILE"
|
||
if pgrep -f "inkos up" > /dev/null; then
|
||
DAEMON_PID=$(pgrep -f "inkos up")
|
||
echo "✅ **inkos 守护进程运行中**" >> "$REPORT_FILE"
|
||
echo " PID: $DAEMON_PID" >> "$REPORT_FILE"
|
||
else
|
||
echo "❌ **inkos 守护进程已停止**" >> "$REPORT_FILE"
|
||
fi
|
||
echo "" >> "$REPORT_FILE"
|
||
|
||
# 2. 检查项目状态
|
||
echo "## 📚 项目状态" >> "$REPORT_FILE"
|
||
if [ -d "$PROJECT_DIR" ]; then
|
||
cd "$PROJECT_DIR"
|
||
|
||
# 书籍列表
|
||
BOOK_LIST=$(inkos book list 2>/dev/null || echo "无法获取书籍列表")
|
||
echo "📖 **书籍**: $BOOK_LIST" >> "$REPORT_FILE"
|
||
|
||
# 章节统计
|
||
CHAPTER_COUNT=$(find books -name "*.md" -path "*/chapters/*" 2>/dev/null | wc -l)
|
||
echo "📄 **章节数量**: $CHAPTER_COUNT" >> "$REPORT_FILE"
|
||
|
||
# 显示章节详情
|
||
if [ $CHAPTER_COUNT -gt 0 ]; then
|
||
echo "" >> "$REPORT_FILE"
|
||
echo "### 章节详情:" >> "$REPORT_FILE"
|
||
find books -name "*.md" -path "*/chapters/*" 2>/dev/null | sort | while read chapter; do
|
||
CHAPTER_NAME=$(basename "$chapter" .md)
|
||
FILE_SIZE=$(stat -c%s "$chapter" 2>/dev/null)
|
||
WORD_EST=$((FILE_SIZE / 3)) # 估算字数
|
||
echo " - $CHAPTER_NAME (约 ${WORD_EST}字)" >> "$REPORT_FILE"
|
||
done
|
||
fi
|
||
|
||
# 检查最近修改时间
|
||
echo "" >> "$REPORT_FILE"
|
||
LATEST_CHAPTER=$(find books -name "*.md" -path "*/chapters/*" -printf "%T@ %p\n" 2>/dev/null | sort -nr | head -1 | cut -d' ' -f2-)
|
||
if [ -n "$LATEST_CHAPTER" ]; then
|
||
LATEST_TIME=$(stat -c "%y" "$LATEST_CHAPTER" 2>/dev/null | cut -d'.' -f1)
|
||
echo "⏰ **最近更新**: $LATEST_TIME" >> "$REPORT_FILE"
|
||
fi
|
||
else
|
||
echo "❌ **项目目录不存在**: $PROJECT_DIR" >> "$REPORT_FILE"
|
||
fi
|
||
echo "" >> "$REPORT_FILE"
|
||
|
||
# 3. 检查日志
|
||
echo "## 📝 系统日志" >> "$REPORT_FILE"
|
||
if [ -f "/tmp/inkos-daemon.log" ]; then
|
||
LOG_LINES=$(tail -3 "/tmp/inkos-daemon.log" 2>/dev/null)
|
||
if [ -n "$LOG_LINES" ]; then
|
||
echo "$LOG_LINES" >> "$REPORT_FILE"
|
||
else
|
||
echo "无最近日志" >> "$REPORT_FILE"
|
||
fi
|
||
else
|
||
echo "日志文件不存在" >> "$REPORT_FILE"
|
||
fi
|
||
echo "" >> "$REPORT_FILE"
|
||
|
||
# 4. 系统状态
|
||
echo "## 🖥️ 系统状态" >> "$REPORT_FILE"
|
||
echo "⏱️ 时间: $(date '+%Y-%m-%d %H:%M:%S %Z')" >> "$REPORT_FILE"
|
||
echo "🏠 项目目录: $PROJECT_DIR" >> "$REPORT_FILE"
|
||
echo "📅 监控开始时间: $(date '+%Y-%m-%d %H:%M:%S')" >> "$REPORT_FILE"
|
||
|
||
# 5. 建议
|
||
echo "" >> "$REPORT_FILE"
|
||
echo "## 💡 建议" >> "$REPORT_FILE"
|
||
if pgrep -f "inkos up" > /dev/null; then
|
||
echo "✅ 系统运行正常,inkos 正在自动写作" >> "$REPORT_FILE"
|
||
else
|
||
echo "⚠️ inkos 守护进程已停止,建议重启" >> "$REPORT_FILE"
|
||
echo " 运行: cd $PROJECT_DIR && nohup inkos up > /tmp/inkos-daemon.log 2>&1 &" >> "$REPORT_FILE"
|
||
fi
|
||
}
|
||
|
||
# 主函数
|
||
main() {
|
||
echo "正在生成 inkos 状态报告..."
|
||
generate_report
|
||
|
||
# 显示报告
|
||
cat "$REPORT_FILE"
|
||
|
||
# 通过飞书发送报告
|
||
echo ""
|
||
echo "报告已保存到: $REPORT_FILE"
|
||
echo "可以通过飞书发送此报告"
|
||
}
|
||
|
||
# 执行
|
||
main |