jjaw
a8a8a58f65
优化批量账户事件的调度重建范围
2026-07-16 00:11:17 +08:00
shaw
eb2b8632de
fix(frontend): 修复 Grok OAuth 建号缺上游配置入口与 JSON 导入渲染崩溃
...
- CreateAccountModal 为 Grok OAuth 新增自定义上游地址与请求头覆写区块,
经统一校验注入授权码兑换/RT 批量/SSO 批量三条创建路径(授权码路径
在兑换前校验,避免烧掉一次性 code)
- JSON 导入示例文案内嵌花括号被 vue-i18n 消息编译器当占位符解析,
渲染时抛 Invalid token in placeholder 炸掉面板:示例移出 i18n 硬编码;
同类修复 settings 的死键 claudeOAuthSystemPromptBlocksPlaceholder(删)
与 Hint 中被吞掉的 {billing_header}(字面量转义)
- 新增 localesMessageCompile 守卫测试:预编译中英全部文案,拦截非法占位符
- 面板打开后 scrollIntoView + 聚焦,避免在弹窗滚动容器视野外展开
- 删除「填入模板」按钮及三平台模板常量(产品决策:无意义)
- 抽取 HeaderOverrideEditor 共享组件,消除 Create/Edit/BulkEdit 三处重复
2026-07-15 22:05:59 +08:00
Wesley Liddick
be6cd1250c
Merge pull request #4367 from Wei-Shaw/feat/grok-custom-base-url-and-headers
...
feat(grok): 支持账号级自定义上游地址与请求头覆写
2026-07-15 20:55:16 +08:00
Wesley Liddick
34015a1791
Merge pull request #4359 from catoncat/agent/fix-agent-identity-import-expiry
...
fix(openai): make Agent Identity usable end to end
2026-07-15 20:55:05 +08:00
Wesley Liddick
a733e66330
Merge pull request #4358 from DanisJiang/feat/admin-recharge-affiliate-rebate
...
feat(affiliate): support rebates for admin balance deposits
2026-07-15 20:54:48 +08:00
Wesley Liddick
960d1886f3
Merge pull request #4323 from turingcat/feat/plan-currency-label
...
feat(payment): 订阅套餐支持币种标注,区分 $ 符号对应币种
2026-07-15 20:54:34 +08:00
shaw
221581400b
feat(grok): 支持账号级自定义上游地址与请求头覆写
...
将账号级请求头覆写从 anthropic/openai 的 api_key 账号扩展到 Grok 的
api_key 与 oauth 账号,并放开 Grok OAuth 账号的自定义上游地址(仅作用于
转发端点,授权与 token 刷新链路不变)。
后端:
- IsHeaderOverrideEligible 扩展到 Grok(api_key+oauth),禁止名单新增
x-grok-conv-id(逐请求会话路由头)。
- 所有 Grok 上游请求路径接线 ApplyHeaderOverrides(Responses/Chat 桥/
媒体/配额探测/billing 探测/连通性测试),统一置于内置默认头之后。
- GetGrokBaseURL/GetGrokMediaBaseURL 放开 OAuth 自定义地址:官方地址
视同未定制回落官方网关,仅显式第三方 host 改发转发流量。
- 非官方 host 允许任意 path 前缀,官方 host 仍强制 /v1。
- OAuth base_url 校验按 host 判定官方/自定义,自定义 host 恒受运营方
URL 策略约束,不受 XAI_ALLOW_UNSAFE_URL_OVERRIDES 调试开关放宽。
- 给 GrokQuotaService 注入 config,使配额/billing 探测与转发共用同一
URL 策略。
前端:
- Edit 模态为 Grok OAuth 账号新增「自定义上游地址」开关。
- 请求头表单新增 JSON 快速导入与按 JSON 一键复制(复用 useClipboard,
兼容非安全上下文 HTTP 页面)。
- 门控改为平台×类型判定,Bulk 批量 base_url 增加格式校验,zh/en 文案同步。
2026-07-15 20:30:23 +08:00
cat
c352d99d92
fix(openai): 调整 Agent Identity 授权入口层级
2026-07-15 20:03:47 +08:00
cat
2147da682b
fix(openai): 修复 Agent Identity 审查问题
2026-07-15 18:30:16 +08:00
cat
12e6e70775
fix(openai): 补全 Agent Identity Codex 能力
2026-07-15 17:52:10 +08:00
cat
3b5072187a
feat(openai): 增加 Agent Identity 独立导入入口
2026-07-15 17:52:10 +08:00
cat
529744c7c7
fix(openai): 修复 Agent Identity 导入过期校验
2026-07-15 17:52:10 +08:00
Yuhao Jiang
736824dd7a
feat(affiliate): add admin recharge rebate option
2026-07-15 04:28:55 -05:00
turingcat and Claude Fable 5
705da4f610
feat(payment): 补充订阅套餐币种字段的 SQL 迁移文件
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-15 16:59:00 +08:00
github-actions[bot]
d515c3045c
chore: sync VERSION to 0.1.156 [skip ci]
2026-07-15 08:51:27 +00:00
Wesley Liddick
12f991dde8
Merge pull request #4241 from heathermhuang/codex/fix-grok-admin-refresh-routing
...
fix(grok): route generic admin refresh through Grok OAuth
v0.1.156
2026-07-15 16:22:26 +08:00
shaw
4e4ce440b3
fix(test): align duplicate account test with new NewAccountHandler signature
2026-07-15 16:13:22 +08:00
shaw
bdb5be1c42
Merge remote-tracking branch 'origin/main' into pr4241-fix
2026-07-15 16:11:28 +08:00
Wesley Liddick
0de768e8be
Merge pull request #4221 from heathermhuang/codex/fix-grok-oauth-pool-health
...
fix(grok): refresh OAuth pools proactively
2026-07-15 16:07:09 +08:00
Wesley Liddick
d348193179
Merge pull request #4262 from wucm667/fix/issue-4245-root-models-alias
...
fix(codex): add root models compatibility alias
2026-07-15 16:06:59 +08:00
Wesley Liddick
bac925624f
Merge pull request #4289 from Tiantianr/fix/openai-ws-first-message-timeout
...
fix(openai-ws): make first-message timeout configurable
2026-07-15 15:45:24 +08:00
Wesley Liddick
651bb019d5
Merge pull request #4346 from xiaohei210509/agent/handle-codex-image-function-tool
...
fix(openai): preserve Codex image function tools during bridge injection
2026-07-15 15:35:07 +08:00
Wesley Liddick
4de53b61b8
Merge pull request #4339 from wp-a/codex/read-tool-stream-finalization
...
fix(apicompat): sanitize complete Read tool argument streams
2026-07-15 15:16:24 +08:00
Wesley Liddick
dba6cefb6b
Merge pull request #4340 from wp-a/codex/anthropic-incomplete-finalization
...
fix(apicompat): preserve incomplete stream finalization
2026-07-15 15:16:12 +08:00
Wesley Liddick
80560e48d2
Merge pull request #4341 from wp-a/codex/additional-tools-discriminator
...
fix(apicompat): scope additional tools parsing
2026-07-15 15:15:58 +08:00
xiaohei210509
ade5944201
fix(openai): preserve Codex image function tools
2026-07-15 15:10:43 +08:00
Wesley Liddick
44452d4a9d
Merge pull request #4334 from lenzhang/fix/grok-vision-image-bridge
...
fix(grok): bridge image_url content parts through Responses API for vision models
2026-07-15 14:43:44 +08:00
Wesley Liddick
8e84071f21
Merge pull request #4307 from wp-a/fix/openai-first-output-timeout
...
fix(openai): bound native responses first output wait
2026-07-15 14:41:11 +08:00
Wesley Liddick
788b1cebf1
Merge pull request #4333 from superman2003/fix/grok-free-messages-function-cache
...
fix(grok): cache Free Messages function tools
2026-07-15 14:40:14 +08:00
王鹏
9b4a7d5d47
fix(apicompat): sanitize complete Read tool argument streams
2026-07-15 14:31:26 +08:00
王鹏
d6d9f6ea4f
fix(apicompat): preserve incomplete stream finalization
2026-07-15 14:31:26 +08:00
王鹏
c3a425837c
fix(apicompat): scope additional tools parsing
2026-07-15 14:31:26 +08:00
shaw
986310d0bd
fix(lint): apply De Morgan's law to grok vision bridge gate (QF1001)
2026-07-15 14:30:47 +08:00
Wesley Liddick
2d218fbe61
Merge pull request #4317 from yan9651688/feat/account-one-click-copy
...
feat(accounts): add safe one-click account duplication
2026-07-15 14:23:35 +08:00
Wesley Liddick
9d1b44e6a0
Merge pull request #4324 from superman2003/fix/responses-lite-tool-compat
...
fix(openai): normalize Responses Lite tool declarations
2026-07-15 14:22:15 +08:00
Wesley Liddick
601a1d1662
Merge pull request #4305 from wp-a/fix/outbox-degraded-rebuild-latch
...
fix(scheduler): latch degraded outbox rebuilds
2026-07-15 14:22:03 +08:00
Wesley Liddick
83ef20bf8b
Merge pull request #4299 from wp-a/fix/xai-oauth-unsafe-base-url-components
...
fix(xai): reject empty base URL queries
2026-07-15 14:21:42 +08:00
superman2003
3170c110a0
fix(openai): surface Messages stream error events
2026-07-15 14:07:01 +08:00
superman2003
08ea29428d
fix(grok): recognize probed Free cache accounts
2026-07-15 14:07:01 +08:00
Wesley Liddick
e4a0e69424
Merge pull request #4280 from bestony/feat/keys-id-column
...
feat(keys): add optional ID column on /keys page
2026-07-15 13:50:37 +08:00
Wesley Liddick
156cabd260
Merge pull request #4316 from fengshao1227/fix/grok-image-model-responses-reject
...
fix(grok): 拦截图片模型发往 Responses 端点,返回明确错误
2026-07-15 13:49:25 +08:00
Wesley Liddick
febc5cbdd8
Merge pull request #4319 from feeeei/main
...
统一gork使用模板中的名称风格
2026-07-15 13:49:07 +08:00
Wesley Liddick
3e30862ddd
Merge pull request #4295 from caigee-cmd/perf/direct-anthropic-chatcompletions-bridge
...
perf(apicompat): force-chat 路径直转 Anthropic↔ChatCompletions,跳过 Responses 中间层
2026-07-15 13:46:56 +08:00
王鹏
9950f4a2e2
fix(scheduler): latch degraded outbox rebuilds
2026-07-15 13:24:08 +08:00
lenzhang
d5bc576b4f
fix(grok): bridge image_url content parts through Responses API for vision models
...
The eligibility gate in grokChatResponsesBridgeEligibility rejected any
structured content (arrays), including standard OpenAI image_url parts.
This forced image-bearing requests to fall back to raw Chat Completions
forwarding, where non-Composer models have no image bridge — silently
dropping the images or causing upstream errors.
Changes:
- Allow content arrays containing only text and image_url parts to pass
eligibility, so ChatCompletionsToResponses can convert them to
input_image parts that Grok vision models natively support.
- Force image-bearing requests to use Responses even when no prompt
cache identity is available, since the raw path cannot forward images
for non-Composer models.
- Add grokChatStructuredContentBridgeable helper with conservative
validation: unknown part types (e.g. input_audio) still fall back.
- Update tests: image_url content is now bridgeable; add cases for
text+image, text-only arrays, unknown parts, and empty arrays.
2026-07-14 22:24:03 -07:00
superman2003
f041b5cf0a
fix(grok): cache Free Messages function tools
2026-07-15 13:05:13 +08:00
王鹏
fc4089f292
fix(openai): bound native responses first output wait
...
Add an opt-in first semantic output budget for native HTTP Responses, including response-header wait. Keep preamble and keepalive bytes non-semantic so a stalled account can fail over once without replaying its response IDs. Defaults remain disabled.
Related to #4201 , #4185 , and #4248 . Complements the HTTP/2 dead-connection fix in #4207 .
2026-07-15 13:01:16 +08:00
王鹏
e8e360c802
fix(xai): reject unsafe base URL components
2026-07-15 12:50:15 +08:00
shaw
7b51271a84
fix(apicompat): default stop_reason for empty-choices responses
...
Adversarial re-verification found one more divergence from the
double-conversion chain: an upstream 200 with empty choices (or a nil
response) left stop_reason as an empty string, while the old chain
reports end_turn. Derive the fallback from the content blocks — the
guard never fires when choices exist, since every finish_reason maps to
a non-empty stop_reason.
Also strengthen the equivalence tests: compare tool_use Content[].Input
and tool_call Function.Arguments across bridges, and add an
empty-choices stop_reason parity case.
2026-07-15 11:44:47 +08:00
superman2003
bc6d9c47d2
fix(openai): normalize Responses Lite tool declarations
2026-07-15 11:37:38 +08:00