Mindket

用本地 Ollama 模型做每日紧急邮件提醒

新上架第 1 版 · 更新于

概览

一个 n8n 工作流,通过 IMAP 读取最近一天的收件箱,把促销邮件静音,再让你自己机器上的 Ollama 模型判断哪些邮件串需要处理。紧急的发到 Telegram,Telegram 失败时发到 ntfy。

用本地 Ollama 模型做每日紧急邮件提醒 是一款 n8n 工作流,属于效率类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • 你自己的 n8n 服务器:Execute Command 节点必须打开,命令就在那台机器上运行
  • Docker 里的 n8n:命令在容器里运行,所以容器里要有 Python 3,127.0.0.1 也必须能连到 Ollama
  • 换一个邮件服务:脚本用的是普通的 IMAP 调用,所以任何 IMAP 服务器都能读
  • 换一个渠道:把 Telegram 或 ntfy 节点换成任何一种通知节点

平台

连接 4 个应用

运行方式

触发

手动启动或每天定时

点击 Test workflow 时开始运行,也会每天 23:59(按工作流的时区)自动运行,读取:

  • 一个 IMAP 邮箱最近 24 小时的收件箱

动作

  1. n8n 所在机器上的一个 Python 脚本通过 IMAP 登录,读取最近一天的邮件,不把它们标为已读
  2. 邮件被截短、按邮件串分组,再作为一个 JSON 对象传下去
  3. 一份规则清单把促销、招聘提醒和新闻通讯静音,并标出可能紧急的邮件串
  4. 你机器上的 Ollama 模型以 JSON 返回一份摘要、最多五条紧急事项和最多三条供参考的事项
  5. 回复不是有效 JSON 时,规则清单给出一个备用结果
  6. 只有存在紧急事项时,报告才会发到 Telegram,Telegram 失败时发到一个 ntfy 主题

结果

Telegram 里一份简短的报告,带紧急邮件串的文字表格,Telegram 失败时改发到 ntfy,平静的一天则什么也不发

集成

开始之前要准备好这些。

Email (IMAP)

邮箱

由一个 Python 脚本通过 SSL 登录并读取最近一天的邮件,不标为已读。

需要IMAP 主机、用户名和应用专用密码

Ollama

本地模型

在你自己的机器上,根据邮件串的文字挑出紧急的邮件串并写出摘要。

需要在本机运行的 Ollama,并已拉取一个聊天模型

Telegram

聊天

以 HTML 接收报告,表格放在代码块里。

需要机器人令牌和聊天 ID

ntfy

备用提醒

Telegram 失败时,以高优先级接收纯文字报告。

需要一个主题名,不需要账号

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
14 个步骤,手动或按计划启动
AI
没有步骤调用 AI 模型
登录
需要登录:Telegram
API 密钥
文件里没有留下 API 密钥
步骤类型
Mindket 的检查器能读懂它 7 种步骤类型中的 6 种,读不懂的是:Execute Command

以上内容读自工作流文件,并非实际运行的结果。

关于

它是什么

这个 n8n 工作流每天检查一次你的收件箱,只在有事需要处理时才提醒你。一个 Python 脚本通过 IMAP 读取最近一天的邮件,并按邮件串分组。一份规则清单把促销、招聘提醒和新闻通讯静音。运行在你自己机器上的 Ollama 模型挑出紧急的邮件串,再写一句摘要。工作流把一份带紧急邮件串表格的简短报告发到 Telegram,Telegram 失败时发到一个 ntfy 主题。十四个节点在运行这条流程,平静的一天什么也不会发。

适合谁

在自己机器上运行 n8n、希望检查收件箱时邮件文字不经过云端 AI 服务的人。它适合邮件很多、真正要紧的只有几封的邮箱。在 n8n Cloud 上就别选它,那里没有 Execute Command 节点。

