Wesley Liddick
3873215908
Merge pull request #7049 from xlplbo/perf/openai-ws-pool-queue-wake
...
perf(openai): WS 连接池排队等待者按账号池变更重选连接
2026-09-12 19:26:56 +08:00
Wesley Liddick
e67ffda7ae
Merge pull request #7012 from ouchihao/codex/issue-6982-easypay-upstream-type-dots
...
fix(payment): allow periods in EasyPay upstream types
2026-09-12 19:24:48 +08:00
Wesley Liddick
5948988aae
Merge pull request #7022 from ouchihao/codex/issue-3623-accept-encoding-header
...
fix(gateway): avoid duplicate Accept-Encoding headers
2026-09-12 19:22:44 +08:00
Wesley Liddick
6206ce940e
Merge pull request #6929 from feeeei/fix/gemini-inband-response-signals
...
fix(gemini): 原生路径登记 2xx 响应里的带内错误信号
2026-09-12 16:08:26 +08:00
xlplbo
7cf90c79d6
perf(openai): WS 连接池排队等待者按账号池变更重选连接
2026-09-12 13:01:43 +08:00
chihao.ou
213de0797e
fix(gateway): avoid duplicate Accept-Encoding headers
2026-09-11 19:19:40 +08:00
Wesley Liddick
4726bdd08b
Merge pull request #6890 from slovx2/feat/openai-images-75be
...
feat(openai): route OAuth image requests through native Codex Images
2026-09-11 17:29:54 +08:00
feeeei
8ea4dc56f0
fix(gemini): 模型侧 finishReason 不再按上游失败登记
...
MALFORMED_FUNCTION_CALL / UNEXPECTED_TOOL_CALL 是模型生成结果,此前按生成异常
登记为上游 502:写带账号归因的上游错误事件、计入 SLA、严重度 P1,并落进渠道
监控的 upstream_5xx 桶。
- detectGeminiResponseSignal 的 finishReason 只登记内容过滤类枚举,其余一律不登记
- geminiSignalAbnormalStop 仅承载 EMPTY_STREAM / EMPTY_RESPONSE
- 新增原生流式 MALFORMED_FUNCTION_CALL 不留 ops 标记的回归用例
2026-09-11 17:06:01 +08:00
song
23eef9ecc3
test(openai): restore image model regression coverage
2026-09-11 16:44:56 +08:00
Wesley Liddick
cdb5cfaf6c
Merge pull request #6747 from DuskLin/feat/opencode-go-platform
...
feat(opencode): 增加 OpenCode 平台支持(Zen / GO)
2026-09-11 16:42:05 +08:00
Wesley Liddick
dfa83fbe93
Merge pull request #6986 from feeeei/feat/site-billing-mode
...
feat(settings): 新增「站点类型」开关(充值 & 订阅 / 仅充值 / 仅订阅)
2026-09-11 16:34:46 +08:00
Wesley Liddick
2dff7af0f9
Merge pull request #6954 from feeeei/fix/quota
...
fix(quota): 修复仪表盘默认会给所有人分配显示所有平台卡片的问题
2026-09-11 16:34:18 +08:00
song
1067e89fab
fix(openai): address image route review findings
2026-09-11 16:30:32 +08:00
song
04c45e9dc2
test: remove incompatible upstream image model assertions
2026-09-11 15:57:49 +08:00
song
5ee436d8a2
fix(pricing): set image cache fallback rate
2026-09-11 15:57:49 +08:00
song
fa565eafb1
fix(pricing): add image cache pricing field
2026-09-11 15:57:38 +08:00
song
eacff0a629
fix: retain upstream config and image pricing updates
2026-09-11 15:57:38 +08:00
song
c0d5119375
feat(openai): route OAuth image requests through native Codex Images
...
Use shared model routing for image forwarding and account tests, retain Luna orchestration for legacy models, and add Image 2.5 pricing and usage accounting.
2026-09-11 15:57:09 +08:00
刘佳林
22dffa1bb9
fix(opencode): apply De Morgan for staticcheck QF1001
...
golangci-lint failed on the CN/OpenCode billing-candidate guard.
2026-09-11 15:47:23 +08:00
刘佳林
efcc2252e5
fix(opencode): address review on dispatch, billing, session, and 402
...
Skip OpenAI messages-dispatch gpt-5.x defaults for OpenCode groups and
composite OpenCode targets. Filter unpriced claude-* billing candidates,
estimate count_tokens locally, sanitize body session IDs before setting
X-OpenCode-Session, and treat Zen 402 as recoverable payg cooldown.
Stop rewriting the inbound body before protocol routing so account
model_mapping applies once and usage_logs.model stays the client name.
2026-09-11 15:39:13 +08:00
刘佳林
981279c996
fix(opencode): rewrite mapped model onto all three upstream protocols
...
Apply account model_mapping to the request body before OpenCode
protocol routing so /v1/responses, /v1/chat/completions, and
/v1/messages all send the mapped ID as the real upstream model.
2026-09-11 15:07:43 +08:00
chihao.ou
c3b3072a6f
fix(payment): allow periods in EasyPay upstream types
2026-09-11 14:51:34 +08:00
刘佳林
7c008bd8c1
fix(opencode): apply account model mapping in connection tests
...
Responses probes used the requested model as-is, so aliases like
opencode/muse-spark-* were sent upstream instead of the mapped ID.
2026-09-11 14:19:23 +08:00
Wesley Liddick
40cf3f50a6
Merge pull request #6968 from ouchihao/codex/issue-6903-deepseek-vision-modality
...
fix(codex): advertise DeepSeek vision image input
2026-09-11 14:01:36 +08:00
Wesley Liddick
75b7dd1e0b
Merge pull request #6969 from ouchihao/codex/issue-5882-peak-rate-validation
...
fix(groups): return bad request for invalid peak-rate settings
2026-09-11 14:01:14 +08:00
Wesley Liddick
642d20b8ac
Merge pull request #6988 from ZeroClover/fix/codex-manifest-display-name
...
fix(openai): keep Codex manifest display names in account model lists
2026-09-11 14:00:42 +08:00
Wesley Liddick
6254aba5e9
Merge pull request #6575 from doublepi123/feat/antigravity-gemini-3.8-flash
...
feat(antigravity): support Gemini 3.7 and 3.8 Flash models
2026-09-11 13:58:54 +08:00
Wesley Liddick
7145484fde
Merge pull request #6971 from ouchihao/codex/issue-1890-ttft-request-details
...
fix(ops): show first-token latency in TTFT request details
2026-09-11 13:58:37 +08:00
Wesley Liddick
fd300ab6f3
Merge pull request #6974 from alfadb/fix/deepseek-v41-flash-pricing
...
fix(billing): 适配 DeepSeek V4.1-Flash 新价与 pro→Flash 计费切换
2026-09-11 13:58:23 +08:00
Wesley Liddick
88011a6a2e
Merge pull request #6783 from asmoyou/fix/large-image-request-memory
...
perf(gateway): reduce memory amplification for large Responses image requests
2026-09-11 13:58:11 +08:00
Wesley Liddick
14029e50aa
Merge pull request #6661 from whhphd/fix/grok-media-slot-release
...
fix(grok): release abandoned media slots and preserve video ownership
2026-09-11 13:57:07 +08:00
Wesley Liddick
3fb03cdac1
Merge pull request #6960 from xlplbo/fix/openai-ws-exec-scope-preemption
...
fix(openai-ws): ctx_pool 会话抢占与会话状态按 codex 线程隔离
2026-09-11 13:56:52 +08:00
Wesley Liddick
8f9a9a255b
Merge pull request #6965 from xlplbo/fix/openai-ws-pool-reader-loop
...
fix(openai-ws): 连接池常驻读循环应答上游 ping,根治空闲连接 1011 keepalive ping timeout
2026-09-11 13:56:23 +08:00
xlplbo
4543ddc5c1
fix(openai): WS 执行作用域按 request_kind 分道
2026-09-11 13:37:59 +08:00
xlplbo
613722eee4
fix(openai): HTTP 转发的执行作用域改从原始请求计算
2026-09-11 11:36:29 +08:00
xlplbo
d0ca057ca4
fix(openai): WS 会话被抢占时先发关闭帧再取消
2026-09-11 10:25:50 +08:00
xlplbo
e4c369bd56
fix(openai): HTTP 经 WS 池转发按执行作用域取会话状态键
2026-09-11 10:25:50 +08:00
刘佳林
242907854d
feat(opencode): add OpenCode platform with Zen and GO account types
...
Keep the internal platform ID opencode_go. Product surface is OpenCode
with account_mode zen|go, model-aware routing across Chat Completions,
Responses, and Anthropic Messages, and X-OpenCode-Session derived from
prompt_cache_key / metadata.user_id so prompt cache can hit.
Unmatched models fall back to /v1/chat/completions. Related to #6742 .
2026-09-11 10:05:24 +08:00
Wesley Liddick
2493b0dc31
Merge pull request #6924 from smyyyyy2025/fix/codex-user-agent-validation
...
fix: validate Codex User-Agent before identity parsing
2026-09-11 09:33:19 +08:00
Wesley Liddick
e71d291b39
Merge pull request #6917 from ouchihao/codex/issue-2149-monitor-base-path
...
fix(monitor): support upstream base URL paths
2026-09-11 09:29:25 +08:00
Zero Clover
6feefb7aec
fix(openai): keep Codex manifest display names in account model lists
2026-09-11 03:18:00 +08:00
feeeei
9d475f9edb
feat(settings): 新增「站点类型」三态开关,关闭订阅后用户端收起所有「订阅」入口与文案
...
后台功能开关页新增「站点类型」单选:充值 & 订阅(默认,即现状)/ 仅充值 / 仅订阅。
它由两个后端开关派生并在保存时同时写回:
- subscription_enabled(新增;默认 true,缺省/空值视为开启,仅显式 false 关闭),按既有
开关模式贯通常量、公共设置、SSR 注入载荷、默认值、更新写入、DTO、审计 diff 与前端注册表;
- payment_balance_disabled(支付配置里既有的 BALANCE_PAYMENT_DISABLED,此前只能走接口/数据库
改),补进公共设置与注入载荷,让用户端在任何鉴权请求之前就能推导站点类型。
两者都关闭是接口层可表达但 UI 不提供的组合,前端归为「仅充值」,后台保存时会把余额充值重新打开。
「仅充值」时的表现:
- 用户侧边栏隐藏「我的订阅」,「充值/订阅」入口收窄为「充值」;管理端侧边栏隐藏「订阅管理」
入口(页面仍可通过地址访问);
- 购买页不再渲染「订阅」tab,只剩单个 tab 时顶部切换器随之隐藏;tab 列表变化时当前 tab
自动收敛到可用项(关闭订阅回到充值、仅订阅站点重新打开订阅进入订阅),列表为空时展示
「充值与订阅均暂未开放」而不是一个必定被后端拒绝的充值表单;
- /purchase 的页头标题/描述与 document.title 改走 resolveRouteMetaKeys 按站点类型切换;
- /subscriptions 路由新增 requiresSubscription 守卫,直达时重定向到仪表盘;
- 顶栏订阅进度徽章不再挂载,App.vue、PaymentView 与徽章组件都不再预加载/轮询订阅接口;
- 用量页隐藏「计费类型(余额/订阅)」筛选,Key 用量公开页「订阅类型」行改为「计费方式」。
「仅订阅」时侧边栏入口与页头显示为「订阅」,购买页只剩订阅 tab(余额下单由后端既有逻辑拒绝)。
购买订阅接口、已有订阅的计费、兑换码发放订阅与管理端订阅管理页面本身均不受影响。
featureFlags 抽出纯函数 resolveFeatureFlag,新增 utils/siteBillingMode 承载三态派生与反解,
PaymentView 测试改用响应式 store mock 覆盖开关双向切换。
2026-09-11 00:50:17 +08:00
alfadb
ab9bd9e877
fix(billing): 适配 DeepSeek V4.1-Flash 新价与 pro→Flash 切换
...
- flash 低谷价更新为 $0.15/$0.60/$0.003 per MTok(2026-09-10 官方降价)
- deepseek-v4-pro 自 2026-09-14 04:00 UTC 起按 Flash 价计费(上游路由变更)
- 计费时点显式驱动 pro→Flash 切换,定价展示与计费两条路径同源
- deepseek-flash 保留 reasoning_effort=max;补 Codex 模型清单与前端白名单
- 价表 JSON 新增 deepseek-flash 条目并同步 flash 系价格
2026-09-10 22:10:29 +08:00
chihao.ou
d3bd614ba7
test(groups): initialize a valid rate multiplier in peak validation case
2026-09-10 21:17:42 +08:00
chihao.ou
e9f5add97c
fix(ops): show first-token latency in TTFT request details
2026-09-10 21:13:17 +08:00
chihao.ou
ab3b398b5f
fix(groups): return bad request for invalid peak-rate settings
2026-09-10 21:05:47 +08:00
chihao.ou
5032d06697
fix(codex): advertise DeepSeek vision image input
2026-09-10 21:04:56 +08:00
xlplbo
bed1e3c362
fix(openai): 重试强制新建连接并放宽轮次预检超时
2026-09-10 20:35:53 +08:00
xlplbo
a5b07b2960
feat(openai): WS 连接池常驻读循环应答上游 ping
2026-09-10 20:35:53 +08:00
xlplbo
cd1ee1d1ad
fix(openai): WS 接入会话状态改用执行作用域键
2026-09-10 17:50:24 +08:00