Skip to content

周报/月报生成

定期汇总工作内容,AI 自动生成结构化报告,节省整理时间。

适用场景

  • 职场周报/月报撰写
  • 项目进度汇报
  • 团队工作汇总
  • 个人成长记录

前置准备

必需插件

插件用途安装方式
Text GeneratorAI 生成报告社区插件市场
Templater模板脚本社区插件市场
Tasks任务追踪社区插件市场

推荐插件

插件用途
Dataview数据汇总
Periodic Notes周期性笔记

周报模板

markdown
---
title: 周报 {{week}}
date: {{date}}
period: {{start_date}} - {{end_date}}
tags: [weekly-report]
---

# 周报 - {{week}}

## 📋 本周工作
<!-- 日程或任务列表 -->

## 🤖 AI 生成的报告
<!-- 自动汇总 -->

## 📊 下周计划
<!-- 下周目标 -->

周报生成 Prompt

markdown
# 周报生成

## 任务记录
{{weekly_tasks}}

## 会议记录
{{meeting_notes}}

## 要求

### 输出格式

## 本周工作总结

### 主要成果
1. 成果1:具体描述
2. 成果2:具体描述
3. 成果3:具体描述

### 工作进展
| 项目 | 进度 | 说明 |
|------|------|------|
| 项目A | 80% | 完成开发 |
| 项目B | 30% | 设计中 |

### 遇到的问题
- 问题1:解决方案/状态
- 问题2:解决方案/状态

### 下周计划
1. 计划1
2. 计划2
3. 计划3

### 需要的支持
- 支持1
- 支持2

自动化脚本

javascript
<%*
// 自动汇总本周内容
const thisWeek = getWeekDates(tp.date.now("YYYY-MM-DD"));

// 获取本周任务
const tasks = app.vault.getMarkdownFiles()
  .filter(f => f.path.includes("Tasks"))
  .map(f => app.vault.read(f));

// 获取本周会议
const meetings = app.vault.getMarkdownFiles()
  .filter(f => f.path.includes("Meetings") && 
    isInRange(f.stat.mtime, thisWeek.start, thisWeek.end));

// 汇总内容
let summary = "## 本周内容\n\n";
// ... 汇总逻辑

// AI 生成报告
const report = await aiGenerate(`根据以下内容生成周报:\n${summary}`);
%>

返回

← 返回案例目录

详细操作步骤

步骤一:设置日报收集系统

markdown
# Daily Notes 模板
---
date: {{date}}
---

## 今日任务
- [ ] 任务1
- [ ] 任务2

## 工作记录
### 项目A
- 完成了...

### 会议
- [[会议记录-{{date}}]]

## 明日计划
- [ ] 计划1

步骤二:创建周报自动汇总脚本

javascript
// Templater 脚本:自动汇总周报
async function generateWeeklyReport() {
  const weekStart = moment().startOf('week');
  const weekEnd = moment().endOf('week');
  
  // 1. 收集本周日报
  const dailyNotes = await getDailyNotes(weekStart, weekEnd);
  
  // 2. 收集完成的任务
  const completedTasks = await getCompletedTasks(weekStart, weekEnd);
  
  // 3. 收集会议记录
  const meetings = await getMeetings(weekStart, weekEnd);
  
  // 4. 汇总内容
  const summary = `
## 本周日报汇总
${dailyNotes.map(n => n.content).join('\n\n')}

## 完成的任务
${completedTasks.map(t => `- ✅ ${t.text}`).join('\n')}

## 参与的会议
${meetings.map(m => `- [[${m.name}]] (${m.date})`).join('\n')}
  `;
  
  // 5. AI 生成报告
  const report = await textGenerator.generate(`
    作为专业的工作汇报助手,根据以下内容生成一份结构化的周报:

    ${summary}

    要求:
    1. 突出主要成果
    2. 量化工作进度
    3. 列出遇到的问题
    4. 提出下周计划
    5. 语言简洁专业
  `);
  
  return report;
}

步骤三:配置定时生成

yaml
# 使用 Templater 配置
# 每周五下午自动提醒生成周报

Templates:
  - name: "周报"
    trigger: "Friday 16:00"
    action: "create-weekly-report"

