Agentsview 定价数据源调研:LiteLLM、Pydantic GenAI Prices 与九个机器可读 AI 价目表的选型结论
2026/9/17 22:50:05 网站建设 项目流程

Agentsview 定价数据源调研:LiteLLM、Pydantic GenAI Prices 与九个机器可读 AI 价目表的选型结论

【免费下载链接】agentsviewLocal-first session search, analytics, insights, and token use statistics for coding agents, supporting Claude Code, Codex, and more than 20 other agents.项目地址: https://gitcode.com/GitHub_Trending/ag/agentsview

导读

本文是 Agentsview(本地优先的 coding agent 会话搜索、分析与 token 用量统计工具)在 2026-08-25 所做的一次定价数据源横向调研,评估了 LiteLLM、Portkey Models、Pydantic GenAI Prices、models.dev、Langfuse、OpenRouter、Helicone、AgentOps tokencost 与 RoninForge AI Price Index 共九个机器可读的 AI 定价来源。调研围绕xai/grok-4.6gpt-5.6-luna两个探针模型展开,回答了一个核心问题:当前价目表与历史生效价目表这两类需求,能否由单一来源同时满足?读完本文,你将掌握各数据源的覆盖能力、结构化程度、历史追溯能力、许可证约束,以及 Agentsview 最终采纳的"LiteLLM 保当前 + GenAI Prices 保历史"分层架构与仓库内的落地代码路径。

调研背景:两个探针模型与审计方法

本次调研对每个候选源采用默认分支或 2026-08-25 当天可观察到的在线 API,并把引用固定到被审计的 commit(快照方式,保证结论可复现)。两个探针模型的选择非常刻意:

  • xai/grok-4.6:用于检验一个数据源对"刚发布模型"的响应速度(发布当日是否入库),代表"当前目录"这一需求。
  • gpt-5.6-luna:用于检验数据源对"历史降价区间"的保留能力(7 月 9 日以 $1/$6 发布、7 月 30 日降至 $0.20/$1.20),代表"历史有用性"这一需求。

二者恰好暴露了当前目录类来源与历史有效日期类来源之间的现实差距——没有任何单一来源同时具备 LiteLLM 的当前覆盖和 Pydantic 的条件历史能力,这正是分层设计的出发点。

结论摘要:分层设计是正解

调研的最终判断可以用一句话概括:LiteLLM 仍是当前价目表的最佳主源,Pydantic GenAI Prices 是最佳历史/条件层,二者通过"事件时间戳"衔接。具体要点:

  1. LiteLLM:同时覆盖两个探针模型,Grok 4.6 发布当日入库,且已携带 context bands、batch、flex、priority、regional、cache、search 与非 token 计价字段。Agentsview 当前只解析了其中一小部分,这是摄取限制,不是上游数据缺口
  2. Portkey Models:当前价的许可最友好替代。其 JSON 对 Luna 的 context bands、执行模式、区域、缓存价与附加单位的表达比 LiteLLM 的扁平字段命名空间更显式;Grok 4.6 同样发布当日入库。但它不保留有效日期历史,无法单独解决历史价需求。
  3. Pydantic GenAI Prices:通用条件 schema 最有用。可按开始日期与 UTC 时间窗选价,支持 tier 数组、任意计价单位、provider/model 别名匹配。其当前 feed 同时保留 Luna 两个价格周期,但尚无 Grok 4.6,适合做历史与条件层而非主目录。
  4. RoninForge AI Price Index:本次调研中最刻意做"历史优先"的项目,每条记录都带生效日期、验证日期、置信度与一手来源。但覆盖仍小,且其 Luna 历史把 7 月 30 日的降价错误套到了 7 月 9 日发布之上,暂不能作为唯一历史权威。

结论:没有任何单一来源同时拥有 LiteLLM 的当前覆盖与 Pydantic 的条件历史。证据指向分层设计——用 LiteLLM 保证当前广覆盖并保留更多上游字段,当事件时间戳需要历史价时,由带有效日期的 GenAI Prices 记录覆盖 LiteLLM。

九个候选源横向对比

下表汇总了 2026-08-25 当天九个来源的探针覆盖、定价结构、历史能力、许可证与来源性质:

