目录

TaxHacker:自托管 AI 会计应用完全指南

TaxHacker:自托管 AI 会计应用完全指南

§1 学习目标

完成本文档后,你将能够:

  • ✅ 理解 TaxHacker 的定位与设计理念
  • ✅ 掌握 TaxHacker 的核心功能与使用方法
  • ✅ 部署和配置 TaxHacker 自托管实例
  • ✅ 配置 AI 提供商(OpenAI/Gemini/Mistral)
  • ✅ 自定义分类、项目和字段
  • ✅ 导出税务报告和数据
  • ✅ 进行本地开发

§2 项目概述

2.1 什么是 TaxHacker?

TaxHackerGitHub 仓库)是一款自托管的 AI 会计应用,专为自由职业者、独立开发者(indie hackers)和小型企业设计,利用现代 AI 技术自动化费用和收入跟踪。

官方描述

TaxHacker is a self-hosted accounting app designed for freelancers, indie hackers, and small businesses who want to save time and automate expense and income tracking using the power of modern AI.

官网taxhacker.app

2.2 核心数据

指标数值
Stars3.6k (3,599)
Forks580
Watchers39
提交数144
Releases10 (latest: v0.6.1)
贡献者5
许可证MIT
语言TypeScript 99.2%

2.3 主要贡献者

贡献者说明
vas3k主开发者
H1D贡献者
danfimov贡献者
mmplisskin贡献者
dependabot[bot]自动化依赖更新

2.4 项目定位

TaxHacker 解决的核心问题:

问题TaxHacker 解决方案
手动录入繁琐AI 自动识别和提取文档数据
收据管理混乱结构化数据库存储,分类整理
多货币计算复杂自动历史汇率转换(包含加密货币)
税务报告耗时一键导出税务准备报告
数据隐私担忧完全自托管,数据完全由你控制

§3 核心功能详解

3.1 AI 文档分析

功能:拍摄收据照片或上传发票 PDF,TaxHacker 自动识别、提取、分类和存储所有信息到结构化数据库。

能力

能力说明
上传整理将多个文档存储在"未分类"中,直到准备好手动或 AI 处理
AI 数据提取自动提取日期、金额、 vendor、项目等关键信息
自动分类根据内容自动将交易分类到相关类别
项目拆分从发票中提取单个项目并拆分为独立交易
结构化存储所有内容保存在有序数据库中便于过滤和检索

支持的 AI 提供商

提供商状态
OpenAI✅ 支持
Google Gemini✅ 支持
Mistral✅ 支持
本地 LLM🔜 即将支持

支持的文档类型

  • 商店收据
  • 餐厅账单
  • 发票
  • 银行对账单
  • 信函
  • 手写收据(任何语言、任何货币)

3.2 多货币支持

功能:自动检测文档中的货币并使用历史汇率转换为你的基础货币。

能力

能力说明
外币检测自动识别任何文档中使用的货币
历史汇率使用实际交易日期的汇率
全球覆盖支持 170+ 世界货币
加密货币支持 14 种流行加密货币(BTC, ETH, LTC, DOT 等)
手动输入当需要更多控制时可手动输入

支持的加密货币

BTC, ETH, LTC, DOT, 以及其他 10 种主流加密货币。

3.3 可定制分类、项目和字段

功能:创建自定义字段、项目和类别以适应你的特定需求、行业标准或国家要求。

能力

能力说明
自定义类别和项目创建自己的类别和项目以任何方便的方式对交易进行分组
自定义字段创建无限数量的自定义字段以从发票中提取更多信息(如同在 Excel 中创建额外的列)
全文搜索在识别的文档实际内容中搜索
高级过滤使用搜索和过滤选项精确找到所需内容
AI 驱动提取编写自己的提示词以从文档中提取任何自定义信息
批量操作一次处理多个文档或交易

3.4 自定义 LLM 提示

功能:完全控制 TaxHacker AI 处理文档的方式。为字段、类别和项目编写自定义 AI 提示,或修改内置提示以匹配你的特定需求。

能力

