系统设置
价格表
价格表管理是 Claude Code Hub 成本核算的基础功能。系统通过价格表计算每次 API 请求的成本,帮助管理员准确追踪和控制团队的 AI 使用支出。本文将详细介绍价格表管理页面的各项功能。
页面概览
价格表管理页面位于 设置 > 价格表 (/settings/prices),提供以下核心功能:
- 浏览和搜索模型价格信息
- 从 LiteLLM 一键同步最新价格
- 手动上传自定义价格表
- 分页浏览大量模型数据
价格表数据用于计算请求成本。如果某个模型不在价格表中,系统将无法准确计算该模型的使用成本,可能导致统计数据不准确。
价格列表
表格字段
价格列表以表格形式展示所有模型的定价信息:
| 列名 | 说明 |
|---|---|
| 模型名称 | 模型的完整标识符,如 claude-3-5-sonnet-20241022 |
| 类型 | 模型类型标签:聊天模型、图像生成、补全模型 |
| 供应商 | 模型所属的 AI 服务供应商(来自 LiteLLM) |
| 输入价格 | 每百万 Token 的输入成本(美元/M) |
| 输出价格 | 每百万 Token 的输出成本(美元/M);图像模型显示每张图片价格 |
| 更新时间 | 价格数据的最后更新日期 |
模型类型
系统支持以下模型类型,通过不同颜色的标签区分:
| 类型 | 标签样式 | 说明 |
|---|---|---|
| chat | 默认样式 | 对话/聊天模型,如 Claude、GPT |
| image_generation | 次要样式 | 图像生成模型,如 DALL-E |
| completion | 轮廓样式 | 文本补全模型 |
搜索功能
页面顶部提供搜索框,支持按模型名称进行模糊搜索:
- 输入关键词后自动触发搜索(500ms 防抖)
- 搜索会重置到第一页
- 搜索词会同步到 URL 参数,方便分享和刷新
搜索支持模糊匹配,输入 claude 可以找到所有包含 claude 的模型,输入 sonnet 可以筛选出所有 Sonnet 系列模型。
分页控制
对于大量模型数据,页面提供完整的分页功能:
- 每页条数:可选择 20、50、100、200 条/页(默认 50)
- 页码导航:显示当前页码和总页数,支持快速跳转
- 统计信息:底部显示总模型数量和当前显示范围
分页参数同样会同步到 URL,支持直接通过 URL 访问特定页面:
/settings/prices?page=2&size=100&search=claude
同步 LiteLLM 价格
功能说明
Claude Code Hub 支持从 LiteLLM 项目同步最新的模型价格数据。LiteLLM 维护了一份完整的 AI 模型价格表,涵盖 Claude、GPT、Gemini 等主流模型。
同步流程
点击页面右上角的「同步 LiteLLM」按钮即可开始同步:
- 系统从 CDN 获取 LiteLLM 最新价格表
- 如果 CDN 获取失败,自动降级使用本地缓存
- 解析并处理价格数据
- 与现有数据对比,识别新增、更新、未变化的模型
- 将变更写入数据库
- 刷新页面显示最新数据
同步结果
同步完成后会显示详细结果:
| 结果类型 | 说明 |
|---|---|
| 新增 | 数据库中不存在的新模型 |
| 更新 | 价格发生变化的已有模型 |
| 未变化 | 价格与现有数据相同的模型 |
| 失败 | 处理过程中出错的模型 |
同步操作依赖网络连接。如果网络环境受限,CDN 请求可能超时(10 秒),系统会尝试使用本地缓存。首次同步前本地缓存可能不存在。
上传价格表
适用场景
在以下情况下,您可能需要手动上传价格表:
- 网络环境无法访问 LiteLLM CDN
- 需要使用自定义的模型定价
- 需要添加 LiteLLM 未收录的模型
文件格式
上传的 JSON 文件需要符合 LiteLLM 价格表格式:
{
"claude-3-5-sonnet-20241022": {
"mode": "chat",
"input_cost_per_token": 0.000003,
"output_cost_per_token": 0.000015,
"max_tokens": 8192,
"litellm_provider": "anthropic"
},
"gpt-4o": {
"mode": "chat",
"input_cost_per_token": 0.000005,
"output_cost_per_token": 0.000015,
"max_tokens": 4096,
"litellm_provider": "openai"
}
}
上传流程
- 点击「更新价格表」按钮打开上传对话框
- 选择符合格式的 JSON 文件(最大 10MB)
- 系统自动验证文件格式并处理数据
- 显示处理结果(新增、更新、跳过、失败的模型数量)
- 点击「完成」关闭对话框,页面自动刷新
您可以从 LiteLLM GitHub 直接下载最新的价格表文件。
处理结果
上传完成后会显示详细的处理报告:
- 总数:文件中包含的模型总数
- 新增成功:成功添加的新模型(绿色)
- 更新成功:成功更新价格的模型(蓝色)
- 已跳过:价格未变化的模型(灰色)
- 处理失败:格式错误或处理异常的模型(红色)
自动初始化
种子数据
系统首次启动时,如果数据库中没有价格数据,会自动从内置的种子文件初始化价格表。种子文件位于 public/seed/litellm-prices.json。
初始化时机
自动初始化在以下条件满足时触发:
- 数据库中不存在任何价格记录
- 种子文件存在且格式正确
如果自动初始化失败(如种子文件不存在),系统会正常启动,您可以稍后通过「同步 LiteLLM」或「上传价格表」手动添加价格数据。
价格计算说明
Token 价格
价格表中的价格以「每 Token」为单位存储,界面显示时自动转换为「每百万 Token」($/M)格式,便于阅读。
转换公式:显示价格 = 存储价格 × 1,000,000
成本计算
每次请求的成本按以下公式计算:
请求成本 = 输入 Token × 输入价格 + 输出 Token × 输出价格
如果使用了供应商的成本系数(cost multiplier),最终成本会乘以该系数:
最终成本 = 请求成本 × 供应商成本系数
图像生成模型
对于图像生成模型,计费方式不同:
- 不使用 Token 计费
- 使用「每张图片」价格
- 界面显示为
$X.XX/img
权限说明
价格表管理功能仅对管理员开放:
| 操作 | 管理员 | 普通用户 |
|---|---|---|
| 查看价格列表 | 可以 | 不可以 |
| 搜索价格 | 可以 | 不可以 |
| 同步 LiteLLM | 可以 | 不可以 |
| 上传价格表 | 可以 | 不可以 |
最佳实践
定期同步
建议定期同步 LiteLLM 价格表(如每月一次),确保价格数据与供应商的最新定价保持一致。
备份价格数据
在进行大规模更新前,建议通过「数据管理」功能导出当前配置作为备份。
自定义价格
如果您的供应商提供了特殊定价(如企业折扣),可以:
- 先同步 LiteLLM 获取基准价格
- 通过上传自定义价格表覆盖特定模型的价格
- 或使用供应商的「成本系数」功能全局调整