数据源探针覆盖(2026-08-25)定价结构有效历史许可证与时效来源性质
LiteLLM两个都覆盖极宽的 token/非 token 字段;具名的 context、batch、flex、priority、regional 字段;通用 tier 数组无。更新直接替换当前字段MIT(enterprise/之外);3,174 条当前模型记录;审计 commit947dbbf(2026-08-22)独立社区目录,带 provider 引用
Portkey Models两个都覆盖显式 context tiers、区域、standard/batch/flex/priority 模式、缓存与任意附加单位无。价格更新直接覆盖记录MIT;仓库与目录 2026-08-25 更新;宣称 40+ provider 共 2,000+ 模型独立社区目录,带贡献者来源链接策略
Pydantic GenAI Prices v2只有 Luna,无 Grok 4.6有序条件价格、开始日期、UTC 时间窗、tier 数组、任意单位、provider 回退与丰富匹配有(经人工策展时)MIT;36 个 provider 共 1,477 个模型;审计 commit83a49e8(2026-08-25)策展复合源;LiteLLM、OpenRouter、Helicone 等仅作为差异输入
models.dev两个都覆盖标准/缓存/音频 token 价、正式 context tiers、具名实验模式MIT;199 个 provider 共 7,285 条 provider-model 条目;审计 commita4ba8de(2026-08-25)独立一手 provider 记录 + provider API 同步;其 OpenRouter provider 反映的是 OpenRouter 路由
Langfuse只有 Luna,无 Grok 4.6带数字用量条件的排序 tier、属性条件、regex 模型匹配、任意用量键MIT Expat(enterprise 路径之外);167 条默认记录;审计 commite491ab9(2026-08-25)独立策展默认集
OpenRouter两个都覆盖当前路由模型价字段、context 覆盖、batch 限定模型 ID、缓存、web search、图像、音频、推理在线 API 有 419 个模型;API 与文档均未附带开放数据许可独立在线市场数据;价格描述 OpenRouter 路由而非必然的一手牌价
Helicone审计main上两个都没有阈值数组、provider/model 别名、缓存乘数、请求、web search 与多模态价;遗留行可有日期区间仅遗留形态的部分能力Apache-2.0;审计maincommit67df07b(2026-07-21)混合。一手记录为人工编写;OpenRouter 回退记录由 OpenRouter 生成
AgentOps tokencost两个都没有LiteLLM 的旧版扁平 per-model 对象;消费端暴露 prompt/completion 估算MIT;目录最后更新 2025-09-05直接转包 LiteLLM
RoninForge AI Price Index两个都覆盖带变体的价格记录、多种单位、生效区间、验证日期、置信度与来源schema 支持,但覆盖不完整数据 CC BY 4.0、工具 MIT;11 个 provider 共 108 个模型;审计 commit2322493上有每日导出独立一手转录;聚合器仅作检测与交叉核对

LiteLLM:当前价目表的主力源

被审计的model_prices_and_context_window.json(commit947dbbf,2026-08-22)包含 3,174 个模型对象。其中:

  • gpt-5.6-luna记录:标准价与大于 272K 输入价的 input、output、cache-write、cache-read 四类价格,另有 batch、flex、priority、EU/US 上浮与 search-query 价格。
  • xai/grok-4.6记录:标准价与大于 200K 输入价的 input、output、cache-read 价格。

Grok 4.6 以 day-0 目录提交(928dfab)入库,即发布当天即被收录;而 Luna 的降价则暴露了它的历史局限:commitf1b781d直接替换了旧价格,当前 JSON 中没有任何effective-start/effective-end字段——旧值只存在于 Git 历史中,不在正常定价文档里。

该目录位于 LiteLLMenterprise/目录之外,因此以 MIT 许可发布。更完整的字段清单与上游/Agentsview 之间的差距,见仓库文档 litellm-pricing-capabilities-2026-08-24.md。

Portkey Models:结构化最清晰的许可替代

Portkey 以 provider JSON 文件加免鉴权 API 发布。其 README 明确了 cents-per-token 单位、token 与缓存字段、任意additional_units与独立 batch 配置。被审计的gpt-5.6-luna对象更进一步:其custom_pricing树包含 272K context 映射、默认与数据驻留区域,以及 standard、batch、flex、priority 四种执行模式,每个叶子保留 input、output、cache、web-search、file-search 价格。

被审计的grok-4.6对象带当前 input、output、cache-read、web-search、X-search、code-execution、attachment-search、file-search 价格,但缺少 Grok 大于 200K 的带宽档——schema 有能力表达,只是这条记录本身不完整(相比 LiteLLM、models.dev、OpenRouter 与 RoninForge)。