谁在用,怎么用
行业谁在用怎么用例子
企业创始人为今天需要回复的邮件串收到一条提醒创始人在晚上看到两个紧急邮件串,睡前就回复了。
财务记账人员抓住付款和发票邮件记账人员看到一封付款失败通知,旁边列着发件人。
安全小型 IT 团队及早发现登录和验证提醒管理员在报告最上面看到一条安全提醒。
隐私重视隐私的用户整理邮件,却不把邮件文字发给云端模型用户让每封邮件的正文都留在自己的机器上。

You need solid n8n for this one: 要有一台自己的服务器并打开 Execute Command 节点,会改一个脚本,还要准备两种发提醒的方式。文件没有给出设置时长。

用在哪里

只有能运行 Python 3、能访问你的 IMAP 服务器和 Ollama 的自托管 n8n 才能运行它。

  • 你自己的 n8n 服务器:Execute Command 节点必须打开,命令就在那台机器上运行
  • Docker 里的 n8n:命令在容器里运行,所以容器里要有 Python 3,127.0.0.1 也必须能连到 Ollama
  • 换一个邮件服务:脚本用的是普通的 IMAP 调用,所以任何 IMAP 服务器都能读
  • 换一个渠道:把 Telegram 或 ntfy 节点换成任何一种通知节点

设置

点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 的设置说明。六个值加一个凭据就够完成所有步骤。

先准备好这些
需要说明
n8n一台自己的服务器,打开了 Execute Command 节点,有 Python 3 和 POSIX shell
IMAP 邮箱主机、用户名和应用专用密码
Ollama在同一台机器上运行,地址是 http://127.0.0.1:11434,并已拉取一个聊天模型
Telegram一个机器人令牌和你的聊天 ID
ntfy一个没人猜得到的主题名
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 打开 Fetch Gmail via IMAP。在命令的开头,把 <YOUR_EMAIL_ADDRESS>、<YOUR_APP_PASSWORD> 和 <YOUR_IMAP_HOST> 换成你自己的值,引号要保留。
  3. 打开 Call Ollama Summary API,把 <YOUR_OLLAMA_MODEL> 换成你已拉取的某个模型的名字。ollama list 能列出它们。
  4. 用你机器人的令牌添加一个 Telegram 凭据,在 Send Telegram Summary 里选中它。把这个节点里的 <YOUR_TELEGRAM_CHAT_ID> 换成你的聊天 ID。
  5. 在 Send ntfy Summary 里,把地址中的 <YOUR_NTFY_TOPIC> 换成你的主题,并在 ntfy 应用里订阅这个主题。
  6. 点 Test workflow。Manual Trigger 启动运行,只有模型找到紧急邮件串时才会收到消息。
  7. 在工作流设置里检查时区,因为定时运行是按它的 23:59 来的。然后保存,再点画布顶部的 Publish(或按 Shift+P)。

如何使用

发布工作流后就不用管它了。每天 23:59 它会检查最近一天的邮件。有紧急邮件串时,报告会发到 Telegram。先读表格,再到你的邮件程序里处理要紧的邮件串。工作流不会把邮件标为已读,也不会改动邮箱。

想要不同的效果,改这里
要改的在哪里改
时间窗口Fetch Gmail via IMAP 里脚本中的截止时间和搜索日期
什么被静音、什么算紧急、什么供参考Build Summary Prompt 里的规则清单
提示词和回答的上限Prepare Structured Prompt
模型和它的设置Call Ollama Summary API 里的请求体
消息的样子Normalize Summary Message
时间Schedule Trigger

示例

当天的四十封邮件里有一封新闻通讯、一封招聘提醒、一封付款失败通知,还有一位同事希望你明天前回复的留言。

Send Telegram Summary 发出一份报告,有一句摘要和一张两行的表格,分别是付款通知和同事的请求,每行带着发件人和一条简短的原因。新闻通讯和招聘提醒算作被静音。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。这个工作流有一个读邮件的脚本方框、几个整理邮件的代码方框、一个去问 Ollama 的方框,以及两个发提醒的方框。点一次 Test workflow,再打开每个方框的输出,看看一封邮件怎样从收件箱走到报告里。

