# ai-coding-cost-calculator **Repository Path**: monkeyapi-net/ai-coding-cost-calculator ## Basic Information - **Project Name**: ai-coding-cost-calculator - **Description**: 可运行的 AI 编程 API Token 成本与计费倍率计算器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-02 - **Last Updated**: 2026-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Coding API 成本计算器 AI 编程已经从补全几行代码进入仓库级检索、修改、测试和修复流程。调用次数、上下文长度、输出 Token 和计费倍率会一起放大成本,只看单次价格很容易低估一个月的真实支出。 这个零依赖小工具用 22 个变量估算 Codex、Claude Code、Grok 类客户端的 API 日成本、30 天成本、月预算请求容量、RPM、TPM、并发、P95 超时和上下文窗口负载,并在发请求前检查 Base URL 与请求路径: - 输入 Token 单价; - 输出 Token 单价; - 每天调用次数; - 月度预算; - 单次平均输入 Token; - 单次平均输出 Token; - 实际计费倍率; - 缓存输入 Token 单价; - 输入 Token 缓存命中率; - 计划每分钟请求数; - 每分钟请求上限; - 每分钟 Token 上限; - 单次平均请求耗时(秒); - 并发请求上限; - P95 请求耗时(秒); - 客户端请求超时(秒); - 预留最大输出 Token; - 模型上下文窗口 Token; - 触发重试的请求占比; - 每个重试请求的平均额外次数。 ## 2026-08-14 更新:固定月预算请求容量 只看预计月成本,仍然很难回答“这个月的预算最多能跑多少次计划请求”。新版增加: - 每次计划请求的预期倍率后成本; - 当前月度计划支出、预算利用率、剩余和超额; - 月度与每日最大计划请求数。 容量计算会同时使用输入与输出 Token、缓存命中率、计费倍率和预期重试。月预算只是用户填写的成本上限,不是 MonkeyAPI 套餐、充值余额、现金或可提现额度。单次预期成本为 0 时,工具不会显示无限请求,而会标记为无法计算。完整公式和边界见 [月预算请求容量说明](./MONTHLY_BUDGET_CAPACITY.md)。

固定月预算能跑多少次 AI 编程请求 月预算请求容量公式 月预算容量可复算示例 月预算核对清单

## 2026-08-11 更新:Base URL 与请求路径排错 接口不通不一定是模型或密钥问题,Base URL 和请求路径拼接错误也会直接导致 404、401 或协议不匹配。新版增加两个本地检查字段: - `Base URL`:填写服务根地址,例如 `https://api.example.com/v1`; - `请求路径`:填写相对路径,例如 `chat/completions`。 工具会规范化末尾斜杠,拼出最终请求端点,并提示重复 `/v1`、把完整网址误填到请求路径、Base URL 带查询参数或凭据、生产环境使用明文 HTTP 等问题。它只做本地字符串和 URL 解析,不会发起网络请求,也不会验证 API Key、模型权限或服务端路由。完整边界和排错顺序见 [Base URL 排错说明](./BASE_URL_DIAGNOSTICS.md)。

Base URL 和请求路径要分开 接口地址规范化示例 重复 v1 会造成路径错误 接口不通排错清单

## 2026-08-03 更新:重试预算 模型名错误、接口协议不兼容、限速或网络中断都可能触发自动重试。新版会同时显示: - 含重试的每日实际调用次数; - 重试带来的倍率后额外日成本; - 含重试的日成本和 30 天成本。 例如,计划每天调用 50 次,其中 20% 各重试一次,则实际调用次数是 60 次。详细假设、公式和排错步骤见 [重试预算说明](./RETRY_BUDGET.md)。 ## 2026-08-04 更新:缓存预算 缓存命中率不能只当成一个性能指标。输入 Token 是否按缓存单价计费,会直接改变每次请求的输入成本;输出 Token 通常仍按输出单价计算。新版增加: - 缓存输入 Token 单价; - 输入 Token 缓存命中率; - 相对“全部未命中缓存”的倍率后日节省。 工具不预设某个模型的缓存折扣。请从当前服务页面或实际用量记录填写缓存输入单价和命中率。公式、示例和核对方法见 [缓存预算说明](./CACHE_BUDGET.md)。

AI 编程成本不只有倍率 缓存预算三步法 缓存命中率成本示例 缓存命中率核对清单

## 2026-08-08 更新:并发预算 RPM 和 TPM 都没有超限,也不代表请求可以同时执行。流式输出、工具调用和网络延迟会拉长单次请求占用连接的时间;当平均耗时较长时,较低的 RPM 也可能把并发数推过服务端上限。新版增加: - 单次平均请求耗时(秒); - 估算并发请求数; - 并发利用率、余量和超额请求数。 例如计划每分钟 30 个请求、每次平均耗时 4 秒,估算并发数为 `30 × 4 ÷ 60 = 2`。如果服务端并发上限为 4,利用率是 50%,余量是 2 个请求。这个估算不替代服务端实际连接数、排队策略或突发限制;平均耗时应从真实请求日志中统计,并按模型和接口分别核对。详细公式和排错步骤见 [并发预算说明](./CONCURRENCY_BUDGET.md)。

