Mailquill 是一款完全本地的工具,從 Gmail 抓取台灣銀行/信用卡帳單,純規則解析,生成離線 HTML 儀表板,實現安靜的帳單核對。

Stars

26

7 天增长

暂无数据

Fork 数

10

开放 Issue

0

开源协议

MIT

最近更新

2026-07-06

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

全本地處理、零雲端/LLM、每家銀行獨立的純規則解析器,保證可審計性與隱私,並提供免重抓信件的重建工作流程。

适合谁使用

  • 持有多家台灣銀行/信用卡帳戶的用戶
  • 注重隱私、避免雲端財務工具的人
  • 需要離線核對與自訂分類的記帳者
  • 願意貢獻台灣銀行解析器的開發者

典型使用场景

  • 自動彙整 Gmail 中多銀行的電子帳單與消費通知
  • 透過關鍵字規則自訂交易分類,一鍵重跑報表
  • 產生自含的離線 HTML 儀表板,支援深色主題與互動篩選
  • 排除解析失敗的交易,逐步修正密碼清單或規則

项目优势

  • 100% 本地處理,只唯讀存取 Gmail,資料絕不離開電腦
  • 每家銀行一個基於正則的解析器,結果可複現與審計
  • CSV 為唯一真實來源,SQLite 與 HTML 可隨時重建,不重複抓信
  • 支援國泰、聯邦、台新、玉山、永豐、富邦等多家台灣銀行,並提供清晰的貢獻指引

使用前须知

  • 需自行申請 Google OAuth 並設定 config.yaml 與 passwords.txt
  • 富邦銀行因驗證機制需手動下載 PDF 後再匯入
  • 目前僅支援台灣銀行版型與 Gmail 信箱

README 快速开始

把散落在 Gmail 裡的銀行/信用卡帳單,安靜地收攏成一本私密、離線的財務帳。

Mailquill 讀取你 Gmail 中的台灣銀行/信用卡財務信件(電子帳單、消費通知、收據),解密 PDF、用純規則解析成結構化交易、做兩層分類,寫入 CSV(唯一真實來源),再產生一份自包含的離線 HTML 儀表板,讓你核對消費紀錄/金流/類別統計。

🔒 全本地處理:純 rule-based,零 LLM、零雲端;Gmail 僅唯讀存取。你的帳單、金額、卡號從不離開這台電腦。


✨ 特色

  • 收件匣直接變帳本 — 依你在 Gmail 已分類的 Label 抓信,自動辨識銀行、解析明細。
  • 解密加密 PDF — 用你本地的密碼清單(passwords.txt)自動嘗試解鎖電子帳單。
  • 純規則、可稽核 — 每家銀行一支 parser,正則對版型;不猜、不呼叫任何模型,結果可複現。
  • 兩層分類、隨你調關鍵字 → (第一層, 第二層),大小寫/全半形不敏感;改完一鍵重分類。
  • 離線互動儀表板 — 單一 HTML 檔,零外部資源;可依銀行/分類/月份篩選,支援深色主題、正負金額紅綠標示、未分類整理面板。
  • 永不靜默丟資料 — 無對應 parser、PDF 解不開、金額解析失敗,都會列成清單讓你逐步補齊。

📸 畫面預覽

總覽:淨消費/筆數/月均 + 月度趨勢;一鍵切換深色主題,分類/品類支援階層勾選(虛線=部分選取)。

分類拆解:第一層占比圓餅 + 第二層品類 Top,長條/圓餅可切換。

負向表列:品類「排除」模式(紅色刪除線)+跨銀行篩選。


🚀 快速開始

python3 -m venv .venv
.venv/bin/python -m pip install -e .          # 安裝
.venv/bin/python -m pip install -e ".[dev]"   # 含測試相依(選用)

# 1) 設定 Google OAuth、config.yaml、passwords.txt(見 docs/SETUP.md)
# 2) 從既有 Gmail Label 產生抓取規則草稿,檢查後即可
mailquill bootstrap

# 3) 抓信 → 解密 → 解析 → 分類 → 寫入 CSV / 重建 DB
mailquill run

# 4) 產生離線 HTML 儀表板
mailquill report        # → report.html,用瀏覽器打開

完整的 Google Cloud OAuth 申請、設定檔與密碼清單步驟,請見 設定指南 · docs/SETUP.mdmailquillpython -m mailquill.cli 等價。


🔁 一次抓信,之後只重建/重報表(不用一直重抓)

Mailquill 的核心是 CSV 是唯一真實來源(single source of truth),SQLite 與 HTML 報表都只是它的衍生產物、隨時可丟可重建。這讓大多數日常操作完全不需要再連 Gmail

你想做的事指令會不會連 Gmail?
納入新到的帳單信mailquill run✅ 需要(只有這件事需要)
改了分類規則,想重新歸類mailquill rebuild❌ 只讀 CSV → 重新分類 → 重建 DB
換報表視角/樣式、重出儀表板mailquill report❌ 只讀 DB → 產生 HTML
SQLite 不小心壞了/刪了mailquill rebuild❌ 由 CSV 完整重建
                       ┌──────────── 只有這一步碰 Gmail ────────────┐
  Gmail ──(唯讀抓信)──▶ run ──▶ 解密PDF ──▶ 各家 parser ──▶ 正規化 ──▶ 分類
                                                                   │
                                                                   ▼
                                                    transactions.csv  ◀── 唯一真實來源(去重)
                                                          │
                        rebuild(改了 categories.yaml)  ◀──┤
                                                          ▼
                                                    mailquill.db(可重建的查詢層)

项目描述

Local, rule-based Gmail finance archiving & reporting — your bank statements, quietly reconciled. 100% local, zero cloud.

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

programmersd21
精选
programmersd21 GitHub avatar

flow

flow is a minimalist terminal dashboard that displays real-time network throughput with smooth animations, multiple responsive modes, and zero configuration.

开发者工具CLI 与终端
277
lopopolo
精选
lopopolo GitHub avatar

harness-engineering

Harness Engineering is a methodology for improving coding agent outputs by carefully crafting the environment around them—providing curated context, tools, and executable constraints that encode an organization’s nonfunctional requirements and cumulative lessons.

AI 与机器学习AI 智能体
2,390
slvDev
精选
slvDev GitHub avatar

esp32-ai

A 28.9 million parameter language model runs on an $8 ESP32-S3 microcontroller entirely on-device, generating simple stories at about 9.5 tokens per second.

AI 与机器学习大语言模型
1,960