--- name: "weekly-report" description: "维云智造 G5/G6周报生成:解析任务记录→提取每日工作→多段邮件 (纯文本+HTML)→存入钉邮草稿箱" --- # weekly-report — 维云智造 G5/G6 周报生成技能 ## 适用场景 用户提供了本周工作任务记录(任务名称、归属项目、日期、工作内容),需要生成 G5 或 G6 周报并存入钉邮草稿箱。 ## 工作流程 ### 1. 解析用户输入 用户可能提供以下格式的信息: - **本周完成任务记录**:包含序号、任务名称、任务归属、日期、工作量等表格数据 - **工作情况总结**:按日期(周一至周五)列出的每日工作内容 需要从中提取: - 项目名称(维云智造 G5 或 G6) - 本周主要任务(从任务名称汇总) - 每日工作内容(按日期整理) - 存在问题(如有) ### 2. 确定日期范围 - 根据用户提供的日期或当前日期推算本周范围 - 格式:`YYYY-MM-DD ~ YYYY-MM-DD` ### 3. 邮件格式规范 **主题**:`{项目}开发周报 (YYYY-MM-DD ~ YYYY-MM-DD)` - 项目可能是 G5 或 G6,根据用户输入的任务归属确定 **收件人**:liuqiang@witsoft.cn **抄送**:chenm@witsoft.cn, zengli@witsoft.cn, yuanq@witsoft.cn **发送人**:杨轩 \ **正文(纯文本版)**: ``` 项目名称: 维云智造{G5|G6} 主要任务: <本周主要任务摘要> 本周工作内容 周一(YYYY-MM-DD) - <工作内容 1> - <工作内容 2> 周二(YYYY-MM-DD) - <工作内容 1> ... 存在问题 <内容或"无"> ``` **正文(HTML 版)**: - 使用 `` 标注标题 - 使用 `
` 换行 - 使用 `  ` 缩进列表项 - 无签名、无多余修饰 ### 4. 发送方式 使用 Python 脚本构造**多段邮件**(同时含纯文本和 HTML),然后通过 IMAP APPEND 存入钉邮草稿箱。 调用脚本: ```python from send_weekly_report import send_to_drafts send_to_drafts(plain_body, html_body, date_range, project) ``` 参数说明: - `plain_body`: 纯文本正文 - `html_body`: HTML 正文 - `date_range`: 日期范围字符串,如 "2026-08-18 ~ 2026-08-21" - `project`: 项目名称,"G5" 或 "G6",默认 "G6" ### 5. 自动归档(生成邮件后自动执行) `send_to_drafts()` 的 `archive` 参数**默认 True**,存草稿箱后会**自动归档周报到本地**: - **Markdown 归档**:写入 `weekly-reports/YYYY/YYYY-Www-周报.md`(`archive_report()` 完成) - 归档内容含:项目名、日期范围、基本信息、本周工作内容、存在问题、归档时间戳 - 归档由脚本内 `archive_report()` 自动触发,无需手工操作 - **MySQL 同步(默认开启)**:`send_to_drafts()` 的 `sync_mysql` 默认 True,归档后自动调用 `sync_to_mysql()` 把周报写入 **MySQL `resume` 库**(`weekly_reports` 三张表),供月度/年度总结、OKR 分析取数 - 无 `MYSQL_PWD` 或未装 pymysql 时静默跳过,不影响发信与本地归档 - 命令行 `--no-mysql` 可跳过(默认同步) - **SQLite 同步(可选,独立)**:脚本本身不写 SQLite。如需 SQLite 入库,额外执行: ```bash cd weekly-reports python3 sync_reports_db.py --file 2026/YYYY-Www-周报.md # 或全量:python3 sync_reports_db.py --all ``` - 命令行用 `--no-archive` 可跳过 Markdown 归档(默认归档) ### 6. 最后通知 通知用户去钉钉邮箱草稿箱确认并发送。 ## 注意事项 - 项目名称根据用户输入的任务归属自动识别(G5 或 G6) - 抄送人固定为:陈明、曾莉、袁晴 - 纯文本版和 HTML 版内容结构一致 - HTML 版不使用 Markdown 格式,使用 `
` 和 ` ` 进行排版 - 所有交互使用中文 ## 示例输入 ``` 本周完成任务记录 序号 任务名称 任务归属 计划开始日期 实际开始日期 计划完成日期 实际完成日期 估计工作量 (小时) 填报工作量 (小时) 偏差率 1 进销存自动化流程和阶段性优化 维云智造 G6 2026-08-19 2026-08-19 2026-08-21 2026-08-21 24 24 0% 2 销售,采购功能实现 维云智造 G6 2026-08-16 2026-08-16 2026-08-18 2026-08-18 24 24 0% 工作情况总结 周一 2026-08-18 工作情况 任务名称:销售,采购功能实现 (维云智造 G6) 执行日报:1. 销售出库流程优化 2. 其它入库联调 -------------------------------- 存在问题 ... ``` ## 示例输出 - 主题:G6 开发周报 (2026-08-18 ~ 2026-08-21) - 纯文本正文:简洁直列式,无签名 - HTML 正文:`` 标题 + `
` 换行 + `  ` 缩进 - 存入草稿箱后通知用户确认发送