Git 历史显示:Portkey 于 2026-08-12 在d559716加入 Grok,7 月 30 日在6da7d21更新 Luna——该 diff 同时覆盖了普通与带日期的模型对象。带日期的模型 ID 只标识 provider 模型快照,并不是有效日期价格序列。仓库以 MIT 发布。

对 Go 嵌入而言 Portkey 有一个独特优点:源数据本身就是普通 provider JSON,其显式嵌套条件维度比 LiteLLM 不断膨胀的后缀字段命名空间更容易保留。但它仍只是第二个当前目录,无法消除对历史数据的需求。

Pydantic GenAI Prices:条件历史层的最佳候选

被审计的 v2 feed(commit83a49e8)包含 36 个 provider、1,477 个模型。data.json含 OpenAI 与 AWS 的 Luna 记录但没有 Grok 4.6。OpenAI 记录先给出旧价 $1/$6 短上下文,然后是start_date: 2026-07-30的新价 $0.20/$1.20 记录;两套价格都带 272K 整请求 tier 与缓存价。

其类型化源契约支持:有序条件价格、开始日期与时区感知的每日窗口、数字 tier 数组、任意价格单位、provider 回退,以及 exact、prefix、suffix、contains、regex、OR、AND 七种匹配方式(见上游prices_types.py与生成的 v2 JSON Schema)。

需要注意的是:它并非独立价格普查。其 pricing-data README 明说会下载 Helicone、OpenRouter、LiteLLM 与 Simon Willison 的价格来注入差异供人工裁决;LiteLLM importer 与 OpenRouter importer 各自说明各比较源贡献了什么。策展的 provider YAML 才是发布的权威,因此它可以补上输入源缺失的历史,但更新速度取决于人工复核环节。仓库以 MIT 发布。

由于版本化 JSON 可直接原样嵌入 Go,且 Luna 记录天然支持"事件时间戳选价",它成为 Agentsview 历史层的第一选择;缺失 Grok 覆盖则意味着查询必须先落到当前目录。

models.dev:规模最大的第一方能力目录

models.dev 的在线api.json在审计日有 199 个 provider 下 7,285 条 provider-model 条目,两个探针模型的第一方 source TOML 均存在并引用 provider 定价页面:

  • providers/openai/models/gpt-5.6-luna.toml:标准价与 272K tier 价,外加一个实验性 fast 模式。
  • providers/xai/models/grok-4.6.toml:标准价与 200K tier 价。

其规范化的Costschema 覆盖 input、output、reasoning、cache read/write、音频 token 价与正式 context tiers;具名实验模式可挂不同的 cost 与 provider 请求形态。但它没有通用条件语言、有效价格日期、时间窗或非 token 计费单位;provider 与模型 ID 是精确匹配,构建期的base_model继承不是运行期别名匹配。

Grok 在发布当日经2f03855入库,Luna 降价经9b6e58f(2026-07-31)入库。项目 MIT 许可,生成的 JSON 也易嵌入 Go,但它本质是"当前 provider 能力目录"而非历史定价数据。

Langfuse:条件分层匹配器的范本

Langfuse 被审计的default-model-prices.json(commite491ab9)有 167 条记录。它包含 Luna,且带六个有序 tier:standard、fast、flex、大于 272K、fast+大于 272K、flex+大于 272K;但没有 Grok 4.6

其 tier 匹配器的语义值得借鉴:对数字用量明细求值 regex、对精确属性值匹配、条件间 AND、非默认 tier 按优先级升序排序、取首个命中否则回退默认。实现在上游matcher.ts,接受的条件形态在validation.ts。当前默认值只用service_tierspeed两个键;理论上任意精确元数据键都可以编码区域,但没有日期或时间比较——createdAt/updatedAt只是记录维护元数据,不是选择器。

默认目录是独立策展数据,并配有自动化的 model-price audit 工作流。它位于 Langfuse enterprise 路径之外,适用根 LICENSE 的 MIT Expat 条款。JSON 可直接嵌入,但缺 Grok 记录且无历史,对本仓库而言弱于 LiteLLM 或 Portkey。

OpenRouter:路由价目表与许可边界

免鉴权的在线GET /api/v1/models在审计日返回 419 个模型。它包含 Grok 4.6($2/$6 标准价、200K 覆盖到 $4/$12、cache-read 覆盖、web-search 价),以及 standard 与:batch两种 Luna ID(各自带 272K 覆盖、缓存价与 web-search 价)。官方 models API 参考文档说明了模型与价格响应结构。

