系统设置
价格表
价格表(Model Prices)是 Claude Code Hub 成本核算的基础能力:系统会在请求结束后,根据上游返回的用量(usage)与价格表计算每次请求成本,并用于排行榜、用量统计与配额管理等功能。
缺少价格表时会发生什么?
如果某个模型找不到有效价格数据,Claude Code Hub 会采用 Fail-Open 策略:请求仍然放行,但该请求不会计费(日志中的 costUsd 为空),并在后台触发一次云端价格表同步。为了让统计与排行榜准确,建议尽快补齐价格表数据。
页面概览
价格表管理页面位于 设置 > 价格表 (/settings/prices),提供以下核心功能:
- 浏览、搜索与分页查看模型定价
- 同步云端价格表(TOML):拉取官方维护的基准价格表并入库
- 上传价格表文件:支持
.toml/.json两种格式(适用于离线/内网) - 手动维护单个模型价格:支持新增/编辑/删除(含缓存价格字段)
- 支持按来源(云端/本地)与
litellm_provider过滤
价格来源与优先级
Claude Code Hub 会为同一个 modelName 维护多条价格记录,并在查询“该模型最新价格”时遵循以下优先级:
source=manual:管理员在后台手动维护的价格(本地优先)source=litellm:来自云端价格表同步或上传导入的基准价格(通常来源于 LiteLLM 数据)
重要行为:
- 当你“手动保存某个模型价格”时,系统会删除该模型的所有旧记录,再写入一条
manual记录(也就是说,本地维护会覆盖并替换此前的云端记录)。 - 当你“删除某个模型价格”时,会删除该模型的全部记录;若要恢复云端基准价格,需要重新执行「同步云端价格表」或再次上传价格表。
价格列表(表格说明)
价格列表表格会展示每个模型的关键定价信息,主要包含:
| 列 | 含义 |
|---|---|
| 模型 | 展示名(可选)+ modelName(可复制),并显示 litellm_provider 徽章(如有) |
| 能力 | 价格表中附带的能力标记(如函数调用、视觉、Prompt 缓存等) |
| 价格 | 输入/输出 Token 单价(以 $/M 展示),并按需显示 $/req 或 $/img |
| Cache 读取 | cache_read_input_token_cost(以 $/M 展示) |
| Cache 写入 | 分别展示 5m 与 1h 的缓存写入单价(以 $/M 展示) |
| 更新时间 | 该记录的更新时间(本地化日期显示) |
| 操作 | 编辑/删除(下拉菜单) |
搜索与筛选
- 搜索:按模型名称模糊搜索(输入后 500ms 防抖触发)。
- 来源筛选:可快速只看本地(manual)或全部。
- 提供商筛选:可按
litellm_provider过滤(例如 Anthropic / OpenAI / Vertex)。
分页
支持 20 / 50 / 100 / 200 条每页,并会将分页、搜索与筛选状态同步到 URL,例如:
/settings/prices?page=2&pageSize=100&search=claude&source=manual
同步云端价格表(TOML)
点击页面右上角的「同步云端价格表」按钮,可从官方云端拉取基准价格表并写入数据库。
云端价格表地址
当前版本默认从以下地址拉取:
https://claude-code-hub.app/config/prices-base.toml
云端拉取会设置 10 秒超时,并对重定向进行安全校验(避免跳转到非预期地址)。
同步流程(含冲突处理)
- 冲突检查:系统会先检查“云端价格表中是否存在与本地手动价格同名的模型”。
- 选择覆盖:若存在冲突,会弹出列表让你选择“哪些手动模型允许被云端覆盖”。
- 未勾选:保持本地手动价格不变
- 勾选:删除该模型的手动记录,并用云端价格写入(
source=litellm)
- 入库与刷新:同步完成后页面会自动刷新,并提示新增/更新/未变化/失败数量。
上传价格表(.toml / .json)
当服务器无法访问云端(例如内网环境)或你需要手动导入价格表时,可以使用「更新价格表」上传文件。
支持格式
- TOML:与云端价格表同格式(要求包含
models表) - JSON:内部入库格式(兼容历史 LiteLLM 价格表 JSON 结构)
行为说明
- 上传使用与云端同步一致的批处理逻辑:会新增/更新价格记录,并跳过无法识别的条目。
- 默认不会覆盖手动价格:如果某个模型已经被你手动维护(
source=manual),上传导入会跳过该模型并保持本地不变。
手动维护单个模型价格(本地优先)
你可以通过「添加模型」创建本地价格,也可以在表格行的操作菜单中选择「编辑」修改现有模型价格。
预填充(建议使用)
在「添加模型」抽屉中,可以先搜索已有模型并点击选择,以自动预填充:
- 模型名称、展示名
- 模型类型(chat / image_generation / completion)
- Token 单价与缓存单价(如存在)
字段与单位
手动维护支持以下关键字段(界面展示单位以可读性为主):
- 输入价格:
$/M(按 Token 计费的模型) - 输出价格:
$/M(按 Token 计费的模型)或$/img(图像模型) - 按次价格:
$/req(可选,用于按请求计费的场景) - Prompt 缓存开关:用于显示/维护缓存相关价格字段
- Cache 读取:
$/M - Cache 写入:分为 5m 与 1h 两档(
$/M)
- Cache 读取:
缓存价格的默认派生
如果上游 usage 返回了 cache 相关 token,而价格表未提供 cache 单价字段,系统会从输入/输出单价派生一套默认 cache 单价用于计算成本(避免缓存成本被忽略)。如需精确对齐供应商官方定价,建议显式填写 cache 价格字段。
成本计算说明(简化版)
在不考虑供应商成本系数与阶梯/溢价策略的前提下,常见的成本构成为:
成本 ≈ input_tokens × input_cost_per_token
+ output_tokens × output_cost_per_token
+ cache_*_tokens × cache_*_cost_per_token(如上游返回)
+ input_cost_per_request(如配置)
如果供应商设置了成本倍数(costMultiplier),最终成本会乘以该倍数,用于反映企业折扣/加价等场景。
最佳实践
- 优先使用云端基准价格表:作为大多数模型的底座,减少手工维护成本。
- 用“成本倍数”处理整体折扣:如果你的企业折扣是“供应商维度”的,优先在供应商里设置
costMultiplier,比逐模型改价更易维护。 - 用“手动模型价格”处理特例:当某个模型的单价与你的合同价明显不同,才建议手动维护该模型。
- 关注缓存价格:重度使用 Prompt 缓存的团队,建议补齐 cache 相关价格字段,便于成本拆解与对账。
