Skip to content

Latest commit

 

History

History
190 lines (146 loc) · 5.63 KB

File metadata and controls

190 lines (146 loc) · 5.63 KB

[Python shields.io badges — same as EN README]

Das Resource Governance Framework (RGF) f\u00fcr Multi-Agenten-Umgebungen

Die fehlende Sicherung zwischen deinen autonomen Agenten und deiner Kreditkarte. LASS runaway-Agenten-Schleifen nicht \u00fcber Nacht dein API-Budget vernichten.

Hinweis: Dies ist ein unabh\u00e4ngiges Open-Source-Projekt von Michael Ebering. Alle Inhalte stehen unter der MIT-Lizenz \u2014 frei nutzbar mit Namensnennung.

ResGov ist eine leichtgewichtige Ultra-Latenz-Proxy- und Governance-Engine. Erg\u00e4nzt MCP und A2A um eine strenge \u00f6konomische Schicht.

📡 Live-Demo · Quick Start · Governance als Code · Architektur · API-Referenz · Dokumentation


⚡ Warum ResGov (RGF) existiert

Das Problem

Deine Agenten tausende autonome API-Aufrufe. In dem Moment, in dem sie in einer rekursiven Schleifen stecken, während du schläfst, generieren sie katastrophale API-Rechnungen. Moderne LLM-Anbieter bieten Billing-Alerts, aber keine granulare Echtzeit-Budget-Durchsetzung auf Ausführungsebene.

Der Multi-Agenten-Stack

  • MCP → Definiert wie Agenten mit Tools sprechen.
  • A2A → Definiert wie Agenten Aufgaben delegieren.
  • RGF → Definiert wie Agenten dein Geld ausgeben.

ResGov ist die erste Open-Source-Lösung der Industrie für die RGF-Schicht.


🛠️ Kernfunktionen

  • Transparenter LLM-Proxy: Drop-in-Ersatz für OpenAI/Anthropic/OpenRouter. Einfach base_url ändern.
  • Atomar Pre-Commit & Finalize: Reserviert pessimistische max_cost beim Streamstart (Millisekunden-Lock), streamt lockfree, erstattet Differenz nach Streamende.
  • Governance als Code (.rgf): Budgets, Modelle und Tools über eine TOML-Datei im Git-Repo definieren.
  • Nicht-LLM-Reservierung: Einheitliche Kontrollebene für Web-Scraper, Search-APIs etc. über POST /api/v1/book.
  • Multi-Tenant-Isolierung: Organisation-Scoped mit sicherer Zeilen-Datenisolierung.
  • Prädiktive Budgetvorhersage: Kostenüberschreitungen proaktiv verhindern durch KI-gestützte Ausgabenvorhersagen.

📝 Governance als Code (Die .rgf-Datei)

# .rgf - Resource Governance Rules
[global]
currency = "USD"
fail_safe_action = "deny"

[agents.hermes]
daily_budget = 3.00
max_tokens_per_request = 4096
allowed_models = [
    "openrouter/anthropic/claude-sonnet-4-6",
    "openrouter/deepseek/deepseek-v4-flash"
]

[agents.research-bot]
daily_budget = 1.00
allowed_models = ["openrouter/openai/gpt-5-4-mini"]
allowed_tools = ["web-scraper", "pexels_search"]

📝 Prädiktive Budgetvorhersage

GET /api/v1/agents/my-agent-01/prediction?period=daily&lookback_hours=6
{
  "status": "ok",
  "remaining_budget": 42.15,
  "rate_usd_per_hour": 1.75,
  "remaining_time_seconds": 86400.0
}

🚀 Quick Start

1. Broker via Docker

git clone https://github.com/michael-ebering/resgov.git
cd resgov
cp .env.example .env
docker compose up -d

2. Framework-Integration

CrewAI

from crewai import Agent, LLM
llm = LLM(
    model="openai/anthropic/claude-sonnet-4-6",
    base_url="https://api.resgov.silentops.cloud/v1",
    api_key="dein-rgf-api-key",
    extra_headers={"X-ResGov-Agent-ID": "hermes"},
)

LangChain

from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
    model="anthropic/claude-sonnet-4-6",
    base_url="https://api.resgov.silentops.cloud/v1",
    api_key="dein-rgf-api-key",
    default_headers={"X-ResGov-Agent-ID": "hermes"},
)

🛑 Budget-verweigert-Interzeption

{
  "error": {
    "type": "budget_exceeded",
    "message": "Tagesbudget überschritten. Limit: $3.00, Ausgegeben: $2.98",
    "agent_id": "hermes"
  }
}

📡 Governance API-Referenz

Interaktive API-Doku: GET /docs (Swagger UI) · GET /redoc (ReDoc)

POST /api/v1/book
POST /api/v1/admin/reset-daily
POST /api/v1/admin/generate-key
GET  /api/v1/audit
GET  /metrics

🏗️ Architektur & Produktionsdesign

flowchart TD
    subgraph RGF["RGF Broker"]
        direction LR
        A["Auth Layer\nAPI Keys / Admin Token"]
        B["Budget Engine"]
        C["LLM Proxy\nReserve → Stream → Finalize"]
        D["Webhooks\nDiscord / Slack / HMAC"]
        E["Prometheus\n/metrics"]
        B --> C
    end
    subgraph Storage["Storage\nSQLite WAL"]
        F["resgov-db"]
    end
    B --> F
    C --> F
Loading
  • SQLite-WAL-Core: Gleichzeitige Lesevorgänge, serialisierte Schnellschreibvorgänge.
  • Pessimistische Stream-Reservation: Verhindert Concurrency-Doppelabzug. Streaming läuft lockfrei.
  • Crash-Recovery-Guard: Hängende Reservationen verfallen nach 5 Minuten automatisch.

🗺️ Roadmap

v0.5

  • Redis/Backend für horizontale Multi-Instance-Skalierung
  • Slack & Discord Alert-Layout-Engines
  • Prädiktive Budgetvorhersage

v0.6

  • Open Policy Agent (OPA) Integration
  • Terraform Provider & Kubernetes Helm Charts

v1.0

  • Multi-tenant Managed Cloud SaaS
  • Enterprise SSO / SAML & RBAC

📄 Lizenz

Dieses Projekt steht unter der MIT-Lizenz. Copyright (c) 2025-2026 Michael Ebering (SilentOps). Vollst\u00e4ndiger Lizenztext: LICENSE

Gebaut von SilentOps mit Fokus auf Korrektheit, Geschwindigkeit und Kostensicherungen. ⭐ Stern dieses Repo, wenn es dein API-Budget gerettet hat.