专家:大部分逻辑在 Code 节点和 Python 脚本里,模型调用只是一个普通的 HTTP 请求。

值得细看的地方
节点做什么要知道的
Fetch Gmail via IMAPExecute Command,用 here-document 运行一个 Python 3 脚本用 BODY.PEEK[] 取邮件,所以邮件保持未读。登录用的值在脚本开头
Build Summary Prompt一个 Code 节点,负责静音、标记和构建上下文静音规则没有词边界,所以文字里任何地方的词的一部分都会匹配
Call Ollama Summary APIHTTP Request,4.4 版,POST 到 /api/chat发送 think: false、format: 'json' 和 keep_alive: '15m',等待 90 秒,出错时继续
Parse Ollama Summary一个 Code 节点,从回复里找出 JSON回复不是有效 JSON 时回退到规则清单
Send Telegram SummaryHTML 模式的 Telegram 发送消息出错时带着一个 error 字段继续,下一个 IF 会读它
Fix Action Table Layout一个原样返回输入的 Code 节点把数据原样传下去。ntfy 这一步是按这个节点的名字读字段的,所以要保留它,或者连那一步一起改

注意事项

这个工作流会在你的服务器上运行命令,邮箱密码明摆在那里,静音的范围也很宽。

  • 未运行:Mindket 没有调用过 IMAP 服务器、Ollama、Telegram 或 ntfy,只是检查了 Python 脚本的语法,并用一个示例邮件串和一个示例模型回复运行了 Code 步骤
  • Execute Command:n8n 的文档说这个节点在 n8n Cloud 上不可用,而且 n8n 2.0 默认把它关掉,所以要把它从 NODES_EXCLUDE 里去掉。在 Docker 里,命令在 n8n 容器内运行
  • 密码:它就在命令文字里,所以任何能打开这个工作流的人都能读到它。请用应用专用密码,并把工作流留给自己。对 Gmail,Google 的帮助说应用专用密码需要开启两步验证
  • ntfy:它不用注册,文档说主题本质上就是密码。备用的文字里列着你紧急邮件的主题和发件人,所以请选一个没人猜得到的主题
  • 静音规则:它们匹配主题、发件人和正文里任何位置的词的一部分,所以一封含有 deal、offer 或 sale 的真实邮件会在模型看到之前就被静音
  • 平静的日子:没有紧急邮件串时什么也不发,连一条说明也没有
  • 模型调用:请求要求 32768 个 token 的上下文,比 Ollama 在显存不足 24 GiB 的机器上默认的 4k 大,并把回答限制在 260 个 token。回答被截断时,工作流会改用自己的规则清单
  • 时区:设置了工作流时区时,定时运行用它,否则用 n8n 实例的时区
  • 你的数据:邮件正文只发给你自己的 Ollama。紧急邮件的主题和发件人会发到 Telegram,Telegram 失败时发到 ntfy.sh
  • 安全:一封邮件可能夹带想引导模型的文字,所以一封邮件可能被列为紧急,也可能被漏掉
  • 凭据:JSON 里没有任何凭据

README 和文件

README

用本地 Ollama 模型做每日紧急邮件提醒

一个 n8n 工作流,用一个 Python 脚本通过 IMAP 读取你收件箱最近一天的邮件,并把常见的促销邮件和招聘提醒静音。它再让运行在你自己机器上的 Ollama 模型判断哪些邮件串需要处理。有的话,就把一份带紧急邮件串表格的简短报告发到 Telegram,Telegram 失败时发到一个 ntfy 主题。平静的一天什么也不发。

包里有什么

  • workflow.json:n8n 导出的工作流,十四个节点全部会运行,没有便签。里面没有任何凭据。
  • README.md:这份设置说明,压缩包里的是英文版。

