6304 Commits

Author SHA1 Message Date
alfadb 86470628df feat(ollama): 对 Ollama Cloud 账号 clamp max_tokens 上限 2026-08-22 12:38:05 +08:00
Jarl fa4587041c fix(openai): keep auto-review on parent account 2026-08-22 12:14:19 +08:00
chinnsenn cb8dabc12f fix(openai): stabilize oauth image generation 2026-08-22 11:21:39 +09:00
alfadb b30651a0ad fix(ollama): 对齐 Cloud Chat Completions 思维字段为 reasoning_content
Ollama Cloud 的 raw /v1/chat/completions 把思维放在 reasoning/thinking,
DeepSeek 客户端只认 reasoning_content。仅对 openai+apikey+force_chat_completions
且具备 Ollama Cloud 信号的账号,在 raw CC 直转路径做 wire JSON 双向补齐。
2026-08-22 09:26:23 +08:00
anguobao123 e2263d2565 fix(deploy): forward documented gateway settings 2026-08-22 01:07:29 +08:00
xuhaihan cef18b4ad3 fix(deepseek): route client tools through native responses 2026-08-22 01:04:11 +08:00
xuhaihan 30ae15268f Merge remote-tracking branch 'origin2/main' into fix/deepseek-responses-client-tools 2026-08-22 00:52:33 +08:00
anguobao123 10081a8127 fix(deploy): pass force HTTP setting to containers 2026-08-22 00:39:12 +08:00
anguobao123 9f2f2738fd docs(openai): document force HTTP fallback 2026-08-21 23:43:09 +08:00
Wesley Liddick 67380eafd5 Merge pull request #5549 from zcxads666/fix/openai-capabilities-empty-set
fix(openai): 允许空 openai_capabilities 的 OAuth 账号加入文本调度
2026-08-21 21:53:27 +08:00
Wesley Liddick a53150a7cf Merge pull request #5708 from yan9651688/fix/issue-5524-model-plaza-home
fix(frontend): show model plaza entry on /home
2026-08-21 21:53:17 +08:00
Wesley Liddick 2ddda67354 Merge pull request #6049 from MokoYee/fix/openai-sticky-prefix-system
修复 OpenAI Chat 动态系统消息导致账号亲和漂移
2026-08-21 21:34:57 +08:00
zcxads666 40c26f343a fix(openai): 空 openai_capabilities 不再排除 OAuth 账号的文本调度(#5530) 2026-08-21 21:30:40 +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 219368ec6d Merge pull request #5654 from zninggo/fix/composite-video-generation
fix(gateway): Composite 分组放行视频生成端点
2026-08-21 21:27:17 +08:00
Wesley Liddick fb56bcbd07 Merge pull request #5913 from xuhaihan/fix/deepseek-responses-account-test
fix(deepseek): route Responses account tests through OpenAI probe
2026-08-21 21:27:01 +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 ccfced36ae Merge pull request #6011 from HypoxanthineOvO/fix/cn-anthropic-protocol-account-test
fix(accounts): route CN provider anthropic-protocol tests to the native endpoint
2026-08-21 21:24:38 +08:00
Wesley Liddick 77d8516e87 Merge pull request #5911 from xuhaihan/fix/deepseek-relay-balance-validation
fix(deepseek): reject invalid relay balance payloads
2026-08-21 21:24:21 +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
Wesley Liddick 5fc9778468 Merge pull request #6053 from wucm667/fix/issue-5899-token-refresh-lock-cpu
fix(frontend): prevent token refresh lock loop
2026-08-21 21:23:45 +08:00
wucm667 3445485ebc fix(frontend): prevent token refresh lock loop 2026-08-21 19:14:04 +08:00
MokoYee e45490a360 fix(openai): stabilize chat sticky hash across dynamic system messages 2026-08-21 18:11:18 +08:00
wucm667 68653fb2cc fix: allow messages dispatch for composite groups 2026-08-21 18:01:16 +08:00
Wesley Liddick f646a1f974 Merge pull request #5632 from 3219378872/fix/apicompat-streaming-tool-name-empty
fix(apicompat): omit empty tool name on streamed arguments deltas
2026-08-21 17:49:55 +08:00
Wesley Liddick fd24923f61 Merge pull request #5685 from Monster-DP/main
fix(gateway): 修复池模式同账号错误重试
2026-08-21 17:49:07 +08:00
Wesley Liddick b2d5ce0395 Merge pull request #5662 from yzxcj797/fix/self-referential-paths
docs: fix self-referential URLs after file moved into docs/
2026-08-21 17:47:51 +08:00
Wesley Liddick f96035462f Merge pull request #5612 from wucm667/fix/issue-5611-antigravity-paid-tier-endpoint
fix(antigravity): route paid accounts to daily endpoint
2026-08-21 17:40:39 +08:00
Wesley Liddick 4eb7630ab5 Merge pull request #5625 from sweetcornna/fix/antigravity-official-daily-endpoint
fix(antigravity): use official daily endpoint
2026-08-21 17:40:29 +08:00
Wesley Liddick 6816c63883 Merge pull request #5906 from feeeei/main
fix(test): CN 供应商额度探测 fake 加锁消除并发 append 竞态
2026-08-21 17:39:03 +08:00
Wesley Liddick 9f74eb57f4 Merge pull request #5919 from clearmann/fix/cn-native-anthropic-reasoning-effort
fix(gateway): 记录国产厂商原生 Anthropic 直通路径的 reasoning_effort
2026-08-21 17:38:52 +08:00
Wesley Liddick 98d60931c1 Merge pull request #5954 from StarryKira/codex/fix-5945-upstream
fix: preserve native max reasoning effort
2026-08-21 17:38:39 +08:00
Wesley Liddick c2572535d8 Merge pull request #6016 from YogaSakti/fix/prompt-guard-config-loaded-log-spam
fix(securityaudit): log prompt_guard.config_loaded only on change
2026-08-21 17:38:27 +08:00
Wesley Liddick 9d5171c5d1 Merge pull request #5888 from IanShaw027/fix/openai-responses-compatibility
修复 OpenAI Responses/Codex 与 Grok 多路径兼容问题
2026-08-21 17:06:00 +08:00
Yoga Sakti f6aa9dc3c8 fix(securityaudit): log prompt_guard.config_loaded only on change
ConfigManager.refreshLoop reloads the Prompt Guard config every 5s and
Reload logged config_loaded on every successful load, so an unchanged
config produced up to ~17k identical lines per instance per day and
buried real configuration changes.

Log the event only when the reload carries news: the first snapshot, a
new config version (every admin save bumps it under the advisory lock in
UpdateConfig), a flip of the global risk control gate (a separate setting
that leaves the version untouched), or a recovery from a failed reload so
the degraded-to-healthy transition stays visible.

This mirrors logInvalidTokenEndpoints, which already warns once per
change rather than on every refresh.
2026-08-21 15:51:11 +07:00
HypoxanthineOvO a749673de3 fix(accounts): route CN provider anthropic-protocol tests to the native endpoint
CN-provider accounts explicitly configured with api_protocol=anthropic
(the frontend offers per-provider presets such as GLM Anthropic) fell
through the account-test router to the generic Claude tester, which:

- appended ?beta=true, which the native passthrough deliberately avoids
  for third-party Anthropic endpoints, and
- defaulted a missing base_url to https://api.anthropic.com — sending
  the provider's API key to Anthropic instead of the provider's own
  Anthropic-compatible endpoint (guaranteed 401 plus cross-provider
  credential exposure).

Route them to a dedicated probe that mirrors the adaptive Anthropic
check: resolve the endpoint via GetAnthropicProtocolBaseURL (same
resolution as real /v1/messages forwarding, including per-platform
defaults), use the shared API-key auth header, and mark 401/403 as the
account error state.

Also fail fast with an actionable hint when the anthropic-protocol
base_url still points at an OpenAI-compatible endpoint (paas path,
version segment, or chat/completions suffix): the naive {base}/v1/messages
join would 404 (e.g. /api/paas/v4/v1/messages) without any pointer to
the actual misconfiguration.
2026-08-21 16:37:25 +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
haruka d5824f6a5b fix: preserve native max reasoning effort 2026-08-21 14:24:32 +08:00
IanShaw 1429e8f714 修复 PR 5888 剩余审计问题 2026-08-20 22:01:20 -07:00
IanShaw b2b2adcf8d 修复 PR 5888 审查发现的兼容性与竞态问题 2026-08-20 21:06:48 -07:00
shaw 3548256745 chore: update gitignore 2026-08-21 10:01:29 +08:00
IanShaw 16b15e870d 修复 5888 与 5925 的同号重试语义冲突 2026-08-20 18:16:38 -07:00
IanShaw027 7e9af4c100 将 compact fallback 的流式重试改为循环,避免递归重置单次重试标志 2026-08-21 08:55:04 +08:00
IanShaw027 7c53a842e4 合并上游 main,保留 5925 的 Grok 重试上限与 5888 的协议兼容修复
同账号重试采用次数上限加 deadline;畸形 tools 在出站前删除;compaction 422 与结构化错误扫描一并保留。
2026-08-21 08:49:44 +08:00
Wesley Liddick 4033387fd4 Merge pull request #5925 from IanShaw027/fix/grok-compatibility
fix(grok): 对齐官方目录与计费,并修复容量重试、Realtime 握手与媒体兼容
2026-08-21 08:34:38 +08:00
Hakunm f98a056f75 fix(gemini): constrain Google One model catalog 2026-08-21 02:33:00 +08:00
IanShaw 1bff06ea50 修复 Grok Realtime 关闭检查与 rollup 时区断言
golangci 要求检查 Realtime 上游 Close 返回值,并删除已无调用的 heavy-model 冷却函数。分组日汇总集成测试在 UTC 晚上跨上海零点时会把水位写成 UTC 日期,将会话时区钉到 Asia/Shanghai。
2026-08-20 09:50:23 -07:00
IanShaw 2e68b10aad 完善 Grok 内容拒绝计费与媒体兼容 2026-08-20 09:12:52 -07:00
IanShaw 39aaf2fea3 收紧 Grok 容量重试与兼容性分类 2026-08-20 08:07:04 -07:00
IanShaw d78e366db5 补齐 Grok Realtime 握手失败账号冷却 2026-08-20 07:31:19 -07:00