能力说明
可定制系统提示修改设置中的通用提示模板以适应你的业务
字段/项目特定提示为行业特定文档创建自定义提取规则
完全控制调整字段提取优先级和命名约定以匹配工作流程
行业优化微调 AI 以理解你的特定类型业务文档
完全透明AI 提取过程的每个方面都在你的控制之下

TaxHacker 100% 可适应和调整以满足你的独特要求——无论是需要从文档中提取电子邮件、地址、项目代码还是任何其他自定义信息。

3.5 数据过滤和导出

功能:处理文档后,轻松以你需要的方式查看、过滤和导出完整的交易历史。

能力

能力说明
高级过滤按日期范围、类别、项目、金额和任何自定义字段过滤
灵活导出将过滤的交易导出为包含所有附加文档的 CSV
税务准备报告为会计或税务顾问生成综合报告
数据可移植性下载完整数据存档以迁移到其他服务——你的数据永远属于你

3.6 自托管模式

功能:通过本地存储和自托管选项保持对财务数据的完全控制。TaxHacker 尊重你的隐私并让你完全拥有你的信息。

能力

能力说明
家庭服务器就绪在你自己的基础设施上托管以获得最大隐私和控制
Docker 原生使用提供的 Docker 容器和 compose 文件简化设置
数据所有权你的财务文档永远不会离开你的控制
无供应商锁定导出所有内容并随时迁移
透明操作完全访问源代码和完整的操作透明度

§4 部署与自托管

4.1 Docker 一键部署

curl -O https://raw.githubusercontent.com/vas3k/TaxHacker/main/docker-compose.yml
docker compose up

Docker Compose 包含

  • TaxHacker 应用容器
  • PostgreSQL 17 数据库(或连接到现有数据库)
  • 启动时自动数据库迁移
  • 持久数据存储的卷挂载
  • 生产就绪配置

4.2 环境变量配置

变量必需描述示例
UPLOAD_PATH文件上传和存储的本地目录./data/uploads
DATABASE_URLPostgreSQL 连接字符串postgresql://user@localhost:5432/taxhacker
PORT应用运行的端口7331 (默认)
BASE_URL应用的基础 URLhttp://localhost:7331
SELF_HOSTED_MODE设为"true"启用自托管模式true
DISABLE_SIGNUP禁用新用户注册false
BETTER_AUTH_SECRET认证密钥(最少 16 字符)your-secure-random-key

4.3 LLM 提供商配置

OpenAI

OPENAI_MODEL_NAME=gpt-4
OPENAI_API_KEY=your-api-key

Google Gemini

GOOGLE_MODEL_NAME=gemini-pro
GOOGLE_API_KEY=your-api-key

Mistral

MISTRAL_MODEL_NAME=mistral-large
MISTRAL_API_KEY=your-api-key

4.4 自定义 Docker 配置

services:
  app:
    image: ghcr.io/vas3k/taxhacker:latest
    ports:
      - "7331:7331"
    environment:
      - SELF_HOSTED_MODE=true
      - UPLOAD_PATH=/app/data/uploads
      - DATABASE_URL=postgresql://postgres:postgres@localhost:5432/taxhacker
    volumes:
      - ./data:/app/data
    restart: unless-stopped

§5 本地开发

5.1 技术栈

技术说明
Next.js 15+前端和 API
Prisma数据库模型和迁移
PostgreSQL数据库(推荐 PostgreSQL 17+)
GhostscriptPDF 处理
GraphicsMagick图像处理

5.2 开发环境设置

# 克隆仓库
git clone https://github.com/vas3k/TaxHacker.git
cd TaxHacker

# 安装依赖
npm install

# 设置环境变量
cp .env.example .env
# 编辑 .env 配置
# 确保设置 DATABASE_URL 为 PostgreSQL 连接字符串
# 示例: postgresql://user@localhost:5432/taxhacker

# 初始化数据库
npx prisma generate && npx prisma migrate dev

# 启动开发服务器
npm run dev

访问 http://localhost:7331 查看本地 TaxHacker 实例。

5.3 生产构建

# 构建应用
npm run build

# 启动生产服务器
npm run start

§6 使用指南

6.1 上传和处理文档

  1. 上传文档:拍摄收据照片或上传发票 PDF
  2. AI 分析:TaxHacker 自动识别和提取数据
  3. 分类整理:交易自动分类或手动调整
  4. 存储检索:所有内容保存在结构化数据库中

