NAC_Blockchain/memory/AUTO_SUMMARY_GUIDE.md

7.5 KiB
Raw Permalink Blame History

NAC自动日志总结功能 - 使用指南

版本: v1.0
日期: 2026-02-07
功能: 编译停止45分钟后自动生成每日工作日志


📋 功能概述

NAC自动日志总结功能会在检测到编译停止超过45分钟后自动生成当天的工作日志包括

  • Git提交记录
  • 文件修改记录
  • NAC Lint检查记录
  • 新增的记忆记录(文档、问题、决策)
  • 统计信息和工作亮点

🚀 快速开始

方式1: 手动生成日志(测试)

# 进入工作区
cd /home/ubuntu/nac-workspace

# 生成今日工作日志
python3 memory/tools/summary_generator.py

# 查看生成的报告
cat docs/Daily_Summary_$(date +%Y%m%d).md

方式2: 启动守护进程(推荐)

# 测试模式2分钟超时
python3 memory/tools/auto_summary_daemon.py --test

# 正常模式45分钟超时
python3 memory/tools/auto_summary_daemon.py

# 后台运行
nohup python3 memory/tools/auto_summary_daemon.py > /tmp/nac-daemon.log 2>&1 &

方式3: 安装为系统服务

# 复制服务文件
sudo cp memory/tools/nac-auto-summary.service /etc/systemd/system/

# 启动服务
sudo systemctl daemon-reload
sudo systemctl enable nac-auto-summary
sudo systemctl start nac-auto-summary

# 查看状态
sudo systemctl status nac-auto-summary

# 查看日志
sudo journalctl -u nac-auto-summary -f

📊 日志内容

日志文件位置

memory/summaries/SUMMARY_20260207.json    # JSON格式总结
docs/Daily_Summary_20260207.md            # Markdown格式报告
memory/logs/daemon.log                    # 守护进程日志
memory/logs/activity_20260207.log         # 活动记录日志

日志内容示例

# NAC工作日志 - 2026-02-07

## 📊 今日统计
- Git提交: 5次
- 文件修改: 25个文件
- 代码变更: +500 -150行
- Lint检查: 3次
- 新增文档: 1个
- 新增问题: 2个

## 📝 Git提交记录
### [nac-blockchain] Implement CBPP consensus
- 提交哈希: abc1234
- 作者: Developer
- 时间: 2026-02-07 15:00:00
- 变更: +200 -50行

## 🎯 总结
✅ 完成 5 次代码提交
✅ 新增 500 行代码
✅ 记录 2 个问题和解决方案

🔧 配置选项

命令行参数

python3 memory/tools/auto_summary_daemon.py \
  --workspace /home/ubuntu/nac-workspace \  # 工作区路径
  --timeout 2700 \                          # 空闲超时(秒)
  --interval 60 \                           # 检查间隔(秒)
  --test                                    # 测试模式

配置文件(计划中)

{
  "idle_timeout": 2700,
  "check_interval": 60,
  "watch_projects": [
    "nac-blockchain",
    "nac-asset-onchain",
    "nac-quantum-explorer"
  ],
  "watch_extensions": [".rs", ".go", ".charter"],
  "notification": {
    "enabled": true,
    "type": "console"
  }
}

🧪 测试

测试1: 手动生成日志

cd /home/ubuntu/nac-workspace
python3 memory/tools/summary_generator.py

# 检查输出
ls -la memory/summaries/SUMMARY_*.json
ls -la docs/Daily_Summary_*.md

测试2: 活动监控

# 运行活动监控器
python3 memory/tools/activity_monitor.py

# 输出示例:
# NAC Activity Monitor
# 工作区: /home/ubuntu/nac-workspace
# 空闲超时: 60秒
# 
# 今日活动统计:
#   总活动数: 5
#   文件修改: 2次 (10个文件)
#   Git提交: 1次 (3个提交)
#   Lint检查: 2次

测试3: 守护进程(测试模式)

# 启动测试模式2分钟超时
python3 memory/tools/auto_summary_daemon.py --test

# 模拟编译活动
touch nac-blockchain/src/test.rs

# 等待2分钟观察是否自动生成日志

📈 工作流程

