电子发票整理与报销准备工具:从邮箱批量收集 PDF/OFD/XML 发票,OCR 识别、分类归档并生成 Excel…
67.5/100
综合分
441
GitHub 星标
441
npm 周下载
—/5
用户评分
数据截至 2026/9/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @ethanyoq/dsh-invoice-downloadernpm 源 · @ethanyoq/dsh-invoice-downloader 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · platform
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 39 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过安装清单取自 plugins/dsh-invoice-downloader/package.json
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@ethanyoq/dsh-invoice-downloader @ 0.1.1
✓Node 引擎要求 ^22.19.0 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 02:38:23
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 11 处,展示前 11 条)
- 写入本地文件lib/activate.js:16
fs.mkdirSync(profileDir, { recursive: true }); - 写入本地文件lib/activate.js:17
fs.mkdirSync(runtime.runtimeRoot, { recursive: true }); - 写入本地文件lib/file-security.js:13
fs.mkdirSync(trimmed, { recursive: true }); - 读取本地文件lib/file-security.js:14
const stat = fs.statSync(trimmed); - 读取本地文件lib/file-security.js:29
const content = fs.readFileSync(absolutePath); - 读取本地文件lib/file-security.js:56
return { ok: true, content: fs.readFileSync(current), fileName: artifact.fileName }; - 读取本地文件lib/runtime.js:36
const enginePresent = fs.existsSync(path.join(layout.engineRoot, 'src', 'invoice_engine', 'app_api.py')); - 读取本地文件lib/runtime.js:37
const installed = enginePresent && fs.existsSync(layout.pythonPath); - 读取本地文件lib/settings-store.js:16
const value = JSON.parse(fs.readFileSync(settingsPath(profileDir), 'utf8')); - 写入本地文件lib/settings-store.js:31
fs.mkdirSync(profileDir, { recursive: true }); - 写入本地文件lib/settings-store.js:32
fs.writeFileSync(settingsPath(profileDir), `${JSON.stringify(settings, null, 2)}\n`, 'utf8');
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 邮箱批量收集发票
- OCR识别发票
- 分类归档生成Excel
展开完整介绍(90 字)↓
电子发票整理与报销准备工具:从邮箱批量收集 PDF/OFD/XML 发票,OCR 识别、分类归档并生成 Excel 汇总;提供 Windows/macOS 桌面版与 DSH 插件。
最近更新
在 GitHub 查看全部 →v2026.09.25.12026-09-25
· 中文
本版包含 PR #184 的核心桌面修复:保留人工复核原件、恢复跨次去重历史、同步配对后文件路径、修复 Excel 外部文本导出、验证邮箱服务器身份,并改进超时与主动停止处理。中国发票身份和邮件日期筛选语义不变;DSH 不在本次发布范围。
下载:macOS Apple Silicon ARM64 DMG;Windows x64 安装程序与免安装 ZIP。附 SHA-256 校验清单和构建来源清单。
两个平台均通过本次运行的核心回归测试和现有安装包运行时验证。Windows 测试排除一项仅限指定参考机器的硬件断言;macOS 运行可移植核心子集。这不等于真实 QQ/163 邮箱、个人票据金标或完整 GUI 端到端验收。
当前安装包未签名,macOS 未公证;系统可能显示来源验证提示。
· English
Core desktop fixes from PR #184 cover original-file retention, persistent invoice deduplication, final archive paths, literal Excel text, IMAP certificate verification, bounded network waits and cancellation. DSH is excluded.
Includes an Apple Silicon ARM64 DMG, a Windows x64 installer and portable ZIP, SHA-256 checksums and build provenance. Both platforms passed the release run's core regression and existing package qualification checks. No real mailbox or full GUI end-to-end certification is claimed. Packages are unsigned; macOS is not notarized.
v2026.07.29.12026-07-30
· 中文
本次发布将 macOS 与 Windows 安装包集中在同一个下载列表中:
· macOS Apple Silicon(ARM64)DMG
· Windows x64 安装程序与免安装 ZIP
· SHA-256 校验清单与构建来源清单
两套安装包均由同一次 GitHub Actions 构建并完成运行时验证。当前版本未签名;macOS 未公证,首次打开可能需要在系统安全设置中手动允许,Windows 可能显示 SmartScreen 提示。
· English
This release keeps both desktop platforms in one download list:
· macOS Apple Silicon (ARM64) DMG
· Windows x64 installer and portable ZIP
· SHA-256 checksums and a build-provenance manifest
Both installers were built by the same GitHub Actions release run and passed runtime qualification. This version is unsigned; macOS is not notarized and may require a manual first-open override, while Windows may display a SmartScreen warning.
v2026.07.13.12026-07-13
· InvoiceFlowAI v2026.07.13.1
本次版本聚焦发票召回可靠性、分类与撮合确定性,以及 Windows 后台运行体验。
· 验收结果
· 指定验收范围:QQ 邮箱 INBOX,2025-11-25 至 2026-06-14,本地冻结真值集 215 份目标文档。
· P0 漏抓:0;P1 分类/归档错误:0;P2 撮合错误:0。
· 真值匹配:215/215;住宿发票-水单 10/10 组;打车发票-行程单 16/16 组。
· 冻结版后台 worker 实测可见控制台窗口:0。
· 自动化测试:818 passed,1 skipped,109 subtests passed。
以上指标仅对应上述邮箱、日期范围和冻结真值集,不代表对任意邮箱数据作无限范围准确率承诺。
· 实现方法
· 将 URL 恢复改为可终止、有限并发的独立 worker 池,避免单个无头浏览器任务阻塞整批任务。
· 优先执行直接下载与供应商适配恢复,仅在必要时进入 Playwright 浏览器链路。
· 对邮件证据、附件与恢复结果进行确定性绑定;证据不足时失败关闭,避免错误归档。
· 统一住宿和打车单据的撮合键、排序与相邻命名规则,使归档结果可复核、可审计。
· 在 Python worker、Node/Playwright 与 Chromium 三层统一 Windows 隐藏窗口启动参数,消除批处理期间的黑色控制台弹窗。
· 安装
下载 ZIP 后完整解压,保持 _internal 与 InvoiceFlowAI.exe 位于同一目录,再运行 InvoiceFlowAI.exe。安装包已包含所需运行时,不依赖本机 Python 环境。
SHA256: 1B1BFC996CFD21502EF160FC80E6C3FFBDB81080851FEA3A259431245A04F528
---
This release improves invoice recall reliability, deterministic classification and pairing, and the Windows background experience. In the specified frozen acceptance scope, all 215 expected documents matched with P0/P1/P2 at zero, all 26 hotel/ride pairing groups passed, and the packaged worker created no visible console windows. The portable ZIP includes its runtime and does not require Python.
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成InvoiceFlowAI — 电子发票整理与报销准备工具
把邮箱中的 PDF、OFD、XML 电子发票和部分发票下载链接,整理成分类文件与 Excel 报销汇总。
面向每月需要手工收集多张电子发票的个人、自由职业者和小团队。连接自己的 QQ 或 163 邮箱后,可批量收集发票、OCR 识别、分类归档并生成汇总;低置信度结果保留给用户人工检查。
下载:最新 Windows(安装版 / 免安装版)与 macOS(Apple Silicon)安装包
邮件和发票文件在本地处理。启用 GLM OCR / 视觉识别时,发票图片会发送到你配置的模型服务商用于提取。
DeepSeek Harness 插件
@ethanyoq/dsh-invoice-downloader 把本地 IMAP 发票下载、OCR、归档和 Excel 汇总带到 DeepSeek Harness 的右侧边栏。适合这样的报销场景:把重复整理工作交给本地自动化,同时保留人工复核。
dsh plugin --profile web add @ethanyoq/dsh-invoice-downloader
dsh web --profile web
打开右侧的“发票下载”入口,选择保存位置,安装一次本地引擎后填写 QQ 或 163 邮箱的 IMAP 授权码。
展开完整文档(README 剩余 1 节)
InvoiceFlowAI — 电子发票整理与报销准备工具
把邮箱中的 PDF、OFD、XML 电子发票和部分发票下载链接,整理成分类文件与 Excel 报销汇总。
面向每月需要手工收集多张电子发票的个人、自由职业者和小团队。连接自己的 QQ 或 163 邮箱后,可批量收集发票、OCR 识别、分类归档并生成汇总;低置信度结果保留给用户人工检查。
下载:最新 Windows(安装版 / 免安装版)与 macOS(Apple Silicon)安装包
邮件和发票文件在本地处理。启用 GLM OCR / 视觉识别时,发票图片会发送到你配置的模型服务商用于提取。
DeepSeek Harness 插件
@ethanyoq/dsh-invoice-downloader 把本地 IMAP 发票下载、OCR、归档和 Excel 汇总带到 DeepSeek Harness 的右侧边栏。适合这样的报销场景:把重复整理工作交给本地自动化,同时保留人工复核。
dsh plugin --profile web add @ethanyoq/dsh-invoice-downloader
dsh web --profile web
打开右侧的“发票下载”入口,选择保存位置,安装一次本地引擎后填写 QQ 或 163 邮箱的 IMAP 授权码。首次安装需要联网下载 Python 依赖和 Chromium;rapidocr-onnxruntime 的 pip wheel 自带默认 PP-OCRv3 模型,无需额外手动下载模型。发票文件在本地 OCR;OCR 文本发送给当前选择的 DeepSeek 模型提取字段。插件支持 Windows x64 和 macOS Apple Silicon,授权码由 DSH 凭据服务保存,不写入插件设置或扫描日志。
✨ 核心亮点
| | 特性 | 说明 |
| 🔒 | 一键运行,开箱即用 | 解压即可运行,无需安装 Python 或任何依赖 |
| 🤖 | 双引擎 AI 识别 | Track A(OCR精确流)+ Track B(视觉降级流),自动切换,无需手动操作 |
| 🔍 | 四层智能漏斗 | 白名单域名 → 主题关键字 → 正文检测 → 二维码扫描,精准过滤非发票邮件 |
| 📄 | 链接发票自动恢复 | Playwright 自动打开百望云、税务平台链接,下载正式 PDF 存档 |
| 🧾 | 发票与凭证自动撮合 | 住宿发票/水单、打车发票/行程单自动配对并相邻命名归档 |
| 🪟 | 安静的后台处理 | URL 恢复 worker、Node 与 Chromium 全链路隐藏运行,不再批量弹出控制台窗口 |
| 🗂️ | 自然语言分类规则 | 支持"滴滴大于100元放进大额"这样的自定义规则 |
| 📊 | 一键 Excel 报表 | 自动生成 summary_report.xlsx,发票清单、金额汇总全覆盖 |
🏗️ 整体工作流程
flowchart LR
A["📧 QQ / 163\n邮箱 IMAP"] --> B["📥 邮件抓取\nEmailFetcher"]
B --> C{"🔍 四层\n智能漏斗"}
C -->|"通过"| D["📎 附件提取\nZIP 递归解包"]
C -->|"丢弃"| X["🗑️ 非发票邮件"]
D --> E{"附件类型?"}
E -->|"PDF/OFD/XML"| F["🤖 AI 提取引擎"]
E -->|"URL 链接"| G["🌐 PDF 恢复\nPlaywright"]
G --> F
F --> H{"提取\n成功?"}
H -->|"✅"| I["📂 智能分类\n规则重命名"]
H -->|"❌"| J["📁 Manual_Check"]
I --> K["🗂️ 本地归档"]
K --> L["📊 Excel 报表"]
🤖 双引擎 AI 提取架构
系统采用 Track A + Track B + Local Fallback 三层防线,任何一层成功即采用结果,确保极高的识别成功率。
双引擎AI识别架构
为什么这样设计?
- Track A(OCR + LLM):精度最高,先提取文字结构再理解
- Track B(glm-4.5V 视觉):直接"看图",适合复杂排版或图片类发票
- Local Fallback:本地正则规则,断网可用,零 API 消耗
🔍 四层智能筛选漏斗
系统不会对每封邮件都调用 AI,而是先经过四层漏斗精准判断,大幅降低误识别率和 API 费用。
四层智能筛选漏斗
筛选通过后,附件还会经过 三级决策:
| 层级 | 触发条件 | 处理方式 |
| 🗑️ A 层(丢弃) | Tracking pixel、Logo、装饰图(≤32px) | 直接跳过 |
| 📦 B 层(暂存) | 附件 >5MB、ZIP 解包失败 | 保留但不处理 |
| ✅ C 层(归档) | 正常 PDF/OFD/XML | 进入 AI 提取流程 |
🌐 三级 PDF 恢复方案
许多发票邮件只有「点击下载」的链接,系统自动识别平台并选择最优方案:
flowchart TD
Link(["🔗 邮件中的发票链接"]) --> Detect{"识别链接平台"}
Detect -->|"百望云"| BW["🏢 Playwright 自动化\n登录 → 点击下载 → 捕获文件\n字段匹配验证"]
Detect -->|"国税·诺诺·航信"| DI["📥 HTTP 直接下载\n识别发票族群\n本地字段校验"]
Detect -->|"未知网页"| Generic["🌐 网页转 PDF\n检测登录/验证码\nA4 格式渲染"]
BW & DI & Generic --> Final(["📄 本地 PDF"])
Final --> AI(["🤖 AI 提取流程"])
⚙️ 配置指南
首次使用只需配置一次,之后每次扫描直接点击运行。
第一步 · 开启 163 邮箱 IMAP
📖 点击展开 163 邮箱详细步骤
服务器参数
| 参数 | 值 |
| IMAP 服务器 | imap.163.com |
| 端口 | 993(SSL/TLS) |
开启步骤
1. 登录 mail.163.com,点击右上角「设置」
2. 在下拉菜单中选择「POP3/SMTP/IMAP」
3. 找到「IMAP/SMTP 服务」,点击右侧「开启」按钮
4. 弹出「账号安全验证」窗口:
- 扫码方式(推荐):手机扫描二维码,自动发送验证短信
- 手动方式:按提示手动发送短信到指定号码
5. 短信发送后点击「我已发送」
6. 系统生成 16 位授权码(字母组合,仅显示一次,务必立即复制保存)
⚠️ 授权码不是邮箱登录密码,是专用于第三方客户端的独立密码,大小写敏感。
📚 163 邮箱官方帮助
第二步 · 开启 QQ 邮箱 IMAP
📖 点击展开 QQ 邮箱详细步骤
服务器参数
| 参数 | 值 |
| IMAP 服务器 | imap.qq.com |
| 端口 | 993(SSL/TLS) |
开启步骤
1. 登录 mail.qq.com,点击右上角「设置」图标
2. 选择「账户」选项卡
3. 找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务」
4. 点击「管理服务」→「开启服务」
5. 点击「生成授权码」,进行身份验证:
- 扫码方式(推荐):手机扫码后自动发送验证短信
- 手动方式:用 QQ 绑定手机发送「配置邮件客户端」到 1069070069
6. 点击「我已发送」,验证后授权码即时生成(请立即保存)
⚠️ 修改 QQ 密码后授权码自动失效,需重新生成。
📚 QQ 邮箱官方帮助
第三步 · 获取智谱 GLM API Key
📖 点击展开 GLM API 配置步骤
系统使用 GLM-4.5V(多模态视觉)和 GLM-OCR 识别发票内容。
步骤
1. 访问 open.bigmodel.cn,注册账号
2. 进入控制台 → API Keys → 创建 API Key
3. 复制并保存 Key(格式:xxxxxxxx.xxxxxxxxxxxxxxxx)
费用参考
| 情况 | 说明 |
| 🎁 新用户福利 | 赠送 500 万 GLM-4 tokens(30 天有效) |
| 💰 推荐充值 | 5 元以内,按量计费 |
| 📊 使用估算 | 每张发票约消耗 1,000–3,000 tokens;每月 200 张,5 元可用约 12 个月 |
📚 智谱 AI 开放平台
🚀 快速开始
Windows(安装版 / 免安装版)
1. 安装版:运行 InvoiceFlowAI--windows-x64-setup.exe;免安装版:解压 InvoiceFlowAI--windows-x64-portable.zip 到普通文件夹(避免云盘同步目录),并保持 _internal 文件夹与 InvoiceFlowAI.exe 同级。
2. 双击 InvoiceFlowAI.exe;首次启动会自动弹出设置界面。
3. 填入邮箱地址与授权码(QQ 或 163)、GLM API Key,保存后点击「开始扫描」。发票会自动归档到桌面「发票整理」文件夹。
macOS(Apple Silicon)
1. 打开 InvoiceFlowAI-*-macos-arm64.dmg,将 InvoiceFlowAI 拖入“应用程序”文件夹。
2. 首次启动会自动弹出设置界面。此版本未签名、未公证;若 macOS 阻止打开,请在“系统设置 → 隐私与安全性”中确认仍要打开。
3. 填入邮箱地址与授权码(QQ 或 163)、GLM API Key,保存后点击「开始扫描」。
📁 输出目录结构
发票整理/ ├── 火车票/ │ └── 20260315-北京-上海-火车票.pdf ├── 机票/ │ └── 20260301_机票_1280.00_中国国际航空.pdf ├── 住宿发票/ │ ├── 20260310-住宿-01-发票_888.00元.pdf │ └── 20260310-住宿-01-水单_888.00元.pdf ├── 打车/ │ ├── 0312-滴滴-01-发票_45.50元.pdf │ └── 0312-滴滴-01-行程单_45.50元.pdf ├── 餐饮/ ├── 待人工复核/ ← 无法可靠确认的材料,需人工处理 ├── 非目标公司发票/ └── summary_report.xlsx
❓ 常见问题
Q:软件启动后白屏或无响应?
- 确认已将整个压缩包解压,_internal 文件夹须与 InvoiceFlowAI.exe 在同一目录
- 避免将软件放在含有中文路径或空格的目录下
Q:扫描完发票数量很少?
- 在软件的时间范围设置中,将起始日期往前调整至 180 天以上
- 部分邮箱默认只拉取近30天邮件,需要在邮箱 IMAP 设置里选择「收取全部邮件」
Q:授权码填写后提示认证失败?
- QQ 邮箱:须从「管理服务 → 生成授权码」流程中获取,不是 QQ 密码
- 163 邮箱:须从「开启 IMAP 服务」弹窗中生成,不是邮箱登录密码,注意大小写
- QQ 修改密码后需重新生成授权码
Q:GLM API 报错余额不足?
登录 open.bigmodel.cn → 费用中心 → 充值。推荐充值 5 元,按量计费。
Q:部分发票进入 Manual_Check 文件夹?
正常现象。当 AI 识别置信度不足时,系统自动放入 Manual_Check 队列,需人工确认。通常由图片模糊、非标准票据或加密 PDF 导致。
🛡️ 隐私与安全
- 所有邮件、发票文件均在本地处理,不上传任何服务器
- 邮箱凭据在 Windows 通过 DPAPI 加密存储,在 macOS 通过 Keychain 存储
- GLM API 仅接收发票图片(Base64)用于文字识别,不发送邮件原文内容
⚠️ 免责声明
使用本软件即表示您已理解并接受以下内容。
合规使用 · 本软件通过 IMAP 只读访问邮箱,不发送、删除或修改任何邮件。用户须确保对所处理邮箱拥有合法授权。
用途 · 本软件仅用于发票邮件下载、识别、分类、归档等自动化辅助。
准确性与合规性 · 作者不保证发票数据或生成结果的准确性、完整性、合法性、税务合规性、财务合规性或会计合规性。用户必须自行核验所有发票、报销、税务、会计和合规结果后再使用。
数据 · 调用 GLM API 时,发票图片会发送至智谱 AI 服务器进行识别,受 智谱 AI 隐私政策 约束;邮件原文不会发送。
责任限制 · 作者不对使用本软件造成的损失、遗漏、错误、报销失败、税务风险、合规问题或数据丢失承担责任。
第三方服务
| 服务 | 用途 | 服务方 |
| 智谱 GLM API | 发票 OCR 与视觉识别 | 北京智谱华章科技有限公司 |
| QQ 邮箱 IMAP | 邮件读取 | 腾讯科技(深圳)有限公司 |
| 163 邮箱 IMAP | 邮件读取 | 网易(杭州)网络有限公司 |
📜 许可证
本项目基于 Apache License 2.0 授权。允许商业使用、修改、分发和闭源集成,但再分发时必须保留 copyright notice、license notice,以及 NOTICE 中的作者署名。
Made with ❤️ by EthanYoQ / Yong Qi
报告问题 · 智谱AI开放平台 · 163邮箱帮助 · QQ邮箱帮助预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
EthanYoQ/Invoice-Downloader
电子发票整理与报销准备工具:从邮箱批量收集 PDF/OFD/XML 发票,OCR 识别、分类归档并生成 Excel…
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,778已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,110已汉化DeepSeek 客户端
70.9
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,031已汉化DSH
70.7