Wesley Liddick
d895d765b6
Merge pull request #3042 from DaydreamCoding/feat/usage-error-requests
...
feat(usage/ops): 失败请求记录与展示(用户端 + 管理端)+ 错误日志 Key 归因
2026-06-05 15:42:25 +08:00
Wesley Liddick
57bae985a7
Merge pull request #2711 from wucm667/fix/db-pool-enforce-conn-lifetime-floor
...
fix(db-pool): 强制连接生命期下限,缓解 lib/pq watchCancel 协程泄漏
2026-06-05 13:55:07 +08:00
Wesley Liddick
e080d3f966
Merge pull request #2975 from wucm667/fix/easypay-queryorder-trade-status
...
fix(payment): EasyPay 查单以 trade_status 判定支付成功,避免未付订单误判到账
2026-06-05 13:54:54 +08:00
Wesley Liddick
f332e0a83c
Merge pull request #2872 from wucm667/fix/scheduler-sticky-health-escape
...
fix(scheduler): session_hash sticky 引入健康度逃逸,慢账号不再独占用户会话
2026-06-05 13:54:37 +08:00
Wesley Liddick
83cce858a5
Merge pull request #3039 from StarryKira/fix/issue-2994-codex-5h-used-percent-selfheal
...
fix(openai): self-heal stale Codex used% snapshots + lock semantics (#2994 )
2026-06-05 13:54:18 +08:00
Wesley Liddick
bebeaf57c5
Merge pull request #2854 from ttt132/fix/responses-stream-completed-output
...
fix: normalize responses streaming terminal output
2026-06-05 13:54:05 +08:00
Wesley Liddick
a879f254c8
Merge pull request #3012 from visa2/fix/responses-anthropic-tool-pairing
...
fix(apicompat): repair tool_use/tool_result pairing on the Responses→Anthropic path
2026-06-05 13:53:31 +08:00
Wesley Liddick
fbd25acae0
Merge pull request #3035 from ghostg00/fix/admin-group-clear-description
...
fix(group): 管理员清空分组描述时正确持久化
2026-06-05 13:53:20 +08:00
Wesley Liddick
05f0326e99
Merge pull request #2988 from wucm667: content audit auto-ban exempts admin accounts
...
fix(risk-control): 内容审计 auto-ban 豁免管理员账号,避免封禁管理员/超管
2026-06-05 13:47:10 +08:00
Wesley Liddick
b34480df68
Merge pull request #3001 from Pluviobyte: bump Go patch version to 1.26.4
...
chore: bump Go patch version to 1.26.4
2026-06-05 13:46:37 +08:00
Wesley Liddick
f1aa589646
Merge pull request #2993 from ghostg00/fix/openai-5h-used-percent-direct
...
fix(usage): revert OpenAI 5h used_percent inversion (#2918 regression)
2026-06-04 16:02:52 +08:00
Wesley Liddick
aa69e3947d
Merge pull request #2926 from visa2/feat/codex-responses-bridge-redesign
...
refactor(apicompat): redesign the Codex Responses ↔ Chat Completions …
2026-06-01 15:07:44 +08:00
Wesley Liddick
5f63fe1945
Merge pull request #2927 from moonagic/main
...
fix antigravity gemini rate limit and account scheduling
2026-06-01 14:50:36 +08:00
Wesley Liddick
3ba4a51355
Merge pull request #2937 from Kanshan03/fix/ws-codex-image-bridge
...
fix(openai): inject WS Codex image bridge tool
2026-06-01 14:18:58 +08:00
Wesley Liddick
a0057f44f2
Merge pull request #2932 from fatelei/issue-2917
...
fix: change balance to pointer type
2026-06-01 11:37:33 +08:00
Wesley Liddick
bc5813f023
Merge pull request #2936 from xlx0852/codex/ws-http-bridge-recovery
...
fix(openai): bridge oversized websocket requests
2026-06-01 11:11:11 +08:00
Wesley Liddick
80fa2f28c5
Merge pull request #2920 from wucm667/fix/openai-failover-stale-cached-body
...
test(openai): 覆盖 responses failover 请求体重映射,防止 alias 模型泄漏
2026-06-01 10:47:48 +08:00
Wesley Liddick
7ad2dc74dd
Merge pull request #2922 from gsh20040816/codex/fix-openai-ws-usage-dedup
...
fix: avoid OpenAI WS usage dedup conflicts
2026-06-01 10:23:01 +08:00
Wesley Liddick
418d09be56
Merge pull request #2881 from xiaoyiluck666/fix/openai-oauth-refresh-enrichment
...
修复 OpenAI OAuth 刷新未补全账号信息
2026-06-01 10:04:16 +08:00
Wesley Liddick
910ff3cd58
Merge pull request #2892 from Arron196/feat/sync-upstream-models-on-create
...
feat: 添加账号时支持同步上游支持的模型
2026-06-01 09:58:33 +08:00
Wesley Liddick
ed8f5666c6
Merge pull request #2895 from wucm667/feat/usage-window-tooltip
...
feat(admin): 账号用量窗口 5h/7d 增加说明 tooltip
2026-06-01 09:57:03 +08:00
Wesley Liddick
52ef848432
Merge pull request #2919 from wucm667/fix/claude-code-only-allow-count-tokens
...
fix(gateway): claude_code_only 不再误拦截官方 Claude Code 的 count_tokens 与非流式 messages 请求
2026-06-01 09:44:40 +08:00
Wesley Liddick
29c8b8aa4b
Merge pull request #2918 from wucm667/fix/openai-5h-usage-window-inverted
...
fix(usage): 修正 OpenAI 5h 用量窗口 used%/remaining% 颠倒
2026-06-01 09:42:20 +08:00
Wesley Liddick
0f70f84182
Merge pull request #2925 from is7Qin/feat/openai-oom
...
refactor(gateway): 降低大请求体内存保留
2026-06-01 09:40:31 +08:00
Wesley Liddick
c596b0a294
Merge pull request #2908 from DaydreamCoding/feat/admin-usage
...
feat(usage): /admin/usage 支持查看已删除用户 + 打开速度与刷新优化
2026-06-01 09:40:22 +08:00
Wesley Liddick
f18451e56f
Merge pull request #2891 from DaydreamCoding/feat/platform-quota-conn-optimization
...
feat(quota): 收敛 user×platform 配额的 DB 连接占用(sentinel 回填 + 写聚合 flusher)
2026-05-29 20:17:08 +08:00
shaw
68901cbfff
chore(pricing): update model pricing metadata
2026-05-29 16:29:29 +08:00
Wesley Liddick
0a8c77f8c3
Merge pull request #2884 from Pluviobyte/fix/gemini-messages-tool-text-block-ordering
...
fix(gemini): close tool_use block before text in messages streaming
2026-05-29 16:22:34 +08:00
Wesley Liddick
69e7c4db30
Merge pull request #2865 from wey-gu/feat/usage-request-context
...
fix(gateway): preserve usage request context
2026-05-29 16:21:59 +08:00
Wesley Liddick
52292741cb
Merge pull request #2849 from Pluviobyte/fix/count-tokens-payload-filter
...
fix(gateway): filter count_tokens generation fields
2026-05-29 16:11:01 +08:00
Wesley Liddick
f68d351158
Merge pull request #2873 from wucm667/feat/account-quota-threshold-auto-pause
...
feat(account): 支持按 5h/7d 用量阈值自动暂停账号调度
2026-05-29 15:40:33 +08:00
Wesley Liddick
1d46be02ae
Merge pull request #2830 from stabey/fix/anthropic-to-responses-cache-tokens
...
fix(apicompat): Anthropic 转 Responses 时按 OpenAI 语义汇总 input_tokens
2026-05-29 11:00:19 +08:00
Wesley Liddick
16842c2f8b
Merge pull request #2836 from siyuan-123/fix/openai-ws-compat-usage
...
修复 OpenAI WS 兼容性与 usage 统计
2026-05-29 10:47:12 +08:00
Wesley Liddick
21cd382f39
Merge pull request #2855 from gaoren002/fix/concurrency-error-classification
...
fix: classify concurrency acquire failures
2026-05-29 10:33:40 +08:00
Wesley Liddick
e6a3f1e12b
Merge pull request #2869 from Pluviobyte/fix/ws-first-token-terminal-event
...
fix(ws): exclude terminal events from first-token detection
2026-05-29 10:32:16 +08:00
Wesley Liddick
fc9d79d96b
Merge pull request #2835 from JIA-ss/fix/responses-passthrough-token-details
...
fix(apicompat): Responses→Chat 转换补齐 completion_tokens_details 透传
2026-05-29 10:31:52 +08:00
Wesley Liddick
d3a8db8084
Merge pull request #2833 from alfadb/fix/haiku-strip-context-management
...
fix(gateway): 按最终 anthropic-beta header 对 body.context_management 做能力维度 sanitize
2026-05-29 10:31:12 +08:00
Wesley Liddick
433f8dcd13
Merge pull request #2834 from DaydreamCoding/pr/openai-codex-cli-allow-claude-code
...
feat(openai): codex_cli_only 新增放行 Claude Code Codex 插件的机制
2026-05-29 10:30:33 +08:00
Wesley Liddick
6bc1983506
Merge pull request #2853 from wucm667/fix/system-update-already-up-to-date-response
...
fix(admin): system/update 在无更新时返回 200 + already_up_to_date 而非 500
2026-05-29 10:29:49 +08:00
shaw
6010c3cca9
test: 修复内容审计日志异步断言
2026-05-29 09:57:02 +08:00
shaw
514ac5c6a1
feat: 适配 claude-opus-4-8
2026-05-29 09:56:48 +08:00
shaw
37044b83eb
fix(openai): clarify endpoint capability UI
2026-05-29 09:23:06 +08:00
shaw
ed1b57c597
fix(openai): gate routing by endpoint capability
2026-05-29 08:58:10 +08:00
Wesley Liddick
8c1a07852c
Merge pull request #2858 from wey-gu/feat/openai-embeddings-gateway
...
feat(gateway): Add OpenAI embeddings gateway
2026-05-28 22:15:19 +08:00
Wesley Liddick
6b0ee8594c
Merge pull request #2860 from fofoj/fix/oauth-401-credentials-overwrite
...
fix(oauth): 401 handler 不再回写 credentials,避免 refresh_token 被陈旧快照覆盖
2026-05-28 21:59:02 +08:00
Wesley Liddick
c3cd2b9f47
Merge pull request #2862 from lyen1688/feat/pre-block-risk-control-runtime
...
feat: 完善前置拦截模式的风控运行态与审核记录
2026-05-28 20:25:43 +08:00
Wesley Liddick
cc077862b3
Merge pull request #2797 from wucm667/feat/account-list-created-at-column
...
feat(admin): 账号管理列表新增创建时间列
2026-05-27 22:10:21 +08:00
Wesley Liddick
bbe847ed3e
Merge pull request #2805 from StarryKira/feat/configurable-pool-retry-status-codes
...
feat(account): configurable pool-mode same-account retry status codes
2026-05-27 22:09:55 +08:00
Wesley Liddick
69657b2fa1
Merge pull request #2827 from ttt132/fix/api-key-responses-sse-fallback
...
fix: fallback to SSE body for API key responses
2026-05-27 21:56:00 +08:00
Wesley Liddick
61ce79533e
Merge pull request #2800 from wucm667/fix/scheduler-model-not-found-per-model-cooldown
...
fix(scheduler): 模型 404 仅冷却该账号-模型组合,不再封整个账号
2026-05-27 21:01:52 +08:00
Wesley Liddick
c949d22725
Merge pull request #2821 from Pluviobyte/fix/long-context-cache-creation-multiplier
...
fix(billing): apply long-context multiplier to cache_creation price (follow-up to #2816 )
2026-05-27 21:01:27 +08:00
Wesley Liddick
8461e42a97
Merge pull request #2822 from lyen1688/feat/group-custom-models-list
...
feat(group): 支持自定义 /v1/models 模型列表
2026-05-27 21:00:19 +08:00
Wesley Liddick
7579058e91
Merge pull request #2820 from Pluviobyte/fix/antigravity-passthrough-message-start-input-tokens
...
fix(antigravity): capture message_start input_tokens in streaming passthrough
2026-05-27 20:59:51 +08:00
shaw
a391635191
更新 OpenAI 使用密钥配置
2026-05-27 17:29:20 +08:00
Wesley Liddick
b0142146af
Merge pull request #2816 from Pluviobyte/fix/long-context-cache-read-multiplier
...
fix(billing): apply long-context multiplier to cache_read price (#2293 )
2026-05-27 15:59:11 +08:00
Wesley Liddick
2387cf9934
Merge pull request #2799 from siyuan-123/fix/ws-rate-limit-failover
...
修复 OpenAI WS 限额时不自动切换账号
2026-05-27 15:14:28 +08:00
shaw
f7ac5e5931
fix(openai): preserve chat responses usage billing
2026-05-26 21:33:28 +08:00
Wesley Liddick
4b9b63443f
Merge pull request #2790 from Arron196/from-arron-main
...
修复 Ops SLA 本地限制错误统计
2026-05-26 20:21:11 +08:00
Wesley Liddick
4a5c5367cf
Merge pull request #2796 from DaydreamCoding/fix/account-reauth-keep-extra
...
fix(account): 重新授权不再清空 Extra 配置
2026-05-26 20:06:48 +08:00
Wesley Liddick
b9f421d647
Merge pull request #2751 from wucm667/fix/bedrock-strip-context-management-when-beta-removed
...
fix(bedrock): v0.1.130 回归 — beta token 被移除时同步剥离 context_management 字段
2026-05-26 20:05:43 +08:00
Wesley Liddick
bebc082306
Merge pull request #2766 from DaydreamCoding/feat/user-platform-quota
...
feat(quota): 用户 × 平台 USD 配额
2026-05-26 14:13:18 +08:00
Wesley Liddick
83248478e2
Merge pull request #2777 from lyen1688/feat/content-moderation-risk-threshold
...
feat: 支持内容审计风险阈值配置
2026-05-26 14:12:54 +08:00
Wesley Liddick
a28e8e3d44
Merge pull request #2776 from mt21625457/fix-http2-bug
...
[codex] 修复 OpenAI/Codex HTTP/2 响应头超时
2026-05-26 14:12:11 +08:00
shaw
2f70d965bf
chore: update sponsors
2026-05-25 19:06:55 +08:00
shaw
53acde1efd
style: fix lint errors in response.failed SSE writer
...
Errcheck flagged three unchecked strings.Builder.WriteString calls and
gofmt rejected over-aligned trailing comment in the route table.
Rewrite writeResponsesFailedSSE with json.Marshal on typed structs
instead of Builder+strconv.Quote. Same wire format, but:
- no unchecked Write returns to silence
- strict JSON escaping (strconv.Quote emits \a and \v which are not
valid JSON; Marshal handles all runes correctly)
- omitempty model field via struct tag instead of conditional Builder
- consistent with the json.Marshal style used elsewhere in handler/
Collapse trailing comment whitespace in stream_error_event_test.go to
satisfy gofmt.
All 30+ subtests in the package still pass.
2026-05-25 18:16:46 +08:00
Wesley Liddick
a18738b29e
Merge pull request #2732 from wminjay/fix/responses-stream-failed-event
...
fix(openai): emit response.failed when /v1/responses SSE aborted post-flush
2026-05-25 18:12:25 +08:00
Wesley Liddick
2fb9fb2f71
Merge pull request #2747 from siyuan-123/fix/ws-tool-output-continuation
...
修复 WS 协议下工具输出续链识别问题
2026-05-25 17:58:00 +08:00
shaw
0cfabaa82e
fix(i18n): escape at-sign in email whitelist placeholder
...
Escape the at-sign in email whitelist placeholder to avoid Vue I18n linked message parsing errors on the settings page.
2026-05-23 14:18:20 +08:00
shaw
0430899748
feat(admin): add compact proxy IP resource link
...
Add a low-visibility proxy IP resource link near proxy-related controls.
- Show the link beside account proxy selectors
- Show the link in the create proxy dialog tab row
- Keep the entry inline to avoid interrupting form workflows
2026-05-23 14:18:19 +08:00
Wesley Liddick
3c5a444802
Merge pull request #2698 from deqiying/fix/log-real-client-ip
...
fix: 修复反代部署下拒绝日志客户端 IP 不准确
2026-05-23 11:08:47 +08:00
shaw
b6c0b40848
fix: update x/net vulnerability dependency
2026-05-23 10:55:44 +08:00
shaw
1e406fed52
fix: optimize OpenAI account cooldown scheduling
2026-05-23 10:18:43 +08:00
Wesley Liddick
f59d9a5f8e
Merge pull request #2674 from wucm667/feat/moderation-per-model-toggle
...
feat(risk-control): 内容审计支持按模型生效
2026-05-22 20:10:38 +08:00
Wesley Liddick
301032dc72
Merge pull request #2672 from wucm667/feat/email-whitelist-wildcard-suffix
...
feat(registration): 邮箱白名单支持后缀通配符匹配(*.edu.cn)
2026-05-22 17:33:29 +08:00
Wesley Liddick
a5efb84fa0
Merge pull request #2656 from wucm667/fix/apicompat-developer-role-to-system
...
fix(apicompat): Responses 转 Chat Completions 时 developer role 映射为 system
2026-05-22 17:32:47 +08:00
Wesley Liddick
9f91a8af17
Merge pull request #2662 from touwaeriol/feat/bedrock-cc-compat
...
feat(bedrock): add Claude Code compatibility for AWS Bedrock
2026-05-22 17:32:11 +08:00
Wesley Liddick
a33a294970
Merge pull request #2658 from wucm667/feat/account-test-chat-completions-path
...
feat(account): 测试连接支持 OpenAI-compatible Chat Completions 路径
2026-05-22 17:31:14 +08:00
Wesley Liddick
ac72b01d89
Merge pull request #2681 from wucm667/fix/moderation-dedupe-agent-loop
...
fix(risk-control): Agent 工具循环中同一用户消息重复审计去重
2026-05-22 17:29:22 +08:00
Wesley Liddick
e674a5628c
Merge pull request #2682 from Xch13/fix-cache-hit-rate
...
fix(frontend): 修正 Cache Hit Rate 计算分母,包含全部 prompt tokens
2026-05-22 17:27:26 +08:00
Wesley Liddick
85e60b4f51
Merge pull request #2687 from wucm667/fix/audit-exception-js-cookie
...
fix(deps): 升级 js-cookie 解决 GHSA-qjx8-664m-686j 阻塞 frontend-security CI
2026-05-22 17:14:59 +08:00
shaw
16793d3af0
chore: update sponsors
2026-05-21 15:26:20 +08:00
shaw
aae20ef437
fix(oidc): harden verified-email fast path
2026-05-21 15:19:29 +08:00
Wesley Liddick
35901a174b
Merge pull request #2655 from ye4241/feat/oidc-trust-verified-email-fast-path
...
feat(oidc): 上游邮箱已验证时跳过 choice 页直接登录注册
2026-05-21 14:47:08 +08:00
shaw
a613a587ba
feat: add subscription expiry email toggle
2026-05-21 14:27:50 +08:00
Wesley Liddick
bd3d4d9a24
Merge pull request #2399 from gaoren002/fix/openai-image-upstream-errors
...
fix(openai): surface image moderation errors
2026-05-21 11:31:22 +08:00
Wesley Liddick
a60a349ecf
Merge pull request #2375 from gaoren002/fix/account-delete-scheduler-cache
...
fix: clear scheduler cache when deleting accounts
2026-05-21 11:31:05 +08:00
Wesley Liddick
131d4b3050
Merge pull request #2374 from gaoren002/fix/openai-refresh-token-reused
...
fix: mark reused refresh tokens non-retryable and unschedule errored accounts
2026-05-21 11:30:52 +08:00
shaw
9673a22f26
fix(i18n):
...
去除兑换码批量修改重复的翻译 key
PR #2613 与 PR #2615 各自独立添加了同一组批量修改 i18n key,
导致 vue-tsc 报 TS1117 错误。保留 Title Case 一组,删除重复定义。
2026-05-21 11:12:32 +08:00
Wesley Liddick
eda04c6129
Merge pull request #2615 from wucm667/feat/redeem-code-batch-update
...
feat(redeem): 兑换码支持批量修改
2026-05-21 10:39:46 +08:00
Wesley Liddick
b106192ee2
Merge pull request #2648 from DaydreamCoding/fix/user-provider-default-grants-check
...
fix(auth): user_provider_default_grants 加入 github/google/dingtalk
2026-05-21 10:38:34 +08:00
Wesley Liddick
d3c4e50753
Merge pull request #2645 from lyen1688/fix/trusted-forwarded-ip-acl
...
PR:为 API Key IP 白/黑名单增加可配置的反代真实 IP 判断
2026-05-21 10:34:28 +08:00
Wesley Liddick
e5d6f1727f
Merge pull request #2641 from Arron196/fix/channel-monitor-responses-reasoning
...
fix(channel-monitor): 兼容 Responses reasoning 输出
2026-05-20 22:36:46 +08:00
Wesley Liddick
f2d072ffc7
Merge pull request #2643 from Arron196/fix/ops-sla-local-client-errors
...
fix(ops): 排除本地客户端限制错误的 SLA 计数
2026-05-20 22:36:02 +08:00
Wesley Liddick
99261741af
Merge pull request #2642 from touwaeriol/feat/bedrock-cc-compat
...
feat(bedrock): add Claude Code compatibility transformations
2026-05-20 22:35:30 +08:00
Wesley Liddick
73b43bbb8a
Merge pull request #2636 from is7Qin/fix/thinking-block-empty-content-retry
...
fix: 命中"thinking block must contain thinking"上游错误时触发重试
2026-05-20 19:59:49 +08:00
shaw
5c074e6fe8
ci: restrict cla workflow to upstream repo
2026-05-20 17:09:57 +08:00
Wesley Liddick
51f72186a5
Merge pull request #2613 from wucm667/feat/api-key-usage-daily-detail
...
feat(usage): 用户 API Key 用量页支持按日明细
2026-05-20 16:55:42 +08:00
Wesley Liddick
a6db05c824
Merge pull request #2612 from wucm667/fix/group-status-key-auth-block
...
fix(auth): 停用/删除分组后阻断已发放 API Key 的请求
2026-05-20 16:55:08 +08:00
Wesley Liddick
655e157658
Merge pull request #2611 from wucm667/test/repo-aes-encryptor
...
test(repository): 补充 AES Encryptor 单元测试
2026-05-20 16:54:33 +08:00
shaw
df2b02e61c
fix: 修正分组账号可用计数口径
2026-05-20 16:53:23 +08:00