auto: sync OpenClaw config 2026-08-27 11:17
This commit is contained in:
@@ -55,3 +55,129 @@
|
||||
- 每周五 17:40,cron job 自动检查钉邮草稿箱
|
||||
- 草稿箱为空 → 已发送,忽略
|
||||
- 草稿箱有未发送草稿 → 通过 sessions_send 通知 main agent,由 main agent 钉钉通知用户
|
||||
|
||||
## 📁 周报持久化归档(2026-08-27 建立)
|
||||
|
||||
### 归档目的
|
||||
- **长期保存**:每周周报自动归档到本地,用于月度、年度考核
|
||||
- **快速检索**:支持按周/月/年汇总,提取工作内容
|
||||
- **双重保障**:邮件草稿(发送用)+ 本地归档(检索用)
|
||||
- **混合方案**:Markdown 文件(完整内容)+ SQLite 数据库(元数据索引)
|
||||
|
||||
### 归档目录
|
||||
```
|
||||
weekly-reports/
|
||||
├── README.md # 归档说明
|
||||
├── 使用指南.md # 详细教程
|
||||
├── 快速参考.md # 快速查阅
|
||||
├── 混合方案指南.md # 混合方案说明
|
||||
├── sync_reports_db.py # 数据库同步脚本
|
||||
├── summarize_reports.py # 汇总工具脚本
|
||||
├── weekly_reports.db # SQLite 数据库
|
||||
├── 2025/ # 2025 年周报
|
||||
│ └── ...
|
||||
├── 2026/ # 2026 年周报
|
||||
│ ├── 2026-W29.md
|
||||
│ ├── 2026-W31-周报.md
|
||||
│ └── ...
|
||||
└── ...
|
||||
```
|
||||
|
||||
### 自动归档流程
|
||||
每周五生成周报时,`send_weekly_report.py` 脚本会:
|
||||
1. 存入钉邮草稿箱(用于发送)
|
||||
2. **自动保存 Markdown** 到 `weekly-reports/YYYY/YYYY-Www-周报.md`(用于归档,脚本内 `archive_report()` 完成)
|
||||
3. **不自动写 SQLite**——如需入库,需手动跑 `sync_reports_db.py --all` 或 `import_md_to_db.py`
|
||||
|
||||
### 汇总工具用法
|
||||
```bash
|
||||
cd weekly-reports
|
||||
|
||||
# 按周汇总
|
||||
python3 summarize_reports.py --week 2026-W31
|
||||
|
||||
# 按月汇总(用于月度考核)
|
||||
python3 summarize_reports.py --month 2026-07
|
||||
|
||||
# 按年汇总(用于年度考核)
|
||||
python3 summarize_reports.py --year 2026
|
||||
|
||||
# 自定义日期范围
|
||||
python3 summarize_reports.py --range 2026-07-01 2026-09-30
|
||||
```
|
||||
|
||||
### 数据库查询用法
|
||||
```bash
|
||||
cd weekly-reports
|
||||
|
||||
# 查看统计信息
|
||||
python3 sync_reports_db.py --stats
|
||||
|
||||
# 同步所有周报
|
||||
python3 sync_reports_db.py --all
|
||||
|
||||
# SQL 查询
|
||||
sqlite3 weekly_reports.db "SELECT * FROM weekly_reports WHERE year = 2026;"
|
||||
```
|
||||
|
||||
### 汇总输出
|
||||
汇总工具会生成 Markdown 报告,包含:
|
||||
- 📊 项目汇总(参与周次、主要任务)
|
||||
- ⚠️ 存在问题汇总
|
||||
- 📋 原始周报记录(带文件路径)
|
||||
|
||||
### 历史数据
|
||||
- 2025-08 ~ 2026-05:已归档到 `weekly-reports/2025-XX/` 和 `weekly-reports/2026-XX/` 目录
|
||||
- 2026-07 起:使用新的按周归档格式(`YYYY-Www-周报.md`)
|
||||
- 2026-08-27 起:启用混合方案(Markdown + SQLite)
|
||||
|
||||
## 🗄️ MySQL 周报数据中枢(2026-08-27 建立,方案 A)
|
||||
|
||||
### 背景
|
||||
用户备有本地 MySQL `resume` 库(简历助手业务库)。经确认,将周报数据同步为 MySQL 统一数据中枢,供后续**月度、年度总结、OKR 分析**取数;本地 SQLite 保留做轻量归档。
|
||||
|
||||
### 双轨结构
|
||||
```
|
||||
周报生成 send_weekly_report.py
|
||||
├─ 存草稿箱(钉邮)
|
||||
├─ 归档 Markdown → weekly-reports/YYYY/(长期保存)
|
||||
├─ SQLite 本地索引(可选,sync_reports_db.py)
|
||||
└─ MySQL resume 库 weekly_reports(统一中枢)✅ 默认同步
|
||||
↓
|
||||
月度/年度总结 / OKR 分析 ← 全部从 MySQL 查
|
||||
```
|
||||
|
||||
### MySQL 配置与表
|
||||
- 连接:`127.0.0.1:3306` root / `resume` 库,密码 `.env` 键 `MYSQL_PWD`
|
||||
- 表:`weekly_reports`(主表)、`weekly_report_daily`(每日明细)、`weekly_report_problems`(问题)
|
||||
- 表结构与 SQLite 一致,三张表有外键关联(report_id)
|
||||
|
||||
### 写入入口
|
||||
- **每周生成**:`send_to_drafts()` 默认 `sync_mysql=True` 自动同步(`--no-mysql` 跳过)
|
||||
- **迁移补写**:`weekly-reports/migrate_to_mysql.py`(SQLite → MySQL 全量,`--dry-run` 预览)
|
||||
|
||||
### 当前状态
|
||||
- 已迁移:2026-W23 ~ W34 共 12 份(G5×9 + G6×3),含每日明细 60 条、问题 1 条,SQLite↔MySQL 字节级一致 ✅
|
||||
- OKR 相关表(okr_objectives 等)**暂未建**,用户确认后续再处理
|
||||
- 历史叙述式 txt(2025-08 ~ 2026-03,39 份)**未迁移**,格式乱+有重复,用户选择只迁高质量核心数据
|
||||
|
||||
### OKR 绩效表(2026-08-27 建立)
|
||||
- **背景**:用户先后提供 `研究院-维云智造G5-1月OKR-杨轩.xlsx`(旧模板)、`研究院-产品开发部开发组-8月OKR-杨轩.xlsx`(新模板)
|
||||
- **两张表**(在 resume 库):
|
||||
- `okr_monthly_records` — 月度主表(assess_month、full_name、position、supervisor、assess_date、monthly_rating、source_file)
|
||||
- `okr_objectives` — 目标明细(record_id 外键、seq、objective、krs、completion、score、weight、weighted_score)
|
||||
- **已归档**:202601 杨轩 6 项目标(月度评价 7.0);202608 杨轩 5 项目标(新模板,评分均7.0,月度评价未填 NULL)
|
||||
- **解析脚本**:`okr/parse_okr_to_mysql.py`(读 Excel → 写入 MySQL;`--dry-run` 预览、`--month` 指定月、`--file` 指定文件)
|
||||
- **支持新旧两种模板(自动识别 detect_template)**:
|
||||
- 旧模板(202601 等):多 sheet,每个 sheet 一个考核月;表头行4,目标行5起 6 项,B序号/C目标/E列KR/F完成情况/I权重/J加权,月度评价在 J12/B12
|
||||
- 新模板(8月起,单 sheet `OKR考核`):表头行5-6,目标行8起(跳过行7示例)5 项,B序号/C任务/D关键结果/E完成/G评分/I权重/J得分;人员信息在 B3;跨月周期取考核期末(7月27日-8月27日→202608);月度评价(G15等)上级可能未填→NULL
|
||||
- **注意**:Excel 权重列是小数(0.15 等),评分 H/G 列由上级填写
|
||||
example:查询某月 OKR:`SELECT * FROM resume.okr_monthly_records WHERE assess_month='202601';`
|
||||
|
||||
### 查询示例
|
||||
```sql
|
||||
-- 月度总结
|
||||
SELECT * FROM resume.weekly_reports WHERE start_date BETWEEN '2026-07-01' AND '2026-07-31';
|
||||
-- 年度
|
||||
SELECT week_number, main_task FROM resume.weekly_reports WHERE year=2026 ORDER BY week_number;
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user