供应商推出限时折扣,要调整价格,还得记住活动什么时候结束;路由改了模型名或请求头,想先试通再保存;费用涨了、响应慢了,又需要找到具体的模型或供应商。

OctaFuse Gateway 2.13.0 围绕这些日常操作做了三项升级:供应商折扣可以按有效期和时段生效,路由可以在保存前直接测试,用量分析也更方便核对费用和定位异常。

01|供应商折扣计价

上游平台的公开促销折扣,和你给用户的优惠、实际拿到的供应商成本折扣,往往不是一回事。如果都挤在同一个倍率里,活动开始或结束时,就得重新拆算价格。

2.13.0 在路由计价配置中将三种倍率分开:

配置 用途
供应商倍率 表示上游公开折扣,同时作用于用户计费和供应成本,默认 1
计费倍率 调整这条路由向用户收取的费用
成本倍率 记录这条路由的实际供应成本折扣

以图中的 Gemini 3.8 Flash 路由为例:供应商倍率为 0.5,计费倍率为 1,成本倍率为 0.68。假设本次用量对应的目录金额为 100 美元,且没有额外用户专属倍率:

  • 用户费用:100 × 0.5 × 1 = 50 美元。
  • 供应成本:100 × 0.5 × 0.68 = 34 美元。
  • 标准金额仍为 100 美元,不乘供应商倍率。

如果活动只持续一个月,可以给供应商倍率设置开始和结束时间;如果工作日、夜间的折扣不同,也可以配置分时时段,各行单独设置有效期。未开始或已到期的供应商倍率按 1 计算,不用再手动恢复原价;配置会保留,方便后续核对。

编辑时可以预览各时段的单价、最终倍率和毛利率,路由列表也会展示当前时段及折扣状态。这里的预览不包含用户专属倍率;已配置的用户优惠仍按原有的叠乘或取较小值规则计算。

Gemini 3.8 Flash 路由的计价配置,展示三种倍率、合成倍率及供应商倍率有效期

图中配置的计费与成本合成倍率分别为 0.5 和 0.34,供应商倍率的结束时间为 2026-12-30 23:59(Asia/Shanghai)。这是配置示例,不代表供应商的官方活动说明。

这套规则适用于文本、图片和音频模型,不用于智能体工具。模型目录和用户专属折扣接口也会返回当前有效的供应商倍率及生效状态,门户可以据此更新价格展示;实际请求仍按原有路由策略选择上游。

02|路由快速测试

配置新路由时,最常见的检查是:供应商模型名有没有填对,自定义请求头是否生效,请求体能不能被上游接受。以前需要先保存,再去调试台验证,发现问题后回来修改。

现在可以在路由编辑窗口里直接使用当前配置发起测试,无需先保存。选择请求样例、编辑请求体,再查看最终上游请求和响应,就能确认这次修改是否有效。测试后继续修改配置,页面会提示原结果已过期,避免把上一次成功当成当前配置已经通过。

路由编辑器也将模型映射、请求配置、计价配置和快速测试分区展示。新建路由时只列出启用的供应商;编辑或复制已有路由时,仍保留原来绑定的停用供应商,并标明状态。

Gemini 3.8 Flash 路由编辑器中的快速测试,展示 Gemini 请求样例、上游请求预览、测试结果和流式数据区域

快速测试与路由配置在同一个窗口内,可先查看上游请求预览,再发送测试。图中尚未发送请求,结果区域为空;请求 URL 已作隐私遮挡。

快速测试只验证当前配置能否调用所选上游:不会保存草稿、扣减 Gateway 用户额度、写入请求日志或执行故障转移,但仍可能产生供应商调用费用。 它也不能代替计费验证;要检查用户鉴权、额度、完整选路和实际扣费,仍需使用模拟器或真实客户端。实时 WebSocket 调试需要使用已保存的路由。

调试台(Playground)和模拟器(Simulator)的文本调试也统一了请求编辑与响应展示方式:可以选择样例、切换流式输出、编辑 JSON,分别查看正文、思考内容、工具调用和原始数据。长输出在结果区域内滚动,必要时可以停止请求。工具调用展示用于检查模型返回的参数,不会自动执行工具。

03|用量分析升级

费用突然增加,先看哪些模型、供应商或用户贡献了主要用量;响应变慢,再看延迟和生成速度。把所有指标放在一张宽表里,既不好找,也容易忽略关键变化。

2.13.0 将模型、供应商和用户用量分为“概览”“费用与用量”“性能与质量”视图。可以搜索目标,在供应商用量页还可按供应商类型筛选,再核对筛选后的请求量、成功率、用户费用、供应成本和计费价差,CSV 导出也跟随当前筛选。查询失败时可以重试,快速切换时间范围时,旧结果不会覆盖新结果。