RPM 没超也可能并发超限 并发预算公式 并发利用率示例 并发超限排错清单

## 2026-08-09 更新:P95 超时预算 平均耗时适合估算并发,但不能直接代表超时风险。少量慢请求会被平均值掩盖,而客户端通常按固定秒数主动中断。新版增加: - P95 请求耗时(秒); - 客户端请求超时(秒); - P95 超时利用率、余量和超额秒数。 例如 P95 请求耗时为 18 秒、客户端超时设置为 30 秒,利用率为 60%,余量为 12 秒。若 P95 升到 45 秒,同一个 30 秒超时会超额 15 秒,尾部请求进入高风险区间。这个估算不替代完整延迟分布,也不能区分客户端取消、网关超时和上游超时;应从真实请求日志统计 P50/P95/P99,并按模型、接口和流式模式分别核对。详细公式和排错步骤见 [P95 超时预算说明](./TIMEOUT_BUDGET.md)。

平均延迟正常也可能超时 P95 超时预算公式 P95 延迟预算示例 超时排错清单

## 2026-08-10 更新:重试负载放大 重试不仅会增加日成本,也会把同一分钟内的请求数和 Token 吞吐一起放大。原始 RPM、TPM 看起来没有超限时,重试请求仍可能把有效负载推过服务端限制。新版增加: - 重试新增请求负载和 Token 负载; - 含重试的 RPM、TPM 总量与利用率; - 含重试的 RPM、TPM 超额。 例如计划 40 RPM、20% 请求各重试一次,则重试新增 8 RPM,有效负载是 48 RPM;若单次输入加输出共 2,800 Token,重试新增吞吐是 22,400 TPM。限速排错时应先看含重试的有效负载,再决定是否降低重试次数、增加退避或缩小请求。 重试率、额外次数和 Token 仅用于预算估算,不代表服务商一定采用相同的重试策略。实际重试可能按错误类型、客户端版本、网关策略和幂等性规则变化;不要对不确定是否安全的请求无限重试。详细公式和排错步骤见 [重试负载说明](./RETRY_LOAD_BUDGET.md)。

重试会放大请求负载 重试负载计算公式 含重试 RPM TPM 示例 重试风暴排错清单

## 2026-08-05 更新:429 限速预算 低倍率只能降低同等实际用量的扣费,不能解决请求在短时间内集中到达的问题。新版增加: - 计划每分钟请求数(RPM); - 已知的每分钟请求上限; - RPM 限速利用率; - 每分钟请求余量和超额请求数。 这只是请求数上限的预算,不替代服务端真实限速。实际限制还可能包含 Token/分钟、并发数、突发窗口、模型分组和动态配额。遇到 `429` 时应先查看响应头和用量记录,再设置退避与抖动,不要无条件立即重试。公式和排错步骤见 [429 限速预算说明](./RATE_LIMIT_BUDGET.md)。

遇到 429 不要只增加重试 请求数 Token 和并发三类上限 RPM 利用率预算示例 429 排错清单

## 2026-08-06 更新:TPM 吞吐预算 请求数没有超过 RPM 上限,不代表 Token 吞吐没有超限。新版使用计划 RPM 和单次平均输入、输出 Token,新增: - 计划每分钟 Token 吞吐; - TPM 限速利用率; - 每分钟 Token 余量和超额 Token。 例如每分钟 40 个请求、单次平均输入 2,000 Token、输出 800 Token,计划吞吐是 112,000 TPM。若已知限制为 100,000 TPM,请求数量仍在 60 RPM 以内,但 Token 吞吐已经超出 12,000 TPM。公式、边界和排错方法见 [TPM 吞吐预算说明](./TPM_BUDGET.md)。

RPM 没超为什么仍然 429 TPM 吞吐预算三步法 112000 TPM 预算示例 TPM 超限排错清单

## 2026-08-07 更新:上下文窗口预算 “支持某个模型”不代表每个请求都能装进上下文窗口。新版增加: - 计划上下文 Token(当前输入 Token + 预留最大输出 Token); - 上下文窗口利用率; - 上下文窗口余量、超额 Token 和最大安全输入 Token。 例如当前输入与历史、工具结果合计 110,000 Token,再为输出预留 20,000 Token,计划上下文是 130,000 Token。若只按 128,000 Token 的示例窗口预算,就会超出 2,000 Token。这个数字仅用于公式演示,不代表任何具体模型的窗口承诺;真实窗口和截断策略要以模型、客户端版本及接口协议为准。详细边界见 [上下文窗口预算说明](./CONTEXT_WINDOW_BUDGET.md)。

