Communitygithub.com

indigokarasu/custodian

Custodian: Autonomer Betriebsmonitor – erkennt, klassifiziert und repariert Fehler von Agentenplattformen während ruhiger Stunden.

Was ist custodian?

Custodian ist ein autonomer Betriebsmonitor, der speziell für die Überwachung von KI-Agentenplattformen wie Claude Code, Cursor oder Codex entwickelt wurde. Während ruhiger Betriebszeiten (z. B. nachts oder am Wochenende) erkennt, klassifiziert und behebt Custodian selbstständig Fehler, die auf diesen Plattformen auftreten können. Der Skill nutzt definierte Erkennungsregeln, Klassifikationslogik und Reparaturaktionen, um den manuellen Aufwand für Entwickler drastisch zu reduzieren. Er wird über eine Konfigurationsdatei (custodian.yaml) gesteuert und kann sowohl als CLI-Tool als auch als Docker-Container ausgeführt werden. Custodian ist besonders nützlich für Teams, die eine hohe Verfügbarkeit ihrer Agenteninfrastruktur sicherstellen möchten, ohne ständig manuell eingreifen zu müssen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add indigokarasu/custodian

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht custodian?

Custodian: Autonomer Betriebsmonitor – erkennt, klassifiziert und repariert Fehler von Agentenplattformen während ruhiger Stunden.

Übersicht

Custodian überwacht Ihre Agentenplattform (z. B. Claude Code, Cursor, Codex) automatisch, während Sie nicht aktiv arbeiten. Er erkennt Fehlerzustände, klassifiziert deren Schweregrad und führt vordefinierte Reparaturaktionen aus, um den Normalbetrieb wiederherzustellen.

Funktionen

  • Autonome Fehlererkennung: Überwacht Logs, Metriken und API-Endpunkte auf Anomalien.
  • Klassifikation: Kategorisiert erkannte Fehler nach Typ (z. B. Verbindungsfehler, Timeout, Authentifizierungsfehler) und Dringlichkeit (niedrig, mittel, hoch, kritisch).
  • Reparaturaktionen: Führt konfigurierbare Aktionen aus, wie Neustart von Diensten, Löschen von Caches, Aktualisieren von API-Schlüsseln oder Auslösen von Alarmsystemen.
  • Berichterstattung: Erstellt Zusammenfassungen aller erkannten Fehler und durchgeführten Reparaturen inklusive Erfolgs- oder Fehlermeldungen.
  • Konfigurierbar: Alle Erkennungs-, Klassifikations- und Reparaturregeln werden in der Datei custodian.yaml definiert.

Installation

pip install custodian

Oder verwenden Sie das Docker-Image:

docker pull indigokarasu/custodian:latest

Konfiguration

Erstellen Sie eine Datei custodian.yaml im aktuellen Verzeichnis:

general:
  interval: 300  # Überwachungsintervall in Sekunden
  log_level: "INFO"
  platforms:
    - claude-code
    - cursor

detection:
  rules:
    - type: "log_error"
      pattern: "(ERROR|CRITICAL)"
      source: "/var/log/agent.log"
    - type: "http_status"
      url: "http://localhost:8080/health"
      expected_status: 200

classification:
  levels:
    - name: "low"
      threshold: 1
    - name: "medium"
      threshold: 5
    - name: "high"
      threshold: 10

remediation:
  actions:
    - trigger: "high"
      command: "systemctl restart agent"
    - trigger: "critical"
      command: "docker-compose restart"
      notify: "[email protected]"

reporting:
  output: "report.md"
  channels:
    - type: "email"
      address: "[email protected]"
    - type: "slack"
      webhook: "https://hooks.slack.com/services/..."

Verwendung

CLI

custodian run

Mit benutzerdefiniertem Konfigurationspfad:

custodian --config /pfad/zu/custodian.yaml run

Docker

docker run -v $(pwd)/custodian.yaml:/app/custodian.yaml indigokarasu/custodian:latest

Umgebungsvariablen

VariableBeschreibungStandard
CUSTODIAN_CONFIGPfad zur Konfigurationsdatei./custodian.yaml
CUSTODIAN_INTERVALÜberwachungsintervall in Sekunden300
CUSTODIAN_LOG_LEVELLog-Level (DEBUG, INFO, WARNING, ERROR)INFO

Beispiele

Einfaches Überwachungsskript

from custodian import Custodian

c = Custodian()
c.monitor()

Eigene Reparaturaktion hinzufügen

from custodian import RemediationAction

class MeinReparaturAktion(RemediationAction):
    def execute(self, context):
        print(f"Repariere: {context['error']}")
        return True

Lizenz

MIT

Verwandte Skills