我们相对原来的副本改了什么

  • 编出来的值 YOUR_EMAIL@example.com、YOUR_APP_PASSWORD、YOUR_IMAP_HOST、YOUR_NTFY_TOPIC、YOUR_TELEGRAM_CHAT_ID 和 YOUR_OLLAMA_MODEL 现在都是带尖括号的占位符,比如 <YOUR_APP_PASSWORD>。
  • 提示词里的示例邮件原来用的是一个真实服务的地址,现在是 Example Accounts <no-reply@example.com>。
  • Telegram 节点上的凭据关联已删掉,请选你自己的。
  • 别的都没改。脚本、规则清单、提示词、模型设置和消息的版式都和原来一样。

开始之前

  • 一台自托管的 n8n,打开了 Execute Command 节点。n8n Cloud 没有这个节点,n8n 2.0 又默认把它关掉,所以要把它从 NODES_EXCLUDE 里去掉。
  • 运行 n8n 的机器上要有 Python 3 和 POSIX shell。在 Docker 里,命令在 n8n 容器内运行。
  • 一个 IMAP 邮箱,以及它的主机、用户名和应用专用密码。对 Gmail,Google 的帮助说应用专用密码需要开启两步验证。
  • 同一台机器上的 Ollama,监听 http://127.0.0.1:11434,并已拉取一个聊天模型。
  • 一个 Telegram 机器人令牌和你的聊天 ID。
  • 一个没人猜得到的 ntfy 主题名,用于备用提醒。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 打开 Fetch Gmail via IMAP。在命令的开头,把 <YOUR_EMAIL_ADDRESS>、<YOUR_APP_PASSWORD> 和 <YOUR_IMAP_HOST> 换成你自己的值,引号要保留。
  3. 打开 Call Ollama Summary API,把 <YOUR_OLLAMA_MODEL> 换成你已拉取的某个模型的名字。ollama list 能列出它们。
  4. 用你机器人的令牌添加一个 Telegram 凭据,在 Send Telegram Summary 里选中它。把这个节点里的 <YOUR_TELEGRAM_CHAT_ID> 换成你的聊天 ID。
  5. 在 Send ntfy Summary 里,把地址中的 <YOUR_NTFY_TOPIC> 换成你的主题,并在 ntfy 应用里订阅这个主题。
  6. 点 Test workflow。Manual Trigger 启动运行。只有模型找到紧急邮件串时才会发出消息。
  7. 在工作流设置里检查时区,因为定时运行是按它的 23:59 来的。然后保存,再点画布顶部的 Publish(或按 Shift+P)。

一次运行的过程

  1. Manual Trigger 或 Schedule Trigger 启动运行。定时每天 23:59 触发。
  2. Fetch Gmail via IMAP 运行一个 Python 脚本。它通过 SSL 在 993 端口登录,打开收件箱,搜索从昨天的日期开始的邮件。它用 BODY.PEEK[] 取每封邮件,所以不会有任何邮件被标为已读,并保留最近 24 小时内的邮件。
  3. 同一个脚本把每封邮件的正文截到 2000 个字符,把邮件分成邮件串,每个邮件串最多保留 6 封邮件和 6000 个字符的文字。它输出一个 JSON 对象。
  4. Parse JSON Output 把这份输出变成一条数据。输出为空时,会变成一条带说明的数据。
  5. Build Summary Prompt 把匹配促销、招聘提醒、新闻通讯等规则清单的邮件串静音,用另一份清单标出紧急的邮件串。它准备一个备用结果,最多 5 个紧急邮件串和 3 个供参考的,以及一份最多 12 个邮件串、24000 个字符的上下文。
  6. Prepare Structured Prompt 写出系统提示词和用户提示词。它们要求返回一个 JSON 对象,里面有一句摘要、最多 5 条紧急事项和最多 3 条供参考的事项。
  7. Call Ollama Summary API 把提示词 POST 到你的 Ollama 的 /api/chat,温度为 0,上下文 32768 个 token,回答最多 260 个 token。它最多等 90 秒,出错不会让运行停下。
  8. Parse Ollama Summary 从回复里读出 JSON,并裁剪每个字段。回复不是有效 JSON 时,就用备用结果。
  9. Has Urgent Items? 只在至少还剩一条紧急事项时让运行继续。
  10. Normalize Summary Message 写出报告:一句摘要、一张紧急邮件串的文字表格、最多 3 行供参考的内容,以及被静音邮件串的数量。它还做一个 HTML 版本,表格放在 pre 块里。
  11. Fix Action Table Layout 把数据原样传下去。
  12. Send Telegram Summary 发出 HTML 版本。失败时,Telegram Delivery Failed? 把运行交给 Send ntfy Summary,它把纯文字连同标题、高优先级和标签 mail 发出去。

