feeeei
83d4eb6a43
模型广场:增加渠道分时段计价展示
...
- 阶梯表查询附带分时倍率时段:时段取自计费解析到的渠道定价,
每个时段的倍率由计费的 resolvedChannelTimeMultiplier 在时段内取值,
分组价卡覆盖或配置非法时自然不出现;倍率为 1 的时段不列
- 广场模型条目新增 time_pricing(时区 + 时段 + 倍率)
- 前端把分时时段展开为独立行:模型名旁标注时段,价格按时段倍率折算,
倍率列显示生效倍率;时区与计算口径放在提示中
2026-08-24 10:50:52 +08:00
feeeei
ecce0769c0
模型广场:上下文档位统一标签形态并保证升序
...
- 阶梯表标签由计费层统一生成:有上限的档为「≤上限」、末档为「>下限」
(达到阈值即进高档时用 < / ≥),不再沿用渠道区间的自定义 tier_label;
合并同价段只看单价
- 前端档位按下限升序兜底展示,无标签时按同一形态生成
2026-08-24 10:50:52 +08:00
feeeei
377d1230fc
模型广场:按计费阶梯单价表展示长上下文档位
...
- 新建 ModelPlazaService(持计费服务与定价解析器)承接广场聚合,
token 模型的单价与档位全部取自 ResolveContextPricingSchedule,
渠道选择与计费同源;图片/按次模型沿用原档位合成
- 官方参考价改走计费目录(LiteLLM → 内置兜底 → 模型策略),带官方阶梯
- DTO 增加 long_context_pricing_enabled / long_context_basis /
official_pricing.intervals
- 前端实付与官方三列按档分行(标签只在首列,其余列按行对齐),
缓存列按档展示写/读价,边际计价以徽章与 tooltip 标注,
分组关闭阶梯时在头部说明
2026-08-24 10:50:52 +08:00
feeeei
6466978d2f
计费:统一 token 计费路径选择并提供上下文阶梯单价表查询
...
- BillingService.CalculateTokenCostForRequest 承接网关的路径选择
(分组/渠道定价 → 平台旧长上下文规则 → 内置目录),网关改为调用该入口
- Gemini /v1beta 的 200K 边际翻倍常量从 handler 移入
BillingService.LegacyLongContextRule,入口只声明适用
- 新增 ResolveContextPricingSchedule:沿用 Resolve 解析链收集断点
(渠道区间边界、目录阶梯阈值、旧规则阈值),每档单价由真实计费函数
探针差商得出,倍率/策略变更无需同步;附阶梯表 vs 计费函数的对账测试
2026-08-24 10:50:52 +08:00
Wesley Liddick
3b8a148bcf
Merge pull request #6111 from feeeei/fix/request_billing
...
fix(billing): bill fast mode by the tier upstream actually served
2026-08-24 10:43:17 +08:00
Wesley Liddick
3e45d4e030
Merge pull request #6089 from lyen1688/feat/channel-time-pricing-weekdays
...
新增渠道时间段定价工作日生效规则
2026-08-24 10:21:47 +08:00
shaw
40aaf7b3ae
fix: handle plugin route health update errors
2026-08-24 10:02:06 +08:00
shaw
684d9efb1f
fix: harden plugin runtime and UI bridge
2026-08-24 09:50:46 +08:00
shaw
40ea3aebad
feat: add OAuth outbound transport plugin system
2026-08-24 09:03:37 +08:00
feeeei
75faedda95
计费:fast/priority 按上游响应实际档位只降不升计费
...
此前 OpenAI service_tier 与 Anthropic speed 的计费档位只看请求侧,上游
因容量把 priority/fast 静默降为 default/standard 时仍按 2x 收费。现在:
- upstreamResponseModelObserver 同时观察响应侧档位:OpenAI 只信终止事件
与无类型 body 里的 service_tier(response.created 为请求回显,忽略),
Anthropic 读 usage.speed;查找仅在带 model 的帧上触发
- ResolveBillingServiceTier 只降不升:响应档位比请求便宜才采纳,更贵、
未知或缺失一律沿用请求侧,与图片尺寸归并、response_model 计费的
"不得更贵"不变式一致
- usage_logs.service_tier 记录实际计费档位,降级写
billing.service_tier_downgraded 审计日志;HTTP、WS 及 ws_v2 relay 全覆盖
2026-08-23 16:53:28 +08:00
lyen1688
77e0409f7c
新增渠道时间段定价工作日规则
2026-08-23 00:30:27 +08:00
Wesley Liddick
d45135d87d
Merge pull request #6068 from okbexx/fix/codex-guardian-parent-affinity
...
fix(openai): keep auto-review on parent account
2026-08-22 13:41:42 +08:00
Wesley Liddick
d29d7f8cbc
Merge pull request #6065 from chinnsenn/fix/image-generation-flows
...
fix(openai): stabilize oauth image generation
2026-08-22 13:35:26 +08:00
Wesley Liddick
fd6cd474d6
Merge pull request #5846 from lbyxiaolizi/fix/responses-chat-malformed-tool-arguments
...
fix(apicompat): reject malformed tool-call arguments
2026-08-22 13:35:02 +08:00
Wesley Liddick
73f6a590bf
Merge pull request #5912 from xuhaihan/fix/deepseek-responses-client-tools
...
fix(deepseek): adapt Codex client tools for Responses
2026-08-22 13:34:49 +08:00
Wesley Liddick
ffc01f9c66
Merge pull request #5864 from wucm667/fix/issue-5850-http-bridge-replay
...
fix(openai): avoid duplicate HTTP bridge replay
2026-08-22 13:34:32 +08:00
Wesley Liddick
844b118785
Merge pull request #5938 from Hakunm/fix/google-one-model-catalog
...
fix(gemini): 限制 Google One OAuth 模型目录 / constrain Google One model catalog
2026-08-22 13:34:05 +08:00
alfadb
86470628df
feat(ollama): 对 Ollama Cloud 账号 clamp max_tokens 上限
2026-08-22 12:38:05 +08:00
Jarl
fa4587041c
fix(openai): keep auto-review on parent account
2026-08-22 12:14:19 +08:00
chinnsenn
cb8dabc12f
fix(openai): stabilize oauth image generation
2026-08-22 11:21:39 +09:00
alfadb
b30651a0ad
fix(ollama): 对齐 Cloud Chat Completions 思维字段为 reasoning_content
...
Ollama Cloud 的 raw /v1/chat/completions 把思维放在 reasoning/thinking,
DeepSeek 客户端只认 reasoning_content。仅对 openai+apikey+force_chat_completions
且具备 Ollama Cloud 信号的账号,在 raw CC 直转路径做 wire JSON 双向补齐。
2026-08-22 09:26:23 +08:00
xuhaihan
cef18b4ad3
fix(deepseek): route client tools through native responses
2026-08-22 01:04:11 +08:00
xuhaihan
30ae15268f
Merge remote-tracking branch 'origin2/main' into fix/deepseek-responses-client-tools
2026-08-22 00:52:33 +08:00
Wesley Liddick
67380eafd5
Merge pull request #5549 from zcxads666/fix/openai-capabilities-empty-set
...
fix(openai): 允许空 openai_capabilities 的 OAuth 账号加入文本调度
2026-08-21 21:53:27 +08:00
Wesley Liddick
2ddda67354
Merge pull request #6049 from MokoYee/fix/openai-sticky-prefix-system
...
修复 OpenAI Chat 动态系统消息导致账号亲和漂移
2026-08-21 21:34:57 +08:00
zcxads666
40c26f343a
fix(openai): 空 openai_capabilities 不再排除 OAuth 账号的文本调度(#5530)
2026-08-21 21:30:40 +08:00
Wesley Liddick
fb56bcbd07
Merge pull request #5913 from xuhaihan/fix/deepseek-responses-account-test
...
fix(deepseek): route Responses account tests through OpenAI probe
2026-08-21 21:27:01 +08:00
Wesley Liddick
ccfced36ae
Merge pull request #6011 from HypoxanthineOvO/fix/cn-anthropic-protocol-account-test
...
fix(accounts): route CN provider anthropic-protocol tests to the native endpoint
2026-08-21 21:24:38 +08:00
Wesley Liddick
77d8516e87
Merge pull request #5911 from xuhaihan/fix/deepseek-relay-balance-validation
...
fix(deepseek): reject invalid relay balance payloads
2026-08-21 21:24:21 +08:00
Wesley Liddick
afa21336a5
Merge pull request #6048 from wucm667/fix/issue-5886-composite-messages-dispatch
...
fix: allow messages dispatch for composite groups
2026-08-21 21:24:06 +08:00
MokoYee
e45490a360
fix(openai): stabilize chat sticky hash across dynamic system messages
2026-08-21 18:11:18 +08:00
wucm667
68653fb2cc
fix: allow messages dispatch for composite groups
2026-08-21 18:01:16 +08:00
Wesley Liddick
fd24923f61
Merge pull request #5685 from Monster-DP/main
...
fix(gateway): 修复池模式同账号错误重试
2026-08-21 17:49:07 +08:00
Wesley Liddick
f96035462f
Merge pull request #5612 from wucm667/fix/issue-5611-antigravity-paid-tier-endpoint
...
fix(antigravity): route paid accounts to daily endpoint
2026-08-21 17:40:39 +08:00
Wesley Liddick
6816c63883
Merge pull request #5906 from feeeei/main
...
fix(test): CN 供应商额度探测 fake 加锁消除并发 append 竞态
2026-08-21 17:39:03 +08:00
Wesley Liddick
9f74eb57f4
Merge pull request #5919 from clearmann/fix/cn-native-anthropic-reasoning-effort
...
fix(gateway): 记录国产厂商原生 Anthropic 直通路径的 reasoning_effort
2026-08-21 17:38:52 +08:00
Wesley Liddick
98d60931c1
Merge pull request #5954 from StarryKira/codex/fix-5945-upstream
...
fix: preserve native max reasoning effort
2026-08-21 17:38:39 +08:00
HypoxanthineOvO
a749673de3
fix(accounts): route CN provider anthropic-protocol tests to the native endpoint
...
CN-provider accounts explicitly configured with api_protocol=anthropic
(the frontend offers per-provider presets such as GLM Anthropic) fell
through the account-test router to the generic Claude tester, which:
- appended ?beta=true, which the native passthrough deliberately avoids
for third-party Anthropic endpoints, and
- defaulted a missing base_url to https://api.anthropic.com — sending
the provider's API key to Anthropic instead of the provider's own
Anthropic-compatible endpoint (guaranteed 401 plus cross-provider
credential exposure).
Route them to a dedicated probe that mirrors the adaptive Anthropic
check: resolve the endpoint via GetAnthropicProtocolBaseURL (same
resolution as real /v1/messages forwarding, including per-platform
defaults), use the shared API-key auth header, and mark 401/403 as the
account error state.
Also fail fast with an actionable hint when the anthropic-protocol
base_url still points at an OpenAI-compatible endpoint (paas path,
version segment, or chat/completions suffix): the naive {base}/v1/messages
join would 404 (e.g. /api/paas/v4/v1/messages) without any pointer to
the actual misconfiguration.
2026-08-21 16:37:25 +08:00
haruka
d5824f6a5b
fix: preserve native max reasoning effort
2026-08-21 14:24:32 +08:00
IanShaw
1429e8f714
修复 PR 5888 剩余审计问题
2026-08-20 22:01:20 -07:00
IanShaw
b2b2adcf8d
修复 PR 5888 审查发现的兼容性与竞态问题
2026-08-20 21:06:48 -07:00
IanShaw027
7e9af4c100
将 compact fallback 的流式重试改为循环,避免递归重置单次重试标志
2026-08-21 08:55:04 +08:00
IanShaw027
7c53a842e4
合并上游 main,保留 5925 的 Grok 重试上限与 5888 的协议兼容修复
...
同账号重试采用次数上限加 deadline;畸形 tools 在出站前删除;compaction 422 与结构化错误扫描一并保留。
2026-08-21 08:49:44 +08:00
Hakunm
f98a056f75
fix(gemini): constrain Google One model catalog
2026-08-21 02:33:00 +08:00
IanShaw
1bff06ea50
修复 Grok Realtime 关闭检查与 rollup 时区断言
...
golangci 要求检查 Realtime 上游 Close 返回值,并删除已无调用的 heavy-model 冷却函数。分组日汇总集成测试在 UTC 晚上跨上海零点时会把水位写成 UTC 日期,将会话时区钉到 Asia/Shanghai。
2026-08-20 09:50:23 -07:00
IanShaw
2e68b10aad
完善 Grok 内容拒绝计费与媒体兼容
2026-08-20 09:12:52 -07:00
IanShaw
39aaf2fea3
收紧 Grok 容量重试与兼容性分类
2026-08-20 08:07:04 -07:00
IanShaw
d78e366db5
补齐 Grok Realtime 握手失败账号冷却
2026-08-20 07:31:19 -07:00
IanShaw
cca235365b
修正 Grok 默认模型测试断言
2026-08-20 07:19:51 -07:00
IanShaw
c628b3eea7
让 Grok stream idle 重试上限作用于主路径
2026-08-20 07:07:55 -07:00