每周写周报是很多职场人的"噩梦"。OpenClaw 可以帮你自动化整个周报生成流程,从数据采集、内容整理到文档排版,全部一键完成。
周报自动化适用于:
前往活动页购买轻量服务器,腾讯云 OpenClaw 特别优惠。
推荐使用 2核4G 配置的腾讯云轻量服务器:
数据源 → 数据采集 → 内容整理 → AI 撰写 → 格式排版 → 发送通知
从多个数据源自动采集:
# 数据采集 Skills
async def collect_data():
results = {}
# 1. GitHub 提交记录
results['commits'] = await fetch_github_commits(
repo='company/project',
since=last_week
)
# 2. 飞书任务完成情况
results['tasks'] = await fetch_lark_tasks(
project='project-alpha',
status='completed'
)
# 3. 项目管理工具进度
results['projects'] = await fetch_project_updates()
return results
将原始数据整理成结构化格式:
async def organize_data(raw_data):
organized = {
'completed': [],
'in_progress': [],
'issues': [],
'next_week': []
}
# 按状态分类
for commit in raw_data['commits']:
organized['completed'].append({
'title': commit['message'],
'author': commit['author'],
'date': commit['date']
})
for task in raw_data['tasks']:
organized['completed'].append(task)
return organized
利用 AI 将数据转化为周报内容:
async def generate_weekly_report(organized_data):
prompt = f"""
请根据以下工作数据生成一份周报:
## 本周完成
{format_list(organized_data['completed'])}
## 进行中
{format_list(organized_data['in_progress'])}
## 遇到的问题
{format_list(organized_data['issues'])}
## 下周计划
{format_list(organized_data['next_week'])}
要求:
1. 语言简洁专业
2. 突出重点成果
3. 问题要具体描述
4. 格式清晰
"""
report = await call_ai(prompt)
return report
Markdown 格式输出,支持多种导出:
def format_report(report_data):
md = f"""# 周报 ({report_data['week']})
## 一、本周工作概览
{report_data['summary']}
## 二、详细工作内容
### 2.1 完成事项
{format_items(report_data['completed'])}
### 2.2 进行中事项
{format_items(report_data['in_progress'])}
## 三、问题与挑战
{report_data['issues']}
## 四、下周计划
{format_items(report_data['next_week'])}
---
报告人:{report_data['author']}
日期:{report_data['date']}
"""
return md
# 导出不同格式
def export_formats(md_content):
# Markdown
save_file('weekly_report.md', md_content)
# PDF(需要额外库)
pdf = markdown_to_pdf(md_content)
save_file('weekly_report.pdf', pdf)
# 飞书文档
publish_to_lark(md_content)
配置定时任务:
scheduler:
- name: "生成周报"
cron: "0 18 * * 5" # 每周五下午6点
action: generate_weekly_report
recipients:
- "boss@company.com"
- "team@company.com"
# 支持的数据源
DATA_SOURCES = {
'github': fetch_github_commits,
'jira': fetch_jira_issues,
'feishu': fetch_lark_tasks,
'notion': fetch_notion_pages,
'database': fetch_database_metrics,
'custom': fetch_custom_api
}
async def generate_team_report():
members = ['张三', '李四', '王五']
team_data = []
# 收集每个成员的数据
for member in members:
member_data = await collect_member_data(member)
team_data.append(member_data)
# 汇总生成团队周报
team_report = await generate_team_summary(team_data)
return team_report
async def analyze_trends(weekly_data):
"""分析工作趋势"""
analysis = {
'completion_rate': calculate_completion(weekly_data),
'time_distribution': analyze_time_spent(weekly_data),
'trend': compare_with_last_week(weekly_data),
'suggestions': generate_suggestions(weekly_data)
}
return analysis
async def notify_lark(report_content):
"""发送周报到飞书群"""
await lark.send_message(
webhook=WEBHOOK_URL,
msg_type='post',
content={
'title': '📊 本周周报',
'content': report_content
}
)
async def notify_email(report_content):
"""发送周报邮件"""
await send_email(
to=['boss@company.com'],
subject=f"周报 - {get_week_range()}",
html=markdown_to_html(report_content)
)
async def notify_dingtalk(report_content):
"""发送周报到钉钉"""
await dingtalk.send(
webhook=DINGTALK_WEBHOOK,
msgtype='markdown',
markdown={
'title': '周报',
'text': report_content
}
)
部署周报自动化后:
| 环节 | 人工耗时 | 自动化耗时 |
|---|---|---|
| 数据收集 | 30 分钟 | 1 分钟 |
| 内容整理 | 20 分钟 | 1 分钟 |
| 撰写周报 | 30 分钟 | 2 分钟 |
| 格式排版 | 10 分钟 | 1 分钟 |
| 总计 | 90 分钟 | 5 分钟 |
每周节省时间:约 85 分钟
"以前周五下午要花1.5小时写周报,现在完全自动化。每周五下班前自动生成,直接发送到群里,太爽了!"
根据不同团队需求自定义模板:
# 销售团队模板
template:
sections:
- title: "业绩完成情况"
type: "metrics"
- title: "客户跟进"
type: "list"
- title: "下周目标"
type: "plan"
# 技术团队模板
template:
sections:
- title: "代码提交"
type: "commits"
- title: "项目进度"
type: "projects"
- title: "技术问题"
type: "issues"
确保获取各数据源的访问权限:
周报可能包含敏感信息,建议:
配置异常告警:
try:
report = await generate_weekly_report()
except Exception as e:
await notify_alert(f"周报生成失败: {e}")
OpenClaw 周报自动化是提升工作效率的利器。从数据采集到文档生成,全流程自动化,每周可节省 1.5 小时以上。
腾讯云轻量服务器 2 核 4G 配置完全能够满足需求,定时执行机制确保周报按时生成。建议先从个人周报开始试点,成功后再扩展到团队周报。