--- name: weekly-report description: 周报生成。每周日22:00自动触发,或手动/weekly-report调用。汇总过去7天数据,输出可读复盘报告。 --- # Weekly Report · 周报生成 ## 触发条件 - **手动触发**:`/weekly-report` 或 "帮我出周报" - **自动触发**:`0 22 * * 0`(每周日 22:00),见 HEARTBEAT.md ## 输入 无参数,自动取过去 7 天数据(从 `reports/daily-YYYY-MM-DD.md` 和 `published/YYYY/MM/` 读取)。 ## 流程 ### Step 1 · 读取日报数据 读取过去 7 天的所有 `reports/daily-YYYY-MM-DD.md` 文件,提取: - 发布清单(平台 / 标题 / 链接) - 各平台阅读/播放/点赞/收藏/评论数据 - 舆情/私信摘要 - 选题表现亮点与问题 ### Step 2 · 读取归档元数据 读取 `published/YYYY/MM/` 下本周发布的所有文件头部 YAML 元数据(platform / url / published_at),补全发布记录。 ### Step 3 · 生成周报结构 按 `SOUL.md §4.2` 格式输出: ```markdown # 周报 YYYY-Www ## 关键结论(3 条以内) - 一句话见解 1 - 一句话见解 2 - 一句话见解 3 ## 选题表现 ### Top 3 1. <选题> | <平台> | 阅读 N | 互动率 X% 2. ... 3. ... ### Bottom 3 1. ... 2. ... 3. ... ### 假设原因 - Top 假设:(为什么这篇表现好) - Bottom 假设:(为什么这篇表现差) ## 平台趋势 | 平台 | 本周阅读 | 环比 | 同比 | |------|---------|------|------| | 公众号 | N | +X% | +Y% | | ... ## 下周选题候选(3 个) (来自 /heat-scan 输出,或直接生成 3 个候选) 1. <选题主张> | <平台> | <形态> 2. ... 3. ... ## 需要 Tyrone 决策的事 - 决策项 1 - 决策项 2 ``` ### Step 4 · 写入文件 文件路径:`reports/weekly-YYYY-Www.md` ### Step 5 · 微信推送 微信频道(`openclaw-weixin`)推送摘要: ``` 📊 周报 YYYY-Www 【关键结论】 1. <结论 1> 2. <结论 2> 3. <结论 3> 【Top 选题】 ① <选题>(<平台>,阅读 N) 【下周待确认】 ① <选题候选 1> ② <选题候选 2> ③ <选题候选 3> 👉 回复"选 A/B/C"继续 【需要决策】 - <决策事项> ``` ## 合规约束 - ✅ 数据全部来自 `published/` 实际归档,不编造数字 - ✅ 数据不足时写"暂无数据",禁止猜测 - ✅ 假设原因须有数据支撑,无数据则写"待观察" - 🚫 不修改 `published/` 任何文件 - 🚫 不触发任何发布动作 ## 参考文件 - `SOUL.md §4.2` — 周报结构规范 - `HEARTBEAT.md` — cron 触发配置 - `reports/published-log.md` — 中央索引