Docsbook
概览

AI 使用量和成本

计量 AI 是文档产品中这样一个部分:一个错误的数字就会让所有者蒙受实实在在的金钱损失。此页面介绍其机制:计量什么、一次调用如何定价、费用从哪个余额中扣除、之后可以查看什么,以及为什么两个不同屏幕上的数字可能合理地存在差异。

你将获得什么#

你的项目发起的每次 AI 调用——读者的问题、你在面板中的问题、翻译、嵌入运行、代理步骤——都会写入一行记录,其中包含产生该调用的界面、运行的模型、输入和输出的令牌数、提供商收取的费用,以及从余额中扣除的金额。每次计量的 MCP 工具调用也会写入自己的记录,其中包含工具名称及其计费类别。

通过这些记录,你可以按模型、按界面、按预算类别、按对话、按翻译语言和页面以及按MCP 工具查看支出——此外还可以查看每项的每日明细。分析概览中的支出摘要磁贴显示的是这两本账本的总和。

读取这些信息完全免费。回答读者的问题则不是。

哪些会消耗余额,哪些不会#

使用量按金额而非请求次数计量:每次调用都会消耗该调用 所对应的定价金额,因此选择更便宜的模型可以让相同的余额发挥更大作用。这 正是模型选择器的用途,并且所有套餐都提供该功能。

会消耗项目余额 不产生费用
在聊天中向读者提供的 AI 答案 阅读任何分析报告
你在面板中向助手提出的问题 托管和提供文档服务
后续建议和对话标题 提供已翻译的页面
翻译页面 品牌设置、主题、导航、SEO 设置
构建语义索引及其嵌入 注册 webhook 并接收传送内容
后台代理运行 MCP 发现调用 — 查找服务器能够执行的操作
计量的 MCP 工具调用 文档网站上的读者事件

读者事件会计价,但永远不会收费。“使用量”视图会在每类事件旁显示一个数值, 让你了解流量所代表的含义,而且不会从任何地方扣除费用。已计费金额和仅计量金额会 被保存在不同的总计中,正是为了确保同一屏幕不会将后者显示为发票。

使用你自己的提供商密钥进行的调用会被计量,但不会计费。该行仍会被 记录 — 包括提供商的实际成本、你的模型以及 token 数量 — 并且会按零而非直接 丢弃进行计价,因为仅仅由于使用了你的密钥,就让某个模型从明细中消失,会让人 误以为“我们从未调用过它”。这些调用也会单独计数,因此,与实际调用量相邻的 $0 会得到解释,而不会看起来像是出错。使用自己的密钥不会改变套餐 所包含的内容。

它是如何构建的#

两本计费账簿,刻意不合并为一张表#

账簿 每行对应 关键字段
令牌账单 一次 LLM 调用 界面 (ai-chatagent-chattranslateembedfollowupstitleother)、预算类别 (usersadmintranslationsembeddings)、模型、提示词/补全/总令牌数、提供商费用、调用时冻结的加价、持续时间、会话 ID、自有密钥标志、估算价格标志;翻译还会添加语言、页面,以及重新翻译而非复用的区块数量
MCP 调用账单 一次工具调用 工具名称、调用时冻结的计费类别、标价、持续时间、调用是否成功、执行该调用的后台运行

它们是分开的表,因为 MCP 调用没有令牌账单——它有名称、类别和固定标价——还因为很大一部分 MCP 调用(发现、列出你的项目)根本不属于任何项目。将这些调用记录到任意项目下,会产生虚构的归属,而使用情况图表随后会将其作为事实呈现。

调用如何定价#

  1. 以提供商自行报告的成本为准。 如果提供商返回了调用成本, 则原样使用该数值,并且该行不会标记为估算值。这一数值具有本地计算无法比拟的权威性, 因为它已经考虑了提示缓存折扣和执行过程中的价格变更。
  2. 否则,使用模型目录中的费率。 从响应中获取实际的提示词和补全令牌 数量,再分别乘以该模型每百万令牌的输入和输出费率。目录中包含十二种聊天模型及其各自的费率, 此外还有单独的嵌入模型目录。
  3. 无法识别的模型将采用有意偏高的后备费率, 并将该行标记为 estimated,这样每个界面都可以将其标记为猜测值, 而不是将其当作事实呈现。模型查找仅支持精确匹配,从不使用模糊匹配: 曾经就因为子字符串匹配,将一个 -mini 模型按其全尺寸同名模型计价。

