siyuan
|
72fada40f6
|
fix(lint): check alpha search builder writes
|
2026-07-16 00:36:38 +08:00 |
|
siyuan
|
695665cbc8
|
fix(openai): fallback PAT alpha search to responses web_search
|
2026-07-16 00:36:38 +08:00 |
|
siyuan
|
776f3f0de7
|
fix(openai): align alpha search PAT forwarding
|
2026-07-16 00:36:38 +08:00 |
|
 harukaandClaude Opus 4.8
|
06e03f467a
|
feat(billing): 渠道自定义定价支持图片输入 token 单价 image_input_price
渠道 token 计费模式此前无法为图片输入 token 单独定价,gpt-image-2
图片编辑等请求的图像输入被按文本 input_price 计费。新增
channel_model_pricing.image_input_price 列及全链路支持。
后端:
- 迁移 178:channel_model_pricing 新增 image_input_price 列
- ChannelModelPricing 新增 ImageInputPrice 字段,repo 读写、校验补齐
- model_pricing_resolver / GetModelPricingWithChannel 映射到
ImageInputPricePerToken;未配置时归零,由 computeTokenBreakdown
回退文本输入价(向后兼容,与 image_output_price 的渠道权威规则一致)
- admin / 用户侧定价 DTO 与 model-pricing 自动填充接口补充该字段
前端:
- 渠道定价表单新增「图片输入」价格输入(token 模式)
- API 类型、表单模型、form↔API 换算、自动填充、用户侧模型定价卡展示
- zh/en i18n 标签
相关 #4386。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015wcJTKDddxXSQrepSs3wrU
|
2026-07-15 09:35:34 -07:00 |
|
 harukaandClaude Opus 4.8
|
7c43b7327d
|
feat(billing): 解析 usage.input_tokens_details 拆分图/文输入 token
/v1/images/edits 等带图请求,上游在 input_tokens_details.image_tokens
单独回传图片输入 token,此前被合并进 input_tokens 整体按文本输入价计费。
- openAIUsageFromGJSON 读取 input_tokens_details.image_tokens
(回退 prompt_tokens_details.image_tokens)写入 OpenAIUsage.ImageInputTokens
- mergeOpenAIUsage 补充 ImageInputTokens 的流式合并
配合全局定价的 input_cost_per_image_token,gpt-image-2 图片编辑请求的
图像输入即按独立单价计费。相关 #4386。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015wcJTKDddxXSQrepSs3wrU
|
2026-07-15 09:24:44 -07:00 |
|
 harukaandClaude Opus 4.8
|
10cb2ca42c
|
feat(billing): 全局定价解析 input_cost_per_image_token
LiteLLM 定价数据中 gpt-image-2 等模型已含 input_cost_per_image_token
(图片输入 token 单价),但此前未被解析,导致图片编辑/图生图请求的
图像输入 token 被按文本输入价计费。
- LiteLLMModelPricing / LiteLLMRawEntry 新增 InputCostPerImageToken 字段并解析
- GetModelPricing 将其映射到 ModelPricing.ImageInputPricePerToken
计费拆分算术(computeTokenBreakdown)已支持图/文输入分价,本提交补齐
全局定价路径的数据来源。相关 #4386。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015wcJTKDddxXSQrepSs3wrU
|
2026-07-15 09:23:35 -07:00 |
|
王鹏
|
3db00d3fee
|
fix(openai): fail over account-specific body limits
|
2026-07-16 00:19:20 +08:00 |
|
superman2003
|
e8cc1fe26b
|
feat(frontend): add Grok key setup templates
|
2026-07-16 00:16:21 +08:00 |
|
superman2003
|
410ea8490c
|
fix(grok): allow passive Codex image tool declarations
|
2026-07-16 00:16:21 +08:00 |
|
jjaw
|
a8a8a58f65
|
优化批量账户事件的调度重建范围
|
2026-07-16 00:11:17 +08:00 |
|
Tian Lee
|
0765d10c1d
|
feat: 增加上游 Sub2API 计费倍率探测与账号展示
|
2026-07-15 23:58:46 +08:00 |
|
王鹏
|
40b8f04a6a
|
fix(openai): scope transient cooldowns by model
|
2026-07-15 22:52:35 +08:00 |
|
Tian Lee
|
f59a6ed74c
|
feat: 增加 API Key 计费倍率自省接口
|
2026-07-15 22:42:53 +08:00 |
|
王鹏
|
5e4da92dec
|
fix(openai): retry explicitly rejected Responses fields
|
2026-07-15 22:37:30 +08:00 |
|
wucm667
|
56650d6aed
|
fix(openai): normalize Responses Lite reasoning context
|
2026-07-15 22:23:57 +08:00 |
|
wucm667
|
2fe7df9b81
|
fix(openai): reject image models on chat completions
|
2026-07-15 22:22:51 +08:00 |
|
王鹏
|
4f641208a0
|
fix(openai-ws): close ingress reads cleanly
|
2026-07-15 22:15:44 +08:00 |
|
haruka
|
df247b4364
|
docs: document async image task API
|
2026-07-15 22:14:34 +08:00 |
|
haruka
|
134179085c
|
feat: add async image generation tasks
|
2026-07-15 22:13:37 +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 |
|
drgnchan
|
858f3e4a78
|
fix(frontend): preserve horizontal table scrolling on tablets
|
2026-07-15 21:57:08 +08:00 |
|
王鹏
|
716fcc6f3d
|
fix(openai): reject malformed WS v2 events
|
2026-07-15 21:20:41 +08:00 |
|
 Wesley LiddickandGitHub
|
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 LiddickandGitHub
|
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 LiddickandGitHub
|
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 LiddickandGitHub
|
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 |
|
 turingcatandClaude 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 LiddickandGitHub
|
12f991dde8
|
Merge pull request #4241 from heathermhuang/codex/fix-grok-admin-refresh-routing
fix(grok): route generic admin refresh through Grok OAuth
|
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 LiddickandGitHub
|
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 LiddickandGitHub
|
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 LiddickandGitHub
|
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 LiddickandGitHub
|
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 LiddickandGitHub
|
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 LiddickandGitHub
|
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 LiddickandGitHub
|
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 |
|
 xiaohei210509andzxh
|
ade5944201
|
fix(openai): preserve Codex image function tools
|
2026-07-15 15:10:43 +08:00 |
|
 Wesley LiddickandGitHub
|
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 LiddickandGitHub
|
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 LiddickandGitHub
|
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 |
|