Wesley Liddick
3e45d4e030
Merge pull request #6089 from lyen1688/feat/channel-time-pricing-weekdays
...
新增渠道时间段定价工作日生效规则
2026-08-24 10:21:47 +08:00
shaw
391d69e086
fix: preserve initial plugin bridge requests
2026-08-24 09:51:31 +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
lyen1688
77e0409f7c
新增渠道时间段定价工作日规则
2026-08-23 00:30:27 +08:00
yan9651688
d9d2854d27
Make enabled model plaza discoverable from /home
...
The model plaza route already supports public access, but both built-in /home headers omit its entry. Add the link to compact and default headers while keeping the existing feature and authentication settings authoritative, then cover the visibility matrix with focused component tests.
Constraint: Keep the change frontend-only and preserve router-owned access control
Rejected: Add the link to AppHeader only | /home renders its own headers and never mounts AppHeader
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep the model plaza entry gated by the existing opt-in flag and require-auth setting
Tested: HomeView focused Vitest, full frontend Vitest (223 files / 1554 tests), ESLint, vue-tsc, production build
Not-tested: Manual browser click-through against a running backend
Related: #5524
2026-08-21 21:29:39 +08:00
Wesley Liddick
beaeaaed06
Merge pull request #6009 from HypoxanthineOvO/fix/cn-quota-refresh-affordance
...
fix(frontend): make CN provider quota/balance refresh affordance explicit
2026-08-21 21:25:05 +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
wucm667
3445485ebc
fix(frontend): prevent token refresh lock loop
2026-08-21 19:14:04 +08:00
wucm667
68653fb2cc
fix: allow messages dispatch for composite groups
2026-08-21 18:01:16 +08:00
heyx
2e279c81d2
fix(frontend): make CN provider quota/balance refresh affordance explicit
...
The quota cell used the noun label "5-hour window/weekly window" and the
balance cell the balance value itself as the click target for a manual
refresh. Both read as passive captions, so users could not discover the
manual probe and reported the feature as missing ("only OpenAI has a
refresh button").
- Split data display from the refresh action: bars/balance render as
static rows (snapshot already paints on mount), with a dedicated
action button below, aligned with the OpenAI "Query" and Grok
"Probe" buttons (same icon, blue action styling).
- Label the control with a verb (cnProviders.probe: 查询 / Query) and
give the balance cell a tooltip (it previously had none).
- Keep the tier/label layout classes and data-test hooks intact.
- Extend the quota cell spec and add a balance cell spec covering
snapshot rendering, explicit action labeling and failure passthrough.
2026-08-21 16:23:11 +08:00
IanShaw027
7c53a842e4
合并上游 main,保留 5925 的 Grok 重试上限与 5888 的协议兼容修复
...
同账号重试采用次数上限加 deadline;畸形 tools 在出站前删除;compaction 422 与结构化错误扫描一并保留。
2026-08-21 08:49:44 +08:00
IanShaw
e62ec2c42f
Revert "feat(429): add configurable cooldown and retry strategies"
...
This reverts commit 6c3edc0956 .
2026-08-20 05:44:21 -07:00
IanShaw
6c3edc0956
feat(429): add configurable cooldown and retry strategies
2026-08-20 05:43:43 -07:00
IanShaw
39485f2e28
更新 Grok 默认模型与官方计费目录
2026-08-20 02:32:22 -07:00
IanShaw
48615d5d1f
Merge remote-tracking branch 'upstream/main' into fix/openai-responses-compatibility
...
# Conflicts:
# backend/internal/handler/ops_error_logger.go
2026-08-20 00:31:12 -07:00
Wesley Liddick
740f580801
Merge pull request #5842 from SavitarC/feat/adaptive-api-protocol
...
feat(accounts): 添加账号支持自适应API 协议
2026-08-20 14:43:41 +08:00
IanShaw
d1c6456d08
合并上游最新主分支兼容修复
2026-08-19 23:15:50 -07:00
IanShaw
e4f869e0c7
完善运维错误详情兼容展示
2026-08-19 23:13:47 -07:00
SavitarC
b3092145db
fix(accounts): harden adaptive protocol compatibility
2026-08-20 13:57:25 +08:00
Wesley Liddick
cb7fef14c0
Merge pull request #5838 from xuhaihan/fix/admin-user-role-select-styling
...
fix(frontend): align admin role selector styling
2026-08-20 13:40:21 +08:00
SavitarC
85051616f9
feat(accounts): add adaptive API protocol routing
2026-08-20 11:52:05 +08:00
Wesley Liddick
1b5dc676a9
Merge pull request #5851 from IanShaw027/feat/channel-pricing-tier-multipliers
...
fix(billing): restore Fast tier pricing under channel overrides, add configurable multipliers
2026-08-20 10:13:17 +08:00
hansnow
1f2a87adb0
fix(admin): 补全平台筛选选项
2026-08-20 10:00:09 +08:00
IanShaw
d4d2c746c5
前端:修正账号长上下文开关门控
2026-08-19 06:35:11 -07:00
IanShaw
26be82cc85
前端:配置渠道倍率并精简长上下文开关
2026-08-19 06:35:11 -07:00
Wesley Liddick
32a0d9ba2d
Merge pull request #5837 from xuhaihan/fix/cn-provider-quota-cell-layout
...
fix(frontend): prevent CN quota labels overlapping bars
2026-08-19 21:05:26 +08:00
Wesley Liddick
32ecd5cc62
Merge pull request #5847 from wucm667/feat/issue-5826-cn-header-overrides
...
feat(accounts): support header overrides for CN providers
2026-08-19 20:28:36 +08:00
wucm667
1b30a2d747
feat(accounts): support header overrides for CN providers
2026-08-19 19:03:39 +08:00
hank
63839f193a
fix(frontend): align admin role selector styling
2026-08-19 16:47:51 +08:00
hank
994fbfeddb
fix(frontend): prevent CN quota labels overlapping bars
2026-08-19 16:47:51 +08:00
hank
f917d19d3e
test(frontend): align Grok API key placeholder assertion
2026-08-19 16:47:11 +08:00
shaw
bd1ccd9736
Merge remote-tracking branch 'origin/main' into fix/issue-5796-composite-new-platforms
2026-08-19 14:47:34 +08:00
wucm667
b171bb0e4a
fix(composite): support CN providers
...
Extend composite routing, pricing, migrations, and admin options for Kimi, GLM, and DeepSeek.
2026-08-19 13:01:25 +08:00
Kingsley
58e147fba6
feat(composite): support Codex endpoints
2026-08-19 04:40:32 +00:00
Wesley Liddick
e61595fb35
Merge pull request #5780 from Randark-JMT/fix/channel-monitor-p2
...
fix(monitor): P2 audit follow-ups — credential/balance semantics, capability checks, single account load, quota placeholder UI
2026-08-19 11:21:35 +08:00
Wesley Liddick
359fd12b2e
Merge pull request #5749 from Randark-JMT/chore/remove-sora-leftovers
...
chore: remove leftover Sora references after platform removal
2026-08-19 09:41:25 +08:00
Randark
2c250bfd73
fix(monitor-ui): localize the "quota" placeholder model across monitor views
...
纯配额模式的主模型存储值是占位符 "quota"(数据源是关联账号而非模型),
此前在管理列表主模型列、用户端监控卡片、用户端详情弹窗、运行结果弹窗
四处被当作真实模型名直接渲染,读起来像假模型。
新增 useChannelMonitorFormat.formatMonitorModel:占位符替换为本地化
「配额」标签(复用既有 monitorCommon.checkMode.quota,零新增 i18n 键),
quota_probe/probe 的真实模型名不受影响;纯匹配逻辑(如 15d/30d 可用率
按模型名回查 detail)仍用原始值。
问题定位备注:另一反馈「设置页看不到 channel_monitor_show_quota 开关」
经查为部署镜像过旧(开关随 #5761 于 08-18 合入,反馈环境容器构建于
08-15),上游代码中开关完整存在,更新镜像即可,无需改码。
2026-08-18 10:35:57 +00:00
Randark
c9effc4560
fix(frontend): monitor form check-mode restore, account unbinding and mode badge
...
审计 P2-7 三处前端收尾:
- 切离 antigravity 时对称还原 check_mode:antigravity 强制 quota,但反向
切走没有还原——编辑存量 antigravity 监控换平台后停留在 quota,目标平台
未必支持。现切走时还原为 probe 并清掉占位模型 'quota'(回填值),否则
probe 模式拿 'quota' 当探活模型(与离开 grok 清 DEFAULT_GROK_MODEL
同一先例)。
- update 切回 probe 显式发 account_id=0:后端语义 0=解绑、null=不动,
此前 probe 模式 payload 带 null,存量关联永远清不掉。仅 update——
create 发 0 会落 &0 触发外键违约(API 类型注释同步写明)。
- 管理列表 provider 徽章旁并列 check_mode 徽章(checkModeLabel 此前
定义了却无处使用):quota 系=蓝、probe=中性灰,三种模式一眼可分;
i18n 复用既有 monitorCommon.checkMode.*,零新增键。
2026-08-18 10:28:28 +00:00
Wesley Liddick
e0c48a19ed
Merge pull request #5761 from Randark-JMT/feat/channel-monitor-quota-mode
...
feat(monitor): 渠道监控配额模式——关联账号展示用量/余额(重启 #5387)
2026-08-18 17:36:27 +08:00
Randark
5cbd0c96a2
fix(monitor-ui): 关联账号选择器改服务端搜索+回填,OpenAI 配额模式加消耗提示
...
- 选择器改为 /admin/accounts?platform=&search= 服务端搜索(50 条/页,
300ms 防抖由 Select 承担),AbortController + 序列守卫防乱序覆盖
- 已绑定账号不在结果页时用 getById 回填为固定选项,删除「不在列表即
静默清空绑定」;绑定仅在显式切换 provider 或账号确实失效时清空(带提示)
- OpenAI 平台配额模式显示 Codex 探测额度消耗提示;checkModeQuotaHint
修正为「不发送探活请求」不再宣称「不产生 LLM 请求」
- grok spec 补齐缺失的 accounts mock;新增账号选择器 7 用例
(加载/防抖搜索/回填保留/失效清空/提示门控/固定选项/切平台清空)
2026-08-18 09:14:44 +00:00
Randark
03c3f3b6fc
feat(ui): Select 组件支持可选远程搜索(remote/loading props + search 事件)
...
- remote 模式始终显示搜索框且不做本地过滤,输入 300ms 防抖后 emit('search')
- 关闭/卸载时取消排队中的防抖定时器,避免尾随空 query
- loading 时空态显示加载文案;未设 remote 时行为不变(回归用例保障)
2026-08-18 09:14:31 +00:00
shaw
8f6f459835
fix(channels): support kimi/zhipu/deepseek platforms in channel pricing
...
- ChannelsView platformOrder now includes the three CN provider
platforms so channel pricing can be configured for them; composite
group expansion/attachment stays limited to the five main platforms
(matches backend isConcreteRequestPlatform and composite-routes
target_platform validation)
- SyncPricingModels maps kimi->moonshot, zhipu->zhipu,
deepseek->deepseek; also fixes gemini mapping to "google" which
matched zero catalog entries (provider key is "gemini")
- Add CN platform colors to channel pricing model tag classes
2026-08-18 17:12:01 +08:00
Wesley Liddick
685455985b
Merge pull request #5765 from IanShaw027/feat/grok-from-personal-main
...
feat(grok): 用量条补齐本站 24h/7d/30d 聚合,并隐藏空预付与 0 限额已用
2026-08-18 15:35:42 +08:00
IanShaw027
fd42d3722d
fix: hide Grok prepaid and used/limit when they are empty
...
Skip the prepaid chip without a positive balance, and skip used/limit when monthly limit is 0.
2026-08-18 14:55:08 +08:00
Wesley Liddick
1870b58c1d
Merge pull request #5721 from lyy0709/codex/bulk-openai-settings
...
fix(openai): complete bulk account settings
2026-08-18 14:53:55 +08:00
IanShaw027
269fbcac0e
feat: Grok 用量条补齐本站 24h/7d/30d 聚合
...
把已有的本地窗口统计接到 Free 24h 与付费 7d/30d 进度条,避免只显示官方百分比。
2026-08-18 14:50:57 +08:00
Wesley Liddick
c792b44bb2
Merge pull request #5712 from xiaobo121388/main
...
feat: add Ollama Cloud usage query action
2026-08-18 14:05:27 +08:00
Wesley Liddick
c76ff55997
Merge pull request #2148 from feitianbubu/pr/ops-error-detail-support-custom-time
...
feat: ops 错误详情弹窗支持自定义时间区间
2026-08-18 13:52:34 +08:00
Wesley Liddick
5c12960285
Merge pull request #4005 from feitianbubu/fix/header-role-i18n
...
fix(ui): localize user role label in app header
2026-08-18 13:52:15 +08:00