Merge branch 'origin/main' into nightly

Resolve 4 conflicts:
- relay/compatible_handler.go: accept main's refactor (postConsumeQuota -> service.PostTextConsumeQuota)
- service/quota.go: accept main's PostClaudeConsumeQuota deletion, keep nightly's tiered billing in PostWssConsumeQuota and PostAudioConsumeQuota
- web/src/i18n/locales/{en,zh-CN}.json: merge both sets of translation keys

Post-merge integration:
- Add tiered billing (TryTieredSettle, InjectTieredBillingInfo) to PostTextConsumeQuota
- Update tool pricing calls to use nightly's generic GetToolPriceForModel/GetToolPrice API
This commit is contained in:
CaIon
2026-04-02 00:39:13 +08:00
122 changed files with 8307 additions and 3923 deletions
+2
View File
@@ -52,4 +52,6 @@ i18n
},
});
window.__i18n = i18n;
export default i18n;
+383 -336
View File
File diff suppressed because it is too large Load Diff
+454 -409
View File
File diff suppressed because it is too large Load Diff
+452 -407
View File
File diff suppressed because it is too large Load Diff
+456 -411
View File
File diff suppressed because it is too large Load Diff
+448 -403
View File
File diff suppressed because it is too large Load Diff
+29 -7
View File
@@ -388,6 +388,10 @@
"保存通用设置": "保存通用设置",
"保存邮箱域名白名单设置": "保存邮箱域名白名单设置",
"保存额度设置": "保存额度设置",
"保留天数": "保留天数",
"保留文件数": "保留文件数",
"保留最近N个文件": "保留最近N个文件",
"保留最近N天": "保留最近N天",
"修复数据库一致性": "修复数据库一致性",
"修改为": "修改为",
"修改子渠道优先级": "修改子渠道优先级",
@@ -731,7 +735,7 @@
"在此输入系统名称": "在此输入系统名称",
"在此输入隐私政策内容,支持 Markdown & HTML 代码": "在此输入隐私政策内容,支持 Markdown & HTML 代码",
"在此输入首页内容,支持 Markdown & HTML 代码,设置后首页的状态信息将不再显示。如果输入的是一个链接,则会使用该链接作为 iframe 的 src 属性,这允许你设置任意网页作为首页": "在此输入首页内容,支持 Markdown & HTML 代码,设置后首页的状态信息将不再显示。如果输入的是一个链接,则会使用该链接作为 iframe 的 src 属性,这允许你设置任意网页作为首页",
"域名IP过滤详细说明": "⚠️此功能为实验性选项,域名可能解析到多个 IPv4/IPv6 地址,若开启,请确保 IP 过滤列表覆盖这些地址,否则可能导致访问失败。",
"域名IP过滤详细说明": "推荐开启:开启后会对域名进行 DNS 解析并检查解析后的 IP 是否为私有地址,可有效防止 DNS 重绑定攻击绕过 SSRF 防护。注意:域名可能解析到多个 IPv4/IPv6 地址,若配置了 IP 过滤列表,请确保覆盖这些地址,否则可能导致访问失败。",
"域名白名单": "域名白名单",
"域名黑名单": "域名黑名单",
"基本信息": "基本信息",
@@ -866,7 +870,7 @@
"密钥预览": "密钥预览",
"对于官方渠道,new-api已经内置地址,除非是第三方代理站点或者Azure的特殊接入地址,否则不需要填写": "对于官方渠道,new-api已经内置地址,除非是第三方代理站点或者Azure的特殊接入地址,否则不需要填写",
"对免费模型启用预消耗": "对免费模型启用预消耗",
"对域名启用 IP 过滤(实验性": "对域名启用 IP 过滤(实验性",
"对域名启用 IP 过滤(推荐开启": "对域名启用 IP 过滤(推荐开启",
"对外运营模式": "对外运营模式",
"导入": "导入",
"导入的配置将覆盖当前设置,是否继续?": "导入的配置将覆盖当前设置,是否继续?",
@@ -880,7 +884,9 @@
"将为选中的 ": "将为选中的 ",
"将仅保留第一个密钥文件,其余文件将被移除,是否继续?": "将仅保留第一个密钥文件,其余文件将被移除,是否继续?",
"将删除": "将删除",
"将删除 {{value}} 天前的日志文件。": "将删除 {{value}} 天前的日志文件。",
"将删除已使用、已禁用及过期的兑换码,此操作不可撤销。": "将删除已使用、已禁用及过期的兑换码,此操作不可撤销。",
"将只保留最近 {{value}} 个日志文件,其余将被删除。": "将只保留最近 {{value}} 个日志文件,其余将被删除。",
"将清除所有保存的配置并恢复默认设置,此操作不可撤销。是否继续?": "将清除所有保存的配置并恢复默认设置,此操作不可撤销。是否继续?",
"将清除选定时间之前的所有日志": "将清除选定时间之前的所有日志",
"小时": "小时",
@@ -944,6 +950,7 @@
"已注销": "已注销",
"已添加": "已添加",
"已添加到白名单": "已添加到白名单",
"已清理 {{count}} 个日志文件,释放 {{size}}": "已清理 {{count}} 个日志文件,释放 {{size}}",
"已清空测试结果": "已清空测试结果",
"已用": "已用",
"已用/剩余": "已用/剩余",
@@ -1240,8 +1247,12 @@
"日志已下载": "日志已下载",
"日志已加载": "日志已加载",
"日志已复制到剪贴板": "日志已复制到剪贴板",
"日志时间范围": "日志时间范围",
"日志总大小": "日志总大小",
"日志文件数": "日志文件数",
"日志流": "日志流",
"日志清理失败:": "日志清理失败:",
"日志目录": "日志目录",
"日志类型": "日志类型",
"日志设置": "日志设置",
"日志详情": "日志详情",
@@ -1340,6 +1351,8 @@
"服务可用性": "服务可用性",
"服务商": "服务商",
"服务器地址": "服务器地址",
"服务器日志功能未启用(未配置日志目录)": "服务器日志功能未启用(未配置日志目录)",
"服务器日志管理": "服务器日志管理",
"服务显示名称": "服务显示名称",
"未发现新增模型": "未发现新增模型",
"未发现重复密钥": "未发现重复密钥",
@@ -1591,6 +1604,8 @@
"添加键值对": "添加键值对",
"添加问答": "添加问答",
"添加额度": "添加额度",
"清理方式": "清理方式",
"清理日志文件": "清理日志文件",
"清空": "清空",
"清空重定向": "清空重定向",
"清除历史日志": "清除历史日志",
@@ -1756,6 +1771,7 @@
"确认延长容器时长": "确认延长容器时长",
"确认操作": "确认操作",
"确认新密码": "确认新密码",
"确认清理日志文件?": "确认清理日志文件?",
"确认清除历史日志": "确认清除历史日志",
"确认禁用": "确认禁用",
"确认补单": "确认补单",
@@ -1817,6 +1833,7 @@
"管理员账号": "管理员账号",
"管理员账号已经初始化过,请继续设置其他参数": "管理员账号已经初始化过,请继续设置其他参数",
"管理模型、标签、端点等预填组": "管理模型、标签、端点等预填组",
"管理服务器运行日志文件。日志文件会随运行时间不断累积,建议定期清理以释放磁盘空间。": "管理服务器运行日志文件。日志文件会随运行时间不断累积,建议定期清理以释放磁盘空间。",
"类型": "类型",
"粘贴图片失败": "粘贴图片失败",
"精确": "精确",
@@ -2211,6 +2228,7 @@
"请输入新的部署名称": "请输入新的部署名称",
"请输入显示名称": "请输入显示名称",
"请输入有效的JSON格式的请求体。您可以参考预览面板中的默认请求体格式。": "请输入有效的JSON格式的请求体。您可以参考预览面板中的默认请求体格式。",
"请输入有效的数值": "请输入有效的数值",
"请输入有效的数字": "请输入有效的数字",
"请输入有效的镜像地址": "请输入有效的镜像地址",
"请输入标签名称": "请输入标签名称",
@@ -3042,7 +3060,6 @@
"止": "止",
"值": "值",
"添加条件组": "添加条件组",
"添加条件": "添加条件",
"添加时间条件": "添加时间条件",
"同时满足": "同时满足",
"新年促销": "新年促销",
@@ -3060,11 +3077,16 @@
"缓存创建": "缓存创建",
"缓存创建-1h": "缓存创建-1h",
"见上方动态计费详情": "见上方动态计费详情",
"分组倍率": "分组倍率",
"含时间条件": "含时间条件",
"含请求条件": "含请求条件",
"输入": "输入",
"输出": "输出",
"档": "档"
"复制密钥": "复制密钥",
"复制连接信息": "复制连接信息",
"检测到剪贴板中的连接信息": "检测到剪贴板中的连接信息",
"自动填入": "自动填入",
"忽略": "忽略",
"从剪贴板粘贴配置": "从剪贴板粘贴配置",
"剪贴板中未检测到连接信息": "剪贴板中未检测到连接信息",
"连接信息已填入": "连接信息已填入",
"无法读取剪贴板": "无法读取剪贴板"
}
}
+48 -3
View File
@@ -389,6 +389,10 @@
"保存通用设置": "儲存通用設定",
"保存邮箱域名白名单设置": "儲存信箱域名白名單設定",
"保存额度设置": "儲存額度設定",
"保留天数": "保留天數",
"保留文件数": "保留檔案數",
"保留最近N个文件": "保留最近N個檔案",
"保留最近N天": "保留最近N天",
"修复数据库一致性": "修復資料庫一致性",
"修改为": "修改為",
"修改子渠道优先级": "修改子管道優先級",
@@ -733,7 +737,7 @@
"在此输入系统名称": "在此輸入系統名稱",
"在此输入隐私政策内容,支持 Markdown & HTML 代码": "在此輸入隱私政策內容,支援 Markdown & HTML 程式碼",
"在此输入首页内容,支持 Markdown & HTML 代码,设置后首页的状态信息将不再显示。如果输入的是一个链接,则会使用该链接作为 iframe 的 src 属性,这允许你设置任意网页作为首页": "在此輸入首頁內容,支援 Markdown & HTML 程式碼,設定後首頁的狀態訊息將不再顯示。如果輸入的是一個連結,則會使用該連結作為 iframe 的 src 屬性,這允許你設定任意網頁作為首頁",
"域名IP过滤详细说明": "⚠️此功能為實驗性選項,域名可能解析到多個 IPv4/IPv6 位址,若開啟,請確保 IP 過濾列表覆蓋這些位址,否則可能導致訪問失敗。",
"域名IP过滤详细说明": "建議開啟:開啟後會對域名進行 DNS 解析並檢查解析後的 IP 是否為私有位址,可有效防止 DNS 重綁定攻擊繞過 SSRF 防護。注意:域名可能解析到多個 IPv4/IPv6 位址,若配置了 IP 過濾列表,請確保覆蓋這些位址,否則可能導致訪問失敗。",
"域名白名单": "域名白名單",
"域名黑名单": "域名黑名單",
"基本信息": "基本資訊",
@@ -869,7 +873,7 @@
"密钥预览": "密鑰預覽",
"对于官方渠道,new-api已经内置地址,除非是第三方代理站点或者Azure的特殊接入地址,否则不需要填写": "對於官方管道,new-api已經內置位址,除非是第三方代理站點或者Azure的特殊接入位址,否則不需要填寫",
"对免费模型启用预消耗": "對免費模型啟用預消耗",
"对域名启用 IP 过滤(实验性": "對域名啟用 IP 過濾(實驗性",
"对域名启用 IP 过滤(推荐开启": "對域名啟用 IP 過濾(建議開啟",
"对外运营模式": "對外運營模式",
"导入": "導入",
"导入的配置将覆盖当前设置,是否继续?": "導入的設定將覆蓋當前設定,是否繼續?",
@@ -882,7 +886,9 @@
"将 reasoning_content 转换为 <think> 标签拼接到内容中": "將 reasoning_content 轉換為 <think> 標籤拼接到內容中",
"将为选中的 ": "將為選中的 ",
"将仅保留第一个密钥文件,其余文件将被移除,是否继续?": "將僅保留第一個密鑰檔案,其餘檔案將被移除,是否繼續?",
"将只保留最近 {{value}} 个日志文件,其余将被删除。": "將只保留最近 {{value}} 個日誌檔案,其餘將被刪除。",
"将删除": "將刪除",
"将删除 {{value}} 天前的日志文件。": "將刪除 {{value}} 天前的日誌檔案。",
"将删除已使用、已禁用及过期的兑换码,此操作不可撤销。": "將刪除已使用、已禁用及過期的兌換碼,此操作不可撤銷。",
"将清除所有保存的配置并恢复默认设置,此操作不可撤销。是否继续?": "將清除所有儲存的設定並恢復預設設定,此操作不可撤銷。是否繼續?",
"将清除选定时间之前的所有日志": "將清除選定時間之前的所有日誌",
@@ -947,6 +953,7 @@
"已注销": "已註銷",
"已添加": "已添加",
"已添加到白名单": "已添加到白名單",
"已清理 {{count}} 个日志文件,释放 {{size}}": "已清理 {{count}} 個日誌檔案,釋放 {{size}}",
"已清空测试结果": "已清空測試結果",
"已用": "已用",
"已用/剩余": "已用/剩餘",
@@ -1183,6 +1190,8 @@
"收益统计": "收益統計",
"收起": "收起",
"收起侧边栏": "收起側邊欄",
"向左展开": "向左展開",
"向右展开": "向右展開",
"收起内容": "收起內容",
"放大": "放大",
"放大编辑": "放大編輯",
@@ -1243,8 +1252,12 @@
"日志已下载": "日誌已下載",
"日志已加载": "日誌已載入",
"日志已复制到剪贴板": "日誌已複製到剪貼板",
"日志时间范围": "日誌時間範圍",
"日志总大小": "日誌總大小",
"日志文件数": "日誌檔案數",
"日志流": "日誌流",
"日志清理失败:": "日誌清理失敗:",
"日志目录": "日誌目錄",
"日志类型": "日誌類型",
"日志设置": "日誌設定",
"日志详情": "日誌詳情",
@@ -1344,6 +1357,8 @@
"服务可用性": "服務可用性",
"服务商": "服務商",
"服务器地址": "伺服器位址",
"服务器日志功能未启用(未配置日志目录)": "伺服器日誌功能未啟用(未配置日誌目錄)",
"服务器日志管理": "伺服器日誌管理",
"服务显示名称": "服務顯示名稱",
"未发现新增模型": "未發現新增模型",
"未发现重复密钥": "未發現重複密鑰",
@@ -1597,6 +1612,8 @@
"添加键值对": "添加鍵值對",
"添加问答": "添加問答",
"添加额度": "添加額度",
"清理方式": "清理方式",
"清理日志文件": "清理日誌檔案",
"清空": "清空",
"清空重定向": "清空重定向",
"清除历史日志": "清除歷史日誌",
@@ -1762,6 +1779,7 @@
"确认延长容器时长": "確認延長容器時長",
"确认操作": "確認操作",
"确认新密码": "確認新密碼",
"确认清理日志文件?": "確認清理日誌檔案?",
"确认清除历史日志": "確認清除歷史日誌",
"确认禁用": "確認禁用",
"确认补单": "確認補單",
@@ -1823,6 +1841,7 @@
"管理员设置了外部链接,点击下方按钮访问": "管理員設定了外部連結,點擊下方按鈕訪問",
"管理员账号": "管理員帳號",
"管理员账号已经初始化过,请继续设置其他参数": "管理員帳號已經初始化過,請繼續設定其他參數",
"管理服务器运行日志文件。日志文件会随运行时间不断累积,建议定期清理以释放磁盘空间。": "管理伺服器運行日誌檔案。日誌檔案會隨運行時間不斷累積,建議定期清理以釋放磁碟空間。",
"管理模型、标签、端点等预填组": "管理模型、標籤、端點等預填組",
"类型": "類型",
"粘贴图片失败": "貼上圖片失敗",
@@ -2219,6 +2238,7 @@
"请输入新的部署名称": "請輸入新的部署名稱",
"请输入显示名称": "請輸入顯示名稱",
"请输入有效的JSON格式的请求体。您可以参考预览面板中的默认请求体格式。": "請輸入有效的JSON格式的請求體。您可以參考預覽面板中的預設請求體格式。",
"请输入有效的数值": "請輸入有效的數值",
"请输入有效的数字": "請輸入有效的數位",
"请输入有效的镜像地址": "請輸入有效的鏡像位址",
"请输入标签名称": "請輸入標籤名稱",
@@ -2635,6 +2655,12 @@
"验证配置错误": "驗證設定錯誤",
"高级设置": "進階設定",
"高级配置": "進階設定",
"核心配置": "核心設定",
"创建渠道所需的基本信息": "建立頻道所需的基本資訊",
"请求配置": "請求設定",
"渠道行为": "頻道行為",
"额外设置": "額外設定",
"上游模型管理": "上游模型管理",
"黑名单": "黑名單",
"默认": "預設",
"默认 API 版本": "預設 API 版本",
@@ -2900,6 +2926,16 @@
"1h缓存创建:{{tokens}} / 1M * 模型倍率 {{modelRatio}} * 1h缓存创建倍率 {{cacheCreationRatio1h}} * {{ratioType}} {{ratio}} = {{amount}}": "1h快取建立:{{tokens}} / 1M * 模型倍率 {{modelRatio}} * 1h快取建立倍率 {{cacheCreationRatio1h}} * {{ratioType}} {{ratio}} = {{amount}}",
"输出:{{tokens}} / 1M * 模型倍率 {{modelRatio}} * 输出倍率 {{completionRatio}} * {{ratioType}} {{ratio}} = {{amount}}": "輸出:{{tokens}} / 1M * 模型倍率 {{modelRatio}} * 輸出倍率 {{completionRatio}} * {{ratioType}} {{ratio}} = {{amount}}",
"空": "空",
"提示:端点映射仅用于模型广场展示,不会影响模型真实调用。如需配置真实调用,请前往「渠道管理」。": "提示:端點映射僅用於模型廣場展示,不會影響模型真實呼叫。如需配置真實呼叫,請前往「管道管理」。",
"购买订阅获得模型额度/次数": "購買訂閱取得模型額度/次數",
"生产环境 RSA 私钥 Base64 (PKCS#8 DER)": "正式環境 RSA 私鑰 Base64 (PKCS#8 DER)",
"沙盒环境 RSA 私钥 Base64 (PKCS#8 DER)": "沙盒環境 RSA 私鑰 Base64 (PKCS#8 DER)",
"生产环境 Waffo 公钥 Base64 (X.509 DER)": "正式環境 Waffo 公鑰 Base64 (X.509 DER)",
"沙盒环境 Waffo 公钥 Base64 (X.509 DER)": "沙盒環境 Waffo 公鑰 Base64 (X.509 DER)",
"支付方式类型": "付款方式類型",
"支付方式名称": "付款方式名稱",
"获取充值配置失败": "取得儲值設定失敗",
"获取充值配置异常": "儲值設定異常",
"{{ratioType}} {{ratio}}x": "{{ratioType}} {{ratio}}x",
"模型价格:{{symbol}}{{price}}": "模型價格:{{symbol}}{{price}}",
"模型价格 {{price}}": "模型價格 {{price}}",
@@ -2937,6 +2973,15 @@
"输入价格:{{symbol}}{{price}} / 1M tokens": "輸入價格:{{symbol}}{{price}} / 1M tokens",
"输出价格 {{symbol}}{{price}} / 1M tokens": "輸出價格 {{symbol}}{{price}} / 1M tokens",
"输出价格:{{symbol}}{{price}} / 1M tokens": "輸出價格:{{symbol}}{{price}} / 1M tokens",
"输出价格:{{symbol}}{{total}} / 1M tokens": "輸出價格:{{symbol}}{{total}} / 1M tokens"
"输出价格:{{symbol}}{{total}} / 1M tokens": "輸出價格:{{symbol}}{{total}} / 1M tokens",
"复制密钥": "複製金鑰",
"复制连接信息": "複製連線資訊",
"检测到剪贴板中的连接信息": "偵測到剪貼簿中的連線資訊",
"自动填入": "自動填入",
"忽略": "忽略",
"从剪贴板粘贴配置": "從剪貼簿貼上設定",
"剪贴板中未检测到连接信息": "剪貼簿中未偵測到連線資訊",
"连接信息已填入": "連線資訊已填入",
"无法读取剪贴板": "無法讀取剪貼簿"
}
}