# 2026-05-28 ## Docker 构建 & 部署 - 项目使用多阶段 Docker 构建(bun前端 → golang后端 → debian运行时) - 国内构建需要添加 `ENV GOPROXY=https://goproxy.cn,direct` 到 Dockerfile builder2 阶段 - docker-compose.yml 中 image 需改为本地镜像名 `token-factory:latest` 才能使用自建镜像 ## 代码修复 - `ModelTag` 和 `ModelTestResult` 未加入 AutoMigrate 列表,导致 `model_tags` 和 `model_test_results` 表缺失 - 已在 model/main.go 的 `migrateDB()` 和 `migrateDBFast()` 两处添加 - Dockerfile 中添加了 GOPROXY=goproxy.cn 解决国内网络无法访问 proxy.golang.org 的问题 ## 模型广场数据链路分析 - GET /api/pricing 3层过滤: abilities(enabled) → ModelHasConfiguredPricing(倍率/价格表) → BuildPricingAPIItems(渠道+单测门禁) - 模型名必须与 ModelRatio/ModelPrice 中的 key 精确匹配(区分大小写) - 模型广场需: home_page_content为空 + abilities有记录 + 倍率表有配置 + models表status=1 + 单测通过 - 设置页面仅 Root 用户(role=100)可见,Admin(role=10)不可见 - 倍率配置在: 设置 → 分组与模型定价设置(RatioSetting组件) ## DeepSeek 模型配置 - 渠道名为"DeepSeek",实际模型名为 `deepseek-v4-flash` 和 `deepseek-v4-pro` - ModelRatio 中只有 `DeepSeek`(大写),缺少 `deepseek-v4-flash` 和 `deepseek-v4-pro` - 已通过 SQL 在 ModelRatio 中添加这两个模型名的倍率配置 ## 单测门禁问题(核心阻断) - `model_test_results` 表不存在时,`BuildPricingAPIItems` 中 `testMs` 永远为0 - 第264行: `if !includeUntestedChannelPricingRows && testMs <= 0 { continue }` 跳过所有条目 - 即使 `LoadChannelPricingTestSuccessIndex` 对空表返回空map不报错,但 `testMs<=0` 门禁仍阻断 - 解决方案: 手动创建表并插入测试记录,或在管理后台执行渠道测试 - 已通过 SQL 创建 `model_test_results` 表并插入 deepseek 渠道的两条测试记录(testMs=500/800)