Dograh使用量(Usage)计费机制详解:通话时长、Token费用如何统计
2026/8/31 12:50:42 网站建设 项目流程

Dograh使用量(Usage)计费机制详解:通话时长、Token费用如何统计

【免费下载链接】dograhOpen source voice AI platform. Self-hosted alternative to Vapi and Retell. On Prem, BYOK across Speech to Speech or LLM/STT/TTS, with a visual workflow builder, MCP native and telephony support.项目地址: https://gitcode.com/GitHub_Trending/do/dograh

Dograh是一个开源的语音 AI 平台(Open source voice AI platform),也是自托管场景下 Vapi、Retell 的免费替代方案。它支持 On-Prem 私有部署、BYOK(自带密钥),覆盖 Speech to Speech 或 LLM/STT/TTS 全链路,并提供可视化工作流构建器、MCP 原生支持与电话系统集成。对于自托管用户,最关心的莫过于一个问题:Dograh 的用量(Usage)到底是怎么统计和计费的?通话时长和 Token 费用各算在哪里?这篇文章带你从源码层面完整拆解 Dograh 使用量计费机制。

一、先搞懂两个计费维度:通话时长 vs Token 费用 📊

Dograh 的每一通对话(Workflow Run)在数据库中都保存了两个关键字段:

  • usage_info(用量信息):记录通话时长、Token 消耗等"用量"数据;
  • cost_info(成本信息):记录换算后的美元成本,例如total_cost_usd

这两个字段定义在运行记录模型 models.py 中:

一句话总结:时长是"物理量",Token 是"AI 消耗量"。使用 Dograh 托管模型时,平台按两者综合计费;使用 BYOK(自己的 OpenAI、Gemini 等密钥)时,模型费用直接由你的供应商账单产生,Dograh 只统计用量不赚差价。

二、通话时长如何统计:call_duration_seconds ⏱️

1. 时长从哪来?

每次通话结束后,系统会把实际通话秒数写入usage_info.call_duration_seconds字段。后续所有报表、筛选、计费都以这个字段为准。你可以在数据筛选层看到这个映射(filters.py):

  • duration→ 按usage_info.call_duration_seconds过滤
  • tokenUsage→ 按cost_info.total_cost_usd过滤

2. 时长如何参与扣费?

通话结束后,Dograh 会触发一个"计费钩子",把完成状态上报给计费中心 MPS(Managed Platform Services),相关逻辑在 workflow_run_billing.py:

  • 如果存在平台签发的MPS 关联 ID(correlation id),MPS 会以模型服务的实际用量为准绳计算时长;
  • 否则,Dograh 直接上报本次运行的通话时长。

💡 注意:Dograh本身不扣费,它只负责"上报用量",真正的积分(Credits)账本由 MPS 统一持有。

运行完成后,你可以在运行详情页查看完整上下文与追踪信息:

三、Token 费用如何统计:cost_info 与缓存折扣 🤖

1. Token 用量的采集

在实时通话管线中,系统通过pipeline_metrics_aggregator持续累加每次 LLM 调用的 Token 用量,包括输入 Token、输出 Token,以及缓存 Tokencache_read_input_tokenscache_creation_input_tokens)。缓存命中的输入 Token 在计费时按折扣计算,能显著降低长上下文对话的成本。

2. 费用如何换算?

累加完成后,按你所用模型的单价折算成cost_info.total_cost_usd(美元),这就是"Token 费用"的最终落点。使用 Dograh 托管模型(Dograh tab)时,费用计入你的 Dograh 积分余额;使用 BYOK 时,Token 费用由供应商直接向你收取。

四、通话前的余额预检:0.10 美元门槛 💰

并不是"先打电话后算钱"。在每次通话启动前,Dograh 会执行一次配额检查(Quota Check),核心规则在 quota_service.py:

  • 账户剩余积分必须 ≥0.10 美元MINIMUM_DOGRAH_CREDITS_FOR_CALL),否则直接拒绝发起通话;
  • 托管版(Hosted):以"组织(Organization)"为计费主体;
  • 开源版(OSS):以"服务密钥(Service Key)"为计费主体,每个密钥独立扣减积分。

服务密钥在开发者页面创建和管理,格式形如mps_sk_xxx

⚠️ 如果服务密钥关联的组织积分不足,系统会明确提示"insufficient credits",并建议充值或切换为 BYOK 模型供应商。

五、月度用量报表:每天的费用是怎么算出来的 📅

Dograh 内置按自然月聚合的用量报表(organization_usage_client.py),计算规则非常直观:

指标计算方式
通话分钟数总通话秒数 ÷ 60
当日费用(USD)总秒数 × 组织每秒单价(price_per_second_usd)
Dograh Token费用(USD) × 1001 美分 = 1 Token
报表周期自然月(每月 1 日至月末)

其中"每秒单价"是组织级配置字段(price_per_second_usd),自托管部署可自由定价。按天聚合时会先转换到你设置的时区再分组,保证跨时区团队看到的报表一致。

六、常见疑问 FAQ ❓

Q1:自托管(OSS)模式也收费吗?A:平台本身免费。只有当你选择使用 Dograh 托管的 AI 模型(填入 Dograh Service Key)时,才按服务密钥扣减积分;全部使用 BYOK 时,Dograh 不产生任何模型费用。

Q2:通话时长和 Token 会重复计费吗?A:不会。通话时长对应平台侧的通话/语音链路成本,Token 对应 LLM 推理成本,两者分属不同账目,各自独立统计。

Q3:哪里能查到每次通话的详细用量?A:每通对话的usage_infocost_info都保存在运行记录中,可通过 Runs 列表按durationtokenUsage筛选,也可在报表页查看月度聚合结果(organization_usage.py)。

写在最后 🎯

Dograh 的使用量计费机制可以浓缩为一句话:通话时长按秒计量、Token 按模型单价折算、余额在通话前预检、报表按自然月聚合。作为 Vapi / Retell 的开源自托管替代,它的计费逻辑透明可控——你既可以用 Dograh 托管模型开箱即用,也可以 BYOK 把成本压到最低。

想深入了解计费源码,可以从 quota_service.py(余额预检)、workflow_run_billing.py(用量上报)、organization_usage_client.py(报表聚合)三个文件入手。

【免费下载链接】dograhOpen source voice AI platform. Self-hosted alternative to Vapi and Retell. On Prem, BYOK across Speech to Speech or LLM/STT/TTS, with a visual workflow builder, MCP native and telephony support.项目地址: https://gitcode.com/GitHub_Trending/do/dograh

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询