典型的一天

09:00 - 开始工作
  ↓
09:30 - 修改代码提交Git
  ↓ (守护进程检测到活动,重置计时器)
12:00 - 午休
  ↓
13:00 - 继续工作,修改代码
  ↓ (守护进程检测到活动,重置计时器)
17:30 - 结束工作
  ↓
18:15 - 空闲超过45分钟
  ↓ (守护进程自动生成日志)
✅ 日志已生成: docs/Daily_Summary_20260207.md

活动检测

守护进程会检测以下活动:

  1. 文件修改 - 通过git status检测
  2. Git提交 - 通过git log检测
  3. Lint检查 - 通过日志文件检测

任何活动都会重置45分钟计时器。


🔔 通知方式

当前支持

  • 控制台输出
  • 日志文件记录

计划支持

  • 桌面通知
  • 邮件通知
  • Webhook通知

🛠️ 故障排除

问题1: 守护进程无法启动

# 检查Python版本
python3 --version

# 检查文件权限
ls -la memory/tools/auto_summary_daemon.py

# 手动运行查看错误
python3 memory/tools/auto_summary_daemon.py --test

问题2: 日志未生成

# 检查守护进程状态
ps aux | grep auto_summary_daemon

# 查看守护进程日志
cat memory/logs/daemon.log

# 检查空闲时间
python3 memory/tools/activity_monitor.py

问题3: Git命令失败

# 确保在Git仓库中
cd nac-blockchain
git status

# 检查Git配置
git config --list

📝 最佳实践

1. 每日查看日志

# 每天早上查看昨日日志
cat docs/Daily_Summary_$(date -d yesterday +%Y%m%d).md

2. 定期备份日志

# 每周备份日志
tar -czf logs_backup_$(date +%Y%m%d).tar.gz \
  memory/summaries/ \
  docs/Daily_Summary_*.md

3. 分析工作效率

# 查看本周的提交统计
for i in {0..6}; do
  date=$(date -d "$i days ago" +%Y%m%d)
  if [ -f "memory/summaries/SUMMARY_$date.json" ]; then
    echo "=== $date ==="
    cat "memory/summaries/SUMMARY_$date.json" | \
      python3 -c "import sys, json; data=json.load(sys.stdin); print(f\"提交: {data['statistics']['total_commits']}, 代码: +{data['statistics']['total_lines_added']} -{data['statistics']['total_lines_deleted']}\")"
  fi
done

🚀 高级用法

自定义总结模板

编辑 summary_generator.py 中的 generate_markdown_report 方法,自定义报告格式。

集成到其他系统

from summary_generator import SummaryGenerator

# 生成总结
generator = SummaryGenerator('/home/ubuntu/nac-workspace')
summary, markdown = generator.generate_summary()

# 发送到其他系统
# send_to_slack(markdown)
# send_to_email(markdown)
# save_to_database(summary)

定时生成周报/月报

# 添加到crontab
crontab -e

# 每周一早上9点生成周报
0 9 * * 1 /home/ubuntu/nac-workspace/memory/tools/generate_weekly_report.sh

📞 技术支持

相关文档

  • 设计文档: memory/tools/AUTO_SUMMARY_DESIGN.md
  • 活动监控器: memory/tools/activity_monitor.py
  • 总结生成器: memory/tools/summary_generator.py
  • 守护进程: memory/tools/auto_summary_daemon.py

日志文件

  • 守护进程日志: memory/logs/daemon.log
  • 活动日志: memory/logs/activity_YYYYMMDD.log
  • Lint日志: memory/logs/lint_YYYYMMDD.log

检查清单

安装检查

  • Python 3.8+已安装
  • 工作区路径正确
  • 文件权限正确(可执行)
  • 目录结构完整

功能检查

  • 手动生成日志成功
  • 活动监控正常
  • 守护进程可启动
  • 日志文件正确生成

部署检查

  • 系统服务已安装(如果需要)
  • 服务自动启动
  • 日志正常记录
  • 通知正常工作(如果启用)

NAC自动日志总结功能已准备就绪 🎉

每天工作结束后,系统会自动为您生成详细的工作日志,让您清楚了解每天的工作成果。