bestony and multica-agent
0f2ec134b5
fix(ops): bound indexed log host length
...
Co-authored-by: multica-agent <github@multica.ai >
2026-07-14 01:29:47 +08:00
bestony and multica-agent
2c2e50ba58
feat(ops): add host filtering to system logs
...
Co-authored-by: multica-agent <github@multica.ai >
2026-07-14 01:29:46 +08:00
Wesley Liddick
7d239d62e8
Merge pull request #4173 from heathermhuang/codex/fix-grok-oauth-media-routing
...
fix(grok): keep OAuth media on the official API
2026-07-13 17:37:00 +08:00
Wesley Liddick
adb5106c1f
Merge pull request #4169 from bestony/fix/openai-oauth-model-capability-cooldown
...
fix(scheduler): cool down Codex plan-gated models per account
2026-07-13 17:19:59 +08:00
Heatherm Huang
bb73416733
fix(grok): route OAuth media through official API
2026-07-13 17:08:55 +08:00
github-actions[bot]
55ed0ab0da
chore: sync VERSION to 0.1.153 [skip ci]
2026-07-13 08:32:35 +00:00
Bestony
5aeb03018c
fix(scheduler): cool down Codex plan-gated models per account
...
OpenAI OAuth (ChatGPT) accounts deterministically reject plan-gated
models with 400 "The 'X' model is not supported when using Codex with
a ChatGPT account". Account selection had no capability filtering for
this, so the scheduler kept picking the same account for the same model
forever; every attempt burned an upstream call and surfaced to clients
as a retryable 502, sustaining client retry storms.
Treat this 400 like upstream model-not-found: mark the (account, model)
pair via SetModelRateLimit (30min cooldown) so
IsSchedulableForModelWithContext skips the account for that model
during selection, and return true so the in-flight request fails over
to another account through the existing UpstreamFailoverError path.
2026-07-13 16:29:18 +08:00
Wesley Liddick
a2bc133747
Merge pull request #4163 from bestony/fix/openai-ws-ingress-lifecycle
...
fix(openai-ws): bound ingress session lifecycle
v0.1.153
2026-07-13 16:07:53 +08:00
Wesley Liddick
540e90ca8b
Merge pull request #4162 from heathermhuang/codex/fix-grok-third-party-api
...
fix(grok): allow third-party API base URLs
2026-07-13 16:07:36 +08:00
Wesley Liddick
4bc7486c3b
Merge pull request #4161 from fengshao1227/fix/remove-payment-channels-endpoint
...
fix(payment): 删除泄露内部 AI 渠道配置的废弃接口
2026-07-13 15:39:32 +08:00
Wesley Liddick
664b7be30f
Merge pull request #4055 from iMouseWu/feat/account-plan-type-edit
...
feat(account): 账号编辑弹窗支持手动覆盖 OpenAI 订阅档位 plan_type(仅 OAuth)
2026-07-13 15:32:57 +08:00
Bestony@Homelab
c8cfc93632
fix(openai-ws): bound ingress session lifecycle
2026-07-13 15:32:42 +08:00
Wesley Liddick
b4aa3eb023
Merge pull request #4148 from feeeei/fix/retry_count
...
fix: 池模式同账号重试次数配置对 Anthropic/Gemini/通用转发路径生效
2026-07-13 15:32:40 +08:00
Wesley Liddick
0465540195
Merge pull request #4048 from iMouseWu/fix/datatable-scroll-jank
...
fix(frontend): 小数据量关闭 DataTable 虚拟化并按行主键缓存行高,消除账号列表滚动抖动
2026-07-13 15:32:08 +08:00
Wesley Liddick
b0d0de0547
Merge pull request #4045 from xiaopixiu2019/codex/upstream-gpt56-oauth-test
...
fix: normalize GPT-5.6 alias in OpenAI OAuth account tests
2026-07-13 15:31:44 +08:00
Heatherm Huang
bc5d6ecb46
fix(grok): allow third-party API base URLs
2026-07-13 15:27:57 +08:00
li
03ccb2a08e
fix(payment): 删除泄露内部 AI 渠道配置的废弃接口
...
Fixes #4160
2026-07-13 15:22:39 +08:00
Wesley Liddick
551e2570dd
Merge pull request #4118 from badaozhai/feat/grok-video-edit-extension
...
[codex] support Grok video edits and extensions
2026-07-13 15:04:51 +08:00
shaw
8315defe8e
Merge branch 'main' into feat/grok-video-edit-extension
2026-07-13 14:50:18 +08:00
Wesley Liddick
fc9b489106
Merge pull request #4125 from adamglin0/feat/apple-container-support
...
feat(deploy): add Apple container support
2026-07-13 14:43:41 +08:00
Wesley Liddick
d774948e09
Merge pull request #4082 from zuelu/agent/fix-codex-additional-tools-chat-bridge
...
fix(apicompat): 支持 Codex additional_tools 到 Chat Completions 桥接
2026-07-13 14:42:16 +08:00
Wesley Liddick
baab0adf7c
Merge pull request #4075 from jianjianai/codex/fix-scheduler-cache-invalid-time-upstream
...
fix(scheduler): skip cache records with unencodable times
2026-07-13 14:42:05 +08:00
Wesley Liddick
a60a282473
Merge pull request #4143 from zvensmoluya/fix/alpha-search-frontend-bypass
...
fix(web): bypass frontend for alpha search
2026-07-13 14:41:55 +08:00
Wesley Liddick
b8dcae3bcf
Merge pull request #4150 from suuuuuu-1/fix/i18n-zh-missing-keys
...
fix(i18n): 补齐 zh 语言包 overview 和 misc 缺失 key
2026-07-13 14:16:09 +08:00
Wesley Liddick
fbc3f42a22
Merge pull request #4138 from fengshao1227/fix/read-tool-args-streaming
...
fix(apicompat): Read 工具参数实时流式发送,不再依赖 .done 事件
2026-07-13 14:14:08 +08:00
Wesley Liddick
98cc641008
Merge pull request #4134 from yan9651688/fix/usage-window-pagination-local-dates
...
fix: align usage windows, pagination offsets, and local dates
2026-07-13 14:13:34 +08:00
Wesley Liddick
daf0b99dcb
Merge pull request #4130 from Drswith/fix/web-static-asset-cache-headers
...
fix(web): 为嵌入式前端静态资源设置长期 Cache-Control
2026-07-13 14:13:21 +08:00
Wesley Liddick
90bff0ea17
Merge pull request #4050 from bestony/perf/keys-last-used-ip-query
...
perf(keys): bound latest IP lookup per key
2026-07-13 14:13:11 +08:00
Wesley Liddick
d8fa425a27
Merge pull request #4142 from fengshao1227/fix/streaming-stop-reason-and-content-filter
...
fix(apicompat): 流式 Anthropic max_tokens 截断语义 + content_filter finish_reason
2026-07-13 14:13:00 +08:00
Wesley Liddick
50e5372fed
Merge pull request #4139 from heathermhuang/codex/fix-grok-upstream-model-sync
...
fix(grok): support upstream model sync for API keys
2026-07-13 14:12:17 +08:00
feeeei
c7c933776d
fix: 池模式同账号重试次数配置对 Anthropic/Gemini/通用转发路径生效
...
e643fc38 引入 pool_mode_retry_count 账号配置时,只覆盖了 OpenAI 族
handler 的内联重试循环;走 HandleFailoverError 的 Anthropic/
Antigravity/Gemini/通用转发路径仍硬编码同账号重试 3 次,配置不生效。
为 HandleFailoverError 增加 retryLimit 参数,由调用方传入
account.GetPoolModeRetryCount();未配置账号默认仍为 3 次,行为不变。
2026-07-13 12:57:00 +08:00
li
b6427d4ec0
fix(apicompat): 流式 Anthropic max_tokens 映射为 incomplete + content_filter 映射为 finish_reason
2026-07-13 12:08:32 +08:00
Zven
b0fa2b352f
fix(web): bypass frontend for alpha search
2026-07-13 12:06:51 +08:00
suuuuuu-1
a7ddca8930
fix(i18n): 补齐 zh 语言包 overview 和 misc 缺失 key
...
- admin/overview.ts: 添加 12 个缺失的翻译 key
- newUsersToday, active, ok, err, create
- userUsageTrend, claudeMaxSimulation 对象
- misc.ts: 添加 allowUserRefund 翻译
改进中文用户体验,确保所有 UI 文本都有对应的中文翻译
2026-07-13 12:01:09 +08:00
li
a5d40c9845
fix(apicompat): Read 工具参数实时流式发送,不再依赖 .done 事件
...
Fixes #4114
2026-07-13 11:47:18 +08:00
Heatherm Huang
b0441ca5aa
fix(grok): support upstream model sync for API keys
2026-07-13 11:46:52 +08:00
yan9651688
3605a316af
Keep usage ranges consistent across API and dashboards
...
Expose the active weekly subscription window through /v1/usage, calculate offsets with the same normalized page size used by queries, and keep user-facing date ranges on the browser's local calendar date.
Constraint: Preserve existing response fields and avoid new dependencies
Rejected: Keep duplicate inline date formatters | a shared local-date utility prevents the same UTC regression in both views
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep Offset and Limit based on the same normalized page size
Tested: go test ./internal/pkg/pagination ./internal/handler; go vet ./internal/pkg/pagination ./internal/handler; frontend 923 tests; pnpm typecheck; pnpm lint:check; pnpm build
Not-tested: Live API request against a deployed subscription
Related: #4121
2026-07-13 11:35:46 +08:00
Drswith
1e97e4cee4
fix(web): set long-lived Cache-Control for embedded static assets
...
Direct Go/Docker deployments were serving Vite-hashed /assets without
Cache-Control, so browsers re-downloaded the console on every visit.
Align with deploy/Caddyfile while keeping index.html on no-cache.
Closes #4129
2026-07-13 11:14:15 +08:00
github-actions[bot]
a1930ea6f2
chore: sync VERSION to 0.1.152 [skip ci]
2026-07-13 02:53:05 +00:00
chenjian
909b96edd2
feat: support Grok video edits and extensions
2026-07-13 10:50:42 +08:00
adamglin0
83c10133d1
feat(deploy): add Apple container support
2026-07-13 10:45:45 +08:00
Wesley Liddick
b73d8c3efe
Merge pull request #4009 from heathermhuang/codex/fix-recent-grok-issues
...
fix: expand Grok API, CLI, billing, and setup support
v0.1.152
2026-07-13 10:36:11 +08:00
Wesley Liddick
0d318195bf
Merge pull request #4116 from Wei-Shaw/feat/alpha-search-per-call-billing
...
feat(billing): Codex alpha/search 网页搜索按次计费
2026-07-13 10:35:46 +08:00
shaw
e5af699d0f
test(contract): groups/available 契约夹具补 web_search_price_per_call 字段
2026-07-13 10:21:44 +08:00
Heatherm Huang
f73031f436
test(grok): align scheduling reasons with upstream
2026-07-13 10:21:34 +08:00
shaw
64a2a31729
fix(billing): 修复复审发现的三处按次计费问题
...
- HIGH: GetByKeyForAuth 的 WithGroup 显式 Select 补 web_search_price_per_call 列,
否则 auth 快照里分组覆盖价恒为 nil,覆盖价/免费配置在实际计费中静默失效
- MEDIUM: 按次搜索倍率改用不含高峰因子的基础倍率(与 image/video 按次不变式
及分组表单价格预览承诺一致),calculateOpenAIRecordUsageCost 新增独立倍率参数
- LOW: 计费门槛从 <400 收紧为严格 2xx,1xx/3xx 透传不计费
2026-07-13 10:14:53 +08:00
Heatherm Huang
8a22dc7347
fix(grok): diagnose unavailable models by platform
2026-07-13 10:11:34 +08:00
Heatherm Huang
aeb34d2003
fix(grok): sanitize composer reasoning parameters
2026-07-13 10:11:33 +08:00
Heatherm Huang
c4ff604e93
test(grok): cover OAuth chat permission identity
2026-07-13 10:11:33 +08:00
Heatherm Huang
ce3f12bbff
test(grok): cover CLI identity at transport boundary
2026-07-13 10:11:33 +08:00