资讯详情

003 缺失价格调研——为 OpenCodex 补齐 jawcode 目录外的官方单价

📅 2026/9/25 2:24:33 | 华诺云谱 👁 阅读
003 缺失价格调研——为 OpenCodex 补齐 jawcode 目录外的官方单价
【免费下载链接】opencodexUniversal provider proxy for OpenAI Codex Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code项目地址https://gitcode.com/gh_mirrors/ope/opencodex点击查看免费下载正文以devlog/_fin/260720_toks_speed_price_columns/003_missing_price_research.md为骨架结合src/usage/expected-prices.ts、src/usage/cost.ts、src/generated/model-metadata.ts、tests/usage/usage-cost.test.ts等仓库证据展开。导读OpenCodex 用 jawcode 静态价格表为每条请求日志计算~$成本估算详见 002 调研 与 WP1 成本核心 PRD但 jawcodemodels.json并不覆盖全部模型订阅/OAuth 面Kimi、Antigravity、Cursor 等常常缺失cost行或为全零。本文即记录这项“缺口价格调研”的完整方法论与结论如何分级验证官方单价verified / verified-derived / unverified / not-published、如何把 4 元组价格落成 expected-price 覆盖层、如何通过 fail-closed 解析器保证 UI 永远不显示$0假价格以及 3 轮调研后最终在仓库中落地的实现形态。读完你能够掌握一套可复用的“官方价格取证→降级派生→fail-closed 落地”流程以及 OpenCodex 中expected-prices.ts/cost.ts的完整解析链与测试契约。背景为什么需要“缺失价格调研”在 WP0调研阶段见 000 计划的 002 调研中主流程实测过静态 registry 的价格覆盖率53 个 provider、198 个候选 (provider, model) 对其中可 alias 到 jawcode bundle 的 70 对exact 命中的仅 44 对62.86%未命中的 26 对37.14%另有 3 对命中但 cost 全零。这 29 对无法由现有静态表给出价格而其中不少正是用户实际会用的面订阅/OAuth 面kimi、google-antigravity、cursor、kiro、openrouter 等——这些 provider 的模型没有公开的按 token 单价或者单价只能从官方页面上逐条核实模型 ID 带 effort 后缀gemini-3.5-flash-extra-low / low / mid / high、gemini-3-flash-agent、gemini-3.1-pro-low/high 等——官方价格表只有基础模型行后缀变体不单独定价品牌改名/新模型MiniMax-M2.1-highspeed、deepseek-chat/reasoner 等——jawcode bundle 尚未同步。结论是条件可行但必须引入“expected-price 覆盖层 分级取证 fail-closed 显示”。003 文档正是这一覆盖层的数据源与取证纪律。1. 调研口径与状态分级003 调研由 Luna 多 lane 并行3 个 lanegpt-5.6-luna explorer 等主流程逐条验收。每条价格用一个 4 元组表示(input, output, cacheRead, cacheWrite) USD / 1M tokens状态的语义该语义在后续实现expected-prices.ts中固化为ExpectedPriceStatus类型状态含义是否可入覆盖层verified官方页面直接打开核对“공식 페이지 직접 열람”可verified-derived由已验证基础模型价格派生如 suffix→基础模型、Agent 收费原则可传播estimatedtrueunverified仅有线索lead未经官方页面确认禁止入覆盖层not-published官方确实未公开单价如按订阅 quota 收费禁止保持—这一分级在 010 PRD §5 中被正式采纳为代码契约findExpectedPriceOverlay()只返回verified与verified-derivedunverified在代码层面就拒绝返回fail-closed 由代码强制而非仅靠文档纪律。对应类型定义见 src/usage/expected-prices.ts 的ExpectedPriceStatus。2. 第一轮调研verified 表与 not-published 表2.1 Verified —— 官方单价已核实首批 8 行第一轮共核实 8 行其中 6 行可直接入覆盖层xiaomi 因 CNY 计费暂缓providermodel4 元组 (USD/1M)官方来源minimax / minimax-cnMiniMax-M2.1-highspeed(0.60, 2.40, 0.03, 0.375)platform.minimax.io pricing-paygogooglegemini-3.1-pro (≤200k)(2, 12, 0.20, —*)ai.google.dev gemini-api pricing2026-06-18 更新googlegemini-3.1-pro (200k)(4, 18, 0.40, —*)同上分段价googlegemini-3.5-flash(1.50, 9, 0.15, —*)同上googlegemini-3-flash(0.50, 3, 0.05, —*)同上deepseekdeepseek-chat(0.27, 1.10, 0.07, 0)api-docs.deepseek.com pricing-details-usddeepseekdeepseek-reasoner(0.55, 2.19, 0.14, 0)同上xiaomiMiMo-V2.5-Pro(¥3, ¥6, ¥0.025, 0) CNYmimo.mi.com billingCNY需换算暂缓两个关键注记都在后续实现中保留为source字符串的构成部分Google cache-write 不可映射Google 对缓存存储按小时计费不是按 token 计费因此 cacheWrite 无法直接进 4 元组 →cacheWrite 0并在来源注明。这在最终实现里体现为GEMINI_PRICING常量中的 “cacheWrite0: storage is billed per-hour, not per-token”。gemini-3.1-pro 是分段价≤200k 与 200k 两个区间。覆盖层采用 ≤200k 档来源注明区间避免对 200k 请求给出误导性的精确值。suffix 不单独定价gemini-3.5-flash 的 extra-low/low/mid/high、gemini-3-flash-agent 都没有官方单独单价按基础模型价格映射Agent 走 Agent API 计费原则官方 Billing FAQ。这正是verified-derived的典型场景。deepseek 预告 2026-07-24 V4 Flash alias 切换deepseek-chat/reasoner 两行需在切换后重新验证——这是后续 backlog 里反复出现的条目并在最终实现中被记录进DEEPSEEK_PRICING来源字符串“V4 Flash alias transition scheduled 2026-07-24 — re-verify after”。2.2 Not published —— 官方未公开保持—以下模型在调研时点官方确实没有单价表价格页打开后无按 token 计价因此按策略保持 fail-closed—不入覆盖层providermodels原因kimi / moonshotk3、k3[1m]、kimi-k2.7-code(-highspeed)、kimi-k2.6、kimi-k2.5、kimi-for-coding官方价格页当时未列单价按 Kimi Code 订阅 quota 计费xaigrok-composer-2.5-fastdocs.x.ai pricing 未收录Grok Build 免费提供openrouteropenai/gpt-5.6OpenRouter 目录无此精确 IDgoogle-antigravityclaude-sonnet-4-6、claude-opus-4-6-thinking、gpt-oss-120b-mediumAntigravity 订阅 quota 包含模型级单价未公开kimi-codekimi-for-coding 系列订阅 quotaAPI 单价未公开关键教训“没有官方单价”不等于“免费”。all-zero 只表示未计价不能当作$0。这一点在后文 §6 的 all-zero 策略中成为硬性规则并由 usage-cost.test.ts 的测试 7 强制all-zero 行 空 overlays →null禁止$0。2.3 Unverified / 结构不同 —— 后续再调查provider状态备注zai / GLMunverified价格 URL 报错bigmodel.cn 无法确认需追踪域名重定向alibaba-token-planunverifiedToken Plan 北京专属单价无法确认禁止与 Model Studio 普通价格混用zenmux结构不同flow/订阅 quota 中心$20 Builder 起无模型级 token 价表free 模型 $0 实费cerebrasunverified官方页以 PAYG 充值/Code 订阅$50/24M/day为中心无模型单价表mistralunverifiedmistral.ai pricing 动态渲染文本提取失败需浏览器再查cursor结构不同订阅 usage pool仅 MAX Mode 按 provider 官方价cursor 日志本就是 estimated usagekiro结构不同credit 单位$0.04/credit 超额无 token 等价价 → 无法换算—github-copilot部分可行AI Credits 1$0.01 模型 credit 换算表换算表到手后可入覆盖层3. 第二轮调研当天下午WP5Kimi 价格公开 Antigravity 派生第二轮是因用户信息Kimi 价格已公开触发的复检“1 查时点未刊登价格”已变为“公开”。这一轮新增 24 键总覆盖来到 35 键11 24分组键4 元组状态Kimi 官方19 键k3、k3[1m]、kimi-k2.7-code(-highspeed)、kimi-k2.6、kimi-k2.5、kimi-for-coding moonshot 5 键 kimi-code 7 键K3 (3/15/0.3/3)K2.7-code (0.95/4/0.19/0.95)highspeed (1.9/8/0.38/1.9)K2.6 (0.95/4/0.16/0.95)K2.5 (0.6/3/0.1/0.6)verified-derived官方表只发布 input/output/cache-hitKimi 自动缓存无单独写入计费 → cacheWrite 派生为 inputAntigravityclaude-sonnet-4-6 (3/15/0.3/3.75)、claude-opus-4-6-thinking (5/25/0.5/6.25)—verified-derived按 Anthropic 官方价折算订阅产品Antigravitygpt-oss-120b-medium (0.03/0.15/0/0)—verified-derived开源权重OpenRouter 公告最低价Antigravitygemini-3.1-pro-preview (2/12/0.2/0)—verifiedGoogle 官方表Cursorauto (1.25/6/0.25/1.25)—verifiedCursor 公开固定单价2025-08 调价排除 1 键openrouter/openai/gpt-5.6-sol—— jawcode openrouter bundle 已有相同非零价 (5/30/0.5/6.25)overlay 无意义resolver 直接用 jawcode 价。但文档同时记录了一个结构局限当前 schema 只容纳 ≤272K 单价无法表达 272K 以上区间的 (10/45/1/12.5) 分段价 → 进 backlog。这个“分段价”局限后来在 expected-prices.ts 的CONTEXT_TIERS/findContextTier中被系统性解决见 §8。Cursor 仅auto入表其余 cursor 模型composer 等不公开模型级单价仅 MAX Mode 透传 provider 官方价无法可靠映射 → 按策略保持—。3.1 第二轮仍不登记fail-closed 维持kirocredit 计费无官方 token 等价xai grok-composer-2.5-fast官方价表未收录Grok Build 免费提供openrouter/openai/gpt-5.6OpenRouter 目录无精确 IDgoogle-vertex gemini-3-propreview 结束retired价表移除gemini-pro-agent非公开 Google 模型 ID官方映射未确认alibaba-token-plan qwen3.8-max-previewToken Plan 为额度扣减订阅¥39~499/月token→credit 换算公式未公开禁止套用 Model Studio PAYGzai glm-4.6查到的其实是 glm-4.7 价格 (0.6/2.2/0.11)registry 里是 4.6 → 不匹配cerebras/mistral/xiaomi/zenmuxregistry 无对应模型cerebras/mistral/xiaomi或动态计费zenmux 需 API 查询opencode-go/kimi-k3opencode-go 自身计费体系独立不能套 Moonshot 官方价umans/neuralwatt/ollama-cloud/mimo-free未调查no-alias自计费推测。4. 第三轮策略变更——模型级官方价 fallback第三轮引入一项重要策略变更不再按 provider 逐个调查而是确立“模型无论经过哪个 provider都遵循其官方价”的原则。例kiro的claude-opus-4.6→ 用 anthropic 官方价。这直接改写了resolveMatchedPrice的解析链从两级变为三级 fallback该结构保留在现仓库 src/usage/cost.ts 的resolveMatchedPriceExact()中并额外加入了用户覆盖层见 §81. jawcode exactprovider bundlestatus verified 2. expected 覆盖层 exactverified / verified-derived 3. jawcode 供应商 bundle 模型级搜索findVendorCostByModelId—— 供应商优先级 anthropic → openai → google → moonshot → minimax → deepseek → xai → zai → mistral → cerebras → azure-openai → amazon-bedrock → xiaomi exact modelId dot→dash 归一化一次kiro claude-opus-4.6 ↔ anthropic claude-opus-4-6status verified-derived记录匹配到的供应商 bundle该供应商优先级与模型级 fallback 的落地证据就是 src/generated/model-metadata.ts 里的COST_VENDOR_PRIORITY与findVendorCostByModelId()第 80–94 行按优先级顺序遍历供应商 bundle取第一个非零 cost 行。dot→dash 归一化在 src/usage/cost.ts 的resolveModelLevelPrice()中实现。4.1 策略变更带来的覆盖提升此前 openaiOAuthprovider 的 gpt-5.x 系因为没有jawcodeBundle全部未匹配模型级 fallback 上线后它们开始按 openai 供应商价汇总。重测覆盖静态 registry 198 候选127 对拿到价格64%未拿到 71 对覆盖范围已覆盖的实际使用面openai OAuth、kiro/cursor 的 anthropic·gpt、kimi 全系、deepseek、minimax、AG gemini/claude。仍未覆盖cursor 自命名变体claude-4-sonnet 等、composer 系、umans/neuralwatt/ollama-cloud/zenmux 自计费、zai GLM-5.x、alibaba-token-plan、kiro-auto、github-copilot/claude-sonnet-4、openrouter/openai/gpt-5.6、google-vertex/gemini-3-pro、gemini-pro-agent。5. 覆盖层决策汇总WP1 输入调研结论进入实现WP1时首批确定登记11 对provider 必须用 registry 的真实日志 provider id——例如是google-antigravity而非googleverified4minimax/minimax-cn× MiniMax-M2.1-highspeeddeepseek× deepseek-chat / deepseek-reasoner。verified-derived7google-antigravity× gemini-3.1-pro-low/high基础 gemini-3.1-pro ≤200k、gemini-3.5-flash-extra-low/low/mid/high基础 gemini-3.5-flash、gemini-3-flash-agent基础 gemini-3-flash Agent 计费原则。比例总结29 个问题对26 未匹配 3 all-zero中本次调研实现 11 对可入覆盖层其余按 not-published/unverified 保持 fail-closed。这 11 对全部保留在今天的 src/usage/expected-prices.tsEXPECTED_PRICE_OVERLAYS数组中MiniMax、DeepSeek、gemini-3.1-pro-low/high、gemini-3.5-flash-extra-low/low/mid/high、gemini-3-flash-agent 等行并且 usage-cost.test.ts 的测试 16 专门断言覆盖层只含 verified / verified-derived、绝无 unverified 行——把调研纪律变成了回归测试。5.1 登记保留—维持清单Kimi 全系首轮时点、grok-composer-2.5-fast、openrouter/openai-gpt-5.6、Antigravity 的 claude/gpt-oss、zai、alibaba-token-plan、cerebras、mistral、xiaomiCNY、kiro、github-copilot换算表未拿到、gemini-pro-agent模型 ID 未确认、gemini-3-pro价表无独立条目禁止与 3.1-pro 等同视之。6. 落地expected-prices.ts 与 cost.ts 的解析链调研的“4 元组 状态分级 fail-closed”最终物化为两个实现文件6.1src/usage/expected-prices.ts—— 覆盖层 schema 与 loader核心类型与常量对应 003 的调研成果export interface Cost4 { input: number; output: number; cacheRead: number; cacheWrite: number; } export type ExpectedPriceStatus verified | verified-derived | unverified; export interface ExpectedPriceOverlay { provider: string; modelId: string; cost4: Cost4; source: string; // 官方页面来源 派生依据如 Kimi 自动缓存 → cacheWriteinput verifiedAt: string; status: ExpectedPriceStatus; }查询函数findExpectedPriceOverlay()的纪律与 003 决策完全一致provider modelIdexact 匹配无 fuzzy、无 case-fold、无 wire-model fallback优先级verified→verified-derivedunverified永不返回——fail-closed 由代码强制。针对 cursor 还有一个特例normalizeCursorClaudeId()先把claude-fable-5.1/claude-5.1-fable等拼写归一化到 canonical ID 再查覆盖层实现见 expected-prices.ts 的findExpectedPriceOverlay()尾部。6.2src/usage/cost.ts—— 完整解析优先级现仓库中的解析顺序cost.tsresolveMatchedPriceExact()比 003 的三级链又多了一层用户覆盖层总计为1. 用户配置覆盖层activeUserCostOverlaysoperator 显式 modelCosts 最优先 2. 官方修正覆盖层VERIFIED_PRICE_OVERRIDES仅对声明的 provider/model 生效 3. jawcode exactprovider bundle 非零价 4. expected 覆盖层verified → verified-derived 5. 模型级供应商 fallbackfindVendorCostByModelIddot→dash 一次 6. null → UI —关键实现细节all-zero 不是免费hasNonZeroCost()为 false 的 jawcode 行不会命中第 3 步而是继续尝试覆盖层覆盖层也没有 →null。显式 all-zero 的用户覆盖才算免费operator 说了算。账户池命名空间activeAccountPricingProviders()会把账户池日志 label如anthropic-pb51d9b归一到基础 provider 再查询——这解决了“账户池日志 label 也要有价格”的诉求。Antigravity base-model 折叠canonicalAntigravityUsageModel()把历史/wire ID 折叠到 picker base model 后再查一次。缓存记忆化priceMemo按(provider, model, version)缓存解析结果/api/usage遍历几十万行时避免每次都重新解析用户覆盖层刷新会 bump version缓存不会过期。verify/derived 传播只要价格状态是verified-derived或 usage 本身estimatedestimateAttemptCost()就置estimatedtrue——GUI 据此在详细原因中说明。用户在 003 末尾看到的重测 64% 覆盖率正是这条五层链 供应商模型级 fallback 的合力结果。7. 测试契约把调研纪律固化成回归usage-cost.test.ts1687 行把 003 的所有决策点变成了可执行断言关键几条与本文直接对应测试对应调研决策7. all-zero 行 空 overlays →null$0 禁止§6 not-published ≠ 免费8. unverified-only fixture 不被选择fail-closed 强制§1 状态分级8. verified-derived-only 被选择且estimatedtruesuffix→基础模型派生9. native slash exact 命中、slash→hyphen 失败不做 fuzzy 变换10/11. combo 逐 attempt 计价、任一未匹配整体null003 的 combo 策略002 §516. 覆盖层 membership仅 verified/verified-derived无 unverified§5 的 11 对登记纪律17. kiro claude-opus-4.6 走 anthropic 供应商价§4 模型级 fallbackclaude-opus-5 三 provider 均解析到 Opus 4.6 价派生映射的跨 provider 落地claude-fable-5-1 在 anthropic / anthropic-apikey / cursor 拼写归一cursor 拼写归一化特例另有normalizeCostTokens()的 13 个用例canonical-first legacy retry、RWI矛盾 →null保证缓存换算不双计对应 002 §2 的转化式是“按 token 计价不重复收费”的根基。8. 调研之后的持续演进覆盖层如何被复用与扩展003 建立的数据结构与纪律没有止步于 11 对。现仓库的 expected-prices.ts 已把同一套机制扩展到后续多轮调研官方价覆盖层持续扩充GPT-6 Astra、GPT-5.6 sol/terra/luna、Claude Fable 5.1 / Opus 5、Gemini 3.6/3.7/3.8 Flash含促销时段注记、Kimi K 系全谱、GLM 家族zai / zhipu-bigmodel / zhipu-bigmodel-coding / zhipu-bigmodel-responses、Qwen3.8、Meta Muse、Cursor auto、Devin swe 系等全部遵循 verified / verified-derived 两级 来源字符串注记的纪律。官方修正VERIFIED_PRICE_OVERRIDES对 jawcode 中“非零但已过时”的行做精确纠正如 xai grok-4.6、openai gpt-5.6-sol 调价仅对声明的 provider/model 生效不会误伤复用同名 slug 的转售面。优先级倍率PRIORITY_PRICING_RULESOpenAI Fast 档、xAI Priority 档的倍率2× 等要求 response 确认才生效requiresResponseConfirmation。长上下文分段CONTEXT_TIERS弥补 003 记录的“≤272K 单一 schema 无法表达分段价”局限——OpenAI 272k 以上整请求 2×/1.5×、xAI 200k 以上统一 2×、MiniMax 512k 以上统一 2×且以rawusage.inputTokens含缓存判定阈值防止缓存重的长请求被低估。这一整条链都在 cost.ts 的estimateAttemptCost()/estimateRequestCost()/estimateComboCost()中按序应用context tier → priority multiplier → 输出 4-way cost breakdown 与tokensPerSecond()。9. 再调查 backlog 与可复用方法论003 末尾记录的 backlog 对照现仓库看后续进展003 backlog现状mistral / cerebras / zai 浏览器渲染再查zai 已完成2026-09-13 验证并登记 GLM 家族mistral/cerebras 仍无 registry 模型github-copilot 模型 credit 换算表解析仍未入覆盖层deepseek 2026-07-24 V4 Flash 切换后重验已按新页验证 V4.1-Flash2026-09-17峰值窗口单价 0.3/1.2off-peak 折扣不内嵌xiaomi CNY→USD 换算策略未登记维持与 zai glm-5-turbo / glm-5v-turbo CNY 行同样的 hold 规则openrouter gpt-5.6-terra/luna 端点价已并入 GPT-5.6 家族覆盖272K 以上分段价表达已由 CONTEXT_TIERS 解决这套方法论可以复用到任何新 provider/新模型先查官方价格页能直接打开核对 →verified查不到独立单价但有基础模型价suffix / alias / Agent 收费原则 →verified-derivedsource 注明派生依据既无单价也无可派生基础订阅 quota、credit、兑换表类 →not-published/ 保持—禁止臆造只有线索写进 backlog 待重查绝不写进覆盖层unverified由 resolver 代码拒绝落表后立即写回归membership、优先级、fail-closed、estimated 传播各一条断言。按此流程任何“jawcode 缺失 官方有价”的模型都能安全进入 OpenCodex 的成本估算体系而“官方确实无价”的面永远不会出现$0的假账单。赞分享【免费下载链接】opencodexUniversal provider proxy for OpenAI Codex Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code项目地址https://gitcode.com/gh_mirrors/ope/opencodex点击查看免费下载相关推荐OpenCodex 请求日志成本列$ 与 toks/$可行性研究与落地指南jawcode 价格表的缓存归一化与 native ID 精确匹配OpenCodex 请求日志成本列$ 与 toks/$可行性研究与落地指南jawcode 价格表的缓存归一化与 native ID 精确匹配 本文基于 O一次调用获取巴西汽车官方报价BrasilAPI FIPE车辆价格API实战教程一次调用获取巴西汽车官方报价BrasilAPI FIPE车辆价格API实战教程 BrasilAPI 是一个把巴西常用数据API 化的开源项目口号是Va后端Langfuse 模型定价数据源与价格键完全指南从官方定价页到 default-model-prices.jsonLangfuse 模型定价数据源与价格键完全指南从官方定价页到 default model prices.json 本篇指南以 Langfuse 仓库中 ad人工智能LLMOps可观测性AI 评测LLM 网关后端前端上一篇LaneDetection_End2End核心架构解密权重图与最小二乘模块的完美结合下一篇Open Policy AgentOPA版本发布全流程指南从版本化、候选版到缺陷修复分支创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