随后会应用加价,并将其冻结到该行中,这样即使费率发生变化,历史记录也能保持准确。

令牌数量来自模型 API 自身的使用情况报告。Docsbook 不会根据文本长度对其进行估算。

厘分,以及至关重要的舍入#

提供商的成本以厘分存储——即一分钱的千分之一—— 因为一次廉价回答的成本只占一分钱的一小部分,而使用整分会将几乎每一行都舍入为零, 使明细图表产生误导。

实际从钱包中扣除的是整分。扣除金额会向下取整到整分, 并在项目上结转余数,因此一百次低于一分钱的回答最终会花费一分钱, 而不是被免除费用或被过度收费。 资金按以下顺序使用:先使用试用额度,然后是每月额度, 最后是任何一次性余额。

一个你可以在屏幕上看到的结果。记录在次调用中实际从钱包扣除金额的列, 在几乎每一行中都是 0,因为低于一分钱的调用只会移动结转金额。 因此,较新的界面——支出磁贴和使用情况视图——会根据提供商成本和冻结的加价, 重新计算每一行的标价,而不是对该列求和;另外两个较旧的界面仍会对其求和。 当两者不一致时,重新计算出的数值更为可信。

余额用尽时会发生什么#

Docsbook 采用按需付费模式。余额不会自动补充,余额用尽时,您的网站不会发生任何变化——只有 AI 工作会停止,而且会在能够自我说明原因的地方停止:

场景 会发生什么
读者聊天 请求会在模型运行前被拒绝,并返回原因代码,而不是生成错误的回答
管理代理循环 会在循环开始前以及每次迭代之前进行检查,因此一次较长的操作不会在执行过程中耗尽剩余余额
代理运行 该运行会被记录为失败,并显示一条面向用户的说明——余额已用尽,充值后,它会在下次触发时再次运行
批量翻译 任务会停止并明确说明原因;剩余页面不会被翻译,而不是被静默跳过
语义索引 任务记录甚至还未打开前,请求就会被拒绝
MCP 工具 返回结构化拒绝信息,其中会说明工具、计费类别、项目、每次调用的价格、剩余余额以及充值链接。发现工具仍可继续使用

由于这些是检查而不是预留,钱包最多只能在余额归零后再进行一次调用;下一次调用会被安全拒绝。

超额用量是硬性停止之外的另一种选择,但它仅限主动启用且仅适用于付费方案。它设有上限,按固定间隔计费,并会在用量达到上限的 75%、85%、90%、95% 和 100% 时,通过 用量 Webhook向您发出预警。翻译和语义索引刻意不会使用超额用量:索引运行是一项规模较大、经过明确发起且可取消的操作,悄悄将其转为超额账单是不合理的。

聊天页面#

聊天页面报告了您的助手被询问的内容以及回答所产生的成本,数据来自一组没有区间控制的对话——因此卡片及其下方的列表不可能描述不同的数据集。

卡片 含义
收入 使用聊天功能的读者所带来的价值,按每位读者计数一次,采用与目标和潜在客户列相同的口径
成本 在相同时间范围内运行聊天功能产生的费用,数据来自使用情况账本
节省 通过已回答的对话避免的支持成本——这是估算值,采用单一的行业默认工单费率,而不是您实际测得的成本
问题 读者发起的聊天线程数
已回答 在模型重新阅读对话记录后,判断读者确实获得回答的对话所占比例

“已回答”基于阅读,而不是推断。 较早使用的信号——引用点击、点赞或外链点击——是一种在两个方向上都可能出错的代理指标:获得完美答案但未点击任何内容的读者会被标记为未评级,而点击了引用页面却没有阅读的读者会被标记为已回答。现在会由单独的模型流程阅读每份对话记录。判定结果只写入一次并重复使用,而且每次页面加载只会判断少量新对话,因此该数值会在几次访问后逐渐填充,而不会导致首次加载超时。少于五个已判定对话时,卡片会回退到较早的读取方式,并对此进行说明。仍在等待判定的对话会显示为未判定,绝不会显示为未回答。

