374 lines
7.5 KiB
Markdown
374 lines
7.5 KiB
Markdown
# 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自动日志总结功能已准备就绪!** 🎉
|
||
|
||
*每天工作结束后,系统会自动为您生成详细的工作日志,让您清楚了解每天的工作成果。*
|