7.1 KiB
7.1 KiB
TOOLS.md - 本地环境笔记
技能定义工具怎么用;本文件记录你专属的环境配置(邮箱、脚本、路径等)。
周报邮件配置(IMAP 存草稿)
- 协议:IMAP over SSL
- 服务器:
imap.mxhichina.com:993 - 账号:
yangxuan@witsoft.cn - 密码:存于
/home/yangxuan/.openclaw/.env(键WITSOFT_IMAP_PASSWORD) - 草稿箱文件夹:
"&g0l6Pw-"(IMAP 编码名) - 用途:周报脚本只把邮件存入草稿箱,不真正发送;用户需到钉钉邮箱草稿箱确认后手动发送
周报脚本
- 路径:
/home/yangxuan/.openclaw/workspace-resume/send_weekly_report.py - 功能(
send_to_drafts(..., archive=True)默认归档):- 存入钉邮草稿箱(用于发送)
- 自动归档 Markdown 到
weekly-reports/YYYY/YYYY-Www-周报.md(长期保存,archive_report()完成) - 同步到 MySQL resume 库(
sync_to_mysql(),月度/年度总结数据源;--no-mysql跳过) - 脚本本身不写 SQLite;如需 SQLite 入库,用
sync_reports_db.py或import_md_to_db.py手动同步
- 函数:
send_to_drafts(plain_body, html_body, date_range, project="G5", archive=True) - 读取 .env:脚本自动从
.env读取账号密码,接口函数入参无需传密码 - 收件人:刘强 liuqiang@witsoft.cn(主送)
- 抄送:chenm@witsoft.cn, zengli@witsoft.cn, yuanq@witsoft.cn
- 命令行用法:
python3 send_weekly_report.py \ --project G5 \ --plain "项目名称:..." \ --html "<p>...</p>" \ --date-range "2026-08-25 ~ 2026-08-29"
周报汇总工具
- 路径:
/home/yangxuan/.openclaw/workspace-resume/weekly-reports/summarize_reports.py - 用途:从归档的周报中提取指定时间范围的工作内容,用于月度/年度考核
- 用法:
cd weekly-reports # 按月汇总 python3 summarize_reports.py --month 2026-07 # 按年汇总 python3 summarize_reports.py --year 2026 # 自定义范围 python3 summarize_reports.py --range 2026-07-01 2026-09-30 - 输出:生成
summary_YYYYMMDD_HHMMSS.md汇总报告
周报数据库(混合方案)
- 数据库:
weekly-reports/weekly_reports.db(SQLite) - 同步脚本:
weekly-reports/sync_reports_db.py - 用途:存储周报元数据,支持快速查询和统计
- 用法:
cd weekly-reports # 同步所有周报 python3 sync_reports_db.py --all # 查看统计信息 python3 sync_reports_db.py --stats # SQL 查询 sqlite3 weekly_reports.db "SELECT * FROM weekly_reports WHERE year = 2026;" - 表结构:
weekly_reports- 周报元数据(年份、周数、项目、主要任务等)weekly_report_daily- 每日工作明细weekly_report_problems- 问题记录
- 备份:数据库文件随工作空间一起备份,或导出为 SQL
周报归档目录
- 位置:
/home/yangxuan/.openclaw/workspace-resume/weekly-reports/ - 结构:
2025-XX/- 2025 年历史周报(旧格式 .txt)2026/- 2026 年起周报(新格式 .md,按周归档)README.md- 归档说明使用指南.md- 详细教程快速参考.md- 快速参考卡片混合方案指南.md- 混合方案说明
- 命名格式:
YYYY-Www-周报.md(如2026-W31-周报.md)
MySQL 周报数据中枢(2026-08-27 建立)
方案 A:SQLite 做本地归档,MySQL resume 库做统一数据中枢(供月度/年度总结、OKR 分析)。
- MySQL 连接:
127.0.0.1:3306,用户root,库resume,密码存.env键MYSQL_PWD - 三张周报表(在
resume库):weekly_reports— 主表(year、week_number、project、start_date/end_date、main_task、has_problems)weekly_report_daily— 每日明细(report_id、day_of_week、work_date、work_items)weekly_report_problems— 问题记录(report_id、problem_description、status)
- 写入入口:
send_to_drafts()默认同步(sync_to_mysql),--no-mysql跳过- 迁移补写:
weekly-reports/migrate_to_mysql.py(SQLite → MySQL 全量,--dry-run预览)
- 月度/年度总结查询示例:
-- 月度 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; - 注意:周报表在业务库 resume 中,勿与简历业务表(resumes、company_* 等)混用;二者用途不同
周报邮件 eml 解析归档工具(2026-08-27 添加)
用于从下载的钉邮周报 eml 文件批量补全归档缺失周报。
- eml 所在目录:
/home/yangxuan/.openclaw/media/inbound/(附件上传后自动落盘) - 解析脚本:
weekly-reports/parse_eml_to_md.py—— 读取 inbound 下所有 .eml,解码 base64 正文,生成标准格式2026/2026-Www-周报.md - 入库脚本:
weekly-reports/import_md_to_db.py—— 读生成的 Markdown 重建 SQLite 数据(主表+每日明细+问题),自动覆盖旧占位记录 - 用法:
cd weekly-reports python3 parse_eml_to_md.py # eml → Markdown python3 import_md_to_db.py # Markdown → SQLite - 解析逻辑要点:
- 邮件为 multipart,取 text/plain 部分 base64 解码
- 日期行支持
周一(2026-06-08)/周一(06-08)/带 📅 emoji 前缀 - 列表项
*与文字可能被拆两行,已处理 - 问题区仅在「存在问题」标题后提取,
无/暂无不算问题;下周计划等小标题退出问题区 - 项目名据内容自动判 G5/G6
- 注意:脚本会全量重建 2026 年数据库,覆盖旧占位记录,别在有未归档数据时误跑
OKR 绩效归档工具(2026-08-27 添加)
用于将研究院-维云智造 OKR 绩效 Excel(杨轩)解析归档到 MySQL resume 库。
- 脚本:
okr/parse_okr_to_mysql.py - Excel 位置:
/home/yangxuan/.openclaw/media/inbound/*OKR*.xlsx(或命令行--file指定路径) - 用法:
cd okr python3 parse_okr_to_mysql.py --month 202601 # 归档指定月 python3 parse_okr_to_mysql.py --file <xlsx> --dry-run # 指定文件+预览不写入 - 表(MySQL resume 库):
okr_monthly_records(主)+okr_objectives(目标明细) - 支持新旧两种模板(自动识别):
- 旧模板(202601 等):多 sheet,每个 sheet 一个考核月;表头行4,目标行5起 6 项,月度评价在 J12/B12
- 新模板(8月起):单 sheet
OKR考核;表头行5-6,目标行8起(跳过行7示例)5 项,B序号/C任务/D关键结果/E完成/G评分/I权重/J得分;人员信息在 B3;跨月周期取考核期末(如 7月27日-8月27日→202608);月度评价字段上级可能未填(NULL)
- Excel 结构(旧模板):一个文件多 sheet(202511/202512/202601/...),每个 sheet 一个考核月## 技能
技能
- 周报技能:
skills/weekly-report-g5/SKILL.md