Usage 服务

Usage 与 Credits 计费

AIService 生成技术用量并可靠写入 Credits Charge。

模型或 Channel 的 bill 根据最终输出生成 Credits 账单。AIService 使用同一个 usage_id 持久化 AI Usage,并以 ai:${usage_id} 作为幂等键调用 CreditsService

const credits_service = new CreditsService();
const ai_service = new AIService({ credits: credits_service });

ai_service.use({
  id: "example-model",
  channel_id: "example-provider",
  name: "Example Model",
  bill: ({ output }) => ({
    credits: calculate_credits(output),
    note: "AI model usage",
  }),
  runtime: provider_runtime,
});

余额不足会拒绝结算;数据库或 Credits 技术错误会进入可重试状态。重试不会重复写 AI Usage,也不会重复扣费。Usage 查询只展示已经 applied 的 Credits Charge,因此账务趋势始终以 Credits Ledger 为准。