erio
b7367c5b31
chore: bump version to 0.1.108.18
2026-04-06 18:28:17 +08:00
erio
f8a07d59c4
chore: bump version to 0.1.108.17
2026-04-06 18:15:15 +08:00
erio
f90d0f86fd
chore: bump version to 0.1.108.16
2026-04-06 18:06:36 +08:00
erio
d68479d4af
chore: bump version to 0.1.108.15
2026-04-06 17:51:07 +08:00
erio
c577595f50
chore: bump version to 0.1.108.14
2026-04-06 17:40:05 +08:00
erio
5f64f744de
chore: bump version to 0.1.108.13
2026-04-06 17:16:59 +08:00
erio
86204170d9
chore: bump version to 0.1.108.12
2026-04-06 16:44:21 +08:00
erio
d25669ab52
chore: bump version to 0.1.108.11
2026-04-06 16:19:19 +08:00
erio
9b8317fc66
chore: bump version to 0.1.108.10
2026-04-06 16:04:20 +08:00
erio
1984a19285
chore: bump version to 0.1.108.9
2026-04-06 15:37:39 +08:00
erio
f72f79f48f
chore: bump version to 0.1.108.8
2026-04-06 15:21:25 +08:00
erio
329d3445fa
chore: bump version to 0.1.108.7
2026-04-06 15:03:19 +08:00
erio
fdc9c6d8b8
chore: bump version to 0.1.108.6
2026-04-06 14:52:16 +08:00
erio
22a3931984
chore: bump version to 0.1.108.5
2026-04-06 14:40:53 +08:00
erio
fa00ad06d2
chore: bump version to 0.1.108.4
2026-04-06 14:27:10 +08:00
erio
7a77ab2d09
chore: bump version to 0.1.108.3
2026-04-06 02:12:39 +08:00
erio
cb56b96cd1
chore: bump version to 0.1.108.2
2026-04-06 00:00:31 +08:00
erio
db6413039a
Merge tag 'v0.1.108' into release/custom-0.1.108
...
彻底移除 Sora 平台功能,精简代码库约 24000 行;修复渠道平台定价隔离问题。
- 完全移除 Sora 平台:删除所有 Sora 相关的后端服务、前端组件、数据库 Schema 和 ent 代码
- 移除 Sora 相关的 S3 存储、媒体管理、配额管理、生成服务等模块
- 清理前端 Sora 视图、组件、composables、API 调用和国际化文本
- 移除 Sora OAuth 选项,简化 OpenAI OAuth 流程
- 更新 antigravity User-Agent 版本号至 1.21.9
- 修复 antigravity 分组错误匹配其他平台(anthropic/gemini)定价和模型映射的问题
- 修复渠道未映射模型时 BillingModel 被错误还原导致零计费的问题
# Conflicts:
# backend/cmd/server/VERSION
# backend/cmd/server/wire_gen.go
# backend/ent/group.go
# backend/ent/mutation.go
# backend/ent/runtime/runtime.go
# backend/ent/schema/group.go
# backend/internal/handler/admin/channel_handler.go
# backend/internal/handler/admin/channel_handler_test.go
# backend/internal/handler/gateway_handler.go
# backend/internal/pkg/antigravity/stream_transformer.go
# backend/internal/server/api_contract_test.go
# backend/internal/service/billing_service.go
# backend/internal/service/channel_service.go
# backend/internal/service/channel_service_test.go
# backend/internal/service/gateway_service.go
# backend/internal/service/openai_account_scheduler.go
# backend/internal/service/openai_gateway_chat_completions.go
# backend/internal/service/openai_gateway_service.go
# backend/internal/service/openai_oauth_service.go
2026-04-05 23:11:04 +08:00
github-actions[bot]
dbb248df52
chore: sync VERSION to 0.1.107 [skip ci]
2026-04-05 06:02:08 +00:00
erio
fc5e96aa9f
merge: upstream v0.1.106 into release/custom-0.1.106
...
Resolved conflicts:
- VERSION: set to 0.1.106.1
- wire_gen.go: keep our version with accountUsageService
- antigravity_gateway_service.go: keep accountUsageService field/param
- openai_gateway_service.go: keep billing model override logic
- account.go: keep both affinity methods and new custom base URL methods
- dto/types.go: keep both affinity fields and new custom base URL fields
- CreateAccountModal.vue: keep both affinity and custom base URL logic
- EditAccountModal.vue: keep both affinity and custom base URL state
2026-04-03 15:47:18 +08:00
erio
2ffdd2a573
chore: bump version to 0.1.105.41
2026-04-03 13:54:48 +08:00
erio
8d32daa9fe
chore: bump version to 0.1.105.40
2026-04-03 02:11:42 +08:00
erio
7a1a7d9c8d
chore: bump version to 0.1.105.39
2026-04-02 23:47:46 +08:00
erio
eb90335da1
chore: bump version to 0.1.105.38
2026-04-02 21:03:40 +08:00
erio
882ab7157d
chore: bump version to 0.1.105.37
2026-04-02 20:28:45 +08:00
erio
00679c9fce
chore: bump version to 0.1.105.36
2026-04-02 17:22:18 +08:00
erio
333ddfdb21
refactor: extract helpers to reduce duplication and function length in gateway billing
...
- Extract resolveChannelPricing to DRY the resolver pattern shared by calculateImageCost/calculateTokenCost
- Remove unnecessary IIFE wrapper and pass accountRateMultiplier as parameter
- Extract resolveBillingMode, resolveMediaType, optionalSubscriptionID to simplify buildRecordUsageLog (104→65 lines)
- Extract shouldDeductAPIKeyQuota/shouldUpdateRateLimits/shouldUpdateAccountQuota methods on postUsageBillingParams to unify duplicated billing conditions
2026-04-02 03:28:52 +08:00
erio
5143133153
chore: bump version to 0.1.105.33
2026-04-02 02:50:12 +08:00
erio
97a4adf648
chore: bump version to 0.1.105.32
2026-04-01 23:21:54 +08:00
erio
72731a81cf
feat(ui): display three-level model mapping chain in usage logs
...
- Show channel + account mapping steps using model_mapping_chain field
- Add model_mapping_chain to AdminUsageLog TypeScript type
- Fallback to two-level display when chain is not available
- Fix cost nil guard in Anthropic/Antigravity RecordUsage paths
- Bump version to 0.1.105.31
2026-04-01 17:57:11 +08:00
erio
a1216b8839
feat: image output token billing, channel-mapped billing source, credits balance precheck
...
- Parse candidatesTokensDetails from Gemini API to separate image/text output tokens
- Add image_output_tokens and image_output_cost to usage_log (migration 089)
- Support per-image-token pricing via output_cost_per_image_token from model pricing data
- Channel pricing ImageOutputPrice override works in token billing mode
- Auto-fill image_output_price in channel pricing form from model defaults
- Add "channel_mapped" billing model source as new default (migration 088)
- Bills by model name after channel mapping, before account mapping
- Fix channel cache error TTL sign error (115s → 5s)
- Fix Update channel only invalidating new groups, not removed groups
- Fix frontend model_mapping clearing sending undefined instead of {}
- Credits balance precheck via shared AccountUsageService cache before injection
- Skip credits injection for accounts with insufficient balance
- Don't mark credits exhausted for "exhausted your capacity on this model" 429s
2026-04-01 15:08:57 +08:00
erio
dc0870ad0a
chore: bump version to 0.1.105.29
2026-04-01 02:41:00 +08:00
erio
9a9eadeba0
chore: bump version to 0.1.105.28
2026-04-01 01:51:25 +08:00
erio
ae3c6b5881
chore: bump version to 0.1.105.27
2026-03-31 21:35:31 +08:00
erio
68fb629280
chore: bump version to 0.1.105.26
2026-03-31 21:27:32 +08:00
erio
513da0f4f7
chore: bump version to 0.1.105.25
2026-03-31 21:21:03 +08:00
erio
729530dfa6
chore: bump version to 0.1.105.24
2026-03-31 20:48:18 +08:00
erio
493fa9d4c2
chore: bump version to 0.1.105.23
2026-03-31 20:38:02 +08:00
erio
5a2d423d02
chore: bump version to 0.1.105.22
2026-03-31 20:11:46 +08:00
erio
788288c86b
chore: bump version to 0.1.105.21
2026-03-31 19:40:18 +08:00
erio
c8eec9c076
chore: bump version to 0.1.105.20
2026-03-31 17:50:39 +08:00
erio
d1791f43f8
refactor(channel): 抽取渠道映射公共函数 + OpenAI映射到body + 空响应修复 + 清理日志
...
- 抽取 ResolveChannelMappingAndRestrict 统一入口(5处→1个方法)
- 抽取 BuildModelMappingChain 到 ChannelMappingResult 方法(5处→1行调用)
- OpenAI 三入口 Forward 前应用渠道映射到请求体
- OpenAI Responses/Messages 限制检查添加错误响应
- 清理前端 3 处 console.log 调试日志
2026-03-31 02:11:24 +08:00
erio
946180ef0d
fix(channel): 模型限制用映射后模型检查 + 平台开关保留配置不删除
...
- OpenAI 网关三处 IsModelRestricted 改用 channelMapping.MappedModel
- 前端平台勾选改为 enabled 开关,取消勾选不清空配置数据
- formToAPI/校验只处理 enabled 的平台
2026-03-31 01:34:16 +08:00
erio
a65a8bcd93
feat(channel): 通配符定价匹配 + OpenAI BillingModelSource + 按次价格校验 + 用户端计费模式展示
...
- 定价查找支持通配符(suffix *),最长前缀优先匹配
- 模型限制(restrict_models)同样支持通配符匹配
- OpenAI 网关接入渠道映射/BillingModelSource/模型限制
- 按次/图片计费模式创建时强制要求价格或层级(前后端)
- 用户使用记录列表增加计费模式 badge 列
2026-03-31 00:23:45 +08:00
erio
08593ea3e4
fix(billing): 按次计费回退到默认 PerRequestPrice
...
ResolvedPricing 新增 DefaultPerRequestPrice,当无层级匹配时使用渠道的默认按次价格
2026-03-30 23:04:48 +08:00
erio
f0d5163973
feat(billing): 网关计费迁移到 CalculateCostUnified + 模型限制错误统一
...
- GatewayService/OpenAIGatewayService 注入 ModelPricingResolver
- RecordUsage 从旧路径迁移到 CalculateCostUnified(支持 per_request/image 模式)
- 无渠道时自动回退旧路径,保持原有行为
- 长上下文双倍计费仅在无渠道定价时生效
- CostBreakdown 新增 BillingMode 字段,使用日志记录实际计费模式
- 模型限制错误改为与"无可用账号"相同的 503 响应
2026-03-30 22:58:28 +08:00
erio
9e848ec2f0
feat(usage): 使用记录增加计费模式字段 — 记录/展示/筛选 token/按次/图片
...
- DB: usage_logs 表新增 billing_mode VARCHAR(20) 列
- 后端: RecordUsage 写入时根据 image_count 判定计费模式
- 前端: 使用记录表格新增计费模式 badge 列 + 筛选下拉
2026-03-30 22:13:16 +08:00
erio
bef6728ada
fix(channel): splice替换model_pricing条目 + 增强调试日志
2026-03-30 21:47:06 +08:00
erio
79c3f4481a
debug(channel): 添加 formToAPI 调试日志 + 移除 Sora 平台
2026-03-30 21:37:27 +08:00
erio
47d52a971e
feat(channel): 平台配置改为勾选式,勾选后出现 Tab 但不自动跳转
2026-03-30 21:06:38 +08:00