TaxHacker
vas3k/TaxHacker加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

自由职业者最头疼的事情是什么?不是找不到客户,而是年底整理那一抽屉的发票——餐厅小票、超市购物、机票酒店,每一张都要手动录入Excel,汇率换算还要查历史日期,一个不小心税就报错了。TaxHacker 做的事很简单:拍张照,AI 帮你全部分类好。
TaxHacker 由独立开发者 vas3k(来自柏林的软件工程师)开源,主打"AI 驱动的自托管记账"。这个名字最早是一个税务优化工具的实验项目,后来被重新定位为面向自由职业者、独立开发者和小型团队的 AI 报销管理工具。截至 2026 年 GitHub 星标已突破 6714★,持续活跃维护。
TaxHacker 主界面:事务列表 + 仪表盘
TaxHacker 的核心逻辑是:上传收据/发票照片 → LLM 自动识别结构化数据 → 存入数据库。支持的文件格式包括:纸质收据、餐厅账单、发票 PDF、银行对账单,甚至手写小票。
识别的字段涵盖:商品名、数量、单价、总价、日期、商家名称、税率、货币类型——全部自动提取,无需手动填写。
AI 扫描识别,支持多语言收据
系统支持 170+ 世界货币和 14 种主流加密货币(BTC、ETH、LTC 等),自动根据交易发生日的汇率换算成基准货币。这意味着你报销一张 2023年的欧元发票,系统会自动查到那天的汇率。
多货币自动换算界面
TaxHacker 不只是一个收据扫描器,它本质上是一个结构化数据库。你可以创建无限多的自定义字段,每个字段可以绑定自己的 LLM 提示词,告诉 AI "从这张发票里提取 XX 信息"。这相当于 Excel 里自己加列,但加的是 AI 自动填写的列。
支持连接 Ollama、LM Studio、vLLM、LocalAI 等本地 LLM 服务商的 OpenAI 兼容 API 端点,完全不依赖商业 API,数据完全私有。README 中特别提到,使用本地模型时 OCR 识别效果因模型质量而异。
连接本地 Ollama 等 LLM,数据不出本地
前端:Next.js 15 + TypeScript,使用 App Router 架构,UI 组件基于 Radix UI。
后端:Next.js Server Actions 处理业务逻辑,Prisma ORM 连接数据库。
数据库:PostgreSQL 17,推荐生产环境部署。
AI 层:LangChain 作为 LLM 抽象层,支持 OpenAI GPT 系列、Google Gemini、Mistral,并兼容任意 OpenAI 兼容 API 端点。
LangChain 的引入让项目可以灵活切换不同的 LLM 提供商,而无需修改核心业务代码。在 ai/providers/llmProvider.ts 中,通过 LangChain 的 ChatOpenAI、ChatGoogleGenerativeAI、ChatMistralAI 等封装统一接口,ai/schema.ts 将用户自定义字段转换为 JSON Schema,喂给 LLM 做结构化输出。
项目代码质量较高:ESLint + Prettier 代码规范、GitHub Actions CI/CD、Pre-commit hooks、@sentry/nextjs 生产级错误追踪。README 明确拒绝"AI-slop PRs",要求先开 Issue 讨论,代码审查态度严谨。
快速部署(Docker):
curl -O https://raw.githubusercontent.com/vas3k/TaxHacker/main/docker-compose.yml
docker compose up
一条命令搞定:TaxHacker 应用容器 + PostgreSQL 17 + 自动数据库迁移 + 数据卷持久化。GitHub Container Registry (ghcr.io/vas3k/taxhacker) 提供预构建镜像,新版本自动构建发布,支持指定版本标签(如 v1.0.0)。
Dockerfile 采用多阶段构建:依赖安装层缓存(package.json + prisma schema 变化才重新安装)、构建产物最小化、生产镜像基于 node:26-slim。生产配置 docker-compose.production.yml 支持自定义域名和 HTTPS。
硬件需求:4GB+ RAM,2+ CPU 核心,2GB+ 磁盘空间。GPU 仅在使用本地 LLM 时需要。
配置项:.env.example 暴露了所有关键配置(API Key、数据库连接、自托管模式开关)。SELF_HOSTED_MODE 启用后会自动生成认证密钥、允许自定义 API Key、开启自动登录。
支持 CSV 导出,含附件打包,随时可迁移
TaxHacker 折射出 AI 应用落地的一个清晰方向:用 LLM 替代重复性信息录入劳动。LangChain 的广泛采用使得快速接入多种 LLM 成为可能;Next.js 15 全栈模式的成熟,让个人开发者也能独立完成一个完整的、有 Web UI 的 AI 应用。这类工具的核心价值不是"技术多先进",而是"省了多少手动时间"——对自由职业者而言,记账自动化是真实的痛点。