NAC_Blockchain/memory/AUTO_SUMMARY_GUIDE.md

374 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# NAC自动日志总结功能 - 使用指南
**版本**: v1.0
**日期**: 2026-02-07
**功能**: 编译停止45分钟后自动生成每日工作日志
---
## 📋 功能概述
NAC自动日志总结功能会在检测到编译停止超过45分钟后自动生成当天的工作日志包括
- Git提交记录
- 文件修改记录
- NAC Lint检查记录
- 新增的记忆记录(文档、问题、决策)
- 统计信息和工作亮点
---
## 🚀 快速开始
### 方式1: 手动生成日志(测试)
```bash
# 进入工作区
cd /home/ubuntu/nac-workspace
# 生成今日工作日志
python3 memory/tools/summary_generator.py
# 查看生成的报告
cat docs/Daily_Summary_$(date +%Y%m%d).md
```
### 方式2: 启动守护进程(推荐)
```bash
# 测试模式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: 安装为系统服务
```bash
# 复制服务文件
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 # 活动记录日志
```
### 日志内容示例
```markdown
# 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 个问题和解决方案
```
---
## 🔧 配置选项
### 命令行参数
```bash
python3 memory/tools/auto_summary_daemon.py \
--workspace /home/ubuntu/nac-workspace \ # 工作区路径
--timeout 2700 \ # 空闲超时(秒)
--interval 60 \ # 检查间隔(秒)
--test # 测试模式
```
### 配置文件(计划中)
```json
{
"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: 手动生成日志
```bash
cd /home/ubuntu/nac-workspace
python3 memory/tools/summary_generator.py
# 检查输出
ls -la memory/summaries/SUMMARY_*.json
ls -la docs/Daily_Summary_*.md
```
### 测试2: 活动监控
```bash
# 运行活动监控器
python3 memory/tools/activity_monitor.py
# 输出示例:
# NAC Activity Monitor
# 工作区: /home/ubuntu/nac-workspace
# 空闲超时: 60秒
#
# 今日活动统计:
# 总活动数: 5
# 文件修改: 2次 (10个文件)
# Git提交: 1次 (3个提交)
# Lint检查: 2次
```
### 测试3: 守护进程(测试模式)
```bash
# 启动测试模式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: 守护进程无法启动
```bash
# 检查Python版本
python3 --version
# 检查文件权限
ls -la memory/tools/auto_summary_daemon.py
# 手动运行查看错误
python3 memory/tools/auto_summary_daemon.py --test
```
### 问题2: 日志未生成
```bash
# 检查守护进程状态
ps aux | grep auto_summary_daemon
# 查看守护进程日志
cat memory/logs/daemon.log
# 检查空闲时间
python3 memory/tools/activity_monitor.py
```
### 问题3: Git命令失败
```bash
# 确保在Git仓库中
cd nac-blockchain
git status
# 检查Git配置
git config --list
```
---
## 📝 最佳实践
### 1. 每日查看日志
```bash
# 每天早上查看昨日日志
cat docs/Daily_Summary_$(date -d yesterday +%Y%m%d).md
```
### 2. 定期备份日志
```bash
# 每周备份日志
tar -czf logs_backup_$(date +%Y%m%d).tar.gz \
memory/summaries/ \
docs/Daily_Summary_*.md
```
### 3. 分析工作效率
```bash
# 查看本周的提交统计
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` 方法,自定义报告格式。
### 集成到其他系统
```python
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)
```
### 定时生成周报/月报
```bash
# 添加到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自动日志总结功能已准备就绪** 🎉
*每天工作结束后,系统会自动为您生成详细的工作日志,让您清楚了解每天的工作成果。*