anaksor-ocr
Sokheng · 工具包
这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。
一个 n8n 工作流:读取两个 Gmail 标签下的消费邮件,打开其中的 PDF,让 Gemini 或 Groq 给出日期、服务、金额、类别和币种,并为每笔付款向你的 Google 表格加一行。
用 AI 把 Gmail 里的消费邮件记进 Google 表格 是一款 n8n 工作流,属于财务类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
带标签的新邮件
两个 Gmail 标签下只要来一封新邮件就开始运行,每分钟检查一次。它带来:
一份 Google 表格,每笔付款一行,包含它的日期、服务、详情、金额、类别和币种
开始之前要准备好这些。
邮件来源
监视两个标签,并下载新邮件的附件。
需要一个 Gmail OAuth2 凭据
语言模型
读取含多笔或一笔付款的邮件。这个副本请求的是 gemini-3.8-flash。
需要一个 Google AI API 密钥
语言模型
读取发票。这个副本请求的是 llama-3.3-70b-versatile。
需要一个 Groq API 密钥
电子表格
为每笔付款追加一行。
需要一个 Google Sheets OAuth2 凭据,和一个有八个命名列的标签页
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流把消费邮件变成 Google 表格里的行。两个 Gmail 触发器分别盯着发票标签和付款标签,并下载每封邮件的附件。PDF 会被打开,给了密码就用密码,它的文字并入邮件的文字。Switch 节点按发件人把邮件分成三组:列出多笔付款的邮件、只有一笔付款的邮件,以及发票。第一组会被拆成每笔付款一份。Gemini 读前两组,Groq 读发票,各自返回日期、服务、详情、金额、类别和币种。随后 Sheets 节点追加一行。文件里有二十一个节点,另有三个便签。
自由职业者、家庭和小团队,他们通过邮件收到刷卡提醒和发票,想把它们放进同一张表。如果你的付款从不到 Gmail,或者你不想把邮件文字发给 Google 和 Groq,就别选它。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 个人理财 | 家庭 | 不用手工录入,也能记下刷卡消费 | 一位家长给银行的提醒邮件打上标签,每笔消费都变成一行。 |
| 自由职业 | 个体从业者 | 报税前先收好发票 | 一位自由职业者给供应商发票打标签,得到每张发票的日期、金额和类别。 |
| 会计 | 记账员 | 从客户的邮件预填账本 | 一位记账员复核客户带标签的收据生成的那些行。 |
| 零售 | 小店店主 | 记录供应商发票 | 一位店主给送货发票打标签,再按类别核对合计。 |
你需要懂 n8n 和 Gmail 的标签:导入文件、添加四个凭据、写发件人规则,再准备一张表。
能访问 Gmail、Google、Groq 和 Google Sheets 的 n8n 都能运行它。
点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。大部分设置在发件人规则和表格上。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 或你自己的服务器 |
| Gmail | 一个 OAuth2 凭据和两个标签 |
| Gemini | 一个 Google AI API 密钥 |
| Groq | 一个 API 密钥 |
| Google Sheets | 一个 OAuth2 凭据,和一个叫 Expenses、有八个命名列的标签页 |
workflow.json。Get invoice 和 Get payment 里,添加你的 Gmail 凭据,并选好对应的标签。Switch 里,把 <YOUR_MULTI_PAYMENT_SENDER> 换成发送多笔付款邮件的地址。另外两条规则里,把 <YOUR_SINGLE_PAYMENT_SENDERS> 换成只含一笔付款的邮件的发件人,用 | 隔开。Extract invoice 和 Extract payment 里替换 <YOUR_PDF_PASSWORD>。Google Gemini Chat Model1 里添加 Gemini 凭据,在 Groq Chat Model 里添加 Groq 凭据。Send 和 Send1 里添加 Google Sheets 凭据,并把两处的 <YOUR_SHEET_ID> 都换成你表格的 id。给一封邮件打上标签,或者让你的 Gmail 过滤器去打。一分钟之内,你的表格里就会多出一行。先看前几行,确认类别和币种对不对,再多贴标签。
| 想改的 | 在哪里改 |
|---|---|
| 哪些邮件走哪条路 | Switch 里的三条规则 |
| 类别和币种 | Structured Output Parser 和 Structured Output Parser1 里的结构 |
| 模型怎么读邮件 | Extract details 和 Extract details1 里的消息 |
| 列 | Send 和 Send1 里的映射,以及你标签页的第 1 行 |
一封刷卡提醒邮件里列了三笔消费。多笔付款规则把它按每笔消费各送给模型一次,其中一个结果是这样的。
{"date": "2026-11-09 18:42", "service": "Uber Eats", "details": "Dinner delivery", "amount": 18.5, "category": "Food & Beverage", "currency": "USD", "card": "Visa 1234"}工作流向你的表格加了三行,每笔消费一行,卡的信息放在 payment 列。
新手:n8n 把工作流画成用线连起来的方框,每个方框叫一个节点,只做一件事。这个工作流读邮件、分邮件、让模型取出数字,再写一行。先贴一封标签邮件,看看它的那一行。
专家:两个触发器共用一个分流步骤,两个模型共用一张表。
| 节点 | 它做什么 | 要知道的 |
|---|---|---|
Switch | 按发件人把邮件分成三路输出 | 第一条匹配的规则生效,所以发票规则会接住其余所有邮件 |
HTML | 从多笔付款邮件里取出每个 .spend-table 元素 | 只有发件人给每笔付款都标上这个类时才管用 |
Extract details | 带 Gemini 和含 card 的结构的链 | 它读前两组 |
Extract details1 | 带 Groq 和不含 card 的结构的链 | 它读发票 |
Send 和 Send1 | 向你的 Expenses 标签页追加行 | 第 1 行必须有那八个名称 |
邮件文字会发给两家 AI 服务商,所以只给你愿意分享的邮件贴标签。
gemini-1.5-flash,所以这个副本请求 gemini-3.8-flash。Groq 已停用 llama-3.2-11b-text-preview,所以它请求 llama-3.3-70b-versatiledate、service、details、amount、category、currency、payment 和 source,否则表格这一步会停下一个 n8n 工作流,把消费邮件变成 Google 表格里的行。它盯着两个 Gmail 标签,一个放发票,一个放付款通知,并打开附在邮件上的 PDF。随后一个 AI 模型读每封邮件,返回日期、服务、详情、金额、类别和币种。每笔付款变成一行。
workflow.json:n8n 导出的工作流,二十四个节点,其中三个是便签。里面没有任何凭据。README.md:这份说明。gemini-1.5-flash,Google 的模型页面已不再列出它。Google Gemini Chat Model1 现在请求 gemini-3.8-flash,也就是 Google 当前的 Flash 模型。llama-3.2-11b-text-preview。Groq 的停用页面说,这个模型被一个 11B 视觉模型取代,而那个视觉模型在 2025 年 4 月也已关停。Groq Chat Model 现在请求 llama-3.3-70b-versatile,Groq 的模型页面把它列为生产模型。<YOUR_INVOICE_LABEL_ID>、<YOUR_PAYMENT_LABEL_ID>、<YOUR_PDF_PASSWORD> 和 <YOUR_SHEET_ID>。Switch 里原来放着作者自己银行的发件人地址。它的规则现在是占位符 <YOUR_MULTI_PAYMENT_SENDER> 和 <YOUR_SINGLE_PAYMENT_SENDERS>。Extract details 的提示词原来点了一家银行的名字。现在它说 0 表示含多笔付款的邮件,1 表示含一笔付款的邮件。card 字段原来列着作者的卡名和尾号。现在它是自由文本,模型把卡写成一个简短的名字加四位数字,或者 null。Expenses。原来是按编号指向某个标签页的。Expenses 的标签页。第 1 行放这八个名称:date、service、details、amount、category、currency、payment 和 source。缺了任何一个,表格这一步就会停下,并提示列名已被更改。workflow.json。Get invoice 和 Get payment 里,添加你的 Gmail OAuth2 凭据,并选好对应的标签。这就替换了两个标签占位符。Switch 里,把 <YOUR_MULTI_PAYMENT_SENDER> 换成发送多笔付款邮件的地址,比如每日刷卡汇总。另外两条规则里,把 <YOUR_SINGLE_PAYMENT_SENDERS> 换成只含一笔付款的邮件的发件人,用 | 隔开。Extract invoice 和 Extract payment 里替换 <YOUR_PDF_PASSWORD>。否则占位符文字会被传下去,没有保护的 PDF 会忽略它。Google Gemini Chat Model1 里添加 Google Gemini 凭据,在 Groq Chat Model 里添加 Groq 凭据。Send 和 Send1 里添加 Google Sheets OAuth2 凭据,并把两处的 <YOUR_SHEET_ID> 都换成你表格的 id,也就是它的地址里 /d/ 与 /edit 之间的那一段。Get invoice 和 Get payment 取走带各自标签的新邮件,并下载它的附件。Extract invoice 和 Extract payment 把第一个附件按 PDF 读取。没有附件的邮件不带它继续往下走。Invoice data 和 Payment data 把邮件的文字和 PDF 的文字合在一起。然后 Switch 按发件人给邮件分路。HTML,它取出每个 class 为 spend-table 的元素。Split Out 为每个元素各做一项,Set data 0 把它标为类型 0。Set data 1,类型 1。两条路在 Merge 汇合,再进入 Extract details。Gemini 读邮件并返回各个字段,Send 追加一行,卡的信息放在 payment 列。Set data 2 和 Extract details1。Groq 读它,Send1 追加一行,payment 为空。Switch 里的三条规则。HTML 里的选择器 .spend-table。Structured Output Parser 和 Structured Output Parser1 里的结构。Extract details 和 Extract details1 里的消息。Send 和 Send1 里的映射,以及你标签页的第 1 行。Switch 里的发件人占位符之前,没有邮件会匹配前两条规则,所以所有邮件都走发票这条路,由 Groq 模型处理。source 列里永远是 n8n 这个词。NOTICE.md 626 B README.md 6 KB workflow.json 34 KB
Sokheng · 工具包
这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。
Qwen · 工具包
Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。
ACE-Step · 工具包
用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。
NeoQuasar · 工具包
用一个 4.1M 参数、基于 45 多家交易所数据训练的基础模型来预测金融 K 线序列。适合想用小模型做价格预测实验的量化研究人员和开发者。
一个 n8n 工作流:发票逾期 7、14、30 天时,各发一条希伯来语 WhatsApp 提醒。它每天早上从 Google 表格读出未付款的发票,消息发出后给对应的行做标记。
一个归档发票的 n8n 工作流。它盯着一个 Google Drive 文件夹,把每个新文件交给 LlamaParse 读取,再由 OpenAI 模型取出明细行,Airtable 里得到一条发票记录和每个明细行各一条记录。