跨整个在线响应,定价对象用到了 prompt、completion、cache read/write、一小时 cache write、内部推理、audio、image、web search 字段。但created时间戳描述的是模型上架时间而非价格生效时间;没有有效价格区间,也没有历史价格数组。

更重要的是语义边界:OpenRouter 是市场与路由器,其价格回答的是"一条 OpenRouter 路由多少钱",并不自动等于一手 provider 的标准牌价。Luna 案例可见一斑:OpenRouter 有独立的 standard 与 batch ID,而旧消费者曾把打折后的路由价误当成标准价。

在线 API 对 Go 解析友好,但不适合作为唯一内嵌快照——API 参考与官方服务条款都没有为目录附带开放数据许可。这并不证明再分发被禁止,而是说本次调研没有找到与 MIT 或 CC BY 4.0 相当的明确开放许可。

Helicone:覆盖缺口与半残历史能力

在被审计的maincommit67df07b(2026-07-21)上,Helicone 两个目标模型都没有:xAI 目录止步于 Grok 4.6 之前,OpenAI 目录树到达 GPT-5.4 而未及 5.6。

其当前注册表的ModelPricing类型支持阈值数组、input/output 价、缓存乘数与存储、thinking、request、web-search 与按模态计价;Endpoint 记录补充 provider ID、别名、区域、位置与优先级。这些 TypeScript 模块对 Go 嵌入不如一份 check-in 的 JSON 制品方便。

历史能力方面:旧版ModelRow允许dateRangellm-costsAPI 路由会返回它;但新注册表类型没有有效日期字段,因此历史只是遗留形态的部分能力,不是通用契约。来源性质也需区分:一手 author 模块是独立编写的,OpenRouter 回退则由buildPricesOpenRouter.py直接抓取 OpenRouter API 生成,并非独立。项目以 Apache-2.0 发布。

AgentOps tokencost:过期拷贝,不应引入

tokencost 不是独立定价源。其update_prices.py调用包内 LiteLLM 刷新,与 check-in JSON 比对后写入刷新后的 LiteLLM 对象;一个 daily workflow 曾自动化该拷贝过程。

被审计的model_prices.json两个探针模型都没有,目录最后一次提交停留在 2025-09-05——比本次调研的模型早了近一年。项目 MIT 许可,但嵌入它等于再带一份 Agentsview 已在用的源的过期拷贝,没有任何增量价值。

RoninForge AI Price Index:历史优先但覆盖有限

RoninForge 明确把"带日期的一手证据"置于"广度"之上:README 描述 point-in-time 查询与旗舰优先的推进节奏。审计日观察到的current.json含 11 个 provider 下 108 个模型的 327 条价格变体,两个探针模型及全部标准/context 带宽 token 价都在内。

其 price-record JSON Schema 要求 provider、model、variation、unit、price、effective_from、验证日期、source、source kind 与 confidence 字段;支持闭区间生效区间,以及 input、output、cache、batch、context-tier、embedding、audio、image 变体,覆盖 token、image、minute、character、request 五种单位。方法论明确:聚合器只做差异检测,一手来源必须确认公开数值。每日生成并签名的导出提交说明项目在积极维护。

但被审计数据存在一处实质性 Luna 历史错误:OpenAI 记录把 $0.20/$1.20 的降价价从effective_from: 2026-07-09起套用,前面没有 $1/$6 区间;而 LiteLLM 降价 diff、Portkey 7 月 30 日 diff、models.dev 源注释与 Pydantic 条件记录都指向 7 月 30 日。RoninForge 的当前价是正确的,但它在 7 月 9 日至 7 月 29 日之间给出的 point-in-time 答案是错的。xAI 记录则正确包含了 2026-08-12 起的 Grok 4.6 标准与 200K tier 价。

数据以 CC BY 4.0 发布(可带署名嵌入),项目值得持续关注并可作为历史佐证来源,但窄覆盖与 Luna 错误使其现阶段不能作为唯一来源。

Agentsview 中的落地现状:调研结论与源码的对应

调研文档并非停留在纸面——仓库代码已经实现了其中大部分结论,可以逐条对照验证。

LiteLLM 主源与"摄取限制":internal/pricing/catalog/litellm.go 中的ModelPricing结构只有六个基础字段(input/output/cache-creation/1h cache-creation/cache-read/bands),带正则input_cost_per_token_above_([0-9]+)(k?)_tokens解析整请求上下文带宽(见同文件parsePricingBands),每个 band 是完整的五元价格组;per-token 价格统一换算为每百万 token 价格。正如调研结论所说,batch、flex、priority、regional、通用 tiered_pricing 数组等上游字段当前全部被丢弃——这正是"Agentsview 当前丢弃了大部分结构,是摄取限制而非上游数据缺口"的代码级印证。

