Huashu Design
alchaincyf · 技能
把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。

一个 n8n 工作流,根据你放在 Qdrant 里的文档为每封新邮件起草回复,并通过 Gmail 把草稿发给审批人。通过的回复发给发件人,有反馈就交给审阅智能体改写。
带 Gmail 审批和知识库的邮件回复 是一款 n8n 工作流,属于效率类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
一封新邮件
IMAP 邮箱收到一封新的未读邮件时开始运行,读取:
一封由真人批准、根据你自己的文档写成的回复,发给原发件人
开始之前要准备好这些。
邮件触发
监视一个邮箱,把每封新的未读邮件连同发件人、主题和正文传下去。
需要IMAP 主机、用户名,以及密码或应用专用密码
摘要模型
用 deepseek-flash 把邮件正文写成不超过 100 个词的摘要。
需要DeepSeek API 密钥
知识库
把你文档的片段存成向量,供智能体搜索,找出写回复要用的事实。
需要Qdrant 实例的地址和一个 API 密钥
智能体和嵌入
把文档和搜索词做成嵌入,用 gpt-5.6-terra 写出和改写回复,并把审批人的回答分类。
需要OpenAI API 密钥
文档来源
列出一个文件夹里的文件并逐个下载,Google 文档按纯文字下载。
需要Google Drive OAuth2 凭据和那个文件夹
审批
把原邮件和草稿发给审批人,并等待一个手写的回答。
需要Gmail OAuth2 凭据和审批人的地址
回复发送
把通过的回复发给来信的发件人。
需要SMTP 主机、用户名和密码
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流根据你自己的文档回复来信,每封回复都由真人批准。一部分由你手动启动,读取一个 Google Drive 文件夹,把里面的文档存进一个 Qdrant 集合。另一部分通过 IMAP 监视一个邮箱,用 DeepSeek 总结每封新邮件。一个 AI 智能体搜索这个集合并写出一份简短的回复。Gmail 把草稿发给审批人,审批人手写一个回答,分类器把它读成“通过”或“拒绝”。通过的回复经 SMTP 发给发件人。被拒绝的会按反馈改写,再送去审批。
常常用邮件回答同样的公司问题、又希望每封回复发出之前有人看过的小团队。它适合背后有一批文档的客服和销售邮箱。如果你想让回复不经审核直接发出,就别选它。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 客服 | 客服团队 | 根据帮助文档为常见问题起草回答 | 客服人员输入 Ok,批准了一封关于营业时间的回复。 |
| 销售 | 销售团队 | 根据共享文件夹里的文档回答产品和价格问题 | 销售人员要一封更短的回复,改写后的版本在下一封审批邮件里送到。 |
| 服务 | 小型事务所 | 用事务所自己的政策文档回复客户的问题 | 办公室经理批准了一封引用预约政策的回复。 |
| 运营 | 办公室经理 | 不用逐封写回复,也能打理一个共享的咨询邮箱 | 办公室经理每天看一次咨询邮箱的草稿。 |
You need solid n8n for this one: 要准备八个凭据、一个向量数据库、一个 Google Drive 文件夹,还有一个等真人回答的步骤。文件没有给出设置时长。
n8n Cloud 或自托管的 n8n 都能运行它,你需要自己的 Qdrant、OpenAI、DeepSeek、Google Drive 和 Gmail 账户,以及一个有 IMAP 和 SMTP 的邮箱。
点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 的设置说明。八个凭据加四个占位符就够完成所有步骤。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 的账户,或你自己的服务器 |
| Qdrant | 你实例的地址和一个 API 密钥 |
| OpenAI | 用于嵌入、两个智能体和分类器的 API 密钥 |
| DeepSeek | 用于摘要的 API 密钥 |
| Google Drive | 一个装着能回答问题的 Google 文档的文件夹 |
| 邮箱 | 读邮件用的 IMAP 信息,和发回复用的 SMTP 信息 |
| Gmail | 发送审批邮件的账户,以及审批人的地址 |
workflow.json。Create collection 和 Refresh collection 里,把 <YOUR_QDRANT_URL> 换成你的 Qdrant 主机,把 <YOUR_COLLECTION> 换成一个集合名。添加一个名为 api-key 的 Header Auth 凭据,值是你的 Qdrant 密钥,并在这两个节点里选中它。Qdrant Vector Store 和 Qdrant Vector Store1 里选中它。把这两个节点里的 <YOUR_COLLECTION> 都换成同一个名字。OpenAI、Embeddings OpenAI 和 Embeddings OpenAI1 里选中它。添加一个 DeepSeek 凭据,在 DeepSeek Chat Model 里选中它。Get folder 和 Download Files 里选中它。在 Get folder 里,把 <YOUR_DRIVE_FOLDER_ID> 换成你的文件夹。When clicking ‘Test workflow’ 把第一部分运行一次。它会创建集合、清空它,再读取文件夹、切分每份文档并存下片段。Email Trigger (IMAP) 添加一个 IMAP 凭据,给 Send Email 添加一个 SMTP 凭据。给 Gmail 添加一个 Gmail OAuth2 凭据,并把那里的 <YOUR_APPROVER_EMAIL_ADDRESS> 换掉。发布工作流后就不用管它了。每封新邮件都会得到一份草稿,审批人会收到一封带链接的邮件。打开链接,输入 Ok 表示通过,或者写下你要的改动。通过的回复会发给发件人。提出改动后,新的草稿会再回来等待审批。
| 要改的 | 在哪里改 |
|---|---|
| 它知道哪些文档 | Get folder 里的文件夹,以及 Token Splitter 里的片段 |
| 回复怎么写 | Write email 的系统消息 |
| 改写的样子 | Email Reviewer 的系统消息 |
| 什么算通过 | Text Classifier 里的类别 |
| 摘要的长度 | Email Summarization Chain 里的两个提示词 |
| 模型 | OpenAI 和 DeepSeek Chat Model |
| 审批邮件 | Gmail |
一位客户来信问你们是否发货到加拿大,要多久。文件夹里有一份写着你们运输政策的 Google 文档。
Write email 根据运输政策起草了一封不到 100 个词的回复,审批人通过邮件收到它。审批人输入 Ok,分类器把它读成“通过”,Send Email 把回复发给这位客户。
新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。这个工作流有两部分。先把第一部分运行一次,填好知识库。第二部分在邮件到达时开始,并停在 Gmail 这个方框,等有人回答。在第一部分点一次 Test workflow,再发一个测试问题,打开每个方框的输出看看。
专家:摘要链、智能体和分类器都是 n8n 的 LangChain 节点,知识库是一个向量库,智能体把它当作工具来用。
| 节点 | 做什么 | 要知道的 |
|---|---|---|
Email Summarization Chain | 用 DeepSeek Chat Model 把邮件正文总结成不超过 100 个词 | 它被设成读一个二进制文件,而这里没有,所以邮件正文是通过提示词到达模型的,花括号被写成了双份 |
Write email | 用 OpenAI 的工具智能体,Qdrant 库是它的工具 | 工具叫 company_knowladge_base,这个拼写保留自原来的副本 |
Gmail | 发送并等待回复,回答是自由文字 | 没设时间限制,回答以 data.text 的形式回来 |
Text Classifier | 把 data.text 读成 Approved 或 Declined | 和两个智能体共用 OpenAI 这个模型 |
Email Reviewer | 一个工具智能体,根据反馈把草稿改写成 HTML | 它的输出回到 Gmail,所以循环会一直到有人批准 |
Send Email | 用 SMTP 发送通过的 HTML | 发件地址是来信的 to 头 |
Refresh collection | 向 Qdrant 的删除点接口发一个带空过滤器的 HTTP 请求 | Qdrant 的参考页没说空过滤器匹配什么,所以请先在一个用完即弃的集合上试一下 |
每封回复都由真人批准,但邮件正文仍会发到 AI 服务,而且含糊的回答可能让草稿发出去。
gpt-4o-mini,OpenAI 把它列为 2027 年 1 月 14 日停用。两个带工具的智能体用它,所以现在改成 gpt-5.6-terra,因为 gpt-6-luna 在 Chat Completions 上只有推理强度为 none 时才能调用工具deepseek-chat 是 DeepSeek 宣布将在 2026 年 7 月 24 日停用的名字。现在改成 deepseek-flash,它默认会先思考再回答,所以摘要可能慢一点Send Email 把来信的 to 头当作发件地址,所以发给多人的邮件可能失败,或者从错误的地址发出text-embedding-3-small,它有 1536 维,正是 Create collection 要的大小。换模型时要在两个节点里一起换,并同时改大小一个 n8n 工作流,根据你自己的文档回复来信,每封回复都由真人批准。一部分由你手动启动,读取一个 Google Drive 文件夹,把文档存进一个 Qdrant 集合。另一部分通过 IMAP 监视一个邮箱,用 DeepSeek 总结每封新邮件。一个 AI 智能体搜索这个集合并写出回复,Gmail 把草稿发给审批人。审批人手写一个回答,分类器把它读成“通过”或“拒绝”。通过的回复经 SMTP 发给发件人。被拒绝的会按反馈改写,再送去审批。
workflow.json:n8n 导出的工作流,31 个节点,其中 22 个会运行,九个是便签。里面没有任何凭据。README.md:这份设置说明,压缩包里的是英文版。Create collection 原来发的是一个带空过滤器的 POST,这创建不了集合。现在它发一个 PUT,向量大小 1536,距离用 Cosine。这一步出错不会让运行停下。QDRANTURL 和 COLLECTION 现在是 <YOUR_QDRANT_URL> 和 <YOUR_COLLECTION>。Get folder 里作者的测试文件夹和 Gmail 里审批人的地址,现在是 <YOUR_DRIVE_FOLDER_ID> 和 <YOUR_APPROVER_EMAIL_ADDRESS>。OpenAI 节点原来用 gpt-4o-mini,OpenAI 把它列为 2027 年 1 月 14 日停用。现在它用 gpt-5.6-terra。两个带工具的智能体用这个节点,而列出的替代模型 gpt-6-luna 在 Chat Completions 上只有推理强度为 none 时才能调用工具。DeepSeek Chat Model 原来没设模型,所以用节点的默认值 deepseek-chat。DeepSeek 宣布这个名字将在 2026 年 7 月 24 日停用。现在节点用 deepseek-flash。Email Summarization Chain 的两个提示词里,邮件正文的花括号被写成了双份。提示词是模板,邮件里一个落单的花括号就会让这一步失败。Markdown 和审批消息改用纯文字部分。以前这样的邮件得到的是空摘要。workflow.json。Create collection 和 Refresh collection 里,把 <YOUR_QDRANT_URL> 换成你的 Qdrant 主机(需要端口就带上),把 <YOUR_COLLECTION> 换成你选的集合名。添加一个名为 api-key 的 Header Auth 凭据,值是你的 Qdrant 密钥,并在这两个节点里选中它。Qdrant Vector Store 和 Qdrant Vector Store1 里选中它。把这两个节点里的 <YOUR_COLLECTION> 都换成同一个名字。OpenAI、Embeddings OpenAI 和 Embeddings OpenAI1 里选中它。添加一个 DeepSeek 凭据,在 DeepSeek Chat Model 里选中它。Get folder 和 Download Files 里选中它。在 Get folder 里,把 <YOUR_DRIVE_FOLDER_ID> 换成你的文件夹。When clicking ‘Test workflow’ 把第一部分运行一次。它会创建集合、清空它,再读取文件夹、切分每份文档并存下片段。Email Trigger (IMAP) 里选中它。添加一个 SMTP 凭据,在 Send Email 里选中它。添加一个 Gmail OAuth2 凭据,在 Gmail 里选中它,并把那里的 <YOUR_APPROVER_EMAIL_ADDRESS> 换掉。第一部分,手动启动:
When clicking ‘Test workflow’ 启动 Create collection 和 Refresh collection。后者在每次填充之前发一个带空过滤器的删除点请求。Get folder 列出你文件夹里的文件,Download Files 把每份 Google 文档按纯文字下载。Default Data Loader 和 Token Splitter 把每个文件切成 300 个 token 的片段,重叠 30 个。Embeddings OpenAI1 把片段变成向量,Qdrant Vector Store1 把它们存下来。第二部分,对每封新邮件:
Email Trigger (IMAP) 从收件箱取一封新的未读邮件,并把它标为已读。Markdown 把它的 HTML 变成 Markdown,放在一个叫 data 的字段里。Email Summarization Chain 让 DeepSeek Chat Model 写一份不超过 100 个词的摘要。Write email 是一个用 OpenAI 的智能体。它通过 Qdrant Vector Store 搜索集合,写出不到 100 个词的回复,只有正文。Edit Fields 把回复放在一个叫 email 的字段里。Gmail 给审批人发一封邮件,里面有原邮件、草稿和一个链接。运行在这里等一个手写的回答。Text Classifier 把回答读成 Approved 或 Declined。Approved,Send Email 通过 SMTP 把草稿发给来信的发件人,用收到这封邮件的地址作发件地址,主题是 Re: 加原主题。Declined,Email Reviewer 根据草稿和反馈把它改写成 HTML。Edit Fields 保存新版本,Gmail 再次询问。循环到有人批准为止。Get folder 里的文件夹,以及 Token Splitter 里的片段。Write email 的系统消息。改写的样子:Email Reviewer 的系统消息。Text Classifier 里的类别。Email Summarization Chain 里的两个提示词。OpenAI,以及摘要用的 DeepSeek Chat Model。换嵌入模型时,要在两个嵌入节点里一起换,并同时改 Create collection 里的向量大小。Gmail。OpenAI 服务三个节点,两个智能体和分类器。gpt-5.6-terra 的模型页列出了函数调用,而 gpt-6-luna 的页面说 Chat Completions 只有在推理强度为 none 时才支持它。deepseek-flash 默认会先思考再回答,所以摘要可能慢一点。Email Summarization Chain 被设成读一个二进制文件,而这里没有。邮件正文是通过提示词到达模型的。Gmail 没设时间限制,所以 n8n 会对每封没人回答的邮件一直等下去。每一封都占着一个打开的运行。Send Email 把来信的 to 头当作自己的发件地址。发给多人的邮件,或带显示名的邮件,可能失败,也可能从错误的地址发出。text-embedding-3-small,它有 1536 维,正是 Create collection 现在要的大小。Refresh collection 在每次填充前清空集合。Qdrant 的参考页没说空过滤器匹配什么,所以请先在一个用完即弃的集合上试一下。company_knowladge_base。这个拼写是原来的,无害。NOTICE.md 646 B README.md 9 KB workflow.json 21 KB
alchaincyf · 技能
把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。
op7418 · 技能
能生成单文件 HTML 幻灯片、幻灯片配图和多平台封面的技能,有两套视觉风格,还带演讲者模式用于排练。适合使用 Claude Code 或 Codex 的演讲者。
alirezarezvani · 技能
为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。
zarazhangrui · 技能
从零开始或从 PowerPoint 文件生成 HTML 演示文稿,并展示几种视觉风格预览供你挑选,适合不懂 CSS 和 JavaScript、又想做网页幻灯片的人。
iptv-org · 工具包
把来自多个国家的公开电视直播频道整理成播放列表,任何支持直播流的视频播放器都能打开。适合想看直播的观众,也适合需要频道数据的开发者。
uwg · 工具包
收录来自 OpenModelDB 社区的一组图像放大模型,适合想在自己电脑上用 AI 放大低分辨率图片的人。