Open-source AI model health monitoring dashboard for OpenClaw operators.
Track uptime, latency, and live status across Anthropic, NVIDIA NIM, xAI, OpenRouter, DeepSeek, and more β from a single dashboard.
- π’ Live health checks β pings each model with a minimal request, measures latency
- π Uptime tracking β rolling 20-check history, success rate per model
- π΄ Failure detection β consecutive failure counter, automatic status downgrade
- π Auto-refresh β configurable interval, always current
- β‘ Multi-provider β Anthropic, NVIDIA NIM, xAI/Grok, OpenRouter, DeepSeek, Google
| Provider | Models |
|---|---|
| Anthropic | claude-haiku, claude-sonnet, claude-opus |
| NVIDIA NIM | kimi-k2, kimi-k2-thinking, kimi-k2.5, deepseek-v3.2 |
| xAI | grok-4-1-fast-reasoning |
| OpenRouter | healer-alpha-7b (and any OR model) |
| DeepSeek | deepseek-chat |
| gemini-2.0-flash |
- Dashboard β vanilla HTML/JS, zero dependencies
- Health runner β PHP (runs via cron)
- Storage β MySQL (model registry + test history)
- Auth β none required for dashboard; runner is CLI/cron only
CREATE TABLE models (
id VARCHAR(128) PRIMARY KEY,
display_name VARCHAR(128) NOT NULL,
provider VARCHAR(64) NOT NULL,
api_type VARCHAR(32) DEFAULT NULL,
cost_rank TINYINT DEFAULT NULL,
tags VARCHAR(256) DEFAULT NULL,
status ENUM('healthy','degraded','down','unknown') DEFAULT 'unknown',
success_rate FLOAT DEFAULT NULL,
consecutive_failures TINYINT DEFAULT 0,
last_latency_ms INT DEFAULT NULL,
last_tested_at DATETIME DEFAULT NULL,
last_failure_at DATETIME DEFAULT NULL,
enabled TINYINT DEFAULT 1,
notes VARCHAR(512) DEFAULT NULL
);
CREATE TABLE model_tests (
id INT AUTO_INCREMENT PRIMARY KEY,
model_id VARCHAR(128) NOT NULL,
passed TINYINT NOT NULL,
latency_ms INT DEFAULT NULL,
error TEXT DEFAULT NULL,
tested_at DATETIME NOT NULL,
INDEX (model_id, tested_at)
);Edit the top of model-health-check.php and define your API keys:
define('ANTHROPIC_API_KEY', 'sk-ant-...');
define('OPENROUTER_API_KEY', 'sk-or-...');
define('XAI_API_KEY', 'xai-...');
define('NVIDIA_API_KEY', 'nvapi-...');
// etc.Insert rows into the models table:
INSERT INTO models (id, display_name, provider, enabled)
VALUES ('openrouter/thedrummer/healer-alpha-7b', 'Healer Alpha', 'openrouter', 1);# Run health checks every 10 minutes
*/10 * * * * php /path/to/model-health-check.php >> /var/log/modelpulse.log 2>&1Serve model-health.php from your web root. It reads directly from the DB.
ModelPulse is the open-source core. ClawManager adds:
- Auth switching (swap API keys per agent)
- Session-level model routing
- Memory Doctor integration
- Multi-machine dashboard (MBP + VM side by side)
Built by NeoClawLabs Β· MIT License