
你的一天是不是也这样被“切碎”?早上,花20分钟在几十封邮件里找重要通知;下午,花半小时手动把几个文档合并、总结;临下班,还要惦记着给几个平台同步发内容。这些琐事加起来,每天偷走你1-2小时,却毫无成就感。
ChatGPT很好用,但每次都要打开网页、描述上下文、等它生成,对于一些固定流程的任务,效率并不极致。直到上个月,我决定不再忍受——我要造一个专属的、能自动执行这些任务的“数字员工”。
用Python和一些开源库,我搭建了一个7x24小时待命的私人AI助手。现在,它每天帮我自动处理邮件、整理文档、生成日报,甚至监控信息,硬生生从碎片时间里“抠”出了每天近1小时。
核心思想:与其重复劳动,不如写个Agent,让它替你劳动。
痛点: 每天早上一打开邮箱,几十封未读邮件扑面而来。工作邮件、订阅通知、垃圾推广混在一起,手动筛选、阅读、标记,至少20分钟就没了。
AI助手方案:我用 imaplib 读取邮件,结合大模型API(如DeepSeek、Kimi),写了一个自动邮件处理Agent。
import imaplib
import email
from openai import OpenAI # 以OpenAI为例,实际可用国内API
import json
client = OpenAI(api_key="你的API密钥")
def process_unread_emails():
# 1. 连接邮箱
mail = imaplib.IMAP4_SSL('imap.qq.com')
mail.login('你的邮箱', '你的授权码')
mail.select('inbox')
# 2. 获取未读邮件
status, messages = mail.search(None, 'UNSEEN')
email_ids = messages[0].split()
for e_id in email_ids:
# 3. 获取邮件内容
status, msg_data = mail.fetch(e_id, '(RFC822)')
email_body = msg_data[0][1]
email_message = email.message_from_bytes(email_body)
sender = email_message['From']
subject = email_message['Subject']
# 提取正文(简化处理)
body = ""
if email_message.is_multipart():
for part in email_message.walk():
if part.get_content_type() == "text/plain":
body = part.get_payload(decode=True).decode()
break
else:
body = email_message.get_payload(decode=True).decode()
# 4. 调用大模型分析邮件
prompt = f"""
你是一个邮件助理。请分析以下邮件,并严格按JSON格式返回:
1. 分类:['紧急工作', '一般工作', '通知订阅', '垃圾推广']
2. 核心内容摘要(不超过50字)
3. 是否需要我行动(是/否),如果需要,提取具体待办事项。
邮件发件人:{sender}
邮件主题:{subject}
邮件正文:{body}
"""
try:
response = client.chat.completions.create(
model="gpt-4o-mini", # 可根据成本选择模型
messages=[{"role": "user", "content": prompt}],
response_format={ "type": "json_object" }
)
analysis = json.loads(response.choices[0].message.content)
# 5. 根据分类执行操作
category = analysis.get('分类')
summary = analysis.get('核心内容摘要')
todo = analysis.get('待办事项')
if category == '紧急工作':
print(f"[紧急] {subject} - {summary}")
# 可以自动转发到飞书/钉钉,或添加到待办列表
add_to_todo_list(subject, todo)
elif category == '一般工作':
print(f"[一般] {subject} - {summary}")
# 标记为稍后处理
mail.store(e_id, '+FLAGS', '\\Flagged')
elif category == '垃圾推广':
# 自动移动到垃圾箱或删除
mail.store(e_id, '+FLAGS', '\\Deleted')
print(f"已删除垃圾邮件:{subject}")
except Exception as e:
print(f"处理邮件出错:{e}")
mail.expunge()
mail.logout()
# 用系统定时任务(crontab)或 schedule 库,每30分钟运行一次效果: 现在,我每天早上打开电脑,已经有一份由AI整理好的《邮件速览》等着我,紧急事项已加入待办,垃圾邮件自动清理。每天省时:约25分钟。
痛点: 每周都要从不同渠道(钉钉文档、Confluence、本地Word)收集项目进展,手动复制粘贴,整理成一份周报,耗时又无聊。
AI助手方案:我用 python-docx 或直接读Markdown,结合大模型的总结能力,写了一个文档处理Agent。
import os
from openai import OpenAI
import markdown # 用于处理md文件
client = OpenAI(api_key="你的API密钥")
def auto_summarize_documents(folder_path):
all_content = ""
# 1. 遍历文件夹,读取所有文本文件
for filename in os.listdir(folder_path):
if filename.endswith('.md') or filename.endswith('.txt'):
filepath = os.path.join(folder_path, filename)
with open(filepath, 'r', encoding='utf-8') as f:
content = f.read()
all_content += f"\n--- 文档:{filename} ---\n{content}\n"
# 可以扩展支持 .docx, .pdf 等
if not all_content:
print("文件夹内没有文本文件。")
return
# 2. 调用大模型进行总结
prompt = f"""
你是一个专业的项目助理。以下是本周多个渠道的零散项目更新内容。
请帮我:
1. 提取所有项目的关键进展和里程碑。
2. 识别出存在的风险或阻塞点。
3. 生成一份结构清晰的【本周项目进展汇总】,包含:项目名称、本周完成、下周计划、风险提示。
请直接输出汇总报告,不要额外解释。
原始内容:
{all_content[:15000]} # 防止超出token限制
"""
try:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}],
temperature=0.2 # 降低随机性,让总结更稳定
)
summary = response.choices[0].message.content
# 3. 保存总结报告
with open('本周项目进展汇总.md', 'w', encoding='utf-8') as f:
f.write(summary)
print("本周项目进展汇总已生成!")
return summary
except Exception as e:
print(f"总结文档时出错:{e}")
# 可以设定每周五下午5点自动运行效果: 周五下午,脚本自动运行,将我散落在各处的文档“吸”到一起,生成一份条理清晰的汇总报告。我只需要花5分钟润色即可。每周省时:约1.5小时(平摊到每天约15分钟)。
痛点: 需要关注竞品动态、行业新闻或特定关键词,手动刷网页效率低,还容易错过。
AI助手方案:我用 requests 和 BeautifulSoup 抓取网页,或用RSS,结合大模型判断相关性并生成简报。
import requests
from bs4 import BeautifulSoup
from openai import OpenAI
import time
client = OpenAI(api_key="你的API密钥")
KEYWORDS = ['你的公司名', '竞品A', '行业关键词']
def monitor_news(urls):
news_items = []
for url in urls:
try:
resp = requests.get(url, timeout=10)
soup = BeautifulSoup(resp.text, 'html.parser')
# 假设新闻标题在 <h2 class='news-title'> 里,需根据实际网站调整
titles = soup.find_all('h2', class_='news-title')
for title_tag in titles[:5]: # 只看最新5条
title = title_tag.get_text().strip()
link = title_tag.find('a')['href'] if title_tag.find('a') else url
# 简单关键词过滤
if any(keyword.lower() in title.lower() for keyword in KEYWORDS):
news_items.append({'title': title, 'link': link})
except Exception as e:
print(f"抓取 {url} 失败:{e}")
if news_items:
# 让AI判断重要性并生成简报
prompt = f"""
以下是今天抓取到的可能与公司相关的新闻标题。
请判断每条新闻的相关性和潜在影响(高/中/低),并生成一份不超过200字的监控简报。
新闻列表:
{str(news_items)}
"""
try:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}]
)
briefing = response.choices[0].message.content
# 发送到企业微信/钉钉/webhook
send_notification(f"📰 每日信息简报\n{briefing}")
print("监控简报已发送。")
except Exception as e:
print(f"生成简报出错:{e}")
else:
print("今日未发现相关新闻。")
# 设定每天上午10点运行效果: 我不用再主动搜索,每天上午会自动收到一份简洁的监控简报,告诉我外界发生了什么与我相关的事。每天省时:约15分钟(从主动搜寻变为被动接收)。
如果你也心动了,但担心技术门槛,我的路径也许能帮你:
os, shutil, python-docx, pandas。requests, BeautifulSoup, selenium(对付复杂网页)。openai 库(改个base_url)即可调用。crontab,在Windows上用“任务计划程序”,或者用Python的 schedule 库,让你的助手在后台定时运行。.env文件+python-dotenv库)或系统密钥环来管理。上面的脚本还是“脚本”,每个功能是独立的。如果你想打造一个能理解复杂指令、自主规划步骤、调用不同工具的真正Agent,可以上 LangChain 或 Semantic Kernel 这类框架。
例如,你可以用LangChain定义一个Agent,它拥有多个“工具”(Tool):读取邮件工具、总结文档工具、搜索网页工具。当你对它说:“帮我看看今天有没有重要邮件,然后总结一下上周的项目文档”,它会自己规划:先调用邮件工具,再调用文档工具,最后把结果组织好给你。
“无他,惟手熟尔”!有需要的用起来!
本文分享自 Nicholas与Pypi 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!