Demo Day · Product & Architecture
01 / 12
Tokener.ai
Prepaid model access control plane

把模型调用变成
可预付、可治理的基础设施

一套 API 入口,统一管理模型、密钥、余额、用量与账单;底层继续复用成熟的 LiteLLM 模型数据面。

AudienceCompany Demo Day
Date2026-07-21
Scope产品功能 · 组件边界 · 技术实现
01 · Product thesis
02 / 12
What it is

不是又一个聊天框,是模型调用周围的控制平面

Tokener.ai 让团队用熟悉的 SDK,经过一个统一入口访问多个模型,并在调用前后完成资金与治理闭环。

Prepaid

先充值,再消耗

余额来自可审计账本;余额耗尽后,新的模型请求被预算层阻止。

Compatible

继续使用现有 SDK

提供 OpenAI 与 Anthropic 兼容路径,不要求客户引入新的客户端库。

Observable

密钥、用量、日志一处管理

从创建访问凭证,到查看按天、模型、密钥聚合的消费,都在 Console 完成。

01注册
02充值
03创建密钥
04切换 Base URL
05调用模型
06查看用量
02 · Customer surfaces
03 / 12
What customers get

用户看到的是一条完整、自助的模型消费路径

不是把供应商后台重新包装一遍,而是围绕组织、余额和 Tokener API key 重新组织体验。

01

账号与组织

注册、登录、邮箱验证、Google OAuth 与组织上下文。

02

充值与余额

购买预付额度、查看余额、账本、购买记录与账单入口。

03

API 密钥

创建时仅展示一次;异步激活、状态同步、限额调整与吊销。

04

模型目录

查看可用模型、价格与文档;仅展示 Tokener 管理的公开模型。

05

用量分析

按日期、模型、密钥查看用量趋势、聚合与消费热力图。

06

请求日志

24h / 7d 过滤并分页查询,使用 request ID 定位问题。

03 · Request path
04 / 12
The hot path

模型调用走短链路,控制逻辑留在链路之外

Console 不代理模型请求;Gateway 也不查数据库。热路径只负责协议、安全边界与流式透传。

Customer OpenAI / Anthropic SDK

只替换 base_url 与 API key。

Tokener Rust Gateway

请求 ID、头清理、错误协议、并发边界与 SSE 透传。

Data plane LiteLLM

密钥与预算执行、路由、回退、限流、供应商适配与计费源数据。

Providers Model APIs

由 LiteLLM 选择实际部署并发起调用。

Console自助产品与 Webhook 入口
Jobs异步同步、导入、结算、对账
PostgresTokener 账本与控制面事实

POST /v1/chat/completions · POST /v1/responses · POST /v1/embeddings · POST /v1/messages · GET /v1/models

04 · System architecture
05 / 12
Application topology

一个产品控制面,两条彼此隔离的运行路径

浏览器和运营流量进入产品控制面;SDK 模型流量只经过 Gateway 与 LiteLLM。数据库不在模型调用热路径上。

Tokener 产品与控制面CUSTOMER + OPERATOR
apps/web
Web

官网、文档、公开模型目录

apps/console
Console

账号、充值、余额、密钥、用量

+
apps/admin
Admin

内部运营、上游、客户与风控

Domain packages · billing · keys · catalog · usage · upstreams · auth · db
apps/jobs
Jobs

命令、同步、导入、结算、对账、重试

external
Stripe

支付、退款、账单与 Webhook

模型调用数据面CUSTOMER SDK
api.tokener.ai
Rust Gateway

公开协议、请求身份、错误与流式边界

private runtime
LiteLLM

密钥预算、模型路由、回退与供应商适配

external
Model Providers

实际模型推理与响应

PostgreSQL · Tokener durable truthledger · keys · catalog · usage · commands
LiteLLM own storesseparate database + Redis boundary
唯一管理桥:Jobs ↔ LiteLLM Admin API;Gateway 只调用 LiteLLM model API
05 · Components
06 / 12
Six deployable surfaces

六个组件,各自只做一类事

产品品牌是 Tokener.ai;ai-gateway 只是内部代码仓库名。

apps/web

Marketing & Docs

官网、模型展示、多语言文档、搜索与 SEO。运行时读取公开模型目录。

apps/console

Customer Console

登录、充值、余额、密钥、模型、用量、日志,以及 Stripe Webhook 入口。

apps/admin

Internal Admin

内部模型、上游、客户、退款、风控与人工调整;OIDC + 角色权限。

apps/jobs

Async Jobs

支付后处理、密钥与预算同步、用量导入、结算、对账与重试。

apps/gateway

Public Model API

无状态 Rust facade;负责五条公开模型路径和稳定协议边界。