改变样子

  • 时间窗口:Fetch Gmail via IMAP 里脚本中的截止时间和搜索日期。
  • 什么被静音、什么算紧急、什么供参考:Build Summary Prompt 里的规则清单。
  • 提示词和回答的上限:Prepare Structured Prompt。
  • 模型和它的设置:Call Ollama Summary API 里的请求体。
  • 消息的样子:Normalize Summary Message。表格的列宽是 26、18 和 30 个字符。
  • 时间:Schedule Trigger。

值得知道的

  • 未运行:Mindket 没有调用过 IMAP 服务器、Ollama、Telegram 或 ntfy。它检查了 Python 脚本的语法,并在自己的机器上用一个示例邮件串和一个示例模型回复运行了 Code 步骤。
  • 邮箱密码就在命令文字里。任何能打开这个工作流的人都能读到它,所以请用应用专用密码,并把工作流留给自己。
  • ntfy 不用注册。它的文档说主题本质上就是密码。备用的文字里列着你紧急邮件的主题和发件人,所以请选一个没人猜得到的主题。
  • 静音规则匹配主题、发件人和正文里任何位置的词的一部分,没有词边界。一封含有 “deal”、“offer” 或 “sale” 的真实邮件会在模型看到之前就被静音。如果这造成困扰,请改清单。
  • 没有紧急邮件串的日子什么也不发,连一条说明“今天很平静”的消息也没有。
  • 请求把 think 设为 false,并要求 JSON 输出。Ollama 的文档是把 think 描述给会思考的模型用的。
  • 32768 个 token 的上下文比 Ollama 的默认值要用更多内存,它的文档说在显存不足 24 GiB 的机器上默认是 4k。260 个 token 的限制可能把较长的回答截断,工作流随后会改用自己的清单。
  • 邮件正文只发给你自己的 Ollama。紧急邮件的主题和发件人会发到 Telegram,Telegram 失败时发到 ntfy.sh。
  • 一封邮件可能夹带想引导模型的文字,所以一封邮件可能被列为紧急,也可能被漏掉。请把报告当作提醒你去看一看,而不是完整的检查。
文件
NOTICE.md  608 B
README.md  7 KB
workflow.json  42 KB

3 个文件,共 50 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-12

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

Bonsai-27B-GGUF

lmstudio-community · 工具包

面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。

新上架

以每权重 2.9 位的 EXL3 量化运行 DeepSeek-V4.1-Flash-1017,这是一份 196 GiB 的副本,适合在自己硬件上部署大模型的人。困惑度与原模型相差不大。

新上架

MusicGen Small

facebook · 工具包

根据文字描述或音频提示生成短音乐片段,是 facebook MusicGen 的 small 检查点。适合想在自己电脑上试用文字生成音乐的开发者和音乐爱好者。

新上架

效率类的相似商品

查看效率类的全部商品

ACE-Step 1.5 XL SFT

ACE-Step · 工具包

用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。

新上架

Guizang PPT Skill

op7418 · 技能

能生成单文件 HTML 幻灯片、幻灯片配图和多平台封面的技能,有两套视觉风格,还带演讲者模式用于排练。适合使用 Claude Code 或 Codex 的演讲者。

新上架29.8k

Frontend Slides

zarazhangrui · 技能

从零开始或从 PowerPoint 文件生成 HTML 演示文稿,并展示几种视觉风格预览供你挑选,适合不懂 CSS 和 JavaScript、又想做网页幻灯片的人。

新上架32.3k