{{ activeTitle }}

{{ activeSubtitle }}

{{ overview.status || 'unknown' }} {{ liveConnected ? 'LIVE SSE' : 'SSE off' }} Auto Refresh Logout
Currently using the default Admin Key: sk-admin. Please change it in Settings.
API Key not configured. /v1/* APIs will temporarily return config errors.
Upstream token not configured. Add tokens in Accounts/Token pages.
Account Pool
{{ overview.account_count ?? accountsInfo.summary.total_accounts ?? '-' }}
Headroom {{ accountsInfo.summary.headroom_today ?? '-' }} · Available {{ accountsInfo.summary.available_accounts ?? '-' }}
Models
{{ modelCatalog.summary.total || overview.model_count || '-' }}
Free {{ modelCatalog.summary.free ?? '-' }} · Premium {{ modelCatalog.summary.premium ?? '-' }}
Busy Now
{{ liveBusy ?? 0 }}
In-flight account leases
Avg Latency
{{ liveAvgMs || reqStats.avg_duration_ms || 0 }}ms
p95 {{ liveP95Ms || '-' }}ms · live SSE
Today Requests
{{ reqStats.total || 0 }}
OK {{ reqStats.success || 0 }} · Err {{ reqStats.error || 0 }}
API Keys
{{ (liveKeyActive != null ? liveKeyActive : apiKeys.active_count) || 0 }}/{{ (liveKeyTotal != null ? liveKeyTotal : apiKeys.count) || 0 }}
Active / total client keys · SSE {{ liveTick || 0 }}
Server {{ liveServerTime || '-' }} · tick {{ liveTick || 0 }}
#{{ s.account }} · {{ s.model }}
{{ s.instance_id }} · {{ s.remaining_ms != null ? Math.round(s.remaining_ms/60000)+'m left' : '-' }} · {{ s.busy ? 'busy' : 'idle' }}
OpenAI / Hermes base
{{ modelCatalog.protocol.openai_base_url || clientKeys.openai_base_url || 'https://finalbase.hhdevs.space/v1' }}
Copy
Anthropic / Claude Desktop base
{{ modelCatalog.protocol.anthropic_base_url || clientKeys.anthropic_base_url || 'https://finalbase.hhdevs.space' }}
Copy
Session window {{ modelCatalog.protocol.session_window || '~60 min model-locked' }} · Premium pool {{ modelCatalog.protocol.premium_pool || '~5 / Pacific day' }}
free {{ shortModel(m) }}
finalbase.hhdevs.space {{ config.admin_key_configured ? config.admin_key_masked : 'Not set' }}{{ config.using_default_admin_key ? ' (default)' : '' }} {{ config.token_count || (config.tokens && config.tokens.length) || 0 }} {{ config.proxy_enabled ? config.proxy_url : 'Off' }} {{ config.environment || '-' }} · log {{ overview.log_level || '-' }}
Limit / account
{{ accountsInfo.limit_per_account ?? '-' }}
Local daily fresh-session gate
Available
{{ accountsInfo.summary.available_accounts ?? '-' }}
Exhausted: {{ accountsInfo.summary.exhausted_accounts ?? '-' }}
Sessions today
{{ accountsInfo.summary.total_sessions_today ?? '-' }}
Headroom: {{ accountsInfo.summary.headroom_today ?? '-' }}
Synced
{{ accountsInfo.synced ? 'yes' : 'no' }}
Upstream rateLimit alignment

Account Quota + Live Upstream Sessions

Add Account Token Refresh Sync from Upstream Reset only local premium counters? Upstream Freebuff quota is NOT changed. Prefer Sync from Upstream for truth.
Premium pool (pro / kimi / hy3 / mimo-pro): ~5 units / Pacific day. Free: flash, minimax-m2.7, minimax-m3, mimo-v2.5 do not burn that pool.
Same-model + live ~1h session (incl. Hermes /new): reuse, no new premium unit.
Auto-reset: Pacific day + upstream resetAt. Prefer Sync from Upstream. Reset Local only clears proxy counters.
No accounts configured. Add tokens first.

Upstream Token List

Add Token
#{{ token.index }} {{ token.masked }} {{ token.length }} chars Edit Verify Delete this upstream token?
No upstream tokens configured yet. Click "Add Token" in the top right.
{{ lastEnv }}

The list only shows masked tokens, not full values.

Clicking "Edit" will read the full token and display it in the modal input field.

On local or persistent server, saving writes to .env and immediately updates the account pool. On Vercel, only the environment variable text is returned.

Each API Key can independently configure which models it is allowed to call.

Use Authorization: Bearer <key> or x-api-key: <key>.

Primary OpenAI key is auto-loaded as the "default" key. Anthropic key is separate under Settings.

API Key List

Add Key
{{ item.key.slice(0,4) }}****{{ item.key.slice(-4) }} 📋 {{ item.name }} {{ m }} +{{ item.allowed_models.length - 3 }} Edit Delete "{{ item.name }}"?
No API keys configured. Click "Add Key" in the top right.
Refresh Are you sure you want to clear all request records? Showing {{ reqRecords.length }} / {{ reqLimit }} records
TimeAPI KeyModelLatencyPromptCompletionTotalStatus
{{ r.timestamp.slice(11,19) }} {{ r.api_key_name }} {{ r.model.slice(r.model.lastIndexOf('/')+1) }} {{ r.duration_ms }}ms {{ r.prompt_tokens.toLocaleString() }} {{ r.completion_tokens.toLocaleString() }} {{ r.total_tokens.toLocaleString() }} {{ r.status }}{{ r.error ? ' (' + r.error.slice(0,60) + ')' : '' }}
No requests yet. Data will appear here after you send API requests.
{{ envInfo.message || 'Reading environment config' }} {{ envInfo.environment || '-' }} {{ envInfo.path || '-' }} {{ envInfo.exists ? 'Found' : 'Not found' }}
{{ envInfo.content || (envInfo.environment === 'vercel' ? 'Please view and edit variables in the Vercel Environment Variables panel.' : 'No .env content currently.') }}
Refresh Env Copy Content

Go to your Vercel project page, open Settings → Environment Variables.

After editing variables, a redeployment is required.

Local .env is not uploaded to GitHub and not auto-read by Vercel.

Re-detect {{ networkInfo.region && networkInfo.region.ok ? 'Located' : 'Locate failed' }} {{ networkInfo.region && networkInfo.region.ip || '-' }} {{ networkInfo.region && networkInfo.region.country || '-' }} {{ [networkInfo.region && networkInfo.region.region, networkInfo.region && networkInfo.region.city].filter(Boolean).join(' / ') || '-' }} {{ networkInfo.region && networkInfo.region.timezone || '-' }} {{ networkInfo.region && networkInfo.region.org || '-' }} {{ networkInfo.region && networkInfo.region.source || '-' }} {{ networkInfo.region && networkInfo.region.latency_ms ? `(${networkInfo.region.latency_ms}ms)` : '' }}
{{ item.name }} {{ item.ok ? 'Reachable' : 'Failed' }} {{ item.status || '-' }} {{ item.latency_ms ? `${item.latency_ms}ms` : (item.error || '-') }}
Network connectivity has not been tested yet.
Proxy: {{ networkInfo.proxy_enabled ? networkInfo.proxy_url || 'Enabled' : 'Disabled' }}
{{ logAutoRefresh ? `Every ${logRefreshSeconds}s refresh` : 'Auto refresh off' }} RefreshLogs Copy Logs
No logs yet
{{ line.time }} {{ line.level }} {{ line.logger }} {{ line.message }}
{{ line.detail }}
Total
{{ modelCatalog.summary.total ?? modelCatalog.items.length }}
OpenAI + Claude aliases
Free
{{ modelCatalog.summary.free ?? '-' }}
No premium unit burn
Premium
{{ modelCatalog.summary.premium ?? '-' }}
Shared ~5 / Pacific day
Filter
{{ modelTierFilter }}
Refresh Models
{{ m.id }}
{{ m.tier }}
{{ m.note }}
session: {{ m.session_id }}
{{ a }}
Copy OpenAI id Copy Claude
No models match filter
Send Request RefreshModel
{{ testResult || 'No request sent yet' }}
OpenAI clients: base {{ clientKeys.openai_base_url || 'https://finalbase.hhdevs.space/v1' }} · Anthropic / Claude Desktop: base {{ clientKeys.anthropic_base_url || 'https://finalbase.hhdevs.space' }} (no trailing /v1) Copy OpenAI key Copy OpenAI base URL Copy Anthropic key Copy Anthropic base URL Save Client Keys Refresh

You can set different keys for OpenAI vs Anthropic clients, or reuse the same value for both.

Save Admin Key

Public product host: finalbase.hhdevs.space — Freebuff branding is not public-facing.

Configure admin key plus OpenAI/Anthropic client keys under Settings. Public host: finalbase.hhdevs.space

Token page opened. Complete auth, copy the token, then paste it here and save. Or open manually: {{ tokenHelpUrl }} Save & Apply Verify Current Input Save Cancel