上下文超限怎么提前预判 上下文窗口预算三步法 上下文 Token 预算示例 上下文超限排错清单

## 立即使用 下载仓库后直接用浏览器打开 `index.html`,无需安装依赖或填写 API Key。 计算公式: ```text 单次基础成本 = 输入 Token / 1,000,000 × 输入单价 + 输出 Token / 1,000,000 × 输出单价 倍率后日成本 = 单次基础成本 × 每日调用次数 × 计费倍率 倍率后月成本 = 倍率后日成本 × 30 每次计划请求的预期成本 = dailyCalls 设为 1 时的倍率后日成本 当前月度计划支出 = 每日计划请求数 × 每次计划请求的预期成本 × 30 月度最大计划请求数 = floor(月预算 ÷ 每次计划请求的预期成本) 每日最大计划请求数 = 月度最大计划请求数 ÷ 30 预算利用率 = 当前月度计划支出 ÷ 月预算 × 100% 重试调用次数 = 计划调用次数 × 重试率 × 平均额外重试次数 实际调用次数 = 计划调用次数 + 重试调用次数 缓存后输入成本 = 输入 Token / 1,000,000 × (普通输入单价 × 未命中率 + 缓存输入单价 × 命中率) RPM 利用率 = 计划每分钟请求数 / 每分钟请求上限 × 100% 每分钟超额请求 = max(0, 计划 RPM - RPM 上限) 计划 TPM = 计划 RPM × (单次平均输入 Token + 单次平均输出 Token) TPM 利用率 = 计划 TPM / 每分钟 Token 上限 × 100% 每分钟超额 Token = max(0, 计划 TPM - TPM 上限) 估算并发请求数 = 计划 RPM × 单次平均请求耗时(秒) / 60 并发利用率 = 估算并发请求数 / 并发请求上限 × 100% 并发超额 = max(0, 估算并发请求数 - 并发请求上限) P95 超时利用率 = P95 请求耗时 / 客户端请求超时 × 100% P95 超时余量 = max(0, 客户端请求超时 - P95 请求耗时) P95 超时超额 = max(0, P95 请求耗时 - 客户端请求超时) 重试新增 RPM = 计划 RPM × 重试率 × 平均额外重试次数 含重试 RPM = 计划 RPM + 重试新增 RPM 含重试 TPM = 含重试 RPM × (单次平均输入 Token + 单次平均输出 Token) 计划上下文 Token = 当前输入 Token + 预留最大输出 Token 上下文窗口利用率 = 计划上下文 Token / 模型上下文窗口 × 100% 上下文超额 Token = max(0, 计划上下文 Token - 模型上下文窗口) 最大安全输入 Token = max(0, 模型上下文窗口 - 预留最大输出 Token) ``` 例如,`0.5` 倍表示按基础模型费用的 50% 做预算估算。低倍率会直接影响同等 Token 用量下的扣费,但还需要同时核对模型单价、缓存计费、限速、失败重试和用量记录。 ## 接入前检查 不要只确认“支持某个模型”,至少逐项核对: 1. API Key 的权限和有效期; 2. Base URL 是否完整,是否包含 `/v1`; 3. 客户端使用的接口协议; 4. 实时支持的准确模型名称; 5. 流式输出与工具调用兼容性; 6. 用量查询、额度、限速、退款和售后边界。 不同工具的接口不一定互通。Codex 常见于 OpenAI 兼容接口,Claude Code 通常需要确认 Anthropic 兼容协议,Grok 类客户端还要核对模型别名与工具调用字段。 ## 运行测试 需要 Node.js 18 或更高版本: ```bash node --test calculator.test.js ``` ## MonkeyAPI 本仓库由 MonkeyAPI 运营方维护,并可能介绍 MonkeyAPI 的第三方 API 调用与用量管理服务。

MonkeyAPI 官网、微信号 niuhulu_lzp 和微信二维码

- 官网: - 微信号:`niuhulu_lzp` 咨询前请说明准备使用的客户端和模型,以便先核对 API Key、Base URL、接口协议、支持模型、实际倍率、额度、限速和用量查询。 ## 重要说明 - MonkeyAPI 是第三方 API 调用与管理服务,不是 OpenAI、Anthropic 或 xAI 的官方账号、会员或充值服务。 - 本工具只做数学估算,不是账单。真实费用可能受缓存、长上下文、图片、工具调用、重试、路由和价格调整影响。 - 价格、倍率、活动资格、额度、有效期、模型支持和限速以官网及登录后的实时页面为准。 - 不要在代码、Issue 或截图中提交真实 API Key。 - 产品名称仅用于说明兼容场景,相关商标归各自权利人所有。 ## License [MIT](./LICENSE)