AI-powered infrastructure monitoring that discovers and watches your servers intelligently
Project description
Supavision
Point it at a server, and it figures out the rest.
Supavision uses Claude to explore your infrastructure, understand what's running, and monitor it — without you writing check scripts or defining metrics. It also scans codebases for security issues and uses AI agents to evaluate and fix them.
Why Supavision?
Traditional monitoring requires you to define every check, threshold, and alert rule upfront. Supavision flips this:
- Discovery, not configuration. Point it at a server via SSH. Claude explores the system, finds running services, databases, and configs, and builds a baseline of what "normal" looks like.
- Drift detection, not threshold alerts. Instead of "CPU > 90%", Supavision detects "this service wasn't running yesterday" or "the config file changed since last check."
- Zero LLM cost. Uses Claude Code CLI (included with your Claude subscription). No per-token API charges.
- Codebase scanning included. 81 security patterns across 9 languages, with AI-powered evaluation that separates real issues from false positives.
Two Capabilities
Infrastructure Monitoring
Add server → Discovery (Claude explores via SSH) → Baseline → Scheduled health checks → Slack alerts
Supports: Servers (SSH), AWS Accounts, Databases, GitHub Orgs — extensible via templates.
Codebase Scanning
Add codebase → Scan (81 regex patterns) → Evaluate (AI agent) → Approve → Implement (AI creates fix)
Findings go through a lifecycle: Scanned → Evaluated → Approved → Implementing → Completed. False positives are learned and auto-dismissed in future scans.
Quick Start
# Install
git clone https://github.com/devsquall/supavision.git
cd supervisor
python -m venv .venv && source .venv/bin/activate
pip install -e .
# Verify setup
supavision doctor
# See it with sample data
supavision seed-demo
supavision serve --port 8080
Open http://localhost:8080 — you'll see a dashboard with sample resources, health history, and code findings.
Prerequisites: Python 3.12+ and Claude Code CLI (for infrastructure monitoring). Codebase scanning works without Claude CLI.
Features
| Feature | Details |
|---|---|
| Web dashboard | Real-time status, resource management, live agent output (SSE streaming) |
| 6 resource types | Server, AWS Account, Database, GitHub Org, Codebase, custom |
| Codebase scanner | 81 regex patterns across Python, JS/TS, Go, Rust, Java, C/C++, PHP, Ruby |
| AI evaluation | Claude analyzes findings for real exploitability, not just pattern matches |
| Automated fixes | Approved findings can be fixed by an AI agent in a git branch |
| Blocklist learning | False positives are remembered and auto-dismissed in future scans |
| REST API | Full API with key auth and OpenAPI docs at /docs |
| MCP server | 9 tools for querying resources, reports, findings, and blocklist from Claude CLI |
| Slack alerts | Smart dedup (same issue re-alerts once per day), SSRF-protected webhooks |
| Scheduled monitoring | Cron-based discovery + health checks with jitter and concurrency limits |
CLI
Infrastructure
supavision resource-add prod-web --type server \
--config ssh_host=10.0.1.5 ssh_user=ubuntu
supavision run-discovery <resource_id>
supavision run-health-check <resource_id>
supavision set-schedule <resource_id> --health-check "0 */6 * * *"
supavision notify-configure <resource_id> --slack-webhook https://hooks.slack.com/...
Codebase
supavision resource-add my-app --type codebase --config path=/home/user/myapp
supavision scan <resource_id>
supavision findings <resource_id>
supavision evaluate <work_item_id>
supavision approve <work_item_id>
supavision implement <work_item_id>
supavision scout <resource_id> --focus security
Operations
supavision serve --port 8080 # Web dashboard + API
supavision run-scheduler # Cron-based scheduling
supavision doctor # Health check
supavision seed-demo # Sample data for evaluation
supavision purge --days 90 # Cleanup old data
Docker
docker compose up -d
Dashboard at http://localhost:8080. Data persists in the supervisor-data volume.
Configuration
| Variable | Default | Description |
|---|---|---|
SUPAVISION_PASSWORD |
(none) | Dashboard login password (set this in production) |
SUPAVISION_BACKEND |
claude_cli |
Backend: claude_cli (free) or openrouter (API) |
OPENROUTER_API_KEY |
(none) | Required if backend is openrouter |
SLACK_WEBHOOK |
(none) | Global fallback Slack webhook URL |
SUPAVISION_MODEL |
anthropic/claude-sonnet-4 |
Model for investigation |
SUPAVISION_CHECK_INTERVAL |
60 |
Scheduler check interval (seconds) |
SUPAVISION_CLI_TIMEOUT |
900 |
Claude CLI timeout (seconds) |
WEBHOOK_ALLOWED_DOMAINS |
(none) | Comma-separated webhook domain allowlist |
MCP Server
Supavision includes an MCP server that lets Claude CLI query your monitoring data in conversations.
supavision mcp-config # Print config for Claude CLI
9 tools available:
| Tool | Description |
|---|---|
supavision_list_resources |
All resources with current severity |
supavision_get_latest_report |
Latest health check report |
supavision_get_baseline |
Discovery baseline + checklist |
supavision_get_run_history |
Recent runs with status |
supavision_list_findings |
Codebase findings with filters |
supavision_get_finding |
Full finding details |
supavision_get_project_stats |
Finding counts by stage |
supavision_list_blocklist |
Known false-positive patterns |
supavision_search_findings |
Search across all findings |
Architecture
Resource
/ \
Lane 1: Health Lane 2: Work
(infrastructure) (codebase)
| |
Engine → Report → Scanner → Findings →
Evaluation → Alert Evaluate → Implement
Two parallel data pipelines sharing a common Resource model. Infrastructure monitoring produces aggregate health reports. Codebase scanning produces per-issue findings with individual lifecycles. See ARCHITECTURE.md for details.
Tech stack: Python 3.12+, FastAPI, HTMX, SQLite (WAL), Claude Code CLI.
Adding Resource Types
Create templates/{type_name}/discovery.md and health_check.md with {{placeholder}} syntax, then add an entry to resource_types.py. See ARCHITECTURE.md for template placeholders.
Security
Supavision runs AI agents on your infrastructure. Read SECURITY.md for the full threat model, tool scoping, and deployment recommendations.
Key points:
- Credentials stored as env var references, never the actual secrets
- Infrastructure agents use allowlisted read-only commands
- Codebase implementation agents require explicit user approval
- SSRF-protected webhook dispatch
- Dashboard auth via
SUPAVISION_PASSWORD
Contributing
See CONTRIBUTING.md for setup, testing, and the two-lane architecture rules.
pip install -e ".[dev]"
pytest tests/ -v # 528+ tests
ruff check src/ tests/ # Linting
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file supavision-0.1.0.tar.gz.
File metadata
- Download URL: supavision-0.1.0.tar.gz
- Upload date:
- Size: 322.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2489fc8b803629d6787918e7df3216a7c34aaad6be10671b078dd4414f128cd6
|
|
| MD5 |
99350a2fb080e3468ad74c0a47c3b99e
|
|
| BLAKE2b-256 |
567c23574c3adc777fbcdcba97c1555a736c813f6ec276e8c52a37a00de2d9e2
|
File details
Details for the file supavision-0.1.0-py3-none-any.whl.
File metadata
- Download URL: supavision-0.1.0-py3-none-any.whl
- Upload date:
- Size: 120.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c889ebeb2f0b1b88a4f1765236d4bce652c17aebf698baab4f64c103eb83b533
|
|
| MD5 |
7ee35cc10cf3f52facf676d38ed61ac7
|
|
| BLAKE2b-256 |
add977c2d66accf0312161d9856aac505900f4927bc76c33372f56502721694e
|