用户用量还可查看“当前预算”。这里显示的是账户现在的预算与钱包状态,不是所选历史区间的余额;用户费用与供应成本的差额也只是已记录的计费价差,未扣除基础设施、税费等其他支出。

模型用量的费用与用量视图,展示汇总指标和各模型的费用、Token 用量及缓存命中率

图中选择“费用与用量”视图,尚未输入搜索条件。可同时核对各模型的标准金额、用户费用、供应成本及 Token 用量;搜索后,汇总、列表和 CSV 导出会跟随筛选。

排查性能和可靠性时,几个指标的含义也更清楚:

  • 整体成功率按请求数加权,不直接平均各行的成功率。
  • 转移请求占比统计至少发生过一次故障转移的请求,同一请求转移多次不会重复计数。
  • 流式生成速度只使用成功且流式时长有效的样本;没有可用测量时显示 —,不当作零速。

删除供应商后,历史用量仍会保留日志中的账号名称,并标记已删除;没有名称时显示 ID。可靠性页面的近期错误和日志跳转也使用当前选定区间,方便沿着同一时间范围继续排查。

“今天”“本周”“本月”和仪表盘趋势统一按业务时区计算与展示,减少浏览器所在时区不同造成的统计偏差。周期额度重置时间的输入与回显、供应商额度的检查与重置时间,以及集成密钥的最近使用时间,也使用同一业务时区。

04|其他更新

场景 本次变化
复用模型配置 模型编辑窗口支持复制,保留价格、模态、标签、说明、元数据和分时时段。新 ID 默认追加 -copy,保存前可修改;不复制路由,需要另行配置。
供应商卡片 协议和能力标记更紧凑,移除重复的编辑入口,仍可点击卡片进入编辑。
统计修正 无供应商归属的请求不混入供应商统计;没有输入 Token 时,缓存命中率显示为 —。
新增模型预设 新增 GPT-6.1 Sol、Claude Sonnet 5.5、Grok Build 0.1、Grok 4.20 Reasoning / Non-Reasoning、MiniMax M2.7 Highspeed、Kimi K2.7 Code Highspeed,以及 Qwen3.8 Max Prime、2.4T-A95B、27B、Omni Flash;图片模型新增 Seedream 5.0 Flash 和 Qwen Image 2.1 Pro。
目录价格修正 修正 Qwen Image 3.0 / Pro、Wan 2.7 Image / Pro 的 USD 预设价格,补齐豆包 Seed 2.0 Mini / Lite / Pro 的 CNY 预设中 32K 及以内的输入定价档位。
历史客户端兼容 为 SoloEnt Agent 旧版本补充临时 Anthropic 路径别名。通用客户端仍使用正式入口 POST /v1/messages,不应依赖这些临时路径。

新增预设需从目录导入并配置路由。导入不会覆盖已有的同 ID 模型;已有模型如需采用修正后的价格,应先核对供应商价格,再手动更新。

升级到 2.13.0

从 2.12.0 升级无需新增数据库迁移或必填配置。建议先备份数据库,再统一更新 Proxy、Admin 和 migrate 镜像;从更早版本升级时,仍需按顺序执行尚未应用的迁移。

启用新折扣前,先将所有 Proxy 升级至 2.13.0,确认旧实例已退出流量,再升级 Admin、配置供应商倍率,避免新旧实例采用不同的计价规则。未配置供应商倍率时默认按 1 计算。

如果曾通过 API 或直接编辑 JSON 填写 price_override.provider_factor,请在升级前特别核对:旧版仅在缺少 metered_factor 时将它作为成本倍率的兼容值;新版将它作为独立供应商倍率,同时影响用户费用和供应成本。 如果原意只是记录成本折扣,应将折扣明确放在 metered_factor,并移除旧的 provider_factor 或设为 1。即使已有 metered_factor,也要检查是否还残留这个旧字段。

直接解析计价审计的业务系统,需要兼容新写入的 pricing_audit.v = 6 和供应商倍率信息,同时保留历史版本解析;历史日志不会回写。分析接口新增转移请求占比和成功流式样本指标,原有 failover_rate、tokens_per_second 含义不变。

升级后,建议检查折扣未开始、生效和到期三种状态的价格与计价审计,测试一次未保存路由和一次完整客户端调用,再核对分析筛选、导出及“今天”的统计范围。使用夏令时时区时需注意:D1 / MySQL 的趋势分桶采用查询结束时刻的时区偏移,跨夏令时切换的区间可能存在分桶偏差;PostgreSQL 按时区规则转换。

完整变更与升级说明见 GitHub Release v2.13.0 和 更新记录。

如果 OctaFuse 对你的项目有帮助,欢迎在 GitHub 上点一个 Star,也欢迎反馈折扣配置、路由调试和运营分析中遇到的问题。