【AI实战第1篇】用Python+DeepSeek API搭建一个能帮你写周报的AI助手(附完整源码)
2026/6/5 3:45:49 网站建设 项目流程

前言:每周五下午的噩梦

兄弟们,谁懂啊!每到周五下午,领导一句"周报交了吗?"直接让我血压拉满 📈

明明一周干了不少活,但一打开Word就脑子空白,写出来的东西跟流水账似的。更离谱的是,有时候写了两小时周报,比干活还累。

直到有一天我突发奇想:为什么不让AI帮我写周报?

于是,我花了一个晚上,用Python + DeepSeek API搞了一个AI周报助手,现在每周五只需要把工作要点丢给它,30秒就能生成一份专业的周报。同事看了直呼"你tm是怎么写出这种周报的?"(真香.jpg)

今天就手把手教你搞一个,学完这篇,你也能拥有同款摸鱼神器。


一、准备工作:3分钟搞定环境

1.1 获取DeepSeek API Key

先去 DeepSeek 开放平台注册个账号,拿到API Key。新用户有免费额度,够你玩一阵子了。

注意:API Key就像你家钥匙,千万别提交到GitHub上去,不然你的额度就变成全世界的了(别问我怎么知道的)。

1.2 安装依赖

pip install openai python-dotenv

没错,DeepSeek的API和OpenAI是兼容的,直接用openai库就行,这波属于白嫖人家的轮子了。

1.3 项目结构

weekly-report-ai/ ├── .env # 存API Key ├── report_bot.py # 主程序 └── templates/ # 周报模板(后面会用到) └── default.txt

二、核心代码:让AI帮你写周报

2.1 基础版:10行代码搞定

先来个最简单的版本,感受一下AI的威力:

from openai import OpenAI import os from dotenv import load_dotenv load_dotenv() client = OpenAI( api_key=os.getenv("DEEPSEEK_API_KEY"), base_url="https://api.deepseek.com" ) def generate_report(work_items: list) -> str: """根据工作要点生成周报""" items_text = "\n".join([f"- {item}" for item in work_items]) response = client.chat.completions.create( model="deepseek-chat", messages=[ { "role": "system", "content": """你是一个专业的周报撰写助手。请根据用户提供的工作要点, 生成一份结构清晰、语言专业的工作周报。要求: 1. 分为"本周工作总结"和"下周工作计划"两部分 2. 每条工作描述要具体、量化 3. 语气正式但不死板 4. 适当添加工作成果和数据""" }, { "role": "user", "content": f"请根据以下工作要点生成周报:\n{items_text}" } ], temperature=0.7, max_tokens=2000 ) return response.choices[0].message.content # 使用示例 if __name__ == "__main__": my_work = [ "修了3个前端bug", "写了用户模块的接口文档", "参加了需求评审会", "优化了数据库查询,速度快了2倍" ] report = generate_report(my_work) print(report)

运行一下,你会发现AI生成的周报比你自己写的还像那么回事儿。"修了3个bug"会被它润色成"完成前端模块3个关键缺陷的排查与修复,涉及用户交互体验优化"。领导看了直点头,你看了直摇头——这tm是我写的?


三、进阶版:加上模板和历史记录

3.1 支持自定义模板

不同公司周报格式不一样,有的要写OKR,有的要写KPI,有的领导就喜欢看表格。所以我们加个模板功能:

class ReportBot: def __init__(self, template_path=None): load_dotenv() self.client = OpenAI( api_key=os.getenv("DEEPSEEK_API_KEY"), base_url="https://api.deepseek.com" ) self.template = self._load_template(template_path) self.history = [] def _load_template(self, path): if path and os.path.exists(path): with open(path, 'r', encoding='utf-8') as f: return f.read() return "标准周报格式:本周总结 + 下周计划 + 需要协助的事项" def generate(self, work_items: list, style="正式") -> str: items_text = "\n".join([f"- {item}" for item in work_items]) response = self.client.chat.completions.create( model="deepseek-chat", messages=[ { "role": "system", "content": f"""你是周报撰写助手。 模板要求:{self.template} 写作风格:{style} 请严格按照模板格式生成周报。""" }, { "role": "user", "content": f"本周工作要点:\n{items_text}" } ], temperature=0.7 ) result = response.choices[0].message.content self.history.append({ "items": work_items, "report": result }) return result

这个版本支持自定义模板和不同风格。你可以搞一个"正式版"应付领导,再搞一个"摸鱼版"发到工作群里划水。


四、实际效果展示

输入这几条工作要点:

bot = ReportBot() report = bot.generate([ "完成了用户中心的登录注册模块重构", "处理了线上告警,数据库连接池溢出", "和产品讨论了v2.0的需求方案", "review了实习生的代码,改了20多处" ])

AI生成的周报(节选):

本周工作总结

1. 【系统重构】完成用户中心登录注册模块的架构重构,优化了认证流程,提升了代码可维护性和安全性。

2. 【线上问题】及时响应并处理了数据库连接池溢出告警,排查根因后优化连接池配置参数,保障了系统稳定运行。

3. 【需求规划】参与产品v2.0版本需求评审,就技术可行性和实现方案提供了建议。

4. 【团队协作】完成实习生代码Review,针对20余处代码规范及逻辑问题进行了指导和优化建议。

看到没?"review了实习生代码"被润色成了"完成实习生代码Review,针对20余处代码规范及逻辑问题进行了指导和优化建议"。这水平,主管看了都得给你打A。


五、踩坑记录 & 小贴士

坑1:API返回太慢

解决:用stream流式输出,边生成边显示,用户体验直接起飞。这个我会在下一篇详细讲。

坑2:生成的内容太"AI味"

解决:在prompt里加一句"用人话说,别太官方",或者调高temperature到0.8-0.9。

坑3:周报格式不统一

解决:用模板约束,这就是为什么我们要加模板功能的原因。


六、下一篇预告

这篇只是开胃菜,下一篇我们要搞个更炸裂的功能

  • 🔥流式输出:像ChatGPT一样一个字一个字蹦出来
  • 🔥Web界面:不用命令行,浏览器里直接用
  • 🔥多模板切换:一键切换不同公司的周报格式
  • 🔥周报历史:自动保存,再也不怕找不到上周写了啥

想看的兄弟点个订阅,不然下篇你可能就刷不到了。


总结

今天我们用大概50行核心代码,就搞定了一个AI周报助手。虽然代码不多,但这个项目麻雀虽小五脏俱全,涉及到了:

  • DeepSeek API的基本调用
  • Prompt Engineering(提示词工程)
  • Python面向对象编程
  • 环境变量管理

这些都是做AI应用开发的基础技能,后面的项目都会用到。

完整源码获取:订阅本专栏后,在评论区留言"源码",我会私发给你。后续我也会在CSDN资源区上传,方便大家直接下载运行。

如果这篇文章对你有帮助,别忘了点赞+收藏+关注三连,你的支持是我更新的最大动力!下篇见~

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询