From 856c95538659b6ff93a4a18063d7afbc2389db4b Mon Sep 17 00:00:00 2001 From: QTom Date: Sat, 28 Feb 2026 01:33:01 +0800 Subject: [PATCH] feat: add RPM config to CreateAccountModal --- .../components/account/CreateAccountModal.vue | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/frontend/src/components/account/CreateAccountModal.vue b/frontend/src/components/account/CreateAccountModal.vue index a0ad4eb4..92ca189e 100644 --- a/frontend/src/components/account/CreateAccountModal.vue +++ b/frontend/src/components/account/CreateAccountModal.vue @@ -1536,6 +1536,56 @@ + +
+
+
+ +

+ {{ t('admin.accounts.quotaControl.rpmLimit.hint') }} +

+
+ +
+ +
+
+ + +

{{ t('admin.accounts.quotaControl.rpmLimit.baseRpmHint') }}

+
+
+ + +

{{ t('admin.accounts.quotaControl.rpmLimit.strategyHint') }}

+
+
+
+
@@ -2393,6 +2443,9 @@ const windowCostStickyReserve = ref(null) const sessionLimitEnabled = ref(false) const maxSessions = ref(null) const sessionIdleTimeout = ref(null) +const rpmLimitEnabled = ref(false) +const baseRpm = ref(null) +const rpmStrategy = ref('tiered') const tlsFingerprintEnabled = ref(false) const sessionIdMaskingEnabled = ref(false) const cacheTTLOverrideEnabled = ref(false) @@ -3017,6 +3070,9 @@ const resetForm = () => { sessionLimitEnabled.value = false maxSessions.value = null sessionIdleTimeout.value = null + rpmLimitEnabled.value = false + baseRpm.value = null + rpmStrategy.value = 'tiered' tlsFingerprintEnabled.value = false sessionIdMaskingEnabled.value = false cacheTTLOverrideEnabled.value = false @@ -3926,6 +3982,12 @@ const handleAnthropicExchange = async (authCode: string) => { extra.session_idle_timeout_minutes = sessionIdleTimeout.value ?? 5 } + // Add RPM limit settings + if (rpmLimitEnabled.value && baseRpm.value != null && baseRpm.value > 0) { + extra.base_rpm = baseRpm.value + extra.rpm_strategy = rpmStrategy.value + } + // Add TLS fingerprint settings if (tlsFingerprintEnabled.value) { extra.enable_tls_fingerprint = true @@ -4024,6 +4086,12 @@ const handleCookieAuth = async (sessionKey: string) => { extra.session_idle_timeout_minutes = sessionIdleTimeout.value ?? 5 } + // Add RPM limit settings + if (rpmLimitEnabled.value && baseRpm.value != null && baseRpm.value > 0) { + extra.base_rpm = baseRpm.value + extra.rpm_strategy = rpmStrategy.value + } + // Add TLS fingerprint settings if (tlsFingerprintEnabled.value) { extra.enable_tls_fingerprint = true