ABOUT / 关于项目

把一件麻烦的小事,
认真做完。

发票助手不是一个「AI 识别 Demo」,而是一套给财务与报销场景用的本地小工具:把散落的图片与 PDF 变成能核对、能归类、能汇总、能交差的台账。这里写写它为什么存在、坚持了什么,以及你可以怎样找到我。

本地运行 · 数据不出本机 FastAPI + Vue 3 当前版本 v1.7.0 更新服务 ih.opendrgs.com
01 / ORIGIN

它始于一个很具体的下午

一叠微信里收来的发票截图、几份电子 PDF,还有一张明天要交的报销明细表。票号、购销方、税额、明细行,一张一张敲进表格,敲到第三十张的时候,人已经开始怀疑人生。

后来发现,真正费时的其实不是「把字认出来」。认出来之后呢?谁报销的、算到哪个部门、有没有重复、这个月一共多少税、明细要不要单独导出、认错了能不能改回去、改完还能不能查到当时识别的原文——这些才是每天都要面对的部分。

所以这个项目从一开始就没打算停在「识别」。识别只是入口,后面得有一张能筛选的台账、一处能人工校正的详情、一个口径一致的合计,和一份能直接发出去的 Excel。

「不用上传、不用注册、不用部署,解压双击就能用;票据留在这台电脑里,任何一步都能查得到、改得回来。」 —— 这是整个项目里,唯一没有妥协过的要求
02 / PRINCIPLES

坚持的几件小事

没什么宏大的架构理想,只是几个在财务场景里不太能让步的常识。

01 / LOCAL FIRST

本地优先

没有云端、没有账号、没有遥测。完整版内置离线 OCR 模型,断网也能跑;发票含企业信息,本来就不该离开这台电脑。

02 / VERIFIABLE

可核查

OCR 原文与坐标全量留存,工作台、列表合计、Excel 导出三处口径一致。数字对不上时,能一路查回到原始那一行。

03 / NON-DESTRUCTIVE

不破坏现场

原始发票文件永不修改或删除;结构升级前自动备份数据库。工具可以出错,但不能让用户的原始资料跟着出错。

04 / ZERO SETUP

交付简单

不需要 Docker、Node.js 或 Python 环境。拿到发布包解压、双击,浏览器自动打开首页;卸载时删掉文件夹就行。

03 / UPDATES

版本与检查更新

项目配了一个独立的更新服务端 ih.opendrgs.com:只负责版本清单、下载与项目页面,不碰任何业务数据。下面的版本信息就是实时从它读的。

当前发布
v1.7.0
发布于 2026-11-11
项目介绍页、微信与赞赏码、独立更新服务端上线;两个发布包继续按识别能力分档提供。
去下载
正在读取版本信息…
仅 PDF 版51 MB

只处理带文字层的电子发票 PDF,毫秒级、不加载模型。

查看下载说明
PDF + 图片版429 MB

含 PaddleOCR 3.7 与 133 MB 离线模型,扫描件与截图也能识别。

查看下载说明
GET https://ih.opendrgs.com/api/update/check?version=1.6.0&channel=pdf-image
GET https://ih.opendrgs.com/api/update/latest
GET https://ih.opendrgs.com/healthz
04 / CONTACT

有问题,直接找我

一个人做的小工具,最缺的不是赞美,是真实的使用反馈。识别错了哪张票、哪个字段别扭、哪一步卡住过,告诉我比我自己猜有用得多。

作者微信二维码
微信扫码 · 备注「发票助手」

聊聊发票,或者只是打个招呼

遇到识别不准的票、想加的字段、部署时卡住的地方,都可以扫码找我。带上脱敏后的截图、发票种类和版本号,问题会快很多;不方便发图的话,描述一下票面布局也行。

反馈不承诺立刻修,但都会看。那些「这里不顺手」的抱怨,往往比一句「挺好用的」更能让下一个版本变好。

  • 识别结果异常:附脱敏票样 + 批次号,方便复现
  • 功能建议:说一下你的实际报销流程,比直接说「加个按钮」更有帮助
  • 部署 / 下载问题:注明版本、系统与报错文字
THANK YOU / 支持一下

如果它替你省下了一个下午

这套小工具没有服务器、没有账号、没有遥测,也不会向你要一分钱。它只是安安静静地待在一台电脑里,把一叠杂乱的发票,变成一张能核对、能交差的表格。

如果某天它刚好让你少加了一次班、早一点合上电脑,欢迎扫码请我喝杯咖啡。金额随意,一杯热水的心意也一样暖。

你留下的每一份鼓励,都会变成下一个版本里更准的字段、更稳的批量识别,和更少的「待核对」。

当然,不赞赏也完全没关系——用得顺手、提个 issue、指出一个识别错的字段,都是很好的回礼。谢谢你愿意把它用起来。

— 写给每一位把它装进电脑的人 · L
L 的微信赞赏码
微信扫码 · 感谢每一份心意
05 / FAQ

几个常被问到的问题

发票数据会上传到更新服务吗?

不会。更新服务只提供静态页面、版本清单与发布包下载,没有任何业务接口,也不接收上传。识别、台账、导出全部在你的本机完成。

为什么有两个版本,体积差这么多?

带文字层的电子发票 PDF 不需要 OCR 模型,所以「仅 PDF 版」只有 51 MB;图片与扫描件必须靠 PaddleOCR,完整版因此带上约 400 MB 的库与 133 MB 离线模型。exe 里没有 pip,运行时装不了,只能随包分发。

识别不准怎么办?

识别不出关键字段的票会标记「待核对」,详情里可以修改全部票面字段与明细行;OCR 原文与坐标也完整留着,方便对照。原始文件始终只读。

检查更新会强制升级吗?

不会。接口只返回「有没有新版本、去哪下载」,不推送、不自动下载、不改动本机任何文件。升不升、什么时候升,都由你决定。