Recent Clients
{{ clientStatsTotal }} total| Client | Requests | Errors | Avg Latency |
|---|---|---|---|
| {{ item.client_ip }} | {{ item.total_requests }} | {{ item.error_count }} | {{ formatMilliseconds(item.total_latency_avg_ms) }} |
| Client | Requests | Errors | Avg Latency |
|---|---|---|---|
| {{ item.client_ip }} | {{ item.total_requests }} | {{ item.error_count }} | {{ formatMilliseconds(item.total_latency_avg_ms) }} |
Last 24 hours by configuration
Recent and hourly distribution
Auto-inject a system prompt into all requests for each service. Claude uses the top-level system field; Codex uses the instructions field; other services use a system message in the messages array.
| Key | Status | Requests | Traffic | Last Used | |
|---|---|---|---|---|---|
| {{ keyEntry.name }} ID {{ (keyEntry.id || '').slice(0, 8) || '—' }} | {{ keyEntry.active ? 'Active' : 'Disabled' }} | {{ formatNumber(keyEntry.requestCount || 0) }} | In {{ formatTokensK(keyEntry.inputTokens || 0) }} Out {{ formatTokensK(keyEntry.outputTokens || 0) }} Total {{ formatTokensK((keyEntry.inputTokens || 0) + (keyEntry.outputTokens || 0)) }} | {{ keyEntry.lastUsedAt ? formatRelativeTime(keyEntry.lastUsedAt) : 'Never' }} |
|
Create your first access key to enable client authentication.
{{ newlyCreatedKey.key }}
Instructions for use:
• One rule per line, executed sequentially
• When selecting "Replace", replace source with target
• When "Delete" is selected, the content matching the source will be deleted
• Supports regular expressions
127.0.0.1:3211
{{ selectedLog.path }}
{{ getUpstreamHost(selectedLog.target_url) }}
{{ getUpstreamPath(selectedLog.target_url) }}
{{ selectedLog.path }}
{{ selectedLog.target_url }}
{{ selectedRealtimeRequest.responseText }}
{{ stringifyHeadersForDisplay(selectedRealtimeRequest.request_headers) }}
There is no mapping rule yet, click the "Add Mapping" button to create the first rule
There is no mapping rule yet, click the "Add Mapping" button to create the first rule
There is no mapping rule yet, click the "Add Mapping" button to create the first rule
There is no mapping rule yet, click the "Add Mapping" button to create the first rule
${{ (snapshotDetail.data.openai_cost_usd || 0).toFixed(4) }}
{{ costsComparison.snapshot2.timestamp }} → {{ costsComparison.snapshot1.timestamp }}
No snapshots yet. Click "Take Snapshot" to capture current usage.
{{ pgError }}
{{ pgResponse }}▌