跳转到内容

desktop/src-tauri/crates/core/src/models_dev.rs

第 1 条注释,第 1 行

desktop/src-tauri/crates/core/src/models_dev.rs:1

//! models.dev 社区目录(`api.json`)→ 价格快照转换(F2 在线刷新,

第 2 条注释,第 2 行

desktop/src-tauri/crates/core/src/models_dev.rs:2

//! 规则见 docs/design/desktop-usage/pricing.md 的在线刷新设计。

第 3 条注释,第 3 行

desktop/src-tauri/crates/core/src/models_dev.rs:3

//!(空行)

第 4 条注释,第 4 行

desktop/src-tauri/crates/core/src/models_dev.rs:4

//! 实测结构(2026-10-01,S24):顶层为 `{ provider_id: { id, name, doc, env,

第 5 条注释,第 5 行

desktop/src-tauri/crates/core/src/models_dev.rs:5

//! npm, models: { model_id: ModelEntry } } }`;`ModelEntry.cost` 字段集为

第 6 条注释,第 6 行

desktop/src-tauri/crates/core/src/models_dev.rs:6

//! 价格字段包括 input/output/cache_read/cache_write/input_audio/output_audio/reasoning/

第 7 条注释,第 7 行

desktop/src-tauri/crates/core/src/models_dev.rs:7

//! tiers/context_over_200k(美元/百万 token,无币种字段);`canonical_model_id`

第 8 条注释,第 8 行

desktop/src-tauri/crates/core/src/models_dev.rs:8

//! 形如 `"openai/gpt-6-astra"`,是目录自身的官方归属标注。

第 9 条注释,第 9 行

desktop/src-tauri/crates/core/src/models_dev.rs:9

//!(空行)

第 10 条注释,第 10 行

desktop/src-tauri/crates/core/src/models_dev.rs:10

//! 过滤约定(以官方按量价为准):

第 11 条注释,第 11 行

desktop/src-tauri/crates/core/src/models_dev.rs:11

//! - 官方提供商 = 至少一个模型 `canonical_model_id` 前缀对应的提供商 ID,

第 12 条注释,第 12 行

desktop/src-tauri/crates/core/src/models_dev.rs:12

//! 或其 `<id>-cn` 中国区变体;ID 含 `-plan`(coding-plan/token-plan 等订阅

第 13 条注释,第 13 行

desktop/src-tauri/crates/core/src/models_dev.rs:13

//! 占位,实测 cost 全 0)整体排除;

第 14 条注释,第 14 行

desktop/src-tauri/crates/core/src/models_dev.rs:14

//! - 模型级 input 与 output 同时为 0/缺失 ⇒ 跳过(订阅占位不是价格);

第 15 条注释,第 15 行

desktop/src-tauri/crates/core/src/models_dev.rs:15

//! - 分量 0 值 ⇒ NULL(无价),不把目录占位零值当免费价格;

第 16 条注释,第 16 行

desktop/src-tauri/crates/core/src/models_dev.rs:16

//! - `cache_write` → `cache_write_5m`(目录无 TTL 分档);`tiers[type=context]`

第 17 条注释,第 17 行

desktop/src-tauri/crates/core/src/models_dev.rs:17

//! → `context_threshold_tokens` 行;`context_over_200k` 为重复表达不采用;

第 18 条注释,第 18 行

desktop/src-tauri/crates/core/src/models_dev.rs:18

//! audio/reasoning 价格项不导入(reasoning 仍含在输出价格中);

第 19 条注释,第 19 行

desktop/src-tauri/crates/core/src/models_dev.rs:19

//! - 行属性:region = cn(-cn 变体)/ global,channel = api,currency = USD,

第 20 条注释,第 20 行

desktop/src-tauri/crates/core/src/models_dev.rs:20

//! 字段还包括 service_tier=standard 和 official_vendor=true。

第 21 条注释,第 21 行

desktop/src-tauri/crates/core/src/models_dev.rs:21

//! - 单位折算:美元/百万 token ×10⁴ → 百分之一美分/百万 token,四舍五入。

第 22 条注释,第 29 行

desktop/src-tauri/crates/core/src/models_dev.rs:29

/// 内置在线刷新来源(唯一;HTTPS GET,不携带任何本地数据)。

第 23 条注释,第 32 行

desktop/src-tauri/crates/core/src/models_dev.rs:32

/// 响应体上限(实测约 5.3 MiB;上限防异常膨胀)。

第 24 条注释,第 79 行

desktop/src-tauri/crates/core/src/models_dev.rs:79

/// 美元/百万 token → 百分之一美分/百万 token(×10⁴ 四舍五入;0 ⇒ None,

第 25 条注释,第 80 行