packages/*

Domain Packages

billing、keys、catalog、usage、upstreams、auth、db、litellm、design。

06 · Gateway & evolution
07 / 12
Stable facade, replaceable execution

Rust Gateway 守住客户契约,LiteLLM 提供当前执行能力

两者不是重复实现。多一跳换来的是Tokener 对公开 API 的长期所有权,以及后端数据面可演进而不改客户接入。

TOKENER RUST GATEWAY · PUBLIC FACADE

小而严格的同步边界

  • 只接受五条公开模型路径
  • 生成 request ID,清理身份与 hop-by-hop headers
  • 统一 OpenAI / Anthropic 错误与有界 SSE
  • 负责过载保护、超时、背压与优雅退出
  • 不持有数据库、Admin key 或供应商凭证
LITELLM · PRIVATE EXECUTION DATA PLANE

广而成熟的模型执行层

  • 供应商集成、请求转换与模型协议
  • virtual key、team、budget 与 RPM / TPM
  • 路由、回退、冷却与健康执行
  • 流式调用、usage 与 spend 源数据
  • 代价是额外私有依赖;不会暴露给客户
NOWGateway → LiteLLM

所有模型调用由现有 LiteLLM 数据面执行。

GATED NEXT按能力迁移选定路由

只有容量、可靠性、计费与运营门槛通过,才引入原生执行 lane。

EVENTUALLYLiteLLM 可选或移除

可混合运行,也可在完整 cutover 后替换;不是按日期重写。

稳定 API origin五条公开路径Tokener keys & creditsrequest IDserrors & streamingmodels & usage
07 · Ownership
08 / 12
Tokener × LiteLLM

我们不重写 LiteLLM,我们把产品边界补完整

最关键的架构选择:账本是计费事实,LiteLLM budget 是执行层;两者最终一致并持续对账。

能力Tokener.ai 负责LiteLLM 负责
客户产品用户、组织、充值、余额、账本、计划与账单不负责
访问凭证Tokener key 生命周期、限额意图与审计virtual key / team / budget 执行
模型商品公开目录、价格展示、可用性与托管部署意图供应商调用、实际部署与模型协议
请求执行Gateway 稳定公开协议与透传边界路由、回退、限流、流式、供应商适配
用量与计费导入、结算、聚合、客户展示与对账原始 spend / usage 数据源
运行时生命周期只连接现有 LiteLLM,不部署或升级它独立运行与扩缩容
08 · Money & access
09 / 12
From payment to spend

充值、密钥、预算、调用、结算形成一个可恢复闭环

外部写入都可能重试,所以状态先持久化,再由 Jobs 异步推进;成功跳转页本身绝不发放额度。

01Stripe 支付

客户完成 checkout。

02Webhook 入箱

验签、去重、持久化、快速返回。

03账本入账

Jobs 发放额度并更新余额投影。

04密钥同步

持久命令创建 LiteLLM team / key。

05预算执行

LiteLLM 在请求路径阻止超额消费。

06用量结算

导入 spend,记账、聚合并对账。

Durable

持久命令

先记录 desired state,再执行外部写入;失败可重试、可观察。

Idempotent

幂等事实

Stripe event、支付标识、账本来源和游标约束避免重复入账。

Reconciled

最终一致

账本、预算、用量不是假装强一致,而是用同步与对账收敛。

09 · Technology
10 / 12
Boring, explicit technology

技术栈按运行时职责拆分,而不是按语言炫技

交互产品用 Next.js;领域状态用 TypeScript 包;高吞吐热路径用 Rust;事实统一落 PostgreSQL。

Web surfaces
Next.js 16React 19TypeScriptnext-intlBetter AuthShared design tokens
Domain layer
BillingKeysCatalogUsageUpstreamsZodStripe
Data & async
PostgreSQLDrizzle ORMSKIP LOCKEDAdvisory locksPolling workersAppend-only ledger
Model API
Rust 2024AxumTokioReqwestSSE passthroughPrometheus metrics
Delivery
pnpm + TurborepoDockerKustomizeKubernetes HPA / PDBVitestRust tests
10 · Production shape
11 / 12
Designed for failure

重点不是“能跑”,而是失败以后还能恢复

01

热路径无状态

Console 与 Gateway 可横向扩展;Gateway 不持有数据库、供应商密钥或 LiteLLM admin key,也不重试模型请求。

02

异步任务可多副本

Jobs 用行锁、唯一约束、游标、版本确认与退避,保证 at-least-once 下仍然幂等。

03

资金事实可审计

账本 append-only,余额走投影;支付跳转不入账,Webhook 事件和外部操作都有稳定身份。

04

边界默认收紧

只有 Jobs 能调用 LiteLLM Admin API;只有 Gateway 服务模型路径;Admin 不暴露公网模型入口。

每个模型响应都由 Gateway 生成新的 x-request-id / request-id,错误也保持 OpenAI 或 Anthropic 协议形状。
11 · Live demo
12 / 12
Suggested 7-minute run

从一笔额度,
到一次可追踪调用

00:00
官网与模型Tokener 是什么、提供哪些模型与文档。
01:00
登录与余额组织、预付额度、账本与购买记录。
02:30
创建 API key一次展示、异步激活、状态可见。
03:30
真实模型调用替换 base URL,演示流式响应与 request ID。
05:00
用量与日志按模型、密钥查看聚合,并定位刚才的请求。
06:30
一句话收束模型调用归 LiteLLM;产品、资金与治理归 Tokener。
$ curl api.tokener.ai/v1/chat/completions \ -H "Authorization: Bearer tk_…" \ -d '{ "model": "gpt-4.1-mini", "messages": [{ "role": "user", "content": "hello" }], "stream": true }' HTTP/2 200 x-request-id: req_… data: {"choices":[…]}
Tokener.ai = 预付模型访问控制平面 + 稳定兼容 API 入口