先说场景
每周日晚上 10 点,打开电脑开始写周报。
这周做了什么?好像写了几个功能、改了几个 bug……具体是什么来着?翻 git log、看群里聊天记录、回忆上周的站会——这个过程每次至少 30 分钟。
写周报这件事本质上是:把一周的零散记录整理成结构化的汇报。正好是 AI 擅长的事情。所以我写了一个脚本,把 git log + 任务清单丢进去,自动生成周报。
这个脚本怎么工作的
1. 读 Git 记录。自动拉取本周的 commit 记录(支持自定义时间范围)。提取 commit message、变更文件、作者。
2. 读任务清单。如果你有一个简单的 markdown 任务清单或 Notion/飞书的导出,脚本也可以读。
3. AI 整理。把原始数据发给 LLM,让它按周报格式生成:本周工作、关键进展、遇到的问题、下周计划。
输出是一份可以直接提交的周报。我每周五下班前跑一次,5 分钟搞定,回家安心过周末。
核心代码
import subprocess, json, requests
from datetime import datetime, timedelta
def get_git_log(since="7 days ago"):
"""读取本周 git 提交记录"""
cmd = f'git log --since="{since}" --pretty=format:"%h|%an|%s"'
result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
return result.stdout.strip()
def generate_report(git_log, api_key):
prompt = f"""你是一个工程师。根据以下本周的 git 提交记录,
生成一份周报,包含:本周工作、关键进展、遇到的问题、下周计划。
周报格式要简洁,适合直接发给 leader 看。
不要编造没有的信息。
提交记录:
{git_log}"""
r = requests.post("https://api.deepseek.com/v1/chat/completions",
headers={"Authorization": f"Bearer {api_key}"},
json={"model":"deepseek-chat",
"messages":[{"role":"user","content":prompt}],
"temperature":0.3})
return r.json()["choices"][0]["message"]["content"]
# 使用
log = get_git_log()
report = generate_report(log)
with open("本周周报.md", "w") as f:
f.write(f"# 周报 {datetime.now().strftime('%m/%d')}
{report}")
实际效果
拿我自己的项目试了一次,这周有 12 个 commit。AI 生成的结果:
# 本周工作
1. 完成了用户反馈模块的 API 接口开发(新增 3 个端点)
2. 修复了支付回调的并发竞争问题(issue #234)
3. 优化了首页查询性能(从 2.3s 降到 0.8s)
4. 编写了技术文档和 API 使用指南
# 关键进展
- 支付回调问题修复后,线上错误率从 3.2% 降到 0.1%
- 首页性能优化上一个版本,P95 延迟达标
# 下周计划
1. 开始做搜索功能的联调
2. 修复已知的数据库连接池泄漏问题
3. 准备发布 v2.1 版本
最关键的不是它写得多好——而是它帮我回忆起了我忘了写进 commit 的事情。第二点「关键进展」的内容我本来都没想起来要写。
局限性
只对用 Git 的开发者有效
如果你的工作不在代码里(设计、产品、运营),这个脚本需要配合任务清单使用。完整版支持导入飞书/Notion 导出的 CSV 格式任务清单。
Commit message 写得太水会影响质量
如果 commit message 都是「fix bug」「update」「wip」,AI 也写不出有信息量的周报。所以我养成了写有意义的 commit message 的习惯——这本身就提升了一周工作的透明度。
不确定的事项它会如实标注
AI 不会编造 commit 中没有的信息。如果你这周还做了会议、沟通、面试等工作,需要手动补充。
怎么开始
1. 在项目目录下运行脚本
2. 配置 API Key
3. 运行:python weekly_report.py /path/to/project
完整版支持多个项目合并、任务清单导入、自定义周报模板。
完整脚本(含多项目合并、任务清单导入),
公众号后台回复「自动周报」获取。
如果觉得文章有帮助
欢迎关注公众号「随生门户」。
有什么想聊的?欢迎在评论区分享你的想法。
© 2026 随生门户