从会议纪要到周报:一套能直接复制的 ChatGPT 自动化工作流搭建指南
ChatGPT 工作流自动化教程|附完整命令
在日常工作中,很多任务本质上都是“重复处理信息”:整理会议纪要、总结文档、生成周报、改写邮件、分析表格、输出方案、创建待办事项、同步到项目管理工具等。过去这些事情往往需要人工一步步完成,而现在借助 ChatGPT 与自动化工具,我们可以把大量重复流程串联起来,形成一套稳定、高效、可复用的 AI 工作流。
本文将从零开始,系统讲解如何搭建 ChatGPT 工作流自动化,包括适合自动化的场景、整体架构、API 调用方式、命令行脚本、Python 示例、定时任务、文档处理、邮件自动生成以及进阶优化方法。文中附带完整命令,方便你直接复制使用。
一、什么是 ChatGPT 工作流自动化?
所谓 ChatGPT 工作流自动化,就是把 ChatGPT 的文本理解、总结、生成、分类、改写、提取等能力,嵌入到你的日常业务流程中,并通过脚本、定时任务、API、自动化平台或内部系统自动触发。
举几个典型例子:
- 每天早上自动读取昨天的销售日报,并生成一份管理层摘要;
- 会议结束后,将录音转写文本自动整理为会议纪要和待办事项;
- 客服收到用户邮件后,自动判断问题类型并生成回复草稿;
- 将产品需求文档自动拆分为开发任务;
- 每周五自动汇总项目进展并生成周报;
- 批量分析用户反馈,提取高频问题和情绪倾向;
- 自动把长文章改写成公众号、小红书、知乎等不同平台版本。
从本质上看,ChatGPT 工作流自动化通常由四部分组成:
- 输入来源:文件、邮件、网页、表格、数据库、聊天记录等;
- 处理逻辑:调用 ChatGPT API,完成总结、分类、提取、改写等任务;
- 输出目标:Markdown 文档、邮件、表格、数据库、企业微信、Slack、飞书等;
- 触发机制:手动运行、定时任务、Webhook、系统事件触发等。
二、适合自动化的工作场景
并不是所有工作都适合自动化。最适合用 ChatGPT 自动化的任务,通常具备以下特点:
- 重复频率高;
- 输入格式相对稳定;
- 输出要求可以模板化;
- 对语言处理能力要求高;
- 人工处理耗时但判断逻辑不极端复杂;
- 允许人工最终审核。
下面是一些非常适合入门的场景。
1. 自动生成会议纪要
输入会议转写文本,输出:
- 会议主题;
- 参会人员;
- 核心结论;
- 讨论重点;
- 待办事项;
- 负责人;
- 截止时间;
- 风险提醒。
2. 自动生成周报
输入一周的项目日志、任务记录或日报,输出:
- 本周完成事项;
- 关键进展;
- 遇到的问题;
- 下周计划;
- 需要协助的事项。
3. 自动处理邮件
输入邮件内容,自动判断:
- 是否紧急;
- 属于哪类问题;
- 是否需要转交;
- 自动生成回复草稿。
4. 批量总结文档
输入多个 .txt、.md 或 .pdf 文档,自动生成摘要和重点信息。
5. 自动提取结构化数据
例如从一段合同文本中提取:
- 合同双方;
- 金额;
- 日期;
- 付款方式;
- 违约条款;
- 关键风险。
三、准备环境
本文以命令行和 Python 为主进行演示。你需要准备以下环境:
- macOS、Linux 或 Windows;
- Python 3.9 及以上版本;
- OpenAI API Key 或兼容 OpenAI API 格式的模型服务;
- 一个代码编辑器,例如 VS Code;
- 基础命令行使用能力。
1. 检查 Python 版本
打开终端,输入:
python3 --version
如果输出类似下面内容,说明 Python 已安装:
Python 3.11.6
如果你的系统使用 python 命令,也可以执行:
python --version
四、创建项目目录
我们先创建一个专门用于 ChatGPT 自动化的项目目录。
mkdir chatgpt-workflow
cd chatgpt-workflow
创建几个常用文件夹:
mkdir input output prompts logs scripts
目录说明如下:
chatgpt-workflow/
├── input/ # 存放输入文件
├── output/ # 存放生成结果
├── prompts/ # 存放提示词模板
├── logs/ # 存放日志
└── scripts/ # 存放脚本
五、创建 Python 虚拟环境
为了避免依赖冲突,建议使用虚拟环境。
macOS / Linux
python3 -m venv .venv
source .venv/bin/activate
Windows PowerShell
python -m venv .venv
.venv\Scripts\Activate.ps1
如果激活成功,终端前面通常会出现:
(.venv)
六、安装依赖
安装 OpenAI SDK 和环境变量管理工具。
pip install openai python-dotenv
如果你还需要处理 Markdown、PDF 或表格,可以安装更多依赖:
pip install pandas pypdf markdown beautifulsoup4 requests
将依赖写入 requirements.txt:
pip freeze > requirements.txt
以后在新环境中可以通过下面命令恢复依赖:
pip install -r requirements.txt
七、配置 API Key
在项目根目录创建 .env 文件:
touch .env
Windows 可以使用:
New-Item .env
编辑 .env 文件,写入:
OPENAI_API_KEY=你的_API_Key
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=gpt-4o-mini
如果你使用的是兼容 OpenAI 接口的其他服务,可以将 OPENAI_BASE_URL 改成对应地址。
为了避免密钥泄露,建议创建 .gitignore:
touch .gitignore
写入:
.env
.venv/
__pycache__/
output/
logs/
八、最简单的 ChatGPT API 调用
在 scripts 目录下创建文件:
touch scripts/simple_chat.py
写入以下代码:
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI(
api_key=os.getenv("OPENAI_API_KEY"),
base_url=os.getenv("OPENAI_BASE_URL")
)
model = os.getenv("OPENAI_MODEL", "gpt-4o-mini")
response = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "你是一个专业的中文写作助手。"},
{"role": "user", "content": "请用三句话总结 ChatGPT 工作流自动化的价值。"}
],
temperature=0.3
)
print(response.choices[0].message.content)
运行:
python scripts/simple_chat.py
如果配置正确,你会看到模型返回的中文总结。
九、封装一个通用调用函数
为了后续复用,我们创建一个通用模块。
touch scripts/ai_client.py
写入:
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI(
api_key=os.getenv("OPENAI_API_KEY"),
base_url=os.getenv("OPENAI_BASE_URL")
)
MODEL = os.getenv("OPENAI_MODEL", "gpt-4o-mini")
def ask_chatgpt(prompt, system_prompt="你是一个专业、高效、严谨的中文助手。", temperature=0.3):
response = client.chat.completions.create(
model=MODEL,
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": prompt}
],
temperature=temperature
)
return response.choices[0].message.content
后面所有脚本都可以直接调用 ask_chatgpt()。
十、工作流一:自动生成会议纪要
1. 准备输入文件
创建一个会议文本文件:
touch input/meeting.txt
示例内容:
今天的产品会议主要讨论新版会员系统。张三提出当前会员等级规则过于复杂,用户理解成本较高。李四认为应该保留高级会员权益,但简化普通会员升级路径。王五负责整理竞品会员体系,并在下周三前提交分析报告。技术团队反馈,如果本月底上线,需要在本周五前确定需求范围。会议决定先推出基础版会员系统,复杂权益后续迭代。
2. 创建提示词模板
touch prompts/meeting_summary.txt
写入:
请根据以下会议内容,生成一份结构清晰的中文会议纪要。
要求:
1. 使用 Markdown 格式;
2. 包含会议主题、核心结论、讨论重点、待办事项、风险提醒;
3. 待办事项需要包含负责人和截止时间;
4. 如果信息缺失,请标注“未提及”;
5. 内容要简洁、准确,不要编造事实。
会议内容如下:
{content}
3. 创建会议纪要脚本
touch scripts/meeting_summary.py
写入:
from pathlib import Path
from ai_client import ask_chatgpt
input_file = Path("input/meeting.txt")
prompt_file = Path("prompts/meeting_summary.txt")
output_file = Path("output/meeting_summary.md")
meeting_text = input_file.read_text(encoding="utf-8")
prompt_template = prompt_file.read_text(encoding="utf-8")
prompt = prompt_template.format(content=meeting_text)
result = ask_chatgpt(
prompt,
system_prompt="你是一个经验丰富的项目经理,擅长整理会议纪要和提炼行动项。",
temperature=0.2
)
output_file.write_text(result, encoding="utf-8")
print(f"会议纪要已生成:{output_file}")
运行:
python scripts/meeting_summary.py
查看结果:
cat output/meeting_summary.md
Windows PowerShell:
Get-Content output/meeting_summary.md
十一、工作流二:自动生成周报
周报自动化是非常实用的场景。我们可以把一周的日报、任务记录或项目日志放进一个文件,然后让 ChatGPT 自动整理成规范周报。
1. 创建输入文件
touch input/weekly_log.txt
示例内容:
周一:完成登录页 UI 调整,修复验证码显示异常。
周二:与产品讨论会员系统需求,确认首期只支持普通会员和高级会员。
周三:开发会员等级接口,遇到数据库字段设计问题。
周四:完成接口初版,与前端联调发现权限判断有遗漏。
周五:修复权限问题,整理下周测试计划。
2. 创建周报提示词
touch prompts/weekly_report.txt
写入:
请根据以下工作记录生成一份中文周报。
输出要求:
1. 使用 Markdown;
2. 包含:本周完成、本周进展、遇到的问题、下周计划、需要协助;
3. 语气正式、简洁;
4. 不要虚构没有出现的信息;
5. 如果某项没有明确内容,请写“暂无”。
工作记录:
{content}
3. 创建脚本
touch scripts/weekly_report.py
写入:
from pathlib import Path
from ai_client import ask_chatgpt
log_file = Path("input/weekly_log.txt")
prompt_file = Path("prompts/weekly_report.txt")
output_file = Path("output/weekly_report.md")
content = log_file.read_text(encoding="utf-8")
template = prompt_file.read_text(encoding="utf-8")
prompt = template.format(content=content)
result = ask_chatgpt(
prompt,
system_prompt="你是一个专业的项目管理助手,擅长根据工作记录生成清晰周报。",
temperature=0.2
)
output_file.write_text(result, encoding="utf-8")
print(f"周报已生成:{output_file}")
运行:
python scripts/weekly_report.py
十二、工作流三:批量总结多个文档
当你有多个文档需要快速理解时,可以让脚本自动遍历 input/docs 目录,对每个文档生成摘要。
1. 创建文档目录
mkdir -p input/docs output/summaries
Windows PowerShell:
New-Item -ItemType Directory -Force input/docs
New-Item -ItemType Directory -Force output/summaries
2. 放入测试文件
touch input/docs/doc1.txt
touch input/docs/doc2.txt
3. 创建批量总结脚本
touch scripts/batch_summary.py
写入:
from pathlib import Path
from ai_client import ask_chatgpt
input_dir = Path("input/docs")
output_dir = Path("output/summaries")
output_dir.mkdir(parents=True, exist_ok=True)
for file in input_dir.glob("*.txt"):
content = file.read_text(encoding="utf-8")
prompt = f"""
请总结以下文档内容。
要求:
1. 使用 Markdown;
2. 输出 5 条以内核心要点;
3. 提取关键结论;
4. 如有行动建议,请单独列出;
5. 不要添加原文没有的信息。
文档内容:
{content}
"""
result = ask_chatgpt(
prompt,
system_prompt="你是一个专业文档分析助手,擅长提炼重点和总结结论。",
temperature=0.2
)
output_file = output_dir / f"{file.stem}_summary.md"
output_file.write_text(result, encoding="utf-8")
print(f"已生成:{output_file}")
运行:
python scripts/batch_summary.py
十三、工作流四:自动提取结构化信息
在很多企业场景中,我们不仅需要文字总结,还需要把文本转成结构化数据,例如 JSON。这样后续才能进入数据库、表格或系统流程。
1. 创建合同文本
touch input/contract.txt
示例:
甲方:杭州星河科技有限公司。乙方:上海云启信息服务有限公司。双方约定乙方为甲方提供软件开发服务,合同金额为人民币120000元。付款方式为项目启动后支付50%,验收通过后支付剩余50%。服务周期为2024年6月1日至2024年8月31日。如乙方延期交付,每延期一日按合同总金额的千分之五支付违约金。
2. 创建脚本
touch scripts/extract_contract.py
写入:
from pathlib import Path
from ai_client import ask_chatgpt
content = Path("input/contract.txt").read_text(encoding="utf-8")
prompt = f"""
请从以下合同文本中提取结构化信息,并严格输出 JSON。
字段包括:
- party_a:甲方
- party_b:乙方
- service_content:服务内容
- amount:合同金额
- payment_terms:付款方式
- start_date:开始日期
- end_date:结束日期
- penalty:违约条款
- risks:潜在风险列表
要求:
1. 只输出 JSON;
2. 不要输出解释;
3. 如果字段不存在,值为 null;
4. risks 使用数组。
合同文本:
{content}
"""
result = ask_chatgpt(
prompt,
system_prompt="你是一个严谨的合同信息抽取助手,只输出符合要求的 JSON。",
temperature=0
)
Path("output/contract_info.json").write_text(result, encoding="utf-8")
print("合同结构化信息已生成:output/contract_info.json")
运行:
python scripts/extract_contract.py
查看:
cat output/contract_info.json
十四、工作流五:邮件回复草稿自动生成
你可以把客户邮件复制到输入文件中,让 ChatGPT 自动判断问题类型并生成回复草稿。
1. 创建邮件输入
touch input/email.txt
示例:
你好,我们昨天购买了你们的企业版服务,但是目前无法正常登录后台。系统提示账号权限不足。请尽快帮忙处理,因为我们今天下午需要给客户演示。
2. 创建脚本
touch scripts/email_reply.py
写入:
from pathlib import Path
from ai_client import ask_chatgpt
email = Path("input/email.txt").read_text(encoding="utf-8")
prompt = f"""
请分析以下客户邮件,并生成客服回复草稿。
要求:
1. 判断紧急程度:高 / 中 / 低;
2. 判断问题类型;
3. 提取客户诉求;
4. 生成一封礼貌、专业、简洁的中文回复;
5. 回复中不要承诺无法保证的结果;
6. 如果需要人工介入,请明确建议转交技术支持。
客户邮件:
{email}
"""
result = ask_chatgpt(
prompt,
system_prompt="你是一个专业客服主管,擅长处理企业客户问题。",
temperature=0.3
)
Path("output/email_reply.md").write_text(result, encoding="utf-8")
print("邮件回复草稿已生成:output/email_reply.md")
运行:
python scripts/email_reply.py
十五、让工作流自动定时运行
自动化的关键不仅是能运行脚本,更重要的是让脚本在合适的时间自动运行。
1. macOS / Linux 使用 crontab
查看当前定时任务:
crontab -l
编辑定时任务:
crontab -e
假设你的项目路径是:
/Users/yourname/chatgpt-workflow
每天早上 9 点自动生成周报,可以加入:
0 9 * * 1-5 cd /Users/yourname/chatgpt-workflow && /Users/yourname/chatgpt-workflow/.venv/bin/python scripts/weekly_report.py >> logs/weekly_report.log 2>&1
含义:
0 9 * * 1-5:周一到周五每天 9:00;cd ...:进入项目目录;.venv/bin/python:使用虚拟环境中的 Python;>> logs/weekly_report.log:追加日志;2>&1:错误也写入日志。
2. Windows 使用任务计划程序
你也可以使用命令创建计划任务。假设项目路径为:
C:\Users\yourname\chatgpt-workflow
创建每天 9 点运行的任务:
schtasks /Create /SC DAILY /TN "ChatGPT Weekly Report" /TR "C:\Users\yourname\chatgpt-workflow\.venv\Scripts\python.exe C:\Users\yourname\chatgpt-workflow\scripts\weekly_report.py" /ST 09:00
查看任务:
schtasks /Query /TN "ChatGPT Weekly Report"
删除任务:
schtasks /Delete /TN "ChatGPT Weekly Report" /F
十六、添加日志和异常处理
真实工作流必须考虑失败情况,例如 API 调用失败、文件不存在、网络异常、结果为空等。
创建一个更稳健的脚本示例:
touch scripts/safe_weekly_report.py
写入:
from pathlib import Path
from datetime import datetime
from ai_client import ask_chatgpt
log_file = Path("logs/safe_weekly_report.log")
output_file = Path("output/weekly_report.md")
input_file = Path("input/weekly_log.txt")
prompt_file = Path("prompts/weekly_report.txt")
def log(message):
time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
log_file.parent.mkdir(parents=True, exist_ok=True)
with log_file.open("a", encoding="utf-8") as f:
f.write(f"[{time}] {message}\n")
try:
if not input_file.exists():
raise FileNotFoundError(f"输入文件不存在:{input_file}")
if not prompt_file.exists():
raise FileNotFoundError(f"提示词文件不存在:{prompt_file}")
content = input_file.read_text(encoding="utf-8").strip()
if not content:
raise ValueError("输入内容为空")
template = prompt_file.read_text(encoding="utf-8")
prompt = template.format(content=content)
result = ask_chatgpt(
prompt,
system_prompt="你是一个专业项目管理助手。",
temperature=0.2
)
if not result.strip():
raise ValueError("模型返回内容为空")
output_file.parent.mkdir(parents=True, exist_ok=True)
output_file.write_text(result, encoding="utf-8")
log(f"周报生成成功:{output_file}")
print(f"周报生成成功:{output_file}")
except Exception as e:
log(f"任务失败:{e}")
print(f"任务失败:{e}")
运行:
python scripts/safe_weekly_report.py
十七、提示词模板设计技巧
ChatGPT 工作流自动化的效果,很大程度取决于提示词设计。一个好的提示词应该具备以下要素:
1. 明确角色
例如:
你是一个专业的项目经理。
你是一个严谨的合同分析师。
你是一个资深客服主管。
角色可以帮助模型选择合适的表达方式和判断标准。
2. 明确任务
不要只写“帮我总结一下”,而要写:
请根据以下内容生成一份项目周报,包含本周完成、风险问题、下周计划和需要协助事项。
3. 明确格式
如果你想要 Markdown,就写明 Markdown;如果你要 JSON,就强调“只输出 JSON”。
4. 明确边界
例如:
不要编造原文没有的信息。
如果信息缺失,请写 null。
不要输出解释。
5. 提供示例
对于复杂任务,可以给一个输出示例,让模型更稳定地遵循格式。
十八、常见问题与解决方案
1. 模型输出不稳定怎么办?
可以降低 temperature:
temperature=0
一般来说:
0:最稳定,适合结构化提取;0.2-0.4:适合总结和正式文案;0.7以上:适合创意写作。
2. 输出格式不是 JSON 怎么办?
在提示词中强调:
只输出 JSON,不要输出 Markdown,不要输出解释。
必要时可以在程序中增加 JSON 解析校验。
3. 输入内容太长怎么办?
可以采用分段处理:
- 把长文拆成多个片段;
- 分别总结每个片段;
- 再对所有片段摘要进行二次总结。
4. 如何避免泄露敏感信息?
建议:
- 不上传高度敏感数据;
- 对姓名、手机号、身份证号等进行脱敏;
- 使用企业级 API 管理权限;
- 保存最小必要日志;
- 不把
.env提交到 Git 仓库。
十九、一个完整的一键运行脚本
最后,我们可以创建一个总控脚本,一次性执行多个工作流。
touch scripts/run_all.py
写入:
import subprocess
from datetime import datetime
from pathlib import Path
scripts = [
"scripts/meeting_summary.py",
"scripts/weekly_report.py",
"scripts/email_reply.py",
"scripts/extract_contract.py"
]
log_file = Path("logs/run_all.log")
log_file.parent.mkdir(parents=True, exist_ok=True)
def log(message):
time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with log_file.open("a", encoding="utf-8") as f:
f.write(f"[{time}] {message}\n")
for script in scripts:
try:
log(f"开始执行:{script}")
result = subprocess.run(
["python", script],
capture_output=True,
text=True,
encoding="utf-8"
)
if result.returncode == 0:
log(f"执行成功:{script}")
log(result.stdout)
else:
log(f"执行失败:{script}")
log(result.stderr)
except Exception as e:
log(f"异常:{script},原因:{e}")
print("全部工作流执行完成,详情请查看 logs/run_all.log")
运行:
python scripts/run_all.py
如果你使用 macOS / Linux 并且虚拟环境中只有 python3,可以改为:
["python3", script]
二十、推荐的最终项目结构
完成以上步骤后,你的项目结构大致如下:
chatgpt-workflow/
├── .env
├── .gitignore
├── requirements.txt
├── input/
│ ├── meeting.txt
│ ├── weekly_log.txt
│ ├── email.txt
│ ├── contract.txt
│ └── docs/
├── output/
│ ├── meeting_summary.md
│ ├── weekly_report.md
│ ├── email_reply.md
│ ├── contract_info.json
│ └── summaries/
├── prompts/
│ ├── meeting_summary.txt
│ └── weekly_report.txt
├── logs/
└── scripts/
├── ai_client.py
├── simple_chat.py
├── meeting_summary.py
├── weekly_report.py
├── batch_summary.py
├── extract_contract.py
├── email_reply.py
├── safe_weekly_report.py
└── run_all.py
二十一、进阶优化方向
当基础脚本跑通后,你可以继续从以下方向升级。
1. 接入飞书、企业微信或 Slack
生成结果后,通过机器人 Webhook 自动推送到群里。例如使用 requests 发送消息:
pip install requests
示例代码:
import requests
webhook_url = "你的机器人Webhook地址"
message = {
"msg_type": "text",
"content": {
"text": "今日周报已生成,请查看 output/weekly_report.md"
}
}
requests.post(webhook_url, json=message)
2. 接入数据库
可以把结构化 JSON 存入数据库,例如 MySQL、PostgreSQL 或 SQLite。
SQLite 示例安装无需额外数据库服务,Python 内置支持。
import sqlite3
conn = sqlite3.connect("workflow.db")
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS reports (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
content TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
""")
cursor.execute(
"INSERT INTO reports (title, content) VALUES (?, ?)",
("weekly_report", "这里是周报内容")
)
conn.commit()
conn.close()
3. 做成人机协作流程
不要让 AI 在所有场景中直接“自动发送最终结果”。更稳妥的做法是:
- AI 自动生成草稿;
- 人工审核修改;
- 确认后再发送或入库。
尤其是客户回复、合同分析、财务数据、法律文本等场景,必须保留人工确认环节。
4. 增加质量检查节点
你可以让 ChatGPT 对自己的输出再做一次检查,例如:
请检查以上周报是否存在以下问题:
1. 是否编造信息;
2. 是否遗漏关键风险;
3. 表达是否清晰;
4. 是否适合发送给管理层。
这样可以形成“生成 → 校验 → 修改”的多轮工作流。
二十二、总结
ChatGPT 工作流自动化的核心并不复杂:把输入内容标准化,用清晰的提示词调用模型,再把输出保存、推送或交给下一个系统处理。真正决定效果的,是你是否能把日常工作拆解成稳定流程,并为每个环节设计清楚的输入、规则和输出。
对于个人用户,可以先从会议纪要、周报、邮件草稿、文档总结入手;对于团队或企业,则可以进一步接入数据库、协作工具、工单系统和项目管理平台,形成真正的 AI 办公自动化体系。
建议你按照本文顺序实践:
- 创建项目和虚拟环境;
- 配置 API Key;
- 跑通最简单的 API 调用;
- 封装通用函数;
- 分别实现会议纪要、周报、邮件回复和结构化提取;
- 加入日志和异常处理;
- 使用定时任务实现自动运行;
- 最后再接入企业协作工具或内部系统。
只要第一个工作流跑通,你就会发现,很多原本需要人工反复处理的事情,都可以逐步交给 ChatGPT 自动完成。最终,你要做的不再是重复劳动,而是设计流程、审核结果和优化决策。