高级技巧

1. 多项目周报模板

markdown
---
title: 项目周报 {{week}}
projects: [项目A, 项目B]
---

# 项目周报 - {{week}}

## 📊 项目概览

| 项目 | 本周进度 | 累计进度 | 状态 |
|------|----------|----------|------|
| 项目A | +10% | 60% | 🟢 正常 |
| 项目B | +5% | 30% | 🟡 有风险 |

## 项目A 详情
### 本周完成
- [ ] 任务列表

### 下周计划
- [ ] 计划列表

## 项目B 详情
...

2. 团队周报汇总

javascript
// 汇总团队成员周报
async function generateTeamReport() {
  const teamMembers = ['成员A', '成员B', '成员C'];
  const reports = [];
  
  for (const member of teamMembers) {
    const memberReport = await getMemberReport(member);
    reports.push(memberReport);
  }
  
  const teamSummary = await textGenerator.generate(`
    汇总以下团队成员的周报,生成团队周报:

    ${reports.map(r => `
      ## ${r.member}
      ${r.content}
    `).join('\n')}

    输出格式:
    1. 团队整体进度
    2. 各成员工作汇总
    3. 需要协调的问题
    4. 下周团队计划
  `);
  
  return teamSummary;
}

3. 数据可视化

dataview
TABLE 
  sum(rows.completed) as "完成任务数",
  sum(rows.hours) as "工作小时"
FROM "DailyNotes"
WHERE date >= date(today) - dur(7 days)
GROUP BY project

常见问题

Q1: 周报内容太单薄?

解决方案:

markdown
# 丰富周报的 Prompt 技巧

## 原始内容
{{raw_content}}

## 请扩展为专业周报:
1. 将简单描述扩展为具体成果
2. 添加数据支撑(如:提升 X%,节省 Y 小时)
3. 突出工作价值
4. 使用专业术语

## 示例
原始:完成了代码开发
扩展:完成核心模块开发,包含 3 个 API 接口,代码覆盖率达到 85%,预计提升系统性能 20%

Q2: 如何保护隐私信息?

javascript
// 脱敏处理
async function sanitizeContent(content) {
  return await textGenerator.generate(`
    对以下内容进行脱敏处理:
    - 替换真实人名为"同事A/B"
    - 替换具体金额为区间
    - 移除敏感项目名称
    
    内容:${content}
    
    输出脱敏后的内容。
  `);
}

Q3: 如何与 Jira/飞书 等工具集成?

javascript
// 从外部工具获取数据
async function fetchFromJira() {
  const response = await fetch('https://your-jira.com/api/issues', {
    headers: { 'Authorization': 'Bearer ' + API_KEY }
  });
  
  const issues = await response.json();
  
  // 转换为周报格式
  return issues.map(issue => ({
    key: issue.key,
    summary: issue.fields.summary,
    status: issue.fields.status.name,
    timeSpent: issue.fields.timespent
  }));
}

实际案例

案例:程序员周报自动化

markdown
## 工作流程

1. **每日记录**(自动)
   - Git commit 自动记录到日报
   - 任务状态自动更新

2. **周五汇总**(一键)
   - 运行周报生成脚本
   - AI 整理结构化报告

3. **人工微调**(5分钟)
   - 检查关键数据
   - 调整措辞

## 示例输出

### 本周工作总结

**核心成果**
1. 完成用户认证模块重构,性能提升 40%
2. 修复 5 个生产环境 Bug,稳定性提升
3. 编写 API 文档 12 篇,团队协作效率提升

**工作进度**
| 模块 | 计划 | 实际 | 偏差 |
|------|------|------|------|
| 认证 | 100% | 100% | 0 |
| 支付 | 50% | 30% | -20% |

**遇到的问题**
- 支付接口对接延迟(已协调,下周跟进)

**下周计划**
1. 完成支付模块开发
2. 开始性能优化专项

效率提升

指标传统方式AI 辅助
撰写时间1-2小时10-15分钟
内容质量时好时坏稳定专业
数据准确性依赖记忆自动统计
最后更新:2026年4月7日编辑此页反馈问题