diff options
| author | Frank <[email protected]> | 2026-03-10 14:40:14 -0400 |
|---|---|---|
| committer | Frank <[email protected]> | 2026-03-10 14:40:18 -0400 |
| commit | e6cdc21f2ddd7264a75eb389693d4d62367ae38c (patch) | |
| tree | 28af2bdfac2ad4feeaf75cec4ab737c67871b476 /packages/console/app/src | |
| parent | 1fe8d4d7ad32fecd40609140c0c7ff53016d8ddd (diff) | |
| download | opencode-e6cdc21f2ddd7264a75eb389693d4d62367ae38c.tar.gz opencode-e6cdc21f2ddd7264a75eb389693d4d62367ae38c.zip | |
zen: raise limit
Diffstat (limited to 'packages/console/app/src')
| -rw-r--r-- | packages/console/app/src/routes/zen/util/handler.ts | 8 | ||||
| -rw-r--r-- | packages/console/app/src/routes/zen/util/rateLimiter.ts | 14 |
2 files changed, 18 insertions, 4 deletions
diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index 429ce0018..d0d8f172b 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -99,7 +99,13 @@ export async function handler( const dataDumper = createDataDumper(sessionId, requestId, projectId) const trialLimiter = createTrialLimiter(modelInfo.trialProvider, ip) const trialProvider = await trialLimiter?.check() - const rateLimiter = createRateLimiter(modelInfo.allowAnonymous, ip, input.request) + const rateLimiter = createRateLimiter( + modelInfo.id, + modelInfo.allowAnonymous, + modelInfo.rateLimit, + ip, + input.request, + ) await rateLimiter?.check() const stickyTracker = createStickyTracker(modelInfo.stickyProvider, sessionId) const stickyProvider = await stickyTracker?.get() diff --git a/packages/console/app/src/routes/zen/util/rateLimiter.ts b/packages/console/app/src/routes/zen/util/rateLimiter.ts index 019e68754..152ed9b8d 100644 --- a/packages/console/app/src/routes/zen/util/rateLimiter.ts +++ b/packages/console/app/src/routes/zen/util/rateLimiter.ts @@ -6,17 +6,25 @@ import { i18n } from "~/i18n" import { localeFromRequest } from "~/lib/language" import { Subscription } from "@opencode-ai/console-core/subscription.js" -export function createRateLimiter(allowAnonymous: boolean | undefined, rawIp: string, request: Request) { +export function createRateLimiter( + modelId: string, + allowAnonymous: boolean | undefined, + rateLimit: number | undefined, + rawIp: string, + request: Request, +) { if (!allowAnonymous) return const dict = i18n(localeFromRequest(request)) const limits = Subscription.getFreeLimits() const limitValue = - limits.checkHeader && !request.headers.get(limits.checkHeader) ? limits.fallbackValue : limits.dailyRequests + limits.checkHeader && !request.headers.get(limits.checkHeader) + ? limits.fallbackValue + : (rateLimit ?? limits.dailyRequests) const ip = !rawIp.length ? "unknown" : rawIp const now = Date.now() - const interval = buildYYYYMMDD(now) + const interval = rateLimit ? `${buildYYYYMMDD(now)}${modelId.substring(0, 2)}` : buildYYYYMMDD(now) return { track: async () => { |