6.2 管理交易

操作说明
添加交易手动添加或 AI 自动提取
编辑交易修改任何交易详情
删除交易删除不需要的交易
批量操作一次处理多个交易

6.3 导出数据

  1. 应用过滤:使用日期、类别、项目等过滤
  2. 选择格式:CSV 导出
  3. 生成报告:创建税务报告
  4. 下载存档:完整数据迁移

§7 自定义配置

7.1 创建自定义字段

  1. 进入设置 → 自定义字段
  2. 点击"添加字段"
  3. 填写字段名称和描述
  4. 编写 AI 提取提示词
  5. 保存并应用到未来文档

7.2 创建自定义类别

  1. 进入设置 → 类别
  2. 点击"添加类别"
  3. 填写类别名称和图标
  4. 设置分类规则(可选)
  5. 保存

7.3 编写自定义提示词

你是一个专业的发票数据提取助手。请从以下文档中提取:
- 供应商名称
- 交易日期
- 总金额(含税)
- 税额
- 明细项目

如果某字段不存在,请返回 null。

§8 安全与隐私

8.1 数据安全

安全措施说明
本地存储数据存储在你的服务器上
加密传输HTTPS 加密通信
认证保护BETTER_AUTH_SECRET 密钥认证
无数据共享财务文档永不离开你的控制

8.2 自托管优势

优势说明
完全控制你拥有所有数据
无订阅费用免费开源
数据迁移随时导出所有数据
隐私保护敏感财务信息不经过第三方

§9 故障排除

9.1 常见问题

问题解决方案
数据库连接失败检查 DATABASE_URL 是否正确
AI 提取失败检查 API 密钥是否有效
文件上传失败检查 UPLOAD_PATH 目录权限
PDF 处理失败确保安装 Ghostscript 和 GraphicsMagick

9.2 日志查看

# Docker 日志
docker compose logs -f app

# 数据库日志
docker compose logs -f db

§10 贡献与支持

10.1 贡献方式

方式说明
🐛 Bug 报告详细描述遇到的问题
💡 功能请求分享新功能和改进想法
🔧 代码贡献提交拉取请求改进应用
📚 文档帮助改进文档和指南
🎥 内容创作视频、教程和评论帮助我们接触更多用户

10.2 支持项目

如果你觉得 TaxHacker 对你有帮助,考虑支持它的持续发展!


§11 常见问题

Q1:TaxHacker 支持哪些语言?

支持任何语言的文档,包括收据、发票和手写内容。

Q2:支持哪些货币?

支持 170+ 世界货币和 14 种流行加密货币(BTC, ETH, LTC, DOT 等)。

Q3:可以自托管吗?

可以。通过 Docker Compose 可以轻松自托管在你自己基础设施上。

Q4:数据存储在哪里?

默认存储在本地 PostgreSQL 数据库中,完全由你控制。

Q5:支持哪些 AI 提供商?

目前支持 OpenAI、Google Gemini 和 Mistral。本地 LLM 支持即将推出。

Q6:如何导出数据?

支持 CSV 导出,包含所有附加文档,可以生成税务准备报告。


§12 总结

12.1 核心优势

优势说明
AI 驱动自动识别和提取文档数据
多货币支持 170+ 货币和 14 种加密货币
完全可定制自定义字段、类别、提示词
自托管数据完全由你控制
开源免费MIT 许可证,无订阅费用

12.2 适用场景

场景适用性
自由职业者费用跟踪、税务准备
独立开发者项目成本核算、发票管理
小型企业财务记录、报告生成
远程团队多货币报销处理

12.3 项目信息

项目信息
Stars3.6k
Forks580
许可证MIT
语言TypeScript 99.2%
最新版本v0.6.1
最新更新Mar 13, 2026

12.4 相关链接

资源链接
GitHubhttps://github.com/vas3k/TaxHacker
官网https://taxhacker.app
演示视频https://taxhacker.app/landing/video.mp4

文档版本 1.0 | 撰写日期:2026-04-01 | 基于 TaxHacker (3.6k Stars, MIT)