Wesley Liddick
799e9938fb
Merge pull request #6945 from r266-tech/feat/model-retrieval-6931
...
feat(gateway): retrieve models from the visible catalogue
2026-09-11 09:26:41 +08:00
Zero Clover
8f2cba0c20
fix(openai): map new ChatGPT plan tiers to friendly labels
...
prolite -> Pro 5x (violet, same as Pro), pro/chatgptpro -> Pro 20x, self_serve_business_prolite -> Business Premium (indigo, same as Team), team -> Business Standard.
The tier naming stays OpenAI-only so Antigravity Pro and Grok pro keep their own labels; planTypeDisplayLabel now shares openAIPlanTypeLabel with PlatformTypeBadge instead of duplicating the mapping, and the manual plan_type dropdown gains the Pro 5x / Business Premium presets.
2026-09-11 03:25:44 +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
b112805ffa
test(ops): align query matcher formatting with gofmt
2026-09-10 21:21:08 +08:00
chihao.ou
8c56eabcdc
fix(payment): allow scrolling through renewal plans
2026-09-10 21:20:20 +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
df8eceba0c
fix(apicompat): chat 桥保留 Codex agent_message 任务正文
2026-09-10 20:25:38 +08:00
xlplbo
95a04c8dff
test(apicompat): additional_tools 走 chat 桥的回归用例
2026-09-10 19:50:26 +08:00
xlplbo
cd1ee1d1ad
fix(openai): WS 接入会话状态改用执行作用域键
2026-09-10 17:50:24 +08:00
xlplbo
9e7c2d713c
fix(openai): WS 会话抢占改用执行作用域键
2026-09-10 17:50:24 +08:00
xlplbo
06b61ba96f
feat(openai): 解析 codex 线程标识派生 WS 执行作用域
2026-09-10 17:50:23 +08:00
feeeei
4a4b50d807
fix(quota): 平台限额表只保存已配置限额的记录,仪表盘按用量与限额展示平台
...
user_platform_quotas 只保存至少配置了一档限额的记录;不存在的行等价于不限额。
- 注册播种只为配置了限额的平台建行,一个都没有时不写入
- IncrementUsageWithReset 无行时不再 fail-open 建行
- BatchSnapshotUsage 改为只更新既有活跃行,不再插入无限额的新行
- 仓储 BulkInsertInitial/UpsertForUser 把三档全空的记录视为未配置;
管理员全量替换接口同样剔除,清空限额即软删并放弃累计用量
- 迁移 238 删除三档全 NULL 的历史行
- 用户仪表盘平台卡片 = 有用量的平台 ∪ 配置了限额的平台,计数改为卡片数
- 管理员限额弹窗对未保存限额的平台禁用"重置窗口"
2026-09-10 16:41:58 +08:00
r266-tech
1c0932e173
feat(gateway): retrieve models from the visible catalogue
2026-09-10 15:57:17 +08:00
nekocode
a4edda36d5
fix(gateway): 不再剥离客户端 system 上的 cache_control
...
OAuth mimic 路径无条件删除 system[*].cache_control,不打日志也不报错。
把稳定前缀锚在 system 上的客户端因此拿到 cache_creation 与 cache_read
双 0 —— 不是没命中,是连写都没写。
这个动作是 46e5ac9 引进时「system 必然被整个重写」的配套:客户端的
system 内容都搬进 messages 了,残留断点指着空气,删它是对的。后来
system 注入变成可配置,于是长出了原设计里不存在的组合 —— system 没被
重写,断点照删。剥离失去了赖以成立的前提,代码却还在。
三处调用点里 count_tokens 那处还是硬编码 true,与另两处的
!systemRewritten 语义不一致。
直接移除该选项而不是再加一个开关:注入开启时 system 已被整个替换、
留在上面的断点是我们自己拼进去的稳定锚点;注入关闭时断点就是客户端的
缓存意图。两种情形都没有删它的理由,而需要开关的是有取舍的行为。
顺带补上 count_tokens 的 4 块上限兜底:五条出口里只有它没在自己的转发
路径上调过 enforceCacheControlLimit,原先那句 strip 是这条路上唯一压制
断点数量的东西。拿掉之后「客户端 system + 客户端 messages + 刚注入的
tools[-1]」实测顶到 5 块,而上游对超限是 400。
messages 层的同类改写见 #2369,那次只落地了 messages 一半。
此前该行为零测试覆盖(stripSystemCacheControl 在 _test.go 里零命中),
本次补 4 个用例,其中上限兜底那条撤掉修复即红。
Claude-Session: https://claude.ai/code/session_01WnTW52pmELGy3g7KPEUXj2
2026-09-10 15:48:17 +08:00
smyyyyy
4e5632c3e3
fix: validate Codex User-Agent before identity parsing
2026-09-10 03:18:31 +08:00
feeeei
44bc47a3e3
fix(gemini): 原生路径登记 2xx 响应里的带内错误信号
...
Gemini API-key 原生转发对上游 2xx 只抽 usage 原样透传:finishReason 内容拦截、
promptFeedback.blockReason、事件里的 Google 错误信封、空响应都被当作成功,
ops 错误日志、用户错误页、渠道监控全部没有记录。
- 新增 gemini_response_signal:逐事件判定三类带内信号,流式按优先级登记最高者;
没有 data 事件时对非 SSE 的兜底正文整段判定,空体登记 EMPTY_STREAM / EMPTY_RESPONSE
- 内容策略类按请求级结果登记(invalid_request_error / 400,business limited,
不做上游归因、不计 SLA);错误信封、生成异常、空响应按上游失败登记并计 SLA
- OpsStreamError 新增 RequestScoped / NonStream:请求级带内行不受残留上游上下文与
skip_monitoring 影响,落库状态取 IntendedStatus;中间件保留此前尝试的恢复行
- 客户端字节、wire 状态、用量与计费不变
2026-09-10 02:59:15 +08:00
chihao.ou
21323c31f8
fix(monitor): support upstream base URL paths
2026-09-09 20:02:25 +08:00
chihao.ou
c76db386c0
fix(subscriptions): exclude deleted users from assignment search
2026-09-09 20:01:34 +08:00
chihao.ou
58e6e6b325
fix(risk-control): clarify the async processed counter label
2026-09-09 19:57:23 +08:00
chihao.ou
567ea21dc8
feat(admin): support deleting selected users
2026-09-09 19:50:05 +08:00
chihao.ou
b9d0728687
fix(redeem): align subscription duration limit with the backend
2026-09-09 19:47:22 +08:00
wangjunwei
de76baaa0d
fix(scheduler): preserve Anthropic threshold metadata
2026-09-09 17:13:37 +08:00
anguobao123
26798773cb
fix(deploy): support web updates with Apple container
2026-09-09 17:05:45 +08:00
github-actions[bot]
98d86915be
chore: sync VERSION to 0.2.4 [skip ci]
2026-09-09 07:05:11 +00:00
Wesley Liddick
5de5e2bed0
Merge pull request #6874 from hansnow/fix/gpt-image-2-5-oauth
...
fix(openai): 支持 Image 2.5 并修复 OAuth 生图主控模型
v0.2.4
2026-09-09 14:43:55 +08:00
刘世俊
a0babc93dd
fix(openai): accept full heartbeat bootstrap envelopes
2026-09-09 12:48:57 +08:00
hansnow
7ccc8a6f50
fix(openai): 支持 Image 2.5 并修复 OAuth 生图主控模型
2026-09-09 11:04:59 +08:00
lcy
29a36a10be
Merge upstream/main into feat/antigravity-gemini-3.8-flash
...
Resolve comment-wording conflict in normalizeGeminiThinkingTierAlias by
keeping upstream's phrasing. Function body and behavior are unchanged.
2026-09-09 01:49:32 +08:00
reallyfeishi
f180fbb884
fix: anchor channel monitor buckets to UTC
2026-09-08 23:02:06 +08:00
chihao.ou
1d4e0436e4
feat(settings): allow hiding the custom page open button
2026-09-08 21:18:56 +08:00
shaw
270eac6973
chore: update sponsors
2026-09-08 21:18:24 +08:00
chihao.ou
266ac9c11b
fix(ops): prioritize time and response in error details
2026-09-08 21:17:13 +08:00
chihao.ou
fd880839f6
fix(usage): show eight decimal places in cost details
2026-09-08 21:15:55 +08:00
shaw
570106ac17
chore: update sponsors
2026-09-08 20:57:43 +08:00
Wesley Liddick
775348b402
Merge pull request #6706 from ouchihao/codex/issue-3679-draggable-custom-page-button
...
feat(custom-page): make the open-link button draggable
2026-09-08 20:47:42 +08:00
Wesley Liddick
d9efbf8229
Merge pull request #6839 from mason0510/fix/grok-external-web-access
...
fix(grok): 移除 Chat Completions 中不支持的 external_web_access 参数
2026-09-08 20:47:25 +08:00
Wesley Liddick
233f3dffe6
Merge pull request #6281 from wuji-labs/feat/http2-long-stream-keepalive
...
feat(upstream): add HTTP/2 PING keepalive for long LLM generation streams
2026-09-08 20:47:07 +08:00
Wesley Liddick
f9d7826711
Merge pull request #6513 from anguobao123/codex/optional-apple-container-network-subnet
...
feat(deploy): support optional Apple network subnet
2026-09-08 20:46:51 +08:00
Wesley Liddick
c54897a59d
Merge pull request #6815 from Pluviobyte/codex/fix-directed-proxy-backups
...
fix(proxies): make backup references directed and shareable
2026-09-08 20:46:32 +08:00
Wesley Liddick
29646ba6b4
Merge pull request #6488 from aofee/codex/feat-grok-media-eligibility-ui
...
feat: add Grok media eligibility controls
2026-09-08 20:46:20 +08:00
Wesley Liddick
6f0d0ababc
Merge pull request #6320 from spongehah/fix/runtime-block-honor-persisted-cooldown
...
fix(schedule): 选号按持久化冷却条件清除本机账号级阻断
2026-09-08 20:46:07 +08:00
Wesley Liddick
52f7bcaedd
Merge pull request #6759 from ssharkkky/feat/cmv2-user-ranking-toggle
...
feat(channel-monitor-v2): add user ranking toggle and keep missing TTFT neutral
2026-09-08 20:44:07 +08:00
Wesley Liddick
95acbf1f03
Merge pull request #6424 from cyhhao/fix/bound-ops-system-log-storage
...
fix(ops): bound database-backed system log growth
2026-09-08 20:43:54 +08:00