将鼠标悬停在卡片上,可以查看该卡片最近 24 小时的数据(如果有);“已回答”显示的是数量(“2 of 3”),而不是百分比,因为在单日范围内,每个对话都会使百分比按整个百分点波动。收入和成本没有单独的日数据——两者都按屏幕上已有的时间范围读取。

为什么这是正确的方法#

规则 原因 来源
优先采用提供商报告的成本,而不是本地推导的成本 OpenRouter 将 cost 字段返回为“向您的账户收取的总金额”,同时提供 cost_details.upstream_inference_cost——“上游 AI 提供商实际收取的成本”。本地重新推导无法得知这两者中的任何一个 OpenRouter:用量核算
只要应用了缓存,根据令牌数量重新推导的价格就是错误的 OpenAI 会按照“针对重复使用的令牌采用模型降低后的缓存输入费率,折扣最高可达 90%”为重复使用的提示令牌计费,并在响应的用量详情中单独报告 OpenAI:提示缓存
按调用次数统计工具调用,并记录失败调用 MCP 规范将速率限制交由服务器负责——服务器“必须……限制工具调用的速率”——并要求客户端“记录工具使用情况以供审计”。只记录成功调用的账本将无法满足其中任何一项 MCP 规范:工具
以低于一美分的精度存储低于一美分的金额 这里每次调用的真实金额都只是几分之一美分;在录入时进行四舍五入,会让实际一天的支出变成 $0 机制,本页

限制与未决问题#

  • 无法按提供商细分支出。账本记录的是模型,而不是其背后的供应商,因此如今产品无法回答“有多少费用支付给了 Anthropic”这样的问题。
  • 目前还无法在令牌账本中查看每次代理运行的支出。MCP 行记录了执行它们的运行;令牌行只携带一个自由格式的对话 ID,因此代理的模型费用是按对话而不是按运行进行归组的。
  • 标记为 estimated 的行是猜测值,并且回退费率被有意设置得很高。目录之外的模型会被有意按悲观方式定价——对于一个无人定价的模型,向客户少收费是更糟糕的错误——因此估算行是上限,而不是测量值。
  • 两个较旧的页面仍然会汇总扣除美分列,因此会少报那些调用费用大多低于一美分的项目。支出磁贴和使用情况视图会改为重新计算列表价格。如果两个支出数值不一致,原因就在这里。
  • 节省金额是估算值,并且会明确标注为估算值。它将已回答的对话数乘以行业默认的支持工单成本。它不是你的支持成本,而 Docsbook 也没有测量过你的实际成本。
  • 使用自有密钥产生的支出不会以金额显示。这些调用会显示调用量、模型构成和令牌数量,并且 $0。它们实际给你带来的费用会体现在你的提供商账单上。
  • 报告和保留时长并不相同。面板最多显示 30 天的使用情况,与读者分析数据的截止范围一致。AI 账本本身会保留 90 天——额外的时间余量用于确保有争议的账单仍可重建——并且每天进行清理。目前 MCP 调用行完全不会被清理,这就是按工具查看的范围是全部历史记录的原因。
  • 问题在于:“节省”和“收入”是模型,“成本”则是测量值。可以验证的是账本:运行了哪个模型、提供商收取了什么费用、从余额中扣除了什么。无法从这些数据验证的是:一个已回答的问题是否原本会变成支持工单,或者使用聊天功能的读者是否原本不会购买。应将两个流入资金的数值视为读者之间的排名,而绝不要将其视为现金。

哪个计划#

面向读者的助手、代理运行和自动翻译是会消耗 Docsbook 服务商密钥费用的功能,也就是付费功能。本页面上的其他所有功能——账本、明细、模型选择器、自带密钥以及 MCP——在每个计划中都可用;尤其是 MCP 完全不受计划限制:唯一的限制是费用。当前的计划和费率请参阅定价页面

查找位置#

  1. 随时间变化的支出,位于流量旁边分析概览中的支出磁贴。
  2. 资金花在了什么上 — Usage 视图:按界面、类别和模型查看 AI;按工具和类别查看 MCP;已定价但未收费的事件。时间窗口为 24 小时、7 天和 30 天。
  3. 聊天中被询问了什么以及花费了多少 — 管理员侧边栏中的 Chat 行;打开一个对话即可查看其转录内容和单独的 费用明细。
  4. 来自代理get_ai_usage,通过 MCP

Updated

此页面对您有帮助吗?