devaccuracy/ledgerforge
金融面向钱包、分账、打款和计费的开源自托管复式记账账本,并为 AI 智能体提供由服务端强制执行的消费额度与审批限制。
项目介绍
LedgerForge 是一个用 Go 编写的自托管复式记账账本,用来记录钱包转账、打款、计费扣款、资金预留和退款。所有入账以整数记账,每笔已生效转账对来源借方和对目标贷方金额相同,因此余额精确且可对账。每个 API key 都可配置币种额度、白名单、每日预算和审批冻结,由服务端强制执行,而不是依赖客户端;AI 智能体使用的 key 也走这套限制。
它适合做储值钱包、打款出款、市场平台分账或按量计费的团队。对外提供 HTTP API、Go 库和本地 MCP server 三种接入方式。PostgreSQL 存储财务记录,Redis 运行队列和后台任务;接入支付通道和定义会计模型需要应用自己完成。
README 说明的关键性质包括:金额用整数加显式精度表示(精度 100 时 1250 表示 12.50);已入账记录不可变,更正和退款通过关联交易生成;以唯一交易 reference 保证幂等;只读命令 ledgerforge verify 可重放会计证据,配合版本化审计链和可导出检查点做外部锚定验证。
快速开始
需要 Docker Compose 和 Python 3。本地演示会构建当前 checkout、生成随机主密钥、执行迁移,并把 API 绑定在 127.0.0.1:5001:
git clone https://github.com/devaccuracy/ledgerforge.git
cd ledgerforge
./examples/quickstart/start.sh
./examples/quickstart/transfer.sh
演示创建两个 USD 余额并同步入账 12.50:来源账户获得有上限的演示透支额度,最终为 -1250 单位,目标账户为 1250 单位;用同一 reference 重试时余额应保持不变。停止演示:
docker compose -p ledgerforge-demo -f examples/quickstart/compose.yaml down
具体请求体和凭据见快速开始示例说明,对外部署前请读部署指南。
安装与部署
Linux、macOS、Windows 的发行包(含 ledgerforge-mcp)在 GitHub Releases 下载,并用 checksums.txt 校验。容器镜像发布于 ghcr.io/devaccuracy/ledgerforge;Go 1.26.9 及以上可用 go install github.com/devaccuracy/ledgerforge/cmd/ledgerforge@v1.0.0 从源码安装。安装后先运行 ledgerforge version,复制示例配置并把 server.secret_key 换成随机密钥,执行 ledgerforge migrate up 再启动服务。升级已有数据库前请先看升级说明。
使用约束
- 有状态依赖为 PostgreSQL 和 Redis;搜索、指标和 OpenTelemetry 为可选组件。
- 项目只负责记账,接入支付通道和定义会计模型需要应用侧自行实现。
- 演示用凭据、数据库默认值和仅绑定
127.0.0.1:5001的配置不能直接用于公网部署。 - 智能体限制依靠服务端强制的 API key;独立审批人的凭据应放在智能体权限之外,详见智能体安全指南。
:main镜像跟踪经过测试的主分支提交;生产环境应通过LEDGERFORGE_IMAGE固定发行标签或摘要。- 采用 Apache 2.0 许可,没有许可证密钥或功能门控;托管版 Cloud 运行的是同一套开源核心。
HotRepo 点评
该项目在 2026-11-11 的 Go 日榜上以第 16 名首次出现,当时共 217 star、29 fork,当日新增 69 star。这只是一个单日快照,不足以说明持续趋势。技术上值得注意的地方,是把消费限制放在账本和 API key 层而不是智能体客户端,这对把自主智能体接入打款流程的团队很关键;此外验证工具和 MCP 支持都在同一套开源核心里。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。