Wesley Liddick
738ef1c73c
Merge pull request #7442 from wucm667/fix/issue-7436-image-balance-error
...
fix(images): preserve insufficient balance failures
2026-09-22 20:27:23 +08:00
Wesley Liddick
5af29a3b93
Merge pull request #7422 from ouchihao/codex/bug-user-api-keys-stale
...
fix(users): keep API key results scoped to the selected user
2026-09-22 20:27:07 +08:00
Wesley Liddick
62a8919a1c
Merge pull request #7365 from ouchihao/codex/bug-monitor-template-stale-list
...
fix(monitor): ignore stale template picker responses
2026-09-22 20:26:58 +08:00
Wesley Liddick
1ea00258d0
Merge pull request #7375 from ouchihao/codex/bug-balance-history-stale
...
fix(users): ignore superseded balance history requests
2026-09-22 20:26:33 +08:00
Wesley Liddick
023b38354f
Merge pull request #7373 from ouchihao/codex/bug-user-groups-load-guard
...
fix(users): wait for group configuration before enabling save
2026-09-22 20:26:23 +08:00
Wesley Liddick
a765b3c176
Merge pull request #7367 from ouchihao/codex/bug-rpm-override-empty
...
fix(groups): require integer RPM overrides before adding
2026-09-22 20:26:11 +08:00
Wesley Liddick
ca47fa352c
Merge pull request #7376 from ouchihao/codex/bug-group-rate-positive
...
fix(groups): reject negative custom rates before adding
2026-09-22 20:26:00 +08:00
Wesley Liddick
680a992fc9
Merge pull request #7426 from xlplbo/fix/openai-codex-turn-metadata-ascii
...
fix(openai): 改写 Codex turn metadata 时保留非 ASCII 转义
2026-09-22 20:25:47 +08:00
Wesley Liddick
f2e55bf4d7
Merge pull request #7420 from ouchihao/codex/bug-error-detail-stale
...
fix(usage): ignore superseded error detail requests
2026-09-22 20:25:26 +08:00
Wesley Liddick
c96d36ec95
Merge pull request #7374 from ouchihao/codex/bug-search-ime
...
fix(search): wait for committed IME input before searching
2026-09-22 20:25:15 +08:00
Wesley Liddick
e4f97a53ec
Merge pull request #7366 from ouchihao/codex/bug-user-attribute-clear-metadata
...
fix(users): persist cleared custom attribute hints
2026-09-22 20:24:59 +08:00
Wesley Liddick
9e175bd491
Merge pull request #7364 from ouchihao/codex/bug-group-replace-errors
...
fix(users): show errors when group replacement fails
2026-09-22 20:24:47 +08:00
Wesley Liddick
e7d348868c
Merge pull request #7264 from ouchihao/codex/bug-antigravity-mapping-retry
...
fix(accounts): retry default mappings after a failed fetch
2026-09-22 20:24:32 +08:00
Wesley Liddick
c0b23ff791
Merge pull request #7372 from ouchihao/codex/bug-admin-settings-retry
...
fix(settings): allow retrying failed initial admin settings loads
2026-09-22 20:24:21 +08:00
Wesley Liddick
322cc5e5f1
Merge pull request #7363 from ouchihao/codex/bug-user-attribute-number
...
fix(users): keep numeric custom attribute values as strings
2026-09-22 20:24:12 +08:00
Wesley Liddick
23dc073e65
Merge pull request #7419 from ouchihao/codex/bug-monitor-refresh-preference
...
fix(monitor): preserve the saved auto-refresh preference
2026-09-22 20:24:00 +08:00
wucm667
a5d8db2445
fix(responses): strip oversized input item IDs
2026-09-22 19:47:12 +08:00
GongTengXY
de28eea11f
fix(openai): filter account test models by model mapping
2026-09-22 19:34:15 +08:00
wucm667
66843cc95c
fix(moderation): handle trailing Anthropic system messages
2026-09-22 19:07:04 +08:00
Achord Chan
f867e3e2ec
test(antigravity): check schema properties type assertion
2026-09-22 18:34:36 +08:00
Wesley Liddick
1716e99151
Merge pull request #7466 from nagi330/add_grok4-7_support-0922
...
feat(grok):add grok 4.7 support
2026-09-22 18:13:37 +08:00
Wesley Liddick
483cd56924
Merge pull request #7361 from wucm667/feat/issue-7357-optional-default-groups
...
feat(simple): make startup default group creation optional
2026-09-22 18:13:18 +08:00
Wesley Liddick
b6c6f1add5
Merge pull request #7473 from lzfxxx/fix/codex-manifest-opencode-go
...
fix(codex): include OpenCode Go in model capability resolution
2026-09-22 18:13:00 +08:00
Wesley Liddick
3442a6a53e
Merge pull request #7432 from doublepi123/fix/antigravity-compat-bare-gemini-model
...
fix(antigravity): 裸 Gemini 模型名在所有转发入口解析到思考变体,修复 404/502
2026-09-22 18:12:34 +08:00
Wesley Liddick
9d9e90960e
Merge pull request #7448 from feeeei/fix/gemini-transport-error-failover
...
fix(gemini): 传输层错误转 failover,不再同账号退避重试
2026-09-22 18:12:19 +08:00
Wesley Liddick
fcd07ba0af
Merge pull request #7475 from Pluviobyte/codex/fix-proxy-restore-probe
...
fix(proxies): invalidate billing probe on fallback restore
2026-09-22 18:12:04 +08:00
Wesley Liddick
405727805a
Merge pull request #7477 from Pluviobyte/codex/fix-subscription-reduction-remainder
...
fix(subscriptions): preserve partial days during redemption deductions
2026-09-22 18:11:46 +08:00
Wesley Liddick
a46493724b
Merge pull request #7476 from Pluviobyte/codex/fix-subscription-reduction-lock
...
fix(subscriptions): lock negative redemption updates
2026-09-22 18:11:11 +08:00
Wesley Liddick
d8eeb0989b
Merge pull request #7481 from spongehah/fix/selection-skip-account-count
...
perf: 选号读取分组时不再聚合账号数
2026-09-22 18:11:00 +08:00
Wesley Liddick
a266e50e8e
Merge pull request #7369 from feeeei/feat/admin-users-toggle-status-in-place
...
ui(users): 禁用/启用用户后原地更新该行
2026-09-22 18:10:45 +08:00
Wesley Liddick
5295bd8227
Merge pull request #7446 from wucm667/fix/issue-7441-csv-reasoning-effort
...
fix(usage): export missing reasoning effort cleanly
2026-09-22 18:10:35 +08:00
spongehah
7fbc59eb69
fix: 选号读取分组时不再聚合账号数
...
- 推理选号只需要隐私开关和分组名,改为 GetByIDLite
- 避免 GetByID 附带的账号计数聚合打满主库
- 管理列表的实时账号数统计保持不变
2026-09-22 16:54:36 +08:00
Zhaofeng Li
fa79b1ebc3
fix(gateway): prevent Cloudflare 1010 from disabling OpenCode and Command Code accounts
2026-09-22 15:51:51 +08:00
Rain
0c0df031c5
fix(subscriptions): preserve partial days during redemption deductions
2026-09-22 15:03:06 +08:00
Rain
85ed17b313
fix(subscriptions): lock negative redemption updates
2026-09-22 15:03:05 +08:00
Rain
b754ff6f1b
fix(proxies): invalidate billing probe on fallback restore
2026-09-22 14:51:44 +08:00
Zhaofeng Li
e35123b8ac
fix(codex): include OpenCode Go in model capability resolution
2026-09-22 14:50:29 +08:00
Erik
7f1f85cb76
fix(gemini): stop cooling Vertex 429s until PST midnight, honor RetryInfo
...
Vertex AI reports 429s with a standard google.rpc.RetryInfo detail
(retryDelay like "39s"), but ParseGeminiRateLimitResetTime only knew the
AI Studio quotaResetDelay metadata, so parsing always failed for Vertex
bodies. The fallback then lumped service_account accounts in with
API-key/AI-Studio ones and rate limited them until the next PST
midnight, so a transient per-minute throttle could take a pay-as-you-go
account (and with it the whole group) offline for up to a day.
- Parse google.rpc.RetryInfo retryDelay from 429 bodies, capped at 15
minutes to guard against absurd upstream values.
- When no reset time can be parsed, cool service_account (Vertex)
accounts down for 60s instead of until PST midnight: pay-as-you-go
quotas are short-window RPM/TPM with no daily reset.
Fallback behavior for Code Assist, Google One and API-key accounts is
unchanged, covered by new regression tests.
2026-09-22 11:31:31 +08:00
nagi330
935db68517
feat(grok):add grok 4.7 support
2026-09-22 10:30:01 +08:00
Wesley Liddick
1c0a69c0ce
Merge pull request #7412 from StarryKira/codex/custom-reasoning-effort-billing
...
feat: 支持自定义思考等级倍率计费
2026-09-21 22:55:17 +08:00
lcy
27f4398b50
fix(antigravity): 裸 Gemini 模型名在所有转发入口解析到思考变体
...
#7258 引入的 resolveGeminiThinkingVariant 只接到了 ForwardGemini,
因此仅覆盖 /v1beta 原生 Gemini 路径。经 /v1/chat/completions 与
/v1/messages 进来的请求直接调用 getMappedModel,裸名被原样透传;
Antigravity 目录只登记 -low/-medium/-high/-tiered 变体,这些请求
仍然以 404 "Requested entity was not found." 失败。
把解析下沉到 getMappedModel(新增 getMappedModelForThinkingLevel),
一次覆盖四个调用点:/v1beta 原生、/v1/chat/completions、/v1/messages
以及后台账号连接测试。各转发入口按自身协议推导档位——原生读
generationConfig.thinkingConfig,Claude 侧读 thinking.budget_tokens,
两者阈值一致;默认入口按 high 兜底。
mapAntigravityModel 保持不变,调度侧的模型支持判定语义不受影响。
2026-09-21 20:13:44 +08:00
haruka
e47255715d
fix(billing): preserve final reasoning effort across forwarding paths
2026-09-21 19:58:02 +08:00
feeeei
d0ed0eacac
fix(gemini): 传输层错误转 failover,不再同账号退避重试
...
上游 Do 返回非 HTTP 错误(代理/DNS/TCP/TLS/响应头超时)时,Gemini 三条转发路径
(ForwardNative / Forward / ForwardAsChatCompletions)原先在同一账号上重试 5 次,
退避 1+2+4+8≈15s(time.Sleep 不感知 ctx),耗尽后直接向客户端写 502 且不换号:
单账号链路故障期间 TTFT 被整段拖高,同组健康账号闲置。
对齐 Anthropic/Bedrock 侧 handleUpstreamTransportError 的既有语义:
- 传输层错误单次尝试后即返回 *UpstreamFailoverError(502),由 handler failover
循环换号,耗尽后才按端点格式渲染错误;service 不再写响应
- 持久性故障(connection refused/no route/DNS not found/代理认证失败)额外临时
摘除账号 10 分钟;瞬时故障(EOF/reset/超时)只换号不摘号
- context.Canceled 保持原样返回:不换号也不摘账号
- countTokens 传输失败时立即本地估算兜底,不换号
- 摘号实现抽为 tempUnscheduleAccountForTransportError 供两侧共用,日志事件名不变
HTTP 状态码(429/5xx)的服务内重试环未改动。
2026-09-21 14:13:57 +08:00
wucm667
ece1ecccca
fix(gateway): normalize streamed Anthropic usage
2026-09-21 12:58:56 +08:00
wucm667
b13200d7a1
fix(gateway): forward received chat stream usage
2026-09-21 12:58:56 +08:00
wucm667
386f321d3c
fix(usage): export missing reasoning effort cleanly
2026-09-21 12:41:01 +08:00
wucm667
60a64568bf
ci: run simple mode compose environment test
2026-09-21 11:06:25 +08:00
wucm667
de98bdff1e
fix(images): preserve insufficient balance failures
2026-09-21 10:23:10 +08:00
wucm667
992c4f4b89
test(frontend): run platform quota modal spec in CI
2026-09-21 08:16:18 +08:00
shaw
7c700729c2
chore: update gitignore
2026-09-20 20:05:09 +08:00