getlago/lago
金融开源计量与按用量计费平台,把产品用量事件转化为账单、支付和收入分析。
项目做什么
Lago 位于产品用量和收入之间。应用上报用量事件,Lago 把事件聚合成可计费指标,套用定价、额度和抵扣,再生成发票并完成收款。它面向按 token、席位、交易、存储或自定义事件收费的 SaaS、AI、算力和 API 产品。项目以 API 为中心,REST API、各语言 SDK、Webhook 和 MCP Server 暴露同一套计费能力,同时提供面向产品、财务和运营团队的网页界面。
同一套引擎支持两种模式:Lago Direct 用来给自己的客户计费;Lago Embedded 用来在自己的平台内为你的客户提供白标计量与计费能力。
运行本地示例
仓库自带一个演示,用三笔示例 AI 请求走完计价流程,全程不访问 Lago Cloud。需要 Docker、curl 和 jq,并确保 8080 和 3001 端口空闲(可用 LAGO_DEMO_UI_PORT 和 LAGO_DEMO_API_PORT 修改)。
./examples/agentic-ai-demo/run.sh
脚本会用 Docker Compose 启动一个隔离的 Lago 实例,创建一次性的本地组织,并写入 token 事件。打开 http://localhost:8080,用 agentic-ai-demo@example.local / agentic-ai-demo-local-password 登录,进入 Customers → Agentic AI Demo Customer → Agentic AI Demo subscription → Usage 查看结果。清理演示的 Compose 项目和数据卷:
./examples/agentic-ai-demo/run.sh --cleanup
从源码自托管
本地源码部署需要克隆仓库、把生成的 RSA 私钥写入 .env,再启动容器:
git clone --depth 1 https://github.com/getlago/lago.git
cd lago
echo "LAGO_RSA_PRIVATE_KEY=\"$(openssl genrsa 2048 | openssl base64 -A)\"" >> .env
docker compose up -d
持久化存储、SMTP、TLS、对象存储、Redis、数据库配置和升级步骤见自托管部署指南。更大规模的部署可以使用 Helm Chart,并单独配置 dedicated workers。
接口与集成
核心计费流程通过 REST API 和 OpenAPI 规范、四种语言的 SDK(Node.js、Python、Ruby、Go)、Webhook 以及 CLI 使用。项目另提供 MCP Server 和 Python/JavaScript Agent SDK 用于计量 LLM 用量,以 MIT 协议在独立仓库发布。
计量与定价和支付处理相互独立,可以接入 Stripe、Adyen、GoCardless 或其他服务商,而不必让对方的产品目录成为计费的事实来源。自托管时,Agent 会继承其 Lago API key 的权限,因此这类凭据应按高权限对待,涉及金额变化的操作在执行前需要人工确认。
使用约束
- 许可证: 平台采用 AGPLv3;Agent SDK 和 MCP Server 在独立仓库以 MIT 发布。
- front 容器升级: 从 v1.56.0 起,front 容器以 uid 65532 运行 nginx,根文件系统只读,监听 8080(TLS 为 8443)而非 80/443,并且需要可写的
/tmp。自定义 Compose 文件、Kubernetes 清单和反向代理都要指向新容器端口,并挂载tmpfs或 emptyDir。 - 数据采集: 自托管实例默认收集基础产品分析数据,文档提供退出方式;Lago 声明不收集客户 PII 或财务数据。
- 云托管与自托管: 两者的 API 和 SDK 相同,只有 base URL 不同;Lago Cloud 是带商业支持的托管选项。
HotRepo 点评
Lago 是一套有真实代码和 AGPLv3 许可证的完整计费引擎,不是托管服务的薄包装。2026-11-14 它出现在 Go 语言日榜第 10 名,当天新增 27 Star,但站内没有记录到它的全语言日榜名次。围绕这个项目的公开讨论更多集中在计费基础设施本身:2022 年关于工程师计费噩梦的帖子,以及 2024 年用 ClickHouse 扩展事件引擎的文章,都获得了数百点关注;ClickHouse 的讨论里既有称赞,也有用户报告该数据库的运维痛点。这些讨论说明按用量计费的问题是普遍存在的,但并不能说明 Lago 在某个具体部署中的表现。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。