内嵌快照的不可变性与可复现性:internal/pricing/fallback.go 通过//go:embed snapshot/litellm_snapshot.json.gz内置离线目录,并强制source_ref必须是 40 位十六进制 commit(immutableFallbackSourceRefPattern),同时对压缩包、JSON 体积与模型数量设上限(1 MiB / 8 MiB / 10 万条)防止失控。快照生成器 internal/pricing/cmd/litellm-snapshot/main.go 固定从不可变 LiteLLM commit(418c7c6...)拉取目录,产出带version(内容 SHA-256 前 12 位)与source_ref的 gzip bundle,并额外叠加appendModelOverlay的策展补丁。

GenAI Prices 历史层的实现:internal/pricing/catalog/genai.go 完整实现了调研所描述的条件 schema——Resolve(providerID, modelID, timestamp)按时间戳选择激活价格;genAIConstraint区分 Always / StartDate / TimeOfDay 三种约束(active方法处理时间窗,含跨午夜区间);匹配层支持 equals/startsWith/endsWith/contains/regex/OR/AND 且大小写不敏感;tier 数组按阈值排序后合成PricingBand。解析后仍保留原始 JSON(RawJSON),版本号取内容 SHA-256 前缀——与"保留上游 v2 JSON,新单位与新条件不需要另造目录格式"的建议一致。内嵌副本由 internal/pricing/genai_fallback.go 提供(//go:embed snapshot/genai_prices.json.gz),存储侧 internal/db/genai_pricing.go 用genai_pricing单例行表保存完整上游文档与embedded/fetched来源标记。

"先历史、后当前"的解析顺序:internal/export/pricing.go 的resolveGenAI在事件时间戳非零时优先尝试 GenAI Prices 解析(含 canonical model、reported model、effort-tier 基模型、flat 回退模型的多候选回退链),命中即返回其价格;未命中才落到 LiteLLM 平面目录。这正对应调研建议第 3 条:"如果有匹配的有效记录就用它,否则回退到当前 LiteLLM 价格"。此外 internal/pricing/supplemental.go 还实现了调研未覆盖的日期敏感别名机制:CanonicalModelForDateKimiModelEraCutoff(2026-07-19 UTC)把 kimi-for-coding、daimon-kimi-code 等无日期歧义别名按时间戳映射到 K2.6 或 K3 的 canonical 模型;DuckDB 侧 internal/duckdb/analytics_usage.go 在聚合查询内复用同一逻辑。

给 Agentsview 的分层数据源建议

调研对后续演进给出五条明确建议:

  1. 保留 LiteLLM 作为必需当前目录:其在两个目标模型上的覆盖与更新速度已被验证。
  2. 在引入第二个当前目录之前,先扩展 Agentsview 对 LiteLLM 的表示:batch、flex、priority、regional、非 token 与通用 tier 数据上游已经存在,缺的是解析与存储。
  3. 用 Pydantic GenAI Prices 作为可选的历史与条件首层:命中有效记录就用,否则回退当前 LiteLLM;保留上游 v2 JSON 原样,避免为新单位/新条件发明新格式。
  4. 把 Portkey 作为当前价的最佳许可交叉核对与潜在替代输入:新鲜、结构干净,但不提供历史,且其 Grok 记录目前缺 200K 带宽。
  5. 不要引入 tokencost 或 Helicone 作为回退目录:tokencost 是 LiteLLM 的过期拷贝,Helicone 两个探针模型都不覆盖。OpenRouter 对路由特定缺口有用,但没有有效历史也没有明确的开放目录许可;RoninForge 是有用证据,尚未成为权威。

这套安排的最大收益是避免在 Agentsview 内手工维护价格,并把两个不同的问题彻底分开:广度当前覆盖来自 LiteLLM,日期敏感选择来自真正建模日期的窄来源。仓库代码(catalog解析器、fallback/genai_fallback内嵌快照、export解析顺序、db存储)已经按此分层落地,后续迭代只需沿"扩展 LiteLLM 字段 + 保留 GenAI Prices 原样 JSON"两个方向推进即可。

【免费下载链接】agentsviewLocal-first session search, analytics, insights, and token use statistics for coding agents, supporting Claude Code, Codex, and more than 20 other agents.项目地址: https://gitcode.com/GitHub_Trending/ag/agentsview

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

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

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

立即咨询