历史任务结构化总结(双月周期汇总)
一、用途与适用场景
把 WorkBuddy 历史任务按两个月一周期整理成一份结构化 Markdown 汇总,每周期一个文件,周期内多次触发则在原文件上增量更新。
| 适用场景 | 典型用户指令 | 模式 |
|---|---|---|
| 首次汇总 | "把最近的任务进行汇总"、"总结最近的任务" | 新建(本周期无文件) |
| 补充更新 | "再汇总一次"、"补充这个月的任务" | 增量(本周期已有文件) |
| 指定周期 | "汇总 9-10 月的任务" | 指定周期(映射到对应文件) |
不适用:询问单条任务细节、修改某个产出物文件、分析某一次对话的具体内容、纯知识问答。
二、输入规范
| # | 输入项 | 必需性 | 说明 |
|---|---|---|---|
| R1 | 目标周期 | 可选 | 默认"今天所在双月周期";用户指明"9-10月"等区间则映射对应周期 |
| R2 | 数据源 | 固定 | 脚本内置路径,见 references/data-schema.md |
数据源由脚本自动读取,无需用户提供。用户只需表达"汇总/总结"意图即可。
三、输出规范
| # | 输出 | 内容 | 落点 |
|---|---|---|---|
| O1 | 汇总 MD | 六列表格:日期 | 任务 | 总结 | 分类 | 工作区目录 | 产出物,本地可点击链接 |
D:\WorkBuddy_space\对话记录汇总\YYYY-MM-MM.md |
| O2 | 中间产物 | tasks-*.json、summaries-*.json |
同目录 _work\ 子目录(可清理) |
文件命名:YYYY-MM-MM.md,起/止月为双月周期边界(1-2、3-4、…、11-12),均补零两位。例:11-12 月 → 2026-11-12.md。
文档头:标题 + 数据来源 + 生成/更新时间 + 周期 + 条数 + 六列表头。
四、分工架构(确定性 vs 语义)
核心原则:脚本只做确定性逻辑,AI 只做语义逻辑,两者经 JSON 契约协作。
| 职责 | 执行者 | 内容 |
|---|---|---|
| 读数据、算周期、命名、URI 归一化、按 ID 合并、落盘 | 脚本 scripts/task_summary.py |
幂等、可复现 |
| 为每条任务生成"总结"一句话 | AI(本 skill) | 目标/主要内容/完成情况 |
| 任务"分类" | 脚本 | 按标题关键词自动归类 |
> 分类由脚本自动完成(工作/学习/生活/个人事项),AI 不干预;AI 唯一要产出的是每条任务的总结文本。
五、核心执行流程(模型必须严格照做)
5.1 确定目标周期
- 用户未指明月份 → 用
--period auto(今天所在双月周期)。 - 用户指明"9-10月""2026年9-10月" → 起月映射到
--period 2026-09(脚本自动归到 09-10 周期)。 - 用户指明单月"11月" →
--period 2026-11(脚本自动归到 11-12 周期)。
5.2 提取任务(extract)
python "C:\Users\Cuby\.workbuddy\skills\task-summary\scripts\task_summary.py" extract --period auto
脚本输出:本周期任务清单(id / 日期 / 标题 / 分类 / 产出物文件名),并写 _work\tasks-<filename>.json。
5.3 生成总结(AI 语义,唯一需 AI 产出)
逐条读 5.2 打印的清单,为每条任务生成一句话总结,写入 _work\summaries-<filename>.json,格式 {"<任务id>": "一句话总结"}。
总结规范见第六节。
5.4 增量合并(merge)
python "C:\Users\Cuby\.workbuddy\skills\task-summary\scripts\task_summary.py" merge --period auto
脚本读 tasks + summaries + 旧 MD,按任务 ID 增量合并(新任务追加、已有任务更新、旧条目保留),落盘最终 MD。
5.5 汇报
报告:文件路径 + 周期 + 新增/更新/保留条数。
六、总结生成规范(AI 语义规则)
- 长度:一句话,20-40 字为宜,面向"目标 / 主要内容 / 完成情况"。
- 依据:任务标题 + 产出物文件名 + 领域知识(雷达信号处理、FPGA、ADC 评估等)。不得臆造未证实的"已完成"状态。
- 无产出物:仍可依据标题给目标性总结,不写"(无)"。
- 无法判断:写"(待补充)"。
- 示例:
- 标题"新增 BL1063 中频采样方案评估" + 产出"BL1063和AD9694 中频采样七方案量化评估报告.docx" → "扩展中频采样方案评估至 AD9694,产出七方案量化对比报告。"
- 标题"讲解 ADC 动态范围与灵敏度计算方法" + 产出"ADC_DR_Sensitivity_Handbook.md" → "讲解 ADC 动态范围与灵敏度计算方法,产出计算脚本与手册。"
七、硬约束与边界
- 不新建重复文件:本周期已有
YYYY-MM-MM.md时,必须走 merge 增量更新,不得另起文件名或覆盖丢失旧条目。 - 只写一个周期:每次执行只处理单一目标周期文件。
- 不破坏旧内容:旧 MD 中不在本次任务集的条目(含手工版无 sid 标记的)一律保留,不得删除。
- 输出目录:默认自动解析(见下),不存在由脚本自动新建;可用
--output或环境变量TASK_SUMMARY_OUTPUT覆盖。 - 中间产物:
_work\下 JSON 是临时契约文件,merge 完成后可清理(不影响最终 MD)。
路径解析与可移植性
脚本不硬编码任何本机绝对路径,运行时动态解析,可移植到任意装有 WorkBuddy 的电脑:
| 数据源 | 解析方式 |
|---|---|
workbuddy.db |
<USERPROFILE>\.workbuddy\workbuddy.db |
artifact-index |
<USERPROFILE>\.workbuddy\artifact-index |
sidebar-list-snapshot.json |
自动扫描 .workbuddy\ 下含该文件的用户数据目录 |
| 输出目录 | 优先级:环境变量 TASK_SUMMARY_OUTPUT → workspaces 表中含"对话记录汇总/WorkBuddy_space"的路径 → 主目录下 对话记录汇总 |
环境要求:目标电脑需安装 WorkBuddy(产生数据源)并有 Python 3(仅标准库,无需第三方包)。
八、references 索引(按需加载)
| 文件 | 何时加载 |
|---|---|
references/data-schema.md |
需要核对数据源字段、JSON 契约细节或排查提取结果异常时 |