Skip to content

Dashboard

Login

The dashboard uses Token authentication. After starting the service, enter your authentication Token on the login page. Token sources:

  • Generated on first run of agentgazer onboard
  • Stored in ~/.agentgazer/config.json
  • Can be regenerated via agentgazer reset-token

Page Overview

PageDescription
OverviewKey metrics overview across all Agents
Agents (Agent List)List of all Agents with providers, policy status, and activity
Agent DetailDetailed statistics, charts, model settings, and policy controls
CostsCost analysis and charts by Provider / Model
AlertsAlert rule management and alert history
EventsGlobal event log with filtering, search, and payload viewer
IncidentsKill Switch analysis with scoring breakdown and evidence
ProvidersProvider configuration, API key management, and usage statistics
OpenClawOne-click integration with OpenClaw personal AI assistant
SettingsServer configuration, default notification channels (Telegram, Email, Webhook)

Providers

The Providers page allows you to manage LLM provider connections and their settings.

Provider List

The Providers page displays a table with the following columns:

ColumnDescription
ProviderProvider name with icon (click to view details)
StatusToggle switch to enable/disable the provider
AgentsNumber of agents using this provider
Total TokensTotal tokens consumed across all agents
Total CostTotal spend (USD)
Today CostSpend for current day (USD)

Providers are sorted by total cost (highest first). Click a provider row to view its detail page.

Add Provider

Security Note

The "Add Provider" button is only enabled when accessing the dashboard from localhost (127.0.0.1 or ::1). When accessing from a LAN address, the button is disabled to protect API key security during transmission.

To add a provider:

  1. Click "Add Provider" (localhost only)
  2. Select provider from dropdown
  3. Enter API key
  4. Click "Test & Save"

The system will validate the API key before saving. If validation fails, the provider is still saved with a warning — you can test the connection again from the provider detail page.

Provider Detail Page

Settings Section

SettingDescription
ActiveToggle to enable/disable the provider. Disabled providers block all requests.
Rate LimitEnable and configure global rate limit for this provider
Max RequestsMaximum requests allowed in the time window
Window (seconds)Sliding window duration

When a provider is deactivated, all agents using that provider will receive a 403 Forbidden response with reason provider_deactivated.

When rate limited, agents receive a 429 Too Many Requests response with reason provider_rate_limited.

Models Section

View and manage models for the provider:

  • Built-in models — Pre-configured models from pricing tables (read-only)
  • Custom models — User-added models (can be deleted)
  • Verified badge — Model has been tested and confirmed to exist

To add a custom model:

  1. Enter the model ID (e.g., gpt-4o-2024-11-20)
  2. Click "Test & Add"
  3. If the model exists, it will be added to the list

Stats Section

Usage statistics for the provider with time range filters (1h, 24h, 7d, 30d):

MetricDescription
Total RequestsNumber of requests to this provider
Total TokensTotal tokens consumed
Total CostTotal spend (USD)

The pie chart shows cost breakdown by model.

Agents List

The Agents page displays all registered agents with the following columns:

ColumnDescription
Agent IDUnique identifier
ProvidersLLM providers used (e.g., OpenAI, Anthropic) with override indicator
RequestsTotal request count
CostTotal spend (USD)
Last ActivityTime since last event
StatusPolicy status badges

Status Badges:

  • Inactive — Agent is deactivated (active=false)
  • Budget % — Current daily spend as percentage of budget limit

Override Indicator:

Providers with active model overrides show a visual indicator (e.g., "OpenAI*") to indicate that requests to that provider are being redirected to a different model.

Agent Detail Page

The Agent detail page provides the following information:

Stats Cards

MetricDescription
Total RequestsTotal number of requests
Total ErrorsNumber of errors
Blocked RequestsRequests blocked by policy
Error RateError rate percentage
Total CostTotal spend (USD)
Tokens UsedTotal token usage
P50 LatencyMedian latency (milliseconds)
P99 Latency99th percentile latency (milliseconds)

Charts

Rendered with Recharts:

  • Token usage trend chart (Input / Output tokens over time)
  • Cost breakdown chart (by Provider / Model)

Time Range Filter

Supports the following preset ranges:

  • 1 hour (1h)
  • 24 hours (24h)
  • 7 days (7d)
  • 30 days (30d)

Policy Settings

Control agent behavior with the following settings:

SettingDescription
ActiveToggle to enable/disable the agent. Disabled agents have all requests blocked.
Budget LimitDaily spending cap in USD. Requests are blocked when limit is reached.
Allowed HoursTime window when requests are allowed (server local time).

Daily Spend Display:

When a budget limit is set, the UI shows current spend vs limit (e.g., "$12.34 / $20.00"). A warning indicator appears when spend exceeds 80% of the limit.

Timezone:

Allowed hours use server local time. The UI displays the server timezone (e.g., "Server time: UTC+8").

Model Settings

Override the model used for each provider. The agent's original model request will be replaced with the selected model before forwarding to the provider.

ControlDescription
Provider CardOne card per provider the agent has used
Model DropdownSelect override model or "None" to use agent default
Override ActiveBadge indicating an override is in effect

This is useful for:

  • Cost control — Force agents to use cheaper models (e.g., gpt-4o-mini instead of gpt-4o)
  • Testing — Compare behavior across different models
  • Centralized management — Control model usage across all agents from one place

Rate Limit Settings

Configure per-provider rate limits to control request frequency. When a limit is exceeded, the Proxy returns a 429 Too Many Requests response.

ControlDescription
Provider DropdownSelect a provider to add a rate limit
Max RequestsMaximum number of requests allowed in the time window
Window (seconds)Time window for the rate limit (sliding window)
Add / Apply / RemoveManage rate limit configurations

How it works:

  • Rate limits are per-agent per-provider (e.g., agent "my-bot" can have different limits for OpenAI vs Anthropic)
  • Uses a sliding window algorithm — requests are counted within the last N seconds
  • When limit is exceeded, the response includes retry_after_seconds indicating when to retry
  • Rate-limited requests are recorded with block reason rate_limited

Example:

Setting "100 requests per 60 seconds" means the agent can make at most 100 requests to that provider within any 60-second sliding window.

See Proxy Rate Limiting for details on response format.

Kill Switch Settings

Configure automatic loop detection to prevent runaway agents from burning your budget.

ControlDescription
Enable ToggleTurn Kill Switch on/off for this agent
Window SizeNumber of recent requests to analyze (default: 20)
ThresholdScore threshold for deactivation (default: 10.0)

How it works:

Kill Switch uses SimHash to detect repeated patterns in agent behavior:

  1. Each request's prompt is normalized (numbers → <NUM>, timestamps → <TS>, UUIDs → <ID>)
  2. SimHash computes a 64-bit locality-sensitive hash
  3. Similar prompts have a Hamming distance < 3
  4. Score is calculated: similar_prompts × 1.0 + similar_responses × 2.0 + repeated_tool_calls × 1.5
  5. When score exceeds threshold, agent is auto-deactivated

Deactivation indicator:

When an agent is deactivated by Kill Switch:

  • Status shows "Deactivated by Kill Switch" badge
  • Agent can be reactivated manually via the Active toggle
  • Loop detector window is cleared on reactivation

Configure Notifications

When enabling Kill Switch, also configure alert notifications (webhook/email) on the Alerts page to be notified when an agent is deactivated.

Request Log

Recent LLM calls with the following columns:

ColumnDescription
TimestampWhen the request was made
ProviderLLM provider
ModelRequested model and actual model (if different, shown as "gpt-4 → gpt-4o-mini")
TokensInput / Output token count
CostRequest cost (USD)
LatencyResponse time (ms)
PayloadView request/response body

Click the payload button to view the full request and response body, including character counts and formatted JSON.

Blocked Events

When requests are blocked by policy, the dashboard shows:

  • Blocked Count — Total blocked requests
  • Block Reasons — Breakdown by reason:
    • agent_deactivated — Agent is inactive
    • budget_exceeded — Daily budget limit reached
    • outside_allowed_hours — Request outside allowed time window

Events

The Events page shows a global log of all events across all agents.

Filters

FilterDescription
AgentFilter by specific agent
TypeEvent type (llm_call, completion, heartbeat, error, custom, blocked, kill_switch)
ProviderFilter by LLM provider
Time Range1h, 24h, 7d, 30d, or all time
SearchFree-text search across model, provider, and error messages

Event Columns

ColumnDescription
TimeEvent timestamp
AgentAgent ID (click to view agent detail)
TypeEvent type (kill_switch events link to Incidents page)
ProviderLLM provider
ModelModel used
StatusHTTP status code (color-coded)
Tokens In/OutToken counts
CostRequest cost (USD)
LatencyResponse time (ms)
PayloadView request/response body

Payload Viewer

Click the payload button to view the full request and response body for any event:

  • Request body — The complete prompt sent to the LLM (JSON formatted)
  • Response body — The LLM's complete response
  • Character count — Size of each payload
  • Event metadata — Event ID, size in KB, timestamp

Payload Storage

Payload archiving is optional and can be configured in Settings. When disabled, the payload button will show "Payload not found".

Export

Click "Export CSV" to download filtered events as a CSV file.

Incidents

The Incidents page lists all Kill Switch events with detailed analysis. See Kill Switch for details.

Cost Analysis

The cost page provides aggregated spend across Providers and Models:

  • Cost trend chart
  • Cost breakdown by Provider
  • Cost breakdown by Model

Cost Estimate Disclaimer

Cost estimates are approximate and may differ from actual billing, especially for requests with cached tokens. Always verify with your provider's official console for accurate billing information.

Settings

The Settings page allows you to configure server settings and default notification channels.

Server Settings

SettingDescription
PortDashboard/server port (default: 18880)
Proxy PortLLM Proxy port (default: 18900)
Auto OpenAuto-open browser on start
Retention DaysData retention period in days

Default Notification Channels

Configure default settings for alert notifications. When creating new alert rules, these defaults are pre-filled.

Telegram

SettingDescription
Bot TokenTelegram bot API token (from @BotFather)
Chat IDTarget chat/group ID for notifications

Email (SMTP)

SettingDescription
HostSMTP server hostname
PortSMTP port (default: 587)
TLSEnable TLS encryption
UserSMTP username
PasswordSMTP password
FromSender email address
ToDefault recipient email address

Webhook

SettingDescription
URLDefault webhook endpoint URL