No description
Find a file
rcourtman 4d7d2e42dc feat(ai): pass raw metric samples to LLM for pattern interpretation
Instead of relying on pre-computed trend heuristics (which can be misleading
for edge cases like step changes vs continuous growth), we now pass downsampled
raw data points to the LLM so it can interpret patterns directly.

Changes:
- Add MetricSamples field to ResourceContext
- Add DownsampleMetrics() to reduce data points for LLM consumption
- Add formatMetricSamples() to format data compactly (e.g., 'Disk: 26→26→31%')
- Add computeGuestMetricSamples() to gather 7-day sampled history
- Populate MetricSamples for VMs and containers during context build
- Add History section to formatted context output

The LLM now sees actual patterns like 'stable for 6 days then jumped' rather
than just '45.8%/day growth rate' - allowing for much more nuanced interpretation.

This approach:
- Leverages LLM's pattern recognition instead of hard-coded heuristics
- Provides 7 days of data (~24 samples) for context on normal behavior
- Uses minimal tokens due to compact formatting with deduplication
- Is more future-proof as LLMs improve

Example output:
  **History (7d sampled, oldest→newest)**: Disk: 26→26→26→26→26→31%

Refs: Frigate disk usage false positive investigation
2025-12-21 21:09:24 +00:00
.github test: improve E2E test stability and reduce CI friction 2025-12-19 23:31:30 +00:00
cmd fix: show Removed Docker Hosts section in UI for re-enrollment 2025-12-19 17:57:04 +00:00
deploy/helm/pulse feat: add --kube-include-all-deployments flag for Kubernetes agent 2025-12-18 20:58:30 +00:00
dev/oidc Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
docs feat(oidc): Add refresh token support for long-lived sessions 2025-12-20 10:45:46 +00:00
frontend-modern feat(ai): pass raw metric samples to LLM for pattern interpretation 2025-12-21 21:09:24 +00:00
internal feat(ai): pass raw metric samples to LLM for pattern interpretation 2025-12-21 21:09:24 +00:00
pkg hostagent: avoid host ID collisions and prefer LAN IP 2025-12-17 16:29:59 +00:00
scripts Fix login re-auth with stale sessions and hot-dev encryption safety 2025-12-20 13:45:11 +00:00
security security: complete Phase 1 sensor proxy hardening 2025-10-20 15:13:37 +00:00
testing-tools test: add soak test with runtime instrumentation (Phase 2 Task 9d) 2025-10-20 15:13:38 +00:00
tests/integration test: improve E2E test stability and reduce CI friction 2025-12-19 23:31:30 +00:00
.dockerignore Refactor: Code cleanup and localStorage consolidation 2025-11-04 21:50:46 +00:00
.env.example Adopt multi-token auth across docs, UI, and tooling 2025-10-14 15:47:49 +00:00
.gitattributes chore: optimize PNG images and add .gitattributes 2025-11-24 23:44:55 +00:00
.gitguardian.yaml Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
.gitignore chore: remove accidentally committed metrics.db and add *.db to gitignore 2025-12-20 11:55:48 +00:00
.golangci.yml Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
ARCHITECTURE.md Fix inaccurate architecture documentation 2025-12-02 23:32:14 +00:00
artifacthub-repo.yml Add Artifact Hub repository metadata for chart discoverability 2025-11-11 19:39:19 +00:00
CONTRIBUTING.md v5: gate legacy sensor-proxy and prune dev docs 2025-12-18 21:51:25 +00:00
cr.yaml Add GitHub Pages Helm repository distribution (#686) 2025-11-11 19:26:18 +00:00
docker-compose.yml v5: gate legacy sensor-proxy and prune dev docs 2025-12-18 21:51:25 +00:00
docker-entrypoint.sh Refactor: Code cleanup and localStorage consolidation 2025-11-04 21:50:46 +00:00
Dockerfile fix: add missing HandleLicenseFeatures method and related changes 2025-12-19 22:59:52 +00:00
go.mod support wildcards --kube-include-namespace/--kube-exclude-namespace 2025-12-18 00:00:30 +01:00
go.sum support wildcards --kube-include-namespace/--kube-exclude-namespace 2025-12-18 00:00:30 +01:00
install.sh fix: Skip deprecated pulse-sensor-proxy for v5+ installations 2025-12-17 12:20:03 +00:00
LICENSE Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
Makefile Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
mock.env feat(kubernetes): Add Kubernetes mock data and UI 2025-12-12 23:13:40 +00:00
README.md feat: add --kube-include-all-deployments flag for Kubernetes agent 2025-12-18 20:58:30 +00:00
SECURITY.md v5: gate legacy sensor-proxy and prune dev docs 2025-12-18 21:51:25 +00:00
VERSION chore: bump version to 5.0.0-rc.4 2025-12-18 16:27:43 +00:00

Pulse Logo

Pulse

Real-time monitoring for Proxmox VE, Proxmox Mail Gateway, PBS, and Docker infrastructure.

GitHub release Docker Pulls License GitHub Sponsors

Live DemoDocumentationReport Bug


🚀 Overview

Pulse is a modern, unified dashboard for monitoring your infrastructure across Proxmox, Docker, and Kubernetes. It consolidates metrics, alerts, and AI-powered insights from all your systems into a single, beautiful interface.

Designed for homelabs, sysadmins, and MSPs who need a "single pane of glass" without the complexity of enterprise monitoring stacks.

Pulse Dashboard

Features

Core Monitoring

  • Unified Monitoring: View health and metrics for PVE, PBS, PMG, Docker, and Kubernetes in one place
  • Smart Alerts: Get notified via Discord, Slack, Telegram, Email, and more
  • Auto-Discovery: Automatically finds Proxmox nodes on your network
  • Metrics History: Persistent storage with configurable retention
  • Backup Explorer: Visualize backup jobs and storage usage

Pulse AI (New in 5.0)

  • Chat Assistant: Ask questions about your infrastructure in natural language
  • Patrol: Background health checks that generate findings on a schedule
  • Alert Analysis: Optional AI analysis when alerts fire
  • Cost Tracking: Track usage and costs per provider/model

Multi-Platform

  • Proxmox VE/PBS/PMG: Full monitoring and management
  • Kubernetes: Complete K8s cluster monitoring via agents
  • Docker/Podman: Container and Swarm service monitoring
  • OCI Containers: Proxmox 9.1+ native container support

Security & Operations

  • Secure by Design: Credentials encrypted at rest, strict API scoping
  • One-Click Updates: Easy upgrades for supported deployments
  • OIDC/SSO: Enterprise authentication support
  • Privacy Focused: No telemetry, all data stays on your server

Quick Start

Run this one-liner on your Proxmox host to create a lightweight LXC container:

curl -fsSL https://github.com/rcourtman/Pulse/releases/latest/download/install.sh | bash

Option 2: Docker

docker run -d \
  --name pulse \
  -p 7655:7655 \
  -v pulse_data:/data \
  --restart unless-stopped \
  rcourtman/pulse:latest

Access the dashboard at http://<your-ip>:7655.

📚 Documentation

🌐 Community Integrations

Community-maintained integrations and addons:

❤️ Support Pulse Development

Pulse is maintained by one person. Sponsorships help cover the costs of the demo server, development tools, and domains. If Pulse saves you time, please consider supporting the project!

GitHub Sponsors ko-fi

📄 License

MIT © Richard Courtman