Implements a comprehensive feedback system that allows the LLM to 'remember' user decisions about findings, preventing repetitive/annoying alerts. Backend changes: - Extended Finding struct with dismissed_reason, user_note, times_raised, suppressed - Added Dismiss(), Suppress(), SetUserNote(), IsSuppressed() methods to FindingsStore - Added GetDismissedForContext() to format dismissed findings for LLM context - Enhanced buildPatrolPrompt() to inject user feedback context - Added POST /api/ai/patrol/dismiss and /api/ai/patrol/suppress endpoints - Updated IsActive() to exclude suppressed findings Frontend changes: - Added Dismiss dropdown with options: Not an Issue, Expected Behavior, Will Fix Later - Added Never Alert Again option for permanent suppression - Expected Behavior prompts for optional note to help LLM understand context - Added visual badges: recurrence count (×N), dismissed status, suppressed indicator - Display user notes in expanded finding view Also fixes: - Fixed 403 error on Run Patrol (compilation errors from partial refactoring) - Removed non-LLM patrol checks - patrol now uses LLM analysis only - Fixed function signature mismatches in alert_triggered.go The LLM now receives context about previously dismissed findings and is instructed not to re-raise them unless severity has significantly worsened. |
||
|---|---|---|
| .agent/workflows | ||
| .github | ||
| cmd | ||
| deploy/helm/pulse | ||
| dev/oidc | ||
| docs | ||
| frontend-modern | ||
| internal | ||
| pkg | ||
| scripts | ||
| security | ||
| testing-tools | ||
| tests/integration | ||
| .dockerignore | ||
| .env.example | ||
| .gitattributes | ||
| .gitguardian.yaml | ||
| .gitignore | ||
| .golangci.yml | ||
| ARCHITECTURE.md | ||
| artifacthub-repo.yml | ||
| CONTRIBUTING.md | ||
| cr.yaml | ||
| DEV-QUICK-START.md | ||
| docker-compose.yml | ||
| docker-entrypoint.sh | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| install.sh | ||
| LICENSE | ||
| Makefile | ||
| mock.env | ||
| README.md | ||
| SECURITY.md | ||
| VERSION | ||
Pulse
Real-time monitoring for Proxmox VE, Proxmox Mail Gateway, PBS, and Docker infrastructure.
🚀 Overview
Pulse is a modern, unified dashboard for your Proxmox and Docker estate. It consolidates metrics, logs, and alerts from Proxmox VE, Proxmox Backup Server, Proxmox Mail Gateway, and standalone Docker hosts 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.
✨ Features
- Unified Monitoring: View health and metrics for PVE, PBS, PMG, and Docker containers in one place.
- Smart Alerts: Get notified via Discord, Slack, Telegram, Email, and more when things go wrong (e.g., "VM down", "Storage full").
- Auto-Discovery: Automatically finds Proxmox nodes on your network.
- Secure by Design: Credentials encrypted at rest, no external dependencies, and strict API scoping.
- Backup Explorer: Visualize backup jobs and storage usage across your entire infrastructure.
- Privacy Focused: No telemetry, no phone-home, all data stays on your server.
- Lightweight: Built with Go and React, running as a single binary or container.
⚡ Quick Start
Option 1: Proxmox LXC (Recommended)
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
- Installation Guide: Detailed instructions for Docker, Kubernetes, and bare metal.
- Configuration: Setup authentication, notifications, and advanced settings.
- Security: Learn about Pulse's security model and best practices.
- API Reference: Integrate Pulse with your own tools.
- Architecture: High-level system design and data flow.
- Troubleshooting: Solutions to common issues.
🌐 Community Integrations
Community-maintained integrations and addons:
- Home Assistant Addons - Run Pulse Agent and Pulse Server as Home Assistant 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!
📄 License
MIT © Richard Courtman