desktop/src-tauri/crates/core/src/models_dev.rs:80

/// 原始零占位值记为 None,不当作免费价格。

第 26 条注释,第 91 行

desktop/src-tauri/crates/core/src/models_dev.rs:91

// 负数或非有限原始价格在快照校验前跳过。

第 27 条注释,第 96 行

desktop/src-tauri/crates/core/src/models_dev.rs:96

/// 官方提供商判定:ID 是任一 canonical_model_id 前缀,或为 `<前缀>-cn` 变体;

第 28 条注释,第 97 行

desktop/src-tauri/crates/core/src/models_dev.rs:97

/// ID 含 `-plan` 的订阅占位渠道整体排除。

第 29 条注释,第 127 行

desktop/src-tauri/crates/core/src/models_dev.rs:127

/// 把 api.json 原文转换为社区价格快照(source_type=community)。

第 30 条注释,第 128 行

desktop/src-tauri/crates/core/src/models_dev.rs:128

/// `fetched_at_ms` 为本次成功下载时间(决定快照 ID 日期与行生效起点)。

第 31 条注释,第 129 行

desktop/src-tauri/crates/core/src/models_dev.rs:129

/// `raw_hash` 为原始响应内容的 FNV-1a 哈希(快照 ID 组成部分,幂等前提)。

第 32 条注释,第 155 行

desktop/src-tauri/crates/core/src/models_dev.rs:155

// 生效起点 = 抓取日期(UTC 零点);目录无价格生效区间。

第 33 条注释,第 171 行

desktop/src-tauri/crates/core/src/models_dev.rs:171

// 订阅占位/无价目:跳过

第 34 条注释,第 213 行

desktop/src-tauri/crates/core/src/models_dev.rs:213

// 长上下文档:仅 context 类型;同尺寸去重(保首个)。

第 35 条注释,第 247 行

desktop/src-tauri/crates/core/src/models_dev.rs:247

// 复用快照文件校验链(区间重叠/非负/枚举等):构造等价 SnapshotFile 再归一化。

第 36 条注释,第 295 行

desktop/src-tauri/crates/core/src/models_dev.rs:295

/// 原始响应内容的 FNV-1a 哈希(与 pricing 模块同算法,快照 ID 用)。

第 37 条注释,第 304 行

desktop/src-tauri/crates/core/src/models_dev.rs:304

/// 合成目录包括 canonical 标识的 vendorA 和 vendorA-cn 变体,

第 38 条注释,第 305 行

desktop/src-tauri/crates/core/src/models_dev.rs:305

/// coding-plan 占位、聚合商(非官方)、零价模型、长上下文档、0 分量。

第 39 条注释,第 371 行

desktop/src-tauri/crates/core/src/models_dev.rs:371

// vendorA:m-one 基价 + 272K 档、m-free-cache、m-tiny;vendorA-cn:m-one。

第 40 条注释,第 372 行

desktop/src-tauri/crates/core/src/models_dev.rs:372

// m-zero(全 0)与 coding-plan/aggregator 条目被排除。

第 41 条注释,第 383 行

desktop/src-tauri/crates/core/src/models_dev.rs:383

// -cn 变体 region=cn,其余 global。

第 42 条注释,第 390 行

desktop/src-tauri/crates/core/src/models_dev.rs:390

// 计算为 0.115 × 10^4。

第 43 条注释,第 401 行

desktop/src-tauri/crates/core/src/models_dev.rs:401

// 每百万 token 为 USD 10。

第 44 条注释,第 402 行

desktop/src-tauri/crates/core/src/models_dev.rs:402

// 每百万 token 为 USD 12.5,记入五分钟档。

第 45 条注释,第 403 行

desktop/src-tauri/crates/core/src/models_dev.rs:403

// 目录无 1h 档

第 46 条注释,第 411 行

desktop/src-tauri/crates/core/src/models_dev.rs:411

// 每百万 token 为 USD 75。

第 47 条注释,第 412 行

desktop/src-tauri/crates/core/src/models_dev.rs:412

// 0 分量 ⇒ NULL(不把占位零值当免费价格)。

第 48 条注释,第 420 行

desktop/src-tauri/crates/core/src/models_dev.rs:420

// 极低分项四舍五入:$0.003625/M ×10⁴ = 36.25 → 36。

第 49 条注释,第 438 行

desktop/src-tauri/crates/core/src/models_dev.rs:438

// 内容变化 ⇒ 快照 ID 变化(修正须换 ID 的约定前提)。

第 50 条注释,第 453 行

desktop/src-tauri/crates/core/src/models_dev.rs:453

// 只有订阅占位(全 0)⇒ 过滤后无价格行,拒绝导入。