chmonitor

Settings

Configure alert thresholds, browser connections, AI agent options, and UI theme from the in-app Settings page, or via server-side environment variables.

The in-app Settings page (feature id: settings, route /settings) lets operators configure alert thresholds, manage browser connections, tune agent session options, and change the UI theme — without redeploying.

To reach it, open the dashboard and click Settings in the navigation.

What you can configure in-app

Setting areaWhat you control
Alert thresholdsCPU %, memory %, replication lag limits for health sweep alerts
Browser connectionsAdd/remove personal ClickHouse connections stored in the browser
Agent sessionModel picker, token/cost display, conversation store selection
ThemeLight / dark / system

Settings changes made in-app are stored per browser session or in the configured conversation store. They do not affect server-side environment variables.

Conversation history (agent settings sidebar)

The agent settings sidebar includes a read-only "Conversation History" section that names the backend currently storing agent chats. The backend is chosen at deploy time by environment variables — it cannot be switched from the UI. Labels you may see:

LabelMeaning
BrowserHistory stays in localStorage (server persistence is off)
AgentStateManaged/self-hosted AgentState service; when AI enrichment is on, the chat also suggests follow-up questions
D1Cloudflare D1 (SQLite) database
PostgresA PostgreSQL-compatible database

To change the active backend, set the relevant server-side env vars and redeploy. See Conversation history backends in the AI Agent docs for the full env-var reference and setup steps.

Gating or disabling Settings

By default, the Settings page is public — any visitor can open it. To restrict or remove it, use env vars or a config file.

# Require authentication to access Settings
CHM_FEATURE_SETTINGS_ACCESS=authenticated

# Disable the Settings page entirely (removes it from nav)
CHM_FEATURE_SETTINGS_ENABLED=false
[features.settings]
access = "authenticated"

Server-side configuration

Most operational configuration is done through environment variables, not the in-app Settings UI. The key variables